dirmngr: Better handle systems without IPv6 or IPv4.
[gnupg.git] / dirmngr / dirmngr_ldap.c
index 1b513ea..61a7e39 100644 (file)
 #endif
 
 #ifdef HAVE_W32_SYSTEM
-#include <winsock2.h>
-#include <winldap.h>
-#include <fcntl.h>
-#include "ldap-url.h"
+# include <winsock2.h>
+# include <winldap.h>
+# include <winber.h>
+# include <fcntl.h>
+# include "ldap-url.h"
 #else
-/* For OpenLDAP, to enable the API that we're using. */
-#define LDAP_DEPRECATED 1
-#include <ldap.h>
+  /* For OpenLDAP, to enable the API that we're using. */
+# define LDAP_DEPRECATED 1
+# include <ldap.h>
 #endif
 
 
-#define JNLIB_NEED_LOG_LOGV
+#include <gpg-error.h>
 #include "../common/logging.h"
 #include "../common/argparse.h"
 #include "../common/stringhelp.h"
@@ -97,6 +98,12 @@ static void npth_protect (void) { }
 # define my_ldap_free_attr(a)           ldap_memfree ((a))
 #endif
 
+#ifdef HAVE_W32_SYSTEM
+ typedef LDAP_TIMEVAL  my_ldap_timeval_t;
+#else
+ typedef struct timeval my_ldap_timeval_t;
+#endif
+
 #define DEFAULT_LDAP_TIMEOUT 100 /* Arbitrary long timeout. */
 
 
@@ -154,7 +161,7 @@ struct my_opt_s
 {
   int quiet;
   int verbose;
-  struct timeval timeout; /* Timeout for the LDAP search functions.  */
+  my_ldap_timeval_t timeout;/* Timeout for the LDAP search functions.  */
   unsigned int alarm_timeout; /* And for the alarm based timeout.  */
   int multi;
 
@@ -191,7 +198,7 @@ my_strusage (int level)
 
   switch(level)
     {
-    case 11: p = "dirmngr_ldap (GnuPG)";
+    case 11: p = "dirmngr_ldap (@GNUPG@)";
       break;
     case 13: p = VERSION; break;
     case 17: p = PRINTABLE_OS_NAME; break;
@@ -234,9 +241,11 @@ ldap_wrapper_main (char **argv, estream_t outstream)
 
   memset (&my_opt_buffer, 0, sizeof my_opt_buffer);
 
+  early_system_init ();
+
 #ifdef USE_LDAPWRAPPER
   set_strusage (my_strusage);
-  log_set_prefix ("dirmngr_ldap", JNLIB_LOG_WITH_PREFIX);
+  log_set_prefix ("dirmngr_ldap", GPGRT_LOG_WITH_PREFIX);
 
   /* Setup I18N and common subsystems. */
   i18n_init();
@@ -288,7 +297,7 @@ ldap_wrapper_main (char **argv, estream_t outstream)
           {
             unsigned int oldflags;
             log_get_prefix (&oldflags);
-            log_set_prefix (NULL, oldflags | JNLIB_LOG_WITH_PID);
+            log_set_prefix (NULL, oldflags | GPGRT_LOG_WITH_PID);
           }
           break;