dirmngr: Fix problems with the getsrv function.
[gnupg.git] / common / init.c
index c406ffe..86b71e5 100644 (file)
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #include <config.h>
 
-#ifdef WITHOUT_NPTH /* Give the Makefile a chance to build without Pth.  */
-#undef HAVE_NPTH
-#undef USE_NPTH
-#endif
-
 #ifdef HAVE_W32_SYSTEM
 # ifdef HAVE_WINSOCK2_H
 #  include <winsock2.h>
 # endif
 # include <windows.h>
 #endif
-#ifdef HAVE_NPTH
-# include <npth.h>
-#endif
 #ifdef HAVE_W32CE_SYSTEM
 # 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,12 +180,15 @@ _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);
-#ifdef USE_NPTH
-  gpgrt_set_syscall_clamp (npth_unprotect, npth_protect);
-#endif
 
   /* Special hack for Windows CE: We extract some options from arg
      to setup the standard handles.  */
@@ -214,6 +211,9 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp)
 
   /* --version et al shall use estream as well.  */
   argparse_register_outfnc (writestring_via_estream);
+
+  /* Logging shall use the standard socket directory as fallback.  */
+  log_set_socket_dir_cb (gnupg_socketdir);
 }