gpg: Change OID of Ed25519 and add Brainpool oids.
[gnupg.git] / common / asshelp.c
index c5d5a33..cfbc3ac 100644 (file)
@@ -3,12 +3,22 @@
  *
  * This file is part of GnuPG.
  *
- * GnuPG is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
  *
- * GnuPG is distributed in the hope that it will be useful,
+ *   - the GNU Lesser General Public License as published by the Free
+ *     Software Foundation; either version 3 of the License, or (at
+ *     your option) any later version.
+ *
+ * or
+ *
+ *   - the GNU General Public License as published by the Free
+ *     Software Foundation; either version 2 of the License, or (at
+ *     your option) any later version.
+ *
+ * or both in parallel, as here.
+ *
+ * This file is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
@@ -97,6 +107,19 @@ setup_libassuan_logging (unsigned int *debug_var_address)
   assuan_set_log_cb (my_libassuan_log_handler, debug_var_address);
 }
 
+/* Change the Libassuan log categories to those given by NEWCATS.
+   NEWCATS is 0 the default category of ASSUAN_LOG_CONTROL is
+   selected.  Note, that setup_libassuan_logging overrides the values
+   given here.  */
+void
+set_libassuan_log_cats (unsigned int newcats)
+{
+  if (newcats)
+    log_cats = newcats;
+  else /* Default to log the control channel.  */
+    log_cats = (1 << (ASSUAN_LOG_CONTROL - 1));
+}
+
 
 
 static gpg_error_t
@@ -242,9 +265,9 @@ lock_spawning (lock_spawn_t *lock, const char *homedir, const char *name,
 
   *lock = CreateMutexW
     (NULL, FALSE,
-     !strcmp (name, "agent")?   L"GnuPG_spawn_agent_sentinel":
-     !strcmp (name, "dirmngr")? L"GnuPG_spawn_dirmngr_sentinel":
-     /*                    */   L"GnuPG_spawn_unknown_sentinel");
+     !strcmp (name, "agent")?   L"spawn_"GNUPG_NAME"_agent_sentinel":
+     !strcmp (name, "dirmngr")? L"spawn_"GNUPG_NAME"_dirmngr_sentinel":
+     /*                    */   L"spawn_"GNUPG_NAME"_unknown_sentinel");
   if (!*lock)
     {
       log_error ("failed to create the spawn_%s mutex: %s\n",
@@ -287,14 +310,14 @@ lock_spawning (lock_spawn_t *lock, const char *homedir, const char *name,
   if (!fname)
     return gpg_error_from_syserror ();
 
-  *lock = create_dotlock (fname);
+  *lock = dotlock_create (fname, 0);
   xfree (fname);
   if (!*lock)
     return gpg_error_from_syserror ();
 
   /* FIXME: We should use a timeout of 5000 here - however
      make_dotlock does not yet support values other than -1 and 0.  */
-  if (make_dotlock (*lock, -1))
+  if (dotlock_take (*lock, -1))
     return gpg_error_from_syserror ();
 
   return 0;
@@ -315,7 +338,7 @@ unlock_spawning (lock_spawn_t *lock, const char *name)
       CloseHandle (*lock);
 #else /*!HAVE_W32_SYSTEM*/
       (void)name;
-      destroy_dotlock (*lock);
+      dotlock_destroy (*lock);
 #endif /*!HAVE_W32_SYSTEM*/
       *lock = NULL;
     }
@@ -355,7 +378,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
     }
 
  restart:
-  infostr = force_pipe_server? NULL : getenv ("GPG_AGENT_INFO");
+  infostr = force_pipe_server? NULL : getenv (GPG_AGENT_INFO_NAME);
   if (!infostr || !*infostr)
     {
       char *sockname;
@@ -365,7 +388,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
 
       /* First check whether we can connect at the standard
          socket.  */
-      sockname = make_filename (homedir, "S.gpg-agent", NULL);
+      sockname = make_filename (homedir, GPG_AGENT_SOCK_NAME, NULL);
       err = assuan_socket_connect (ctx, sockname, 0, 0);
 
       if (err)
@@ -375,7 +398,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
             agent_program = gnupg_module_name (GNUPG_MODULE_NAME_AGENT);
 
           if (verbose)
-            log_info (_("no running gpg-agent - starting `%s'\n"),
+            log_info (_("no running gpg-agent - starting '%s'\n"),
                       agent_program);
 
           if (status_cb)
@@ -397,12 +420,12 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
           argv[1] = NULL;
           err = gnupg_spawn_process_fd (agent_program, argv, -1, -1, -1, &pid);
           if (err)
-            log_debug ("starting `%s' for testing failed: %s\n",
+            log_debug ("starting '%s' for testing failed: %s\n",
                        agent_program, gpg_strerror (err));
           else if ((err = gnupg_wait_process (agent_program, pid, 1, &excode)))
             {
               if (excode == -1)
-                log_debug ("running `%s' for testing failed (wait): %s\n",
+                log_debug ("running '%s' for testing failed (wait): %s\n",
                            agent_program, gpg_strerror (err));
             }
           gnupg_release_process (pid);
@@ -424,7 +447,7 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
                 {
                   err = gnupg_spawn_process_detached (agent_program, argv,NULL);
                   if (err)
-                    log_error ("failed to start agent `%s': %s\n",
+                    log_error ("failed to start agent '%s': %s\n",
                                agent_program, gpg_strerror (err));
                   else
                     {
@@ -494,7 +517,8 @@ start_new_gpg_agent (assuan_context_t *r_ctx,
       infostr = xstrdup (infostr);
       if ( !(p = strchr (infostr, PATHSEP_C)) || p == infostr)
         {
-          log_error (_("malformed GPG_AGENT_INFO environment variable\n"));
+          log_error (_("malformed %s environment variable\n"),
+                     GPG_AGENT_INFO_NAME);
           xfree (infostr);
           force_pipe_server = 1;
           goto restart;
@@ -593,7 +617,7 @@ start_new_dirmngr (assuan_context_t *r_ctx,
         dirmngr_program = gnupg_module_name (GNUPG_MODULE_NAME_DIRMNGR);
 
       if (verbose)
-        log_info (_("no running Dirmngr - starting `%s'\n"),
+        log_info (_("no running Dirmngr - starting '%s'\n"),
                   dirmngr_program);
 
       if (status_cb)
@@ -618,7 +642,7 @@ start_new_dirmngr (assuan_context_t *r_ctx,
         {
           err = gnupg_spawn_process_detached (dirmngr_program, argv,NULL);
           if (err)
-            log_error ("failed to start the dirmngr `%s': %s\n",
+            log_error ("failed to start the dirmngr '%s': %s\n",
                        dirmngr_program, gpg_strerror (err));
           else
             {
@@ -658,7 +682,7 @@ start_new_dirmngr (assuan_context_t *r_ctx,
 
   if (err)
     {
-      log_error ("connecting dirmngr at `%s' failed: %s\n",
+      log_error ("connecting dirmngr at '%s' failed: %s\n",
                  sockname, gpg_strerror (err));
       assuan_release (ctx);
       return gpg_err_make (errsource, GPG_ERR_NO_DIRMNGR);