aboutsummaryrefslogtreecommitdiff
path: root/libtrivfs/io-version.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-12-30 21:03:55 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-12-30 23:25:13 +0100
commit34c71acbc9ae19575aa11a1b0f79b39ba02ba784 (patch)
treeddfee1da5168fa62170f57c960c693be07175f31 /libtrivfs/io-version.c
parent0a9e994335f5436c0c1e77c8c79e7b322f5da746 (diff)
downloadhurd-34c71acbc9ae19575aa11a1b0f79b39ba02ba784.tar.gz
hurd-34c71acbc9ae19575aa11a1b0f79b39ba02ba784.tar.bz2
hurd-34c71acbc9ae19575aa11a1b0f79b39ba02ba784.zip
random: Add a trivfs_server_name
glibc uses /dev/urandom for getrandom(), and from version 2.34 malloc initialization uses it. We need to be able to know whether we are running the random translator itself, in which case we can't read ourself.
Diffstat (limited to 'libtrivfs/io-version.c')
-rw-r--r--libtrivfs/io-version.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libtrivfs/io-version.c b/libtrivfs/io-version.c
index e656d5cc..59a0ebef 100644
--- a/libtrivfs/io-version.c
+++ b/libtrivfs/io-version.c
@@ -27,5 +27,13 @@ trivfs_S_io_server_version (trivfs_protid_t obj,
int *min,
int *edit)
{
- return EOPNOTSUPP;
+ if (!obj)
+ return EOPNOTSUPP;
+
+ if (!&trivfs_server_name || !&trivfs_server_version)
+ return EOPNOTSUPP;
+
+ snprintf (name, sizeof (string_t), "%s %s",
+ trivfs_server_name, trivfs_server_version);
+ return 0;
}