* certcheck.c: Fixed use of DBG_CRYPTO and DBG_X509.
[gnupg.git] / sm / server.c
index d944859..7bfd3fc 100644 (file)
@@ -353,7 +353,7 @@ cmd_encrypt (ASSUAN_CONTEXT ctx, char *line)
   rc = 0;
   if (!opt.no_encrypt_to)
     {
-      for (cl=ctrl->server_local->recplist; !rc && cl; cl = cl->next)
+      for (cl=ctrl->server_local->default_recplist; !rc && cl; cl = cl->next)
         if (cl->is_encrypt_to)
           rc = gpgsm_add_cert_to_certlist (ctrl, cl->cert,
                                            &ctrl->server_local->recplist, 1);
@@ -811,7 +811,7 @@ gpgsm_server (certlist_t default_recplist)
                  assuan_strerror(rc));
       gpgsm_exit (2);
     }
-  if (opt.verbose)
+  if (opt.verbose || opt.debug)
     {
       char *tmp = NULL;
       const char *s1 = getenv ("GPG_AGENT_INFO");
@@ -964,18 +964,19 @@ get_status_string ( int no )
 }
 
 
-void
+gpg_error_t
 gpgsm_status2 (CTRL ctrl, int no, ...)
 {
+  gpg_error_t err = 0;
   va_list arg_ptr;
   const char *text;
 
   va_start (arg_ptr, no);
 
-  if (ctrl->no_server)
+  if (ctrl->no_server && ctrl->status_fd == -1)
+    ; /* No status wanted. */
+  else if (ctrl->no_server)
     {
-      if (ctrl->status_fd == -1)
-        return; /* no status wanted */
       if (!statusfp)
         {
           if (ctrl->status_fd == 1)
@@ -1030,19 +1031,21 @@ gpgsm_status2 (CTRL ctrl, int no, ...)
             *p++ = *text++;
         }
       *p = 0;
-      assuan_write_status (ctx, get_status_string (no), buf);
+      err = map_assuan_err (assuan_write_status (ctx,
+                                                 get_status_string (no), buf));
     }
 
   va_end (arg_ptr);
+  return err;
 }
 
-void
+gpg_error_t
 gpgsm_status (CTRL ctrl, int no, const char *text)
 {
-  gpgsm_status2 (ctrl, no, text, NULL);
+  return gpgsm_status2 (ctrl, no, text, NULL);
 }
 
-void
+gpg_error_t
 gpgsm_status_with_err_code (CTRL ctrl, int no, const char *text,
                             gpg_err_code_t ec)
 {
@@ -1050,9 +1053,9 @@ gpgsm_status_with_err_code (CTRL ctrl, int no, const char *text,
 
   sprintf (buf, "%u", (unsigned int)ec);
   if (text)
-    gpgsm_status2 (ctrl, no, text, buf, NULL);
+    return gpgsm_status2 (ctrl, no, text, buf, NULL);
   else
-    gpgsm_status2 (ctrl, no, buf, NULL);
+    return gpgsm_status2 (ctrl, no, buf, NULL);
 }
 
 #if 0