1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

Print library versions according to GNU standards.

This commit is contained in:
Werner Koch 2008-11-18 18:01:03 +00:00
parent 4b3389b7bd
commit 5dc1c18c3a
9 changed files with 162 additions and 102 deletions

View file

@ -1,3 +1,8 @@
2008-11-18 Werner Koch <wk@g10code.com>
* scdaemon.c (make_libversion): New.
(my_strusage): Print libgcrypt and libksba version.
2008-11-03 Werner Koch <wk@g10code.com>
* command.c (server_local_s): Add field DISCONNECT_ALLOWED.

View file

@ -200,10 +200,30 @@ static int fixed_gcry_pth_init (void)
static char *
make_libversion (const char *libname, const char *(*getfnc)(const char*))
{
const char *s;
char *result;
if (maybe_setuid)
{
gcry_control (GCRYCTL_INIT_SECMEM, 0, 0); /* Drop setuid. */
maybe_setuid = 0;
}
s = getfnc (NULL);
result = xmalloc (strlen (libname) + 1 + strlen (s) + 1);
strcpy (stpcpy (stpcpy (result, libname), " "), s);
return result;
}
static const char *
my_strusage (int level)
{
static char *ver_gcry, *ver_ksba;
const char *p;
switch (level)
{
case 11: p = "scdaemon (GnuPG)";
@ -212,6 +232,16 @@ my_strusage (int level)
case 17: p = PRINTABLE_OS_NAME; break;
case 19: p = _("Please report bugs to <" PACKAGE_BUGREPORT ">.\n");
break;
case 20:
if (!ver_gcry)
ver_gcry = make_libversion ("libgcrypt", gcry_check_version);
p = ver_gcry;
break;
case 21:
if (!ver_ksba)
ver_ksba = make_libversion ("libksba", ksba_check_version);
p = ver_ksba;
break;
case 1:
case 40: p = _("Usage: scdaemon [options] (-h for help)");
break;