Cleanup initialization of libgcrypt.
authorBen Kibbey <bjk@luxsci.net>
Mon, 8 Aug 2016 22:40:03 +0000 (18:40 -0400)
committerJustus Winter <justus@g10code.com>
Tue, 9 Aug 2016 08:47:46 +0000 (10:47 +0200)
* common/init.c (init_common_subsystems): Initialize libgcrypt.
* dirmngr/Makefile.am (dirmngr_ldap): Link with libgcrypt.

--
Most other modules already call gcry_check_version() after
init_common_subsystems() so may as well move initialization of libgcrypt
to here. Also fixes a warning in the system log from gpgconf --homedir.

Signed-off-by: Ben Kibbey <bjk@luxsci.net>
14 files changed:
agent/gpg-agent.c
agent/protect-tool.c
common/init.c
dirmngr/Makefile.am
dirmngr/dirmngr.c
g10/gpg.c
g10/gpgv.c
g13/g13-syshelp.c
g13/g13.c
kbx/kbxutil.c
scd/scdaemon.c
sm/gpgsm.c
tools/gpg-check-pattern.c
tools/symcryptrun.c

index 8d6ecfc..b8a5a3e 100644 (file)
@@ -764,14 +764,6 @@ main (int argc, char **argv )
 
   npth_init ();
 
-  /* Check that the libraries are suitable.  Do it here because
-     the option parsing may need services of the library. */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal( _("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
-
   malloc_hooks.malloc = gcry_malloc;
   malloc_hooks.realloc = gcry_realloc;
   malloc_hooks.free = gcry_free;
index c2bf87d..f41cc0b 100644 (file)
@@ -566,16 +566,9 @@ main (int argc, char **argv )
   i18n_init ();
   init_common_subsystems (&argc, &argv);
 
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal( _("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
-
   setup_libgcrypt_logging ();
   gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0);
 
-
   pargs.argc = &argc;
   pargs.argv = &argv;
   pargs.flags=  1;  /* (do not remove the args) */
index c406ffe..591c854 100644 (file)
@@ -47,7 +47,9 @@
 # include <assuan.h> /* For _assuan_w32ce_finish_pipe. */
 #endif
 
+#include <gcrypt.h>
 #include "util.h"
+#include "i18n.h"
 
 /* This object is used to register memory cleanup functions.
    Technically they are not needed but they can avoid frequent
@@ -186,6 +188,12 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp)
   atexit (sleep_on_exit);
 #endif
 
+  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION))
+    {
+      log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
+                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL));
+    }
+
   /* Initialize the Estream library. */
   gpgrt_init ();
   gpgrt_set_alloc_func (gcry_realloc);
index aaa9050..64bc058 100644 (file)
@@ -94,8 +94,8 @@ dirmngr_ldap_SOURCES = dirmngr_ldap.c $(ldap_url)
 dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 dirmngr_ldap_LDFLAGS =
 dirmngr_ldap_LDADD = $(libcommon) no-libgcrypt.o \
-                    $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LBER_LIBS) $(LIBINTL) \
-                    $(LIBICONV)
+                    $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LDAPLIBS) \
+                    $(LBER_LIBS) $(LIBINTL) $(LIBICONV)
 endif
 
 dirmngr_client_SOURCES = dirmngr-client.c
index 7e629db..007fa10 100644 (file)
@@ -755,10 +755,6 @@ main (int argc, char **argv)
 
  /* Check that the libraries are suitable.  Do it here because
     the option parsing may need services of the libraries. */
-
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-               NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
   if (!ksba_check_version (NEED_KSBA_VERSION) )
     log_fatal( _("%s is too old (need %s, have %s)\n"), "libksba",
                NEED_KSBA_VERSION, ksba_check_version (NULL) );
index b33b61b..91f3472 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -2201,14 +2201,6 @@ main (int argc, char **argv)
     i18n_init();
     init_common_subsystems (&argc, &argv);
 
-    /* Check that the libraries are suitable.  Do it right here because the
-       option parsing may need services of the library.  */
-    if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-      {
-        log_fatal ( _("libgcrypt is too old (need %s, have %s)\n"),
-                    NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-      }
-
     /* Use our own logging handler for Libcgrypt.  */
     setup_libgcrypt_logging ();
 
index 59edbb9..729fcf8 100644 (file)
@@ -155,11 +155,6 @@ main( int argc, char **argv )
   i18n_init();
   init_common_subsystems (&argc, &argv);
 
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal ( _("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                  NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
   gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
 
   gnupg_init_signals (0, NULL);
index f3c20f5..0bb34da 100644 (file)
@@ -250,11 +250,6 @@ main ( int argc, char **argv)
   i18n_init ();
   init_common_subsystems (&argc, &argv);
 
-  /* Check that the Libgcrypt is suitable.  */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-               NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-
   /* Take extra care of the random pool.  */
   gcry_control (GCRYCTL_USE_SECURE_RNDPOOL);
 
index 0499a18..082edc9 100644 (file)
--- a/g13/g13.c
+++ b/g13/g13.c
@@ -372,11 +372,6 @@ main ( int argc, char **argv)
 
   npth_init ();
 
-  /* Check that the Libgcrypt is suitable.  */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-               NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-
   /* Take extra care of the random pool.  */
   gcry_control (GCRYCTL_USE_SECURE_RNDPOOL);
 
index d55a118..e452b4d 100644 (file)
@@ -460,14 +460,6 @@ main( int argc, char **argv )
   i18n_init ();
   init_common_subsystems (&argc, &argv);
 
-  /* Check that the libraries are suitable.  Do it here because
-     the option parsing may need services of the library.  */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
-
   gcry_set_log_handler (my_gcry_logger, NULL);
 
   /*create_dotlock(NULL); register locking cleanup */
index 7dbb9c7..263d9bd 100644 (file)
@@ -424,14 +424,6 @@ main (int argc, char **argv )
 
   npth_init ();
 
-  /* Check that the libraries are suitable.  Do it here because
-     the option parsing may need services of the library */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
-
   ksba_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free);
 
   malloc_hooks.malloc = gcry_malloc;
index b64072e..42b6706 100644 (file)
@@ -938,9 +938,6 @@ main ( int argc, char **argv)
 
   /* Check that the libraries are suitable.  Do it here because the
      option parse may need services of the library */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-               NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
   if (!ksba_check_version (NEED_KSBA_VERSION) )
     log_fatal (_("%s is too old (need %s, have %s)\n"), "libksba",
                NEED_KSBA_VERSION, ksba_check_version (NULL) );
index 37283a1..aa228a7 100644 (file)
@@ -171,13 +171,6 @@ main (int argc, char **argv )
   i18n_init ();
   init_common_subsystems (&argc, &argv);
 
-  /* We need Libgcrypt for hashing.  */
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal ( _("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                  NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
-
   setup_libgcrypt_logging ();
   gcry_control (GCRYCTL_INIT_SECMEM, 4096, 0);
 
index 3732b39..5c1f0da 100644 (file)
@@ -998,11 +998,6 @@ main (int argc, char **argv)
     log_set_file (logfile);
 
   gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
-  if (!gcry_check_version (NEED_LIBGCRYPT_VERSION) )
-    {
-      log_fatal (_("%s is too old (need %s, have %s)\n"), "libgcrypt",
-                 NEED_LIBGCRYPT_VERSION, gcry_check_version (NULL) );
-    }
   setup_libgcrypt_logging ();
   gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0);