* gpg-agent.c: Remove help texts for options lile --lc-ctype.
authorWerner Koch <wk@gnupg.org>
Mon, 3 May 2004 13:37:38 +0000 (13:37 +0000)
committerWerner Koch <wk@gnupg.org>
Mon, 3 May 2004 13:37:38 +0000 (13:37 +0000)
(main): New option --allow-mark-trusted.
* trustlist.c (agent_marktrusted): Use it here.

* gpg-agent.texi (Agent Options): Add --allow-mark-trusted.

* gpgconf-comp.c: Add --allow-mark-trusted for the gpg-agent.

agent/ChangeLog
agent/agent.h
agent/gpg-agent.c
agent/trustlist.c
doc/ChangeLog
doc/gpg-agent.texi
tools/ChangeLog
tools/gpgconf-comp.c

index 2f2b1e4..cf4ae79 100644 (file)
@@ -1,3 +1,9 @@
+2004-05-03  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.c: Remove help texts for options lile --lc-ctype.
+       (main): New option --allow-mark-trusted. 
+       * trustlist.c (agent_marktrusted): Use it here.
+
 2004-04-30  Werner Koch  <wk@gnupg.org>
 
        * protect-tool.c: New option --enable-status-msg.
index a4312e0..99fdc05 100644 (file)
@@ -58,6 +58,7 @@ struct {
   int running_detached; /* we are running detached from the tty. */
 
   int ignore_cache_for_signing;
+  int allow_mark_trusted;
   int keep_tty;  /* don't switch the TTY (for pinentry) on request */
   int keep_display;  /* don't switch the DISPLAY (for pinentry) on request */
 } opt;
index 3bf62c2..ad6ef33 100644 (file)
@@ -80,6 +80,7 @@ enum cmd_and_opt_values
   oDisablePth,
 
   oIgnoreCacheForSigning,
+  oAllowMarkTrusted,
   oKeepTTY,
   oKeepDISPLAY,
 
@@ -109,21 +110,26 @@ static ARGPARSE_OPTS opts[] = {
   { oLogFile, "log-file"   ,2, N_("use a log file for the server")},
   { oDisablePth, "disable-pth", 0, N_("do not allow multiple connections")},
 
-  { oPinentryProgram, "pinentry-program", 2 , "path to PIN Entry program" },
-  { oDisplay,    "display",     2, "set the display" },
-  { oTTYname,    "ttyname",     2, "set the tty terminal node name" },
-  { oTTYtype,    "ttytype",     2, "set the tty terminal type" },
-  { oLCctype,    "lc-ctype",    2, "set the tty LC_CTYPE value" },
-  { oLCmessages, "lc-messages", 2, "set the tty LC_MESSAGES value" },
+  { oPinentryProgram, "pinentry-program", 2 ,
+                               N_("|PGM|use PGM as the PIN-Entry program") },
+  { oScdaemonProgram, "scdaemon-program", 2 ,
+                               N_("|PGM|use PGM as the SCdaemon program") },
 
-  { oScdaemonProgram, "scdaemon-program", 2 , "path to SCdaemon program" },
-  { oDefCacheTTL, "default-cache-ttl", 4,
-                                 "|N|expire cached PINs after N seconds"},
-  { oIgnoreCacheForSigning, "ignore-cache-for-signing", 0,
-                                 "do not use the PIN cache when signing"},
+  { oDisplay,    "display",     2, "@" },
+  { oTTYname,    "ttyname",     2, "@" },
+  { oTTYtype,    "ttytype",     2, "@" },
+  { oLCctype,    "lc-ctype",    2, "@" },
+  { oLCmessages, "lc-messages", 2, "@" },
   { oKeepTTY, "keep-tty", 0,  N_("ignore requests to change the TTY")},
   { oKeepDISPLAY, "keep-display",
                           0, N_("ignore requests to change the X display")},
+
+  { oDefCacheTTL, "default-cache-ttl", 4,
+                               N_("|N|expire cached PINs after N seconds")},
+  { oIgnoreCacheForSigning, "ignore-cache-for-signing", 0,
+                               N_("do not use the PIN cache when signing")},
+  { oAllowMarkTrusted, "allow-mark-trusted", 0,
+                             N_("allow clients to mark keys as \"trusted\"")},
   {0}
 };
 
@@ -336,6 +342,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       opt.scdaemon_program = NULL;
       opt.def_cache_ttl = DEFAULT_CACHE_TTL;
       opt.ignore_cache_for_signing = 0;
+      opt.allow_mark_trusted = 0;
       return 1;
     }
 
@@ -367,6 +374,8 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       
     case oIgnoreCacheForSigning: opt.ignore_cache_for_signing = 1; break;
 
+    case oAllowMarkTrusted: opt.allow_mark_trusted = 1; break;
+
     default:
       return 0; /* not handled */
     }
@@ -648,6 +657,8 @@ main (int argc, char **argv )
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
       printf ("ignore-cache-for-signing:%lu:\n",
               GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
+      printf ("allow-mark-trusted:%lu:\n",
+              GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
 
       agent_exit (0);
     }
index 5c3271a..19de070 100644 (file)
@@ -224,7 +224,7 @@ agent_listtrusted (void *assuan_context)
 
 /* Insert the given fpr into our trustdb.  We expect FPR to be an all
    uppercase hexstring of 40 characters. FLAG is either 'P' or 'C'.
-   This function does first check whether that key has alreay ben put
+   This function does first check whether that key has alreay been put
    into the trustdb and returns success in this case.  Before a FPR
    actually gets inserted, the user is asked by means of the pin-entry
    whether this is actual wants he want to do.
@@ -265,6 +265,10 @@ agent_marktrusted (CTRL ctrl, const char *name, const char *fpr, int flag)
   if (rc != -1)
     return rc;   /* error in the trustdb */
 
+  /* This feature must explicitly been enabled. */
+  if (!opt.allow_mark_trusted)
+    return gpg_error (GPG_ERR_NOT_SUPPORTED);
+
   /* insert a new one */
   if (asprintf (&desc,
                 "Please verify that the certificate identified as:%%0A"
index 39d98b9..a920022 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-03  Werner Koch  <wk@gnupg.org>
+
+       * gpg-agent.texi (Agent Options): Add --allow-mark-trusted.
+
 2004-02-03  Werner Koch  <wk@gnupg.org>
 
        * contrib.texi (Contributors): Updated from the gpg 1.2.3 thanks
index e199109..aad0fbb 100644 (file)
@@ -238,6 +238,12 @@ seeing what the agent actually does.
 Don't allow multiple connections.  This option is in general not very
 useful. 
 
+@item --allow-mark-trusted
+@opindex allow-mark-trusted
+Allow clients to mark keys as trusted, i.e. put them into the
+@code{trustlist.txt} file.  This is by default not allowed to make it
+harder for users to inadvertly accept Root-CA keys.
+
 @item --ignore-cache-for-signing
 @opindex ignore-cache-for-signing
 This option will let gpg-agent bypass the passphrase cache for all
index 5298926..fa41aff 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-03  Werner Koch  <wk@gnupg.org>
+
+       * gpgconf-comp.c: Add --allow-mark-trusted for the gpg-agent.
+
 2004-04-30  Werner Koch  <wk@gnupg.org>
 
        * gpgconf-comp.c: Added more runtime flags for the gpg-agent
index ce16ce7..735e87c 100644 (file)
@@ -469,6 +469,9 @@ static gc_option_t gc_options_gpg_agent[] =
    { "ignore-cache-for-signing", GC_OPT_FLAG_RUNTIME, GC_LEVEL_BASIC,
      "gnupg", "do not use the PIN cache when signing",
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
+   { "allow-mark-trusted", GC_OPT_FLAG_RUNTIME, GC_LEVEL_ADVANCED,
+     "gnupg", "allow clients to mark keys as \"trusted\"",
+     GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },
    { "no-grab", GC_OPT_FLAG_RUNTIME, GC_LEVEL_EXPERT,
      "gnupg", "do not grab keyboard and mouse",
      GC_ARG_TYPE_NONE, GC_BACKEND_GPG_AGENT },