Fix preference setting in new keys
[gnupg.git] / g10 / gpg.c
index b24157b..2b7b4be 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1107,7 +1107,7 @@ open_info_file (const char *fname, int for_write, int binary)
 /*   if (is_secured_filename (fname)) */
 /*     { */
 /*       fd = -1; */
-/*       errno = EPERM; */
+/*       gpg_err_set_errno (EPERM); */
 /*     } */
 /*   else */
 /*     { */
@@ -1242,7 +1242,7 @@ rm_group(char *name)
 
    Returns true if the item is unsafe. */
 static int
-check_permissions(const char *path,int item)
+check_permissions (const char *path, int item)
 {
 #if defined(HAVE_STAT) && !defined(HAVE_DOSISH_SYSTEM)
   static int homedir_cache=-1;
@@ -1428,9 +1428,11 @@ check_permissions(const char *path,int item)
 
   return ret;
 
-#endif /* HAVE_STAT && !HAVE_DOSISH_SYSTEM */
-
+#else /*!(HAVE_STAT && !HAVE_DOSISH_SYSTEM)*/
+  (void)path;
+  (void)item;
   return 0;
+#endif /*!(HAVE_STAT && !HAVE_DOSISH_SYSTEM)*/
 }
 
 
@@ -1497,9 +1499,10 @@ list_config(char *items)
            {
              strlist_t sl;
 
-             printf("cfg:group:");
-             print_string(stdout,iter->name,strlen(iter->name),':');
-             printf(":");
+             es_fprintf (es_stdout, "cfg:group:");
+             es_write_sanitized (es_stdout, iter->name, strlen(iter->name),
+                                  ":", NULL);
+             es_putc (':', es_stdout);
 
              for(sl=iter->values;sl;sl=sl->next)
                {
@@ -1517,7 +1520,7 @@ list_config(char *items)
       if(show_all || ascii_strcasecmp(name,"version")==0)
        {
          printf("cfg:version:");
-         print_string(stdout,VERSION,strlen(VERSION),':');
+         es_write_sanitized (es_stdout, VERSION, strlen(VERSION), ":", NULL);
          printf("\n");
          any=1;
        }
@@ -1887,7 +1890,7 @@ main (int argc, char **argv)
     char *username;
     int may_coredump;
     strlist_t sl, remusr= NULL, locusr=NULL;
-    strlist_t nrings=NULL, sec_nrings=NULL;
+    strlist_t nrings = NULL;
     armor_filter_context_t *afx = NULL;
     int detached_sig = 0;
     FILE *configfp = NULL;
@@ -1939,7 +1942,7 @@ main (int argc, char **argv)
 
     /* Make sure that our subsystems are ready.  */
     i18n_init();
-    init_common_subsystems ();
+    init_common_subsystems (&argc, &argv);
 
     /* Check that the libraries are suitable.  Do it right here because the
        option parsing may need services of the library.  */
@@ -2107,7 +2110,7 @@ main (int argc, char **argv)
           {
             fclose (configfp);
             configfp = NULL;
-            errno = EPERM;
+            gpg_err_set_errno (EPERM);
           }
        if( !configfp ) {
            if( default_config ) {
@@ -2280,8 +2283,9 @@ main (int argc, char **argv)
             break;
 
          case oSecretKeyring:
-            append_to_strlist( &sec_nrings, pargs.r.ret_str);
+            /* Ignore this old option.  */
             break;
+
          case oOptions:
            /* config files may not be nested (silently ignore them) */
            if( !configfp ) {
@@ -3382,22 +3386,12 @@ main (int argc, char **argv)
     if( ALWAYS_ADD_KEYRINGS 
         || (cmd != aDeArmor && cmd != aEnArmor && cmd != aGPGConfTest) ) 
       {
-        if (ALWAYS_ADD_KEYRINGS
-            || (cmd != aCheckKeys && cmd != aListSigs && cmd != aListKeys
-                && cmd != aVerify && cmd != aSym && cmd != aLocateKeys))
-          {
-            if (!sec_nrings || default_keyring) /* add default secret rings */
-              keydb_add_resource ("secring" EXTSEP_S "gpg", 4, 1);
-            for (sl = sec_nrings; sl; sl = sl->next)
-              keydb_add_resource ( sl->d, 0, 1 );
-          }
-       if( !nrings || default_keyring )  /* add default ring */
-           keydb_add_resource ("pubring" EXTSEP_S "gpg", 4, 0);
-       for(sl = nrings; sl; sl = sl->next )
-           keydb_add_resource ( sl->d, sl->flags, 0 );
+       if (!nrings || default_keyring)  /* Add default ring. */
+           keydb_add_resource ("pubring" EXTSEP_S "gpg", 4);
+       for (sl = nrings; sl; sl = sl->next )
+          keydb_add_resource (sl->d, sl->flags);
       }
     FREE_STRLIST(nrings);
-    FREE_STRLIST(sec_nrings);
 
     if (cmd == aGPGConfTest)
       g10_exit(0);
@@ -3828,29 +3822,30 @@ main (int argc, char **argv)
        {   int mode = argc < 2 ? 0 : atoi(*argv);
 
            if( mode == 1 && argc == 2 ) {
-               mpi_print( stdout, generate_public_prime( atoi(argv[1]) ), 1);
+               mpi_print (es_stdout,
+                           generate_public_prime( atoi(argv[1]) ), 1);
            }
            else if( mode == 2 && argc == 3 ) {
-               mpi_printstdout, generate_elg_prime(
+               mpi_print (es_stdout, generate_elg_prime(
                                             0, atoi(argv[1]),
                                             atoi(argv[2]), NULL,NULL ), 1);
            }
            else if( mode == 3 && argc == 3 ) {
                MPI *factors;
-               mpi_printstdout, generate_elg_prime(
+               mpi_print (es_stdout, generate_elg_prime(
                                             1, atoi(argv[1]),
                                             atoi(argv[2]), NULL,&factors ), 1);
                putchar('\n');
-               mpi_printstdout, factors[0], 1 ); /* print q */
+               mpi_print (es_stdout, factors[0], 1 ); /* print q */
            }
            else if( mode == 4 && argc == 3 ) {
                MPI g = mpi_alloc(1);
-               mpi_printstdout, generate_elg_prime(
+               mpi_print (es_stdout, generate_elg_prime(
                                                 0, atoi(argv[1]),
                                                 atoi(argv[2]), g, NULL ), 1);
                putchar('\n');
-               mpi_printstdout, g, 1 );
-               mpi_free(g);
+               mpi_print (es_stdout, g, 1 );
+               mpi_free (g);
            }
            else
                wrong_args("--gen-prime mode bits [qbits] ");
@@ -3987,7 +3982,7 @@ main (int argc, char **argv)
       case aCardStatus:
         if (argc)
             wrong_args ("--card-status");
-        card_status (stdout, NULL, 0);
+        card_status (es_stdout, NULL, 0);
         break;
 
       case aCardEdit:
@@ -4026,8 +4021,10 @@ main (int argc, char **argv)
        if( argc > 1 )
            wrong_args(_("[filename]"));
        /* Issue some output for the unix newbie */
-       if( !fname && !opt.outfile && isatty( fileno(stdin) )
-               && isatty( fileno(stdout) ) && isatty( fileno(stderr) ) )
+       if (!fname && !opt.outfile
+            && gnupg_isatty (fileno (stdin))
+            && gnupg_isatty (fileno (stdout))
+            && gnupg_isatty (fileno (stderr)))
            log_info(_("Go ahead and type your message ...\n"));
 
        a = iobuf_open(fname);
@@ -4035,7 +4032,7 @@ main (int argc, char **argv)
           {
             iobuf_close (a);
             a = NULL;
-            errno = EPERM;
+            gpg_err_set_errno (EPERM);
           }
        if( !a )
            log_error(_("can't open `%s'\n"), print_fname_stdin(fname));
@@ -4222,7 +4219,7 @@ print_mds( const char *fname, int algo )
           {
             fclose (fp);
             fp = NULL;
-            errno = EPERM;
+            gpg_err_set_errno (EPERM);
           }
     }
     if( !fp ) {