* protect-tool.c: New option --enable-status-msg.
[gnupg.git] / sm / server.c
index 549c353..e73efe4 100644 (file)
@@ -170,6 +170,11 @@ option_handler (ASSUAN_CONTEXT ctx, const char *key, const char *value)
       else
         return ASSUAN_Parameter_Error;
     }
+  else if (!strcmp (key, "with-validation"))
+    {
+      int i = *value? atoi (value) : 0;
+      ctrl->with_validation = i;
+    }
   else
     return ASSUAN_Invalid_Option;
 
@@ -646,6 +651,7 @@ do_listkeys (ASSUAN_CONTEXT ctx, char *line, int mode)
   char *p;
   STRLIST list, sl;
   unsigned int listmode;
+  gpg_error_t err;
 
   if (!fp)
     return set_error (General_Error, "no data stream");
@@ -679,9 +685,9 @@ do_listkeys (ASSUAN_CONTEXT ctx, char *line, int mode)
     listmode |= (1<<6);
   if (ctrl->server_local->list_external)
     listmode |= (1<<7);
-  gpgsm_list_keys (assuan_get_pointer (ctx), list, fp, listmode);
+  err = gpgsm_list_keys (assuan_get_pointer (ctx), list, fp, listmode);
   free_strlist (list);
-  return 0;
+  return map_to_assuan_status (err);
 }
 
 static int 
@@ -861,6 +867,7 @@ get_status_string ( int no )
     case STATUS_ENTER  : s = "ENTER"; break;
     case STATUS_LEAVE  : s = "LEAVE"; break;
     case STATUS_ABORT  : s = "ABORT"; break;
+    case STATUS_NEWSIG : s = "NEWSIG"; break;
     case STATUS_GOODSIG: s = "GOODSIG"; break;
     case STATUS_SIGEXPIRED: s = "SIGEXPIRED"; break;
     case STATUS_KEYREVOKED: s = "KEYREVOKED"; break;
@@ -898,6 +905,7 @@ get_status_string ( int no )
     case STATUS_BADMDC  : s = "BADMDC"; break;
     case STATUS_ERRMDC  : s = "ERRMDC"; break;
     case STATUS_IMPORTED        : s = "IMPORTED"; break;
+    case STATUS_IMPORT_OK        : s = "IMPORT_OK"; break;
     case STATUS_IMPORT_RES      : s = "IMPORT_RES"; break;
     case STATUS_FILE_START      : s = "FILE_START"; break;
     case STATUS_FILE_DONE       : s = "FILE_DONE"; break;