gpg: Add dedicated error code for PGP-2 keys.
[gnupg.git] / common / logging.c
index a8acb52..40d098c 100644 (file)
@@ -41,6 +41,9 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #ifdef HAVE_W32_SYSTEM
+# ifdef HAVE_WINSOCK2_H
+#  include <winsock2.h>
+# endif
 # include <windows.h>
 #else /*!HAVE_W32_SYSTEM*/
 # include <sys/socket.h>
@@ -96,6 +99,9 @@ static char prefix_buffer[80];
 static int with_time;
 static int with_prefix;
 static int with_pid;
+#ifdef HAVE_W32_SYSTEM
+static int no_registry;
+#endif
 static int (*get_pid_suffix_cb)(unsigned long *r_value);
 static int running_detached;
 static int force_prefixes;
@@ -251,7 +257,9 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
       else
         {
           char *addrstr, *p;
+#ifdef HAVE_INET_PTON
           void *addrbuf = NULL;
+#endif /*HAVE_INET_PTON*/
 
           addrstr = jnlib_malloc (strlen (name) + 1);
           if (!addrstr)
@@ -275,7 +283,9 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
                   memset (&srvr_addr_in6, 0, sizeof srvr_addr_in6);
                   srvr_addr_in6.sin6_family = af;
                   srvr_addr_in6.sin6_port = htons (port);
+#ifdef HAVE_INET_PTON
                   addrbuf = &srvr_addr_in6.sin6_addr;
+#endif /*HAVE_INET_PTON*/
                   srvr_addr = (struct sockaddr *)&srvr_addr_in6;
                   addrlen = sizeof srvr_addr_in6;
 #else
@@ -300,7 +310,9 @@ fun_writer (void *cookie_arg, const void *buffer, size_t size)
                   memset (&srvr_addr_in, 0, sizeof srvr_addr_in);
                   srvr_addr_in.sin_family = af;
                   srvr_addr_in.sin_port = htons (port);
+#ifdef HAVE_INET_PTON
                   addrbuf = &srvr_addr_in.sin_addr;
+#endif /*HAVE_INET_PTON*/
                   srvr_addr = (struct sockaddr *)&srvr_addr_in;
                   addrlen = sizeof srvr_addr_in;
                 }
@@ -457,7 +469,7 @@ set_file_fd (const char *name, int fd)
     {
       HANDLE hd;
 
-      ActivateDevice (L"Drivers\\GnuPG_Log", 0);
+      ActivateDevice (L"Drivers\\"GNUPG_NAME"_Log", 0);
       /* Ignore a filename and write the debug output to the GPG2:
          device.  */
       hd = CreateFile (L"GPG2:", GENERIC_WRITE,
@@ -561,6 +573,9 @@ log_set_prefix (const char *text, unsigned int flags)
   with_time = (flags & JNLIB_LOG_WITH_TIME);
   with_pid  = (flags & JNLIB_LOG_WITH_PID);
   running_detached = (flags & JNLIB_LOG_RUN_DETACHED);
+#ifdef HAVE_W32_SYSTEM
+  no_registry = (flags & JNLIB_LOG_NO_REGISTRY);
+#endif
 }
 
 
@@ -578,6 +593,10 @@ log_get_prefix (unsigned int *flags)
         *flags |= JNLIB_LOG_WITH_PID;
       if (running_detached)
         *flags |= JNLIB_LOG_RUN_DETACHED;
+#ifdef HAVE_W32_SYSTEM
+      if (no_registry)
+        *flags |= JNLIB_LOG_NO_REGISTRY;
+#endif
     }
   return prefix_buffer;
 }
@@ -624,8 +643,10 @@ do_logv (int level, int ignore_arg_ptr, const char *fmt, va_list arg_ptr)
 #ifdef HAVE_W32_SYSTEM
       char *tmp;
 
-      tmp = read_w32_registry_string (NULL, "Software\\GNU\\GnuPG",
-                                            "DefaultLogFile");
+      tmp = (no_registry
+             ? NULL
+             : read_w32_registry_string (NULL, GNUPG_REGISTRY_DIR,
+                                         "DefaultLogFile"));
       log_set_file (tmp && *tmp? tmp : NULL);
       jnlib_free (tmp);
 #else
@@ -857,6 +878,19 @@ log_printhex (const char *text, const void *buffer, size_t length)
 }
 
 
+/*
+void
+log_printcanon () {}
+is found in sexputils.c
+*/
+
+/*
+void
+log_printsexp () {}
+is found in sexputils.c
+*/
+
+
 void
 log_clock (const char *string)
 {
@@ -876,7 +910,7 @@ log_clock (const char *string)
   if (!initial)
     initial = now;
 
-  log_debug ("[%llu] %s", now - initial, string);
+  log_debug ("[%6llu] %s", (now - initial)/1000, string);
 #else
   /* You need to link with -ltr to enable the above code.  */
   log_debug ("[not enabled in the source] %s", string);