From cvs at cvs.gnupg.org Fri Jan 5 12:49:20 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Fri, 05 Jan 2007 12:49:20 +0100 Subject: [svn] GnuPG - r4396 - trunk/sm Message-ID: Author: wk Date: 2007-01-05 12:49:19 +0100 (Fri, 05 Jan 2007) New Revision: 4396 Modified: trunk/sm/ChangeLog trunk/sm/certchain.c Log: Add subjectAltName to the list of known critical extensions Modified: trunk/sm/ChangeLog =================================================================== --- trunk/sm/ChangeLog 2006-12-22 15:28:47 UTC (rev 4395) +++ trunk/sm/ChangeLog 2007-01-05 11:49:19 UTC (rev 4396) @@ -1,3 +1,7 @@ +2007-01-05 Werner Koch + + * certchain.c (unknown_criticals): Add subjectAltName. + 2006-12-21 Werner Koch * gpgsm.c: Comment mtrace feature. Modified: trunk/sm/certchain.c =================================================================== --- trunk/sm/certchain.c 2006-12-22 15:28:47 UTC (rev 4395) +++ trunk/sm/certchain.c 2007-01-05 11:49:19 UTC (rev 4396) @@ -137,6 +137,12 @@ { static const char *known[] = { "2.5.29.15", /* keyUsage */ + "2.5.29.17", /* subjectAltName + Japanese DoCoMo certs mark them as critical. PKIX + only requires them as critical if subjectName is + empty. I don't know whether our code gracefully + handles such empry subjectNames but that is + another story. */ "2.5.29.19", /* basic Constraints */ "2.5.29.32", /* certificatePolicies */ "2.5.29.37", /* extendedKeyUsage - handled by certlist.c */ From cvs at cvs.gnupg.org Fri Jan 5 18:16:04 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Fri, 05 Jan 2007 18:16:04 +0100 Subject: [svn] gpgme - r1200 - trunk Message-ID: Author: marcus Date: 2007-01-05 18:16:03 +0100 (Fri, 05 Jan 2007) New Revision: 1200 Modified: trunk/ChangeLog trunk/configure.ac Log: 2007-01-05 Marcus Brinkmann * configure.ac: Add options --with-gpg-version and --with-gpgsm-version to allow overriding the minimum version requirements. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2006-12-17 21:12:40 UTC (rev 1199) +++ trunk/ChangeLog 2007-01-05 17:16:03 UTC (rev 1200) @@ -1,3 +1,9 @@ +2007-01-05 Marcus Brinkmann + + * configure.ac: Add options --with-gpg-version and + --with-gpgsm-version to allow overriding the minimum version + requirements. + 2006-12-17 Marcus Brinkmann * configure.ac: Fix two typos in last change. Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-12-17 21:12:40 UTC (rev 1199) +++ trunk/configure.ac 2007-01-05 17:16:03 UTC (rev 1200) @@ -56,9 +56,6 @@ # If the API is changed in an incompatible way: increment the next counter. GPGME_CONFIG_API_VERSION=1 - -NEED_GPG_VERSION=1.3.0 -NEED_GPGSM_VERSION=1.9.6 ############################################## @@ -253,6 +250,30 @@ # Checks for system services +NEED_GPG_VERSION_DEFAULT=1.3.0 +NEED_GPGSM_VERSION_DEFAULT=1.9.6 +NEED_GPG_VERSION="$NEED_GPG_VERSION_DEFAULT" +NEED_GPGSM_VERSION="$NEED_GPGSM_VERSION_DEFAULT" +AC_ARG_WITH(gpg-version, + AC_HELP_STRING([--with-gpg-version=VER], [require GnuPG version VER]), + NEED_GPG_VERSION=$withval) +if test "$NEED_GPG_VERSION" = "yes"; then + NEED_GPG_VERSION="$NEED_GPG_VERSION_DEFAULT" +fi +if test "$NEED_GPG_VERSION" = "no"; then + NEED_GPG_VERSION=0.0.0 +fi +AC_ARG_WITH(gpgsm-version, + AC_HELP_STRING([--with-gpgsm-version=VER], [require GPGSM version VER]), + NEED_GPGSM_VERSION=$withval) +if test "$NEED_GPGSM_VERSION" = "yes"; then + NEED_GPGSM_VERSION="$NEED_GPGSM_VERSION_DEFAULT" +fi +if test "$NEED_GPGSM_VERSION" = "no"; then + NEED_GPGSM_VERSION=0.0.0 +fi + + NO_OVERRIDE=no AC_ARG_WITH(gpg, AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]), From cvs at cvs.gnupg.org Sat Jan 6 02:20:12 2007 From: cvs at cvs.gnupg.org (svn author mo) Date: Sat, 06 Jan 2007 02:20:12 +0100 Subject: [svn] GnuPG - r4397 - tags/gnupg-2.0.0/agent Message-ID: Author: mo Date: 2007-01-06 02:20:11 +0100 (Sat, 06 Jan 2007) New Revision: 4397 Modified: tags/gnupg-2.0.0/agent/ChangeLog tags/gnupg-2.0.0/agent/command-ssh.c Log: 2007-01-02 Moritz Schulte * command-ssh.c (add_control_entry): Slightly rewritten: added improved error handling/error logging. 2007-01-01 Moritz Schulte * command-ssh.c: Added a lot of error logging code and FIXMEs. (stream_read_string): Initialize LENGTH to zero. (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if EOF has been reached before trying to process another request. Modified: tags/gnupg-2.0.0/agent/ChangeLog =================================================================== --- tags/gnupg-2.0.0/agent/ChangeLog 2007-01-05 11:49:19 UTC (rev 4396) +++ tags/gnupg-2.0.0/agent/ChangeLog 2007-01-06 01:20:11 UTC (rev 4397) @@ -1,3 +1,15 @@ +2007-01-02 Moritz Schulte + + * command-ssh.c (add_control_entry): Slightly rewritten: added + improved error handling/error logging. + +2007-01-01 Moritz Schulte + + * command-ssh.c: Added a lot of error logging code and FIXMEs. + (stream_read_string): Initialize LENGTH to zero. + (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if + EOF has been reached before trying to process another request. + 2006-11-09 Werner Koch * gpg-agent.c (main): In detached mode connect standard Modified: tags/gnupg-2.0.0/agent/command-ssh.c =================================================================== --- tags/gnupg-2.0.0/agent/command-ssh.c 2007-01-05 11:49:19 UTC (rev 4396) +++ tags/gnupg-2.0.0/agent/command-ssh.c 2007-01-06 01:20:11 UTC (rev 4397) @@ -1,5 +1,5 @@ /* command-ssh.c - gpg-agent's ssh-agent emulation layer - * Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. + * Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -254,6 +254,10 @@ else p = gcry_malloc_secure (n); + if (! p) + log_error (_("failed to reallocate secure mem (n = %u, a = %p)\n"), + n, a); + return p; } @@ -271,6 +275,10 @@ memcpy (s, data, data_n); s[data_n] = 0; } + else + log_error (_("failed to allocate for cstring " + "(data_n = %u)"), + data_n); return s; } @@ -294,9 +302,16 @@ if (ret == EOF) { if (es_ferror (stream)) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to retrieve byte from stream: %s\n"), + gpg_strerror (err)); + } else - err = gpg_error (GPG_ERR_EOF); + { + err = gpg_error (GPG_ERR_EOF); + log_error (_("eof while trying to retrieve byte from stream\n")); + } *b = 0; } else @@ -317,7 +332,11 @@ ret = es_fputc (b, stream); if (ret == EOF) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to write byte to stream: %s\n"), + gpg_strerror (err)); + } else err = 0; @@ -335,11 +354,20 @@ ret = es_read (stream, buffer, sizeof (buffer), &bytes_read); if (ret) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to retrieve uint32 buffer from stream: %s\n"), + gpg_strerror (err)); + } else { if (bytes_read != sizeof (buffer)) - err = gpg_error (GPG_ERR_EOF); + { + err = gpg_error (GPG_ERR_EOF); + log_error (_("failed to retrieve uint32 buffer from stream " + "(bytes_read = %u): %s\n"), + bytes_read, gpg_strerror (err)); + } else { u32 n; @@ -368,7 +396,11 @@ ret = es_write (stream, buffer, sizeof (buffer), NULL); if (ret) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to write uint32 buffer to stream (ret = %i): %s\n"), + ret, gpg_strerror (err)); + } else err = 0; @@ -385,11 +417,21 @@ ret = es_read (stream, buffer, size, &bytes_read); if (ret) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to retrieve data from stream " + "(size = %u): %s\n"), + size, gpg_strerror (err)); + } else { if (bytes_read != size) - err = gpg_error (GPG_ERR_EOF); + { + err = gpg_error (GPG_ERR_EOF); + log_error (_("failed to retrieve data from stream " + "(size = %u, bytes_read = %u): %s\n"), + size, bytes_read, gpg_strerror (err)); + } else err = 0; } @@ -406,7 +448,12 @@ ret = es_write (stream, buffer, size, NULL); if (ret) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("failed to write data to stream " + "(size = %u): %s\n"), + size, gpg_strerror (err)); + } else err = 0; @@ -425,6 +472,7 @@ u32 length; buffer = NULL; + length = 0; /* Read string length. */ err = stream_read_uint32 (stream, &length); @@ -456,7 +504,12 @@ out: if (err) - xfree (buffer); + { + xfree (buffer); + log_error (_("failed to retrieve string from stream " + "(length = %u): %s\n"), + length, gpg_strerror (err)); + } return err; } @@ -468,6 +521,10 @@ unsigned char *buffer; gpg_error_t err; + /* (note:) stream_read_string adds NUL termination. -mo */ + + /* FIXME: is the cast ok? -mo */ + err = stream_read_string (stream, 0, &buffer, NULL); if (err) goto out; @@ -476,6 +533,10 @@ out: + if (err) + log_error (_("failed to retreive cstring from stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -495,6 +556,10 @@ out: + if (err) + log_error (_("failed to write string to stream (string_n = %u): %s\n"), + string_n, gpg_strerror (err)); + return err; } @@ -504,9 +569,16 @@ { gpg_error_t err; + /* FIXME: is this cast ok? -mo */ + err = stream_write_string (stream, (const unsigned char *) string, strlen (string)); + if (err) + log_error (_("failed to write string to stream: %s\n"), + gpg_strerror (err)); + + return err; } @@ -528,7 +600,7 @@ /* To avoid excessive use of secure memory we check that an MPI is not too large. */ - if (mpi_data_size > 520) + if (mpi_data_size > 520) /* FIXME: why 520? -mo */ { log_error (_("ssh keys greater than %d bits are not supported\n"), 4096); err = GPG_ERR_TOO_LARGE; @@ -537,7 +609,11 @@ err = gcry_mpi_scan (&mpi, GCRYMPI_FMT_STD, mpi_data, mpi_data_size, NULL); if (err) - goto out; + { + log_error (_("failed to convert retrieved mpi data into mpi object: %s\n"), + gpg_strerror (err)); + goto out; + } *mpint = mpi; @@ -545,6 +621,10 @@ xfree (mpi_data); + if (err) + log_error (_("failed to retrieve mpi from stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -560,7 +640,11 @@ err = gcry_mpi_aprint (GCRYMPI_FMT_STD, &mpi_buffer, &mpi_buffer_n, mpint); if (err) - goto out; + { + log_error (_("failed to convert mpi object into mpi buffer: %s\n"), + gpg_strerror (err)); + goto out; + } err = stream_write_string (stream, mpi_buffer, mpi_buffer_n); @@ -568,6 +652,10 @@ xfree (mpi_buffer); + if (err) + log_error (_("failed to write mpi to stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -587,17 +675,27 @@ if (ret || (! bytes_read)) { if (ret) - err = gpg_error_from_syserror (); + { + err = gpg_error_from_syserror (); + log_error (_("es_read failed in stream_copy: %s\n"), + gpg_strerror (err)); + } break; } ret = es_write (dst, buffer, bytes_read, NULL); if (ret) { err = gpg_error_from_syserror (); + log_error (_("es_write failed in stream_copy: %s\n"), + gpg_strerror (err)); break; } } + if (err) + log_error (_("failure in stream_copy: %s\n"), + gpg_strerror (err)); + return err; } @@ -624,6 +722,8 @@ if (! stream) { err = gpg_error_from_syserror (); + log_error (_("failed to open file (filename = '%s'): %s\n"), + filename, gpg_strerror (err)); goto out; } @@ -631,6 +731,8 @@ if (ret) { err = gpg_error_from_syserror (); + log_error (_("failed to fstat file (filename = '%s'): %s\n"), + filename, gpg_strerror (err)); goto out; } @@ -638,12 +740,20 @@ if (! buffer_new) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate buffer for file content " + "(filename = '%s', st_size = %lu): %s\n"), + filename, (unsigned long) statbuf.st_size, gpg_strerror (err)); goto out; } err = stream_read_data (stream, buffer_new, statbuf.st_size); if (err) - goto out; + { + log_error (_("failed to read data from file stream into buffer " + "(filename = '%s', st_size = %lu): %s\n"), + filename, (unsigned long) statbuf.st_size, gpg_strerror (err)); + goto out; + } *buffer = buffer_new; *buffer_n = statbuf.st_size; @@ -654,14 +764,20 @@ es_fclose (stream); if (err) - xfree (buffer_new); + { + xfree (buffer_new); + log_error (_("failed to read file content into memory buffer " + "(filename = '%s'): %s\n"), + filename, gpg_strerror (err)); + } return err; } + - + /* Open the ssh control file and create it if not available. With APPEND passed as true the file will be opened in append mode, otherwise in read only mode. On success a file pointer is stored @@ -785,28 +901,53 @@ gpg_error_t err; FILE *fp; int disabled; + int ret; err = open_control_file (&fp, 1); if (err) return err; err = search_control_file (fp, hexgrip, &disabled); - if (err && gpg_err_code(err) == GPG_ERR_EOF) + if (err) { - struct tm *tp; - time_t atime = time (NULL); + if (gpg_err_code (err) == GPG_ERR_EOF) + { + /* Not yet in the file - add it. Because the file has been + opened in append mode, we simply need to write to it. */ - /* Not yet in the file - add it. Becuase the file has been - opened in append mode, we simply need to write to it. */ - tp = localtime (&atime); - fprintf (fp, "# Key added on %04d-%02d-%02d %02d:%02d:%02d\n%s %d\n", - 1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday, - tp->tm_hour, tp->tm_min, tp->tm_sec, - hexgrip, ttl); - + struct tm *tp; + time_t atime = time (NULL); + + log_info (_("adding key `%s' to control file\n"), hexgrip); + err = 0; + + tp = localtime (&atime); + fprintf (fp, "# Key added on %04d-%02d-%02d %02d:%02d:%02d\n%s %d\n", + 1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday, + tp->tm_hour, tp->tm_min, tp->tm_sec, + hexgrip, ttl); + } + else + log_error (_("error while searching through control file: %s\n"), + gpg_strerror (err)); } - fclose (fp); - return 0; + else + /* hexgrip has been looked up successfuly; nothing to do here. */; + + /* Close file. */ + ret = fclose (fp); + if (ret == EOF) + { + /* Error during fclose. */ + + log_error (_("fclose failed in add_control_entry: %s\n"), + gpg_strerror (gpg_error_from_syserror ())); + + if (! err) + err = gpg_error_from_syserror (); + } + + return err; } @@ -866,6 +1007,8 @@ if (!mpis) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate mpi array (elems_n = %u): %s\n"), + elems_n, gpg_strerror (err)); goto out; } @@ -886,7 +1029,12 @@ out: if (err) - mpint_list_free (mpis); + { + mpint_list_free (mpis); + log_error (_("failed to retrieve mpi list from stream " + "(secret = %i, key type = '%s'): %s\n"), + secret, key_spec.identifier, gpg_strerror (err)); + } return err; } @@ -938,6 +1086,16 @@ s = mpis[0]; + /* i think, we need to make sure that the signature octet string + contains exactly the same amount of octets like the rsa modulus + written as an octet string. This would mean that a 0-prefix + might be necessary here. -mo + + ah - sshd allows for non-padded signatures and does appropriate + padding when necessary! -mo */ + + /* FIXME: don't we need _STD here? -mo */ + err = gcry_mpi_aprint (GCRYMPI_FMT_USG, &data, &data_n, s); if (err) goto out; @@ -947,6 +1105,10 @@ out: + if (err) + log_error (_("failure while writing rsa signature to stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -972,6 +1134,7 @@ if (data_n > SSH_DSA_SIGNATURE_PADDING) { err = gpg_error (GPG_ERR_INTERNAL); /* FIXME? */ + log_error (_("dsa signature longer than SSH_DSA_SIGNATURE_PADDING\n")); break; } @@ -992,6 +1155,10 @@ xfree (data); + if (err) + log_error (_("failure while writing dsa signature to stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -1041,6 +1208,9 @@ if (! sexp_template) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate space for key s-expression template " + "(sexp_template_n = %u): %s\n"), + sexp_template_n, gpg_strerror (err)); goto out; } @@ -1049,6 +1219,9 @@ if (! arg_list) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate space for key s-expression arg_list " + "(elems_n = %u): %s\n"), + elems_n, gpg_strerror (err)); goto out; } @@ -1080,7 +1253,11 @@ err = gcry_sexp_build_array (&sexp_new, NULL, sexp_template, arg_list); if (err) - goto out; + { + log_error (_("failed to create key s-expression: %s\n "), + gpg_strerror (err)); + goto out; + } *sexp = sexp_new; @@ -1128,6 +1305,8 @@ if (! data) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("failed to lookup first element in key s-expression: %s\n"), + gpg_strerror (err)); goto out; } @@ -1146,6 +1325,9 @@ else { err = gpg_error (GPG_ERR_INV_SEXP); + /* FIXME: NUL-terminate identifier, so that we can log it here. + -mo. */ + log_error (_("unknown identifier while parsing key s-expression\n")); goto out; } @@ -1154,6 +1336,9 @@ if (!mpis_new) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate space for array to hold mpis from key s-expression " + "(elems_n = %u): %s\n"), + elems_n, gpg_strerror (err)); goto out; } @@ -1161,6 +1346,9 @@ if (! value_list) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("failed to find identifier token in key s-expression " + "(identifier = '%s')\n"), + key_spec.identifier); goto out; } @@ -1170,6 +1358,9 @@ if (! value_pair) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("failed to find mpi identifier token in key s-expression " + "(identifier = '%c')\n"), + elems[i]); break; } @@ -1179,6 +1370,9 @@ if (! mpi) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("failed to extract mpi from key s-expression " + "(identifier = '%c')\n"), + elems[i]); break; } mpis_new[i] = mpi; @@ -1223,6 +1417,8 @@ { xfree (comment_new); mpint_list_free (mpis_new); + log_error (_("failed to extract key material from key s-expression: %s\n"), + gpg_strerror (err)); } return err; @@ -1241,7 +1437,9 @@ identifier_new = NULL; err = 0; - + + /* FIXME, verify this function ... -mo */ + sublist = gcry_sexp_nth (sexp, 1); if (! sublist) { @@ -1297,7 +1495,12 @@ break; if (i == DIM (ssh_key_types)) - err = gpg_error (GPG_ERR_NOT_FOUND); + { + err = gpg_error (GPG_ERR_NOT_FOUND); + log_error (_("failed to lookup key spec entry " + "(ssh_name = '%s', name = '%s')\n"), + ssh_name, name); + } else { *spec = ssh_key_types[i]; @@ -1375,6 +1578,11 @@ if (read_comment) xfree (comment); + if (err) + log_error (_("failed to retrieve key object from stream " + "(secret = %i): %s\n"), + secret, gpg_strerror (err)); + return err; } @@ -1402,6 +1610,8 @@ if (! stream) { err = gpg_error_from_syserror (); + log_error (_("es_mopen for key blob failed: %s\n"), + gpg_strerror (err)); goto out; } @@ -1418,17 +1628,26 @@ if (blob_size_new == -1) { err = gpg_error_from_syserror (); + log_error (_("es_ftell for key blob failed: %s\n"), + gpg_strerror (err)); goto out; } err = es_fseek (stream, 0, SEEK_SET); if (err) - goto out; + { + log_error (_("es_fseek for key blob failed: %s\n"), + gpg_strerror (err)); + goto out; + } blob_new = xtrymalloc (blob_size_new); if (! blob_new) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate memory for key blob " + "(blob_size = %li): %s\n"), + blob_size_new, gpg_strerror (err)); goto out; } @@ -1444,7 +1663,11 @@ if (stream) es_fclose (stream); if (err) - xfree (blob_new); + { + xfree (blob_new); + log_error (_("failed to convert key into blob: %s\n"), + gpg_strerror (err)); + } return err; } @@ -1501,6 +1724,10 @@ xfree (comment); xfree (blob); + if (err) + log_error (_("failed to send public key to stream: %s\n"), + gpg_strerror (err)); + return err; } @@ -1521,6 +1748,8 @@ if (! blob_stream) { err = gpg_error_from_syserror (); + log_error (_("es_mopen for reading public key from blob failed: %s\n"), + gpg_strerror (err)); goto out; } @@ -1530,7 +1759,11 @@ err = es_fseek (blob_stream, 0, SEEK_SET); if (err) - goto out; + { + log_error (_("es_fseek for public key blob failed: %s\n"), + gpg_strerror (err)); + goto out; + } err = ssh_receive_key (blob_stream, key_public, 0, 0, key_spec); @@ -1539,6 +1772,10 @@ if (blob_stream) es_fclose (blob_stream); + if (err) + log_error (_("failed to retrieve public key from blob: %s\n"), + gpg_strerror (err)); + return err; } @@ -1551,7 +1788,11 @@ ssh_key_grip (gcry_sexp_t key, unsigned char *buffer) { if (!gcry_pk_get_keygrip (key, buffer)) - return gpg_error (GPG_ERR_INTERNAL); + { + /* FIXME, log key S-Expression in case of failure. */ + log_error (_("failed to calculate keygrip\n")); + return gpg_error (GPG_ERR_INTERNAL); + } return 0; } @@ -1582,6 +1823,10 @@ mpint_list_free (mpis); xfree (comment); + if (err) + log_error (_("failed to derive public key from secret key: %s\n"), + gpg_strerror (err)); + return err; } @@ -1616,6 +1861,8 @@ if (err) { if (opt.verbose) + /* FIXME: shouldn't this be an error-level log message? + -mo */ log_info (_("error getting serial number of card: %s\n"), gpg_strerror (err)); return err; @@ -1666,6 +1913,7 @@ err = ssh_key_grip (s_pk, grip); if (err) { + /* FIXME: shouldn't this be a error-level message? -mo */ log_debug ("error computing keygrip from received card key: %s\n", gcry_strerror (err)); xfree (pkbuf); @@ -1802,6 +2050,8 @@ if (! key_blobs) { err = gpg_error_from_syserror (); + log_error (_("es_mopen in request_identities handler failed: %s\n"), + gpg_strerror (err)); goto out; } @@ -1810,6 +2060,9 @@ if (! key_directory) { err = gpg_err_code_from_errno (errno); + log_error (_("failed to construct key directory name " + "(homedir = '%s'): %s\n"), + opt.homedir, gpg_strerror (err)); goto out; } key_directory_n = strlen (key_directory); @@ -1818,6 +2071,9 @@ if (! key_path) { err = gpg_err_code_from_errno (errno); + log_error (_("failed to allocate memory for key filename " + "(key_directory_n = %u): %s\n"), + key_directory_n, gpg_strerror (err)); goto out; } @@ -1828,6 +2084,8 @@ if (! dir) { err = gpg_err_code_from_errno (errno); + log_error (_("failed to open key directory (key_directory = '%s'): %s\n"), + key_directory, gpg_strerror (err)); goto out; } @@ -1888,7 +2146,12 @@ err = gcry_sexp_sscan (&key_secret, NULL, (char*)buffer, buffer_n); if (err) - goto out; + { + log_error (_("failed to scan s-expression contained " + "in key file '%s': %s\n"), + dir_entry->d_name, gpg_strerror (err)); + goto out; + } xfree (buffer); buffer = NULL; @@ -1926,6 +2189,9 @@ if (ret) { err = gpg_error_from_syserror (); + log_error (_("failed to fseek on key_blobs in " + "request_identitities handler: %s\n"), + gpg_strerror (err)); goto out; } @@ -1936,6 +2202,8 @@ gcry_sexp_release (key_secret); gcry_sexp_release (key_public); + /* FIXME: verify that this err/ret_err concept makes sense. -mo */ + if (! err) { ret_err = stream_write_byte (response, SSH_RESPONSE_IDENTITIES_ANSWER); @@ -2026,6 +2294,7 @@ if (! valuelist) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("no value list in signature s-expression")); goto out; } @@ -2033,6 +2302,7 @@ if (! stream) { err = gpg_error_from_syserror (); + log_error (_("es_mopen failed: %s\n"), gpg_strerror (err)); goto out; } @@ -2040,6 +2310,7 @@ if (! identifier_raw) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("missing identifier in s-expression value list\n")); goto out; } @@ -2065,6 +2336,9 @@ if (!mpis) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate array for signature mpis " + "(elems_n = %u): %s\n"), + elems_n, gpg_strerror (err)); goto out; } @@ -2074,13 +2348,20 @@ if (! sublist) { err = gpg_error (GPG_ERR_INV_SEXP); + log_error (_("failed to find mpi identifier token in sig s-expression " + "(identifier = '%c')\n"), + spec.elems_signature[i]); break; } + /* FIXME: is _USG correct here? -mo */ sig_value = gcry_sexp_nth_mpi (sublist, 1, GCRYMPI_FMT_USG); if (! sig_value) { err = gpg_error (GPG_ERR_INTERNAL); /* FIXME? */ + log_error (_("failed to extract mpi from sig s-expression " + "(mpi identifier = '%c')\n"), + spec.elems_signature[i]); break; } gcry_sexp_release (sublist); @@ -2093,12 +2374,19 @@ err = (*sig_encoder) (stream, mpis); if (err) - goto out; + { + /* FIXME: display, WHICH encoder function failed. -mo */ + log_error (_("signature encoder function failed: %s\n"), + gpg_strerror (err)); + goto out; + } sig_blob_n = es_ftell (stream); if (sig_blob_n == -1) { err = gpg_error_from_syserror (); + log_error (_("es_ftell for tmp sig blob stream failed: %s\n"), + gpg_strerror (err)); goto out; } @@ -2106,6 +2394,9 @@ if (! sig_blob) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate memory for new sig blob " + "(sig_blob_n = %u): %s\n"), + sig_blob_n, gpg_strerror (err)); goto out; } @@ -2113,6 +2404,8 @@ if (ret) { err = gpg_error_from_syserror (); + log_error (_("failed to fseek on tmp sig blob stream: %s\n"), + gpg_strerror (err)); goto out; } @@ -2126,7 +2419,10 @@ out: if (err) - xfree (sig_blob); + { + xfree (sig_blob); + log_error (_("failed to create sig blob: %s\n"), gpg_strerror (err)); + } if (stream) es_fclose (stream); @@ -2188,8 +2484,14 @@ if (! hash_n) { err = gpg_error (GPG_ERR_INTERNAL); + log_error (_("failed to retrieve sign digest length\n")); goto out; } + + if (opt.verbose) + log_debug (_("hashing data (size = %u, digest length = %u)\n"), + data_size, hash_n); + err = data_hash (data, data_size, GCRY_MD_SHA1, hash); if (err) goto out; @@ -2214,6 +2516,8 @@ /* Done. */ + /* FIXME: err/ret_err verification. -mo */ + if (! err) { ret_err = stream_write_byte (response, SSH_RESPONSE_SIGN_RESPONSE); @@ -2252,6 +2556,9 @@ size_t data_n; gpg_error_t err; + /* FIXME: shall we really treat a missing comment as error? is a + missing comment possible? anyway, add error logging. -mo */ + comment_list = gcry_sexp_find_token (key, "comment", 0); if (! comment_list) { @@ -2300,6 +2607,9 @@ if (! buffer_new) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate secure memory for key " + "s-expr buffer (buffer_new_n = %u): %s\n"), + buffer_new_n, gpg_strerror (err)); goto out; } @@ -2308,8 +2618,15 @@ err = agent_protect (buffer_new, passphrase, buffer, buffer_n); + /* FIXME: does agent_protect do appropriate error logging? -mo */ + out: + if (err) + log_error (_("failed to convert key from s-expr into protected " + "buffer format: %s\n"), + gpg_strerror (err)); + xfree (buffer_new); return err; @@ -2349,6 +2666,7 @@ if (err) goto out; + /* FIXME: isn't there an asprintf wrapper macro? -mo */ if ( asprintf (&description, _("Please enter a passphrase to protect" " the received secret key%%0A" @@ -2357,6 +2675,8 @@ comment ? comment : "?") < 0) { err = gpg_error_from_syserror (); + log_error (_("failed to construct passphrase prompt: %s\n"), + gpg_strerror (err)); goto out; } @@ -2365,6 +2685,8 @@ if (!pi) { err = gpg_error_from_syserror (); + log_error (_("failed to allocate secury memory for askpin context: %s\n"), + gpg_strerror (err)); goto out; } pi->max_length = 100; @@ -2380,6 +2702,7 @@ /* Store this key to our key storage. */ err = agent_write_private_key (key_grip_raw, buffer, buffer_n, 0); if (err) + /* FIXME: does agent_write_private_key do error logging? -mo */ goto out; /* Cache this passphrase. */ @@ -2388,13 +2711,18 @@ err = agent_put_cache (key_grip, CACHE_MODE_SSH, pi->pin, ttl); if (err) + /* FIXME: does agent_put_cache do error logging? -mo */ goto out; /* And add an entry to the sshcontrol file. */ err = add_control_entry (ctrl, key_grip, ttl); + out: - out: + if (err) + log_error (_("failure during identity registration: %s\n"), + gpg_strerror (err)); + if (pi && pi->max_length) wipememory (pi->pin, pi->max_length); xfree (pi); @@ -2490,6 +2818,8 @@ out: + /* FIXME: err/ret_err issue. -mo */ + gcry_sexp_release (key); if (! err) @@ -2528,6 +2858,8 @@ out: + /* FIXME: err/ret_err issue. -mo */ + xfree (key_blob); gcry_sexp_release (key); @@ -2548,7 +2880,9 @@ err = 0; /* FIXME: shall we remove _all_ cache entries or only those - registered through the ssh emulation? */ + registered through the ssh emulation? + + Maybe we should simply wipe out the sshcontrol file? -mo */ return err; } @@ -2563,6 +2897,8 @@ err = ssh_identities_remove_all (); + /* FIXME: err/ret_err issue. -mo */ + if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2605,6 +2941,8 @@ err = ssh_lock (); + /* FIXME: err/ret_err issue. -mo */ + if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2622,6 +2960,8 @@ err = ssh_unlock (); + /* FIXME: err/ret_err issue. -mo */ + if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2646,7 +2986,8 @@ break; if (i == DIM (request_specs)) { - log_info ("ssh request %u is not supported\n", type); + if (opt.verbose > 1) + log_info ("ssh request %u is not supported\n", type); spec = NULL; } else @@ -2677,6 +3018,9 @@ request = NULL; send_err = 0; + if (opt.verbose) + log_debug (_("processing request\n")); + /* Create memory streams for request/response data. The entire request will be stored in secure memory, since it might contain secret key material. The response does not have to be stored in @@ -2705,6 +3049,8 @@ /* Broken request; FIXME. */ } + /* FIXME: add more error logging in this function. -mo */ + request_type = request_data[0]; spec = request_spec_lookup (request_type); if (! spec) @@ -2827,6 +3173,7 @@ estream_t stream_sock; gpg_error_t err; int ret; + int c; /* Setup control structure. */ @@ -2870,8 +3217,19 @@ } /* Main processing loop. */ - while ( !ssh_request_process (&ctrl, stream_sock) ) - ; + while (!ssh_request_process (&ctrl, stream_sock)) + { + /* Check wether we have reached EOF before trying to read + another request. */ + c = es_fgetc (stream_sock); + if (c == EOF) + { + if (opt.verbose) + log_debug (_("reached EOF on client socket\n")); + break; + } + es_ungetc (c, stream_sock); + } /* Reset the SCD in case it has been used. */ agent_reset_scd (&ctrl); From cvs at cvs.gnupg.org Sun Jan 7 00:03:45 2007 From: cvs at cvs.gnupg.org (svn author mo) Date: Sun, 07 Jan 2007 00:03:45 +0100 Subject: [svn] GnuPG - r4398 - tags/gnupg-2.0.0/common Message-ID: Author: mo Date: 2007-01-07 00:03:45 +0100 (Sun, 07 Jan 2007) New Revision: 4398 Modified: tags/gnupg-2.0.0/common/estream.c Log: Added just a single comment. Modified: tags/gnupg-2.0.0/common/estream.c =================================================================== --- tags/gnupg-2.0.0/common/estream.c 2007-01-06 01:20:11 UTC (rev 4397) +++ tags/gnupg-2.0.0/common/estream.c 2007-01-06 23:03:45 UTC (rev 4398) @@ -1649,7 +1649,11 @@ } -/* Helper for esprint. */ +/* Helper for es_print. This allows for an optimization for formatted + output on estreams: no tempfile is required; instead the formatted + output is sent to a special fopencookie/funopen (system) stream, + which then passes the data to this writer function, which then + writes the data to the original estream. */ #if defined(HAVE_FOPENCOOKIE) || defined(HAVE_FUNOPEN) static int print_fun_writer (void *cookie_arg, const char *buffer, size_t size) From cvs at cvs.gnupg.org Mon Jan 8 13:05:09 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 08 Jan 2007 13:05:09 +0100 Subject: [svn] gpgme - r1201 - in trunk: . complus gpgme Message-ID: Author: wk Date: 2007-01-08 13:05:07 +0100 (Mon, 08 Jan 2007) New Revision: 1201 Modified: trunk/ChangeLog trunk/complus/Makefile.am trunk/configure.ac trunk/gpgme/ChangeLog trunk/gpgme/engine-gpgsm.c trunk/gpgme/gpgme.h trunk/gpgme/op-support.c trunk/gpgme/rungpg.c trunk/gpgme/setenv.c trunk/gpgme/version.c Log: Fixes for building without gpgsm and for W32 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/ChangeLog 2007-01-08 12:05:07 UTC (rev 1201) @@ -1,3 +1,9 @@ +2007-01-08 Werner Koch + + * configure.ac: Require gpg-error 1.4 due to the use of + gpg_error_from_syserror. + (HAVE_ASSUAN_H): New. + 2007-01-05 Marcus Brinkmann * configure.ac: Add options --with-gpg-version and Modified: trunk/complus/Makefile.am =================================================================== --- trunk/complus/Makefile.am 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/complus/Makefile.am 2007-01-08 12:05:07 UTC (rev 1201) @@ -19,11 +19,11 @@ ## Process this file with automake to produce Makefile.in -# Because there is no free IDL compiler for OLE, we have to distribute -# a binary typelibrary. To generate a new one, copy the idl file to a -# system with an install MIDL and run the command -# midl /nocpp gpgcom.idl -# Sorry, there is no other way yet. +# Because WIDL does not yet fully support generation of typelibs, we +# have to distribute a binary type library. To generate a new one, +# copy the idl file to a system with an install MIDL and run the +# command "midl /nocpp gpgcom.idl". Sorry, there is no other way yet. + EXTRA_DIST = gpgcom.idl gpgcom.tlb gpgcom.rc vbtest.html vbtest.vbs README # No need to install this because we are cross-compiling anyway. Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/configure.ac 2007-01-08 12:05:07 UTC (rev 1201) @@ -243,7 +243,7 @@ fi # Checking for libgpg-error. -AM_PATH_GPG_ERROR(0.5,, AC_MSG_ERROR([libgpg-error was not found])) +AM_PATH_GPG_ERROR(1.4,, AC_MSG_ERROR([libgpg-error was not found])) AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME, [The default error source for GPGME.]) @@ -458,8 +458,10 @@ # FIXME: Only build if supported. AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no") +if test "$GPGSM" != "no"; then + AC_DEFINE(HAVE_ASSUAN_H, ,[Defined if we are building with assuan support.]) +fi - # The assuan code uses funopen but it will also build without it. So # test for it. Frankly, this is not required in gpgme, but thats the # way we handle it in libassuan. Modified: trunk/gpgme/ChangeLog =================================================================== --- trunk/gpgme/ChangeLog 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/ChangeLog 2007-01-08 12:05:07 UTC (rev 1201) @@ -1,3 +1,15 @@ +2007-01-08 Werner Koch + + * version.c (do_subsystem_inits): Do assuan init only if building + with Assuan. + * setenv.c: Include assuan-def.h only if building with Assuan + support. + + * op-support.c (_gpgme_op_reset): Set LC_MESSAGES only if + if defined. + * engine-gpgsm.c (gpgsm_set_locale): Ditto. + * rungpg.c (gpg_set_locale): Ditto. + 2006-12-17 Marcus Brinkmann * gpgme.c (gpgme_set_protocol): Shut down the engine when Modified: trunk/gpgme/engine-gpgsm.c =================================================================== --- trunk/gpgme/engine-gpgsm.c 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/engine-gpgsm.c 2007-01-08 12:05:07 UTC (rev 1201) @@ -548,6 +548,7 @@ if (value) gpgsm->lc_ctype_set = 1; } +#ifdef LC_MESSAGES else if (category == LC_MESSAGES) { catstr = "lc-messages"; @@ -556,6 +557,7 @@ if (value) gpgsm->lc_messages_set = 1; } +#endif /* LC_MESSAGES */ else return gpg_error (GPG_ERR_INV_VALUE); Modified: trunk/gpgme/gpgme.h =================================================================== --- trunk/gpgme/gpgme.h 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/gpgme.h 2007-01-08 12:05:07 UTC (rev 1201) @@ -72,7 +72,7 @@ AM_PATH_GPGME macro) check that this header matches the installed library. Warning: Do not edit the next line. configure will do that for you! */ -#define GPGME_VERSION "1.1.3-cvs1196" +#define GPGME_VERSION "1.1.3-cvs1200" Modified: trunk/gpgme/op-support.c =================================================================== --- trunk/gpgme/op-support.c 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/op-support.c 2007-01-08 12:05:07 UTC (rev 1201) @@ -101,9 +101,12 @@ } err = _gpgme_engine_set_locale (ctx->engine, LC_CTYPE, ctx->lc_ctype); +#ifdef LC_MESSAGES if (!err) err = _gpgme_engine_set_locale (ctx->engine, LC_MESSAGES, ctx->lc_messages); +#endif + if (err) { _gpgme_engine_release (ctx->engine); Modified: trunk/gpgme/rungpg.c =================================================================== --- trunk/gpgme/rungpg.c 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/rungpg.c 2007-01-08 12:05:07 UTC (rev 1201) @@ -525,6 +525,7 @@ return gpg_error_from_syserror (); } } +#ifdef LC_MESSAGES else if (category == LC_MESSAGES) { if (gpg->lc_messages) @@ -536,6 +537,7 @@ return gpg_error_from_syserror (); } } +#endif /* LC_MESSAGES */ else return gpg_error (GPG_ERR_INV_VALUE); Modified: trunk/gpgme/setenv.c =================================================================== --- trunk/gpgme/setenv.c 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/setenv.c 2007-01-08 12:05:07 UTC (rev 1201) @@ -20,7 +20,11 @@ # include #endif +#if HAVE_ASSUAN_H +/* Fixme: Why do we need to include the assuan header and why the + internal ones? */ #include "assuan-defs.h" +#endif /*HAVE_ASSUAN_H*/ #define __builtin_expect(cond,val) (cond) Modified: trunk/gpgme/version.c =================================================================== --- trunk/gpgme/version.c 2007-01-05 17:16:03 UTC (rev 1200) +++ trunk/gpgme/version.c 2007-01-08 12:05:07 UTC (rev 1201) @@ -32,7 +32,9 @@ /* For _gpgme_sema_subsystem_init (). */ #include "sema.h" +#ifdef HAVE_ASSUAN_H #include "assuan.h" +#endif /* Bootstrap the subsystems needed for concurrent operation. This @@ -50,7 +52,9 @@ _gpgme_sema_subsystem_init (); _gpgme_io_subsystem_init (); +#ifdef HAVE_ASSUAN_H assuan_set_assuan_err_source (GPG_ERR_SOURCE_GPGME); +#endif done = 1; } From cvs at cvs.gnupg.org Mon Jan 8 14:35:37 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 08 Jan 2007 14:35:37 +0100 Subject: [svn] GnuPG - r4399 - tags/gnupg-2.0.0/agent Message-ID: Author: wk Date: 2007-01-08 14:35:36 +0100 (Mon, 08 Jan 2007) New Revision: 4399 Modified: tags/gnupg-2.0.0/agent/ChangeLog tags/gnupg-2.0.0/agent/command-ssh.c Log: Reverted last commit. This is a tagged version and shall not be modified Modified: tags/gnupg-2.0.0/agent/ChangeLog =================================================================== --- tags/gnupg-2.0.0/agent/ChangeLog 2007-01-06 23:03:45 UTC (rev 4398) +++ tags/gnupg-2.0.0/agent/ChangeLog 2007-01-08 13:35:36 UTC (rev 4399) @@ -1,15 +1,3 @@ -2007-01-02 Moritz Schulte - - * command-ssh.c (add_control_entry): Slightly rewritten: added - improved error handling/error logging. - -2007-01-01 Moritz Schulte - - * command-ssh.c: Added a lot of error logging code and FIXMEs. - (stream_read_string): Initialize LENGTH to zero. - (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if - EOF has been reached before trying to process another request. - 2006-11-09 Werner Koch * gpg-agent.c (main): In detached mode connect standard Modified: tags/gnupg-2.0.0/agent/command-ssh.c =================================================================== --- tags/gnupg-2.0.0/agent/command-ssh.c 2007-01-06 23:03:45 UTC (rev 4398) +++ tags/gnupg-2.0.0/agent/command-ssh.c 2007-01-08 13:35:36 UTC (rev 4399) @@ -1,5 +1,5 @@ /* command-ssh.c - gpg-agent's ssh-agent emulation layer - * Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + * Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -254,10 +254,6 @@ else p = gcry_malloc_secure (n); - if (! p) - log_error (_("failed to reallocate secure mem (n = %u, a = %p)\n"), - n, a); - return p; } @@ -275,10 +271,6 @@ memcpy (s, data, data_n); s[data_n] = 0; } - else - log_error (_("failed to allocate for cstring " - "(data_n = %u)"), - data_n); return s; } @@ -302,16 +294,9 @@ if (ret == EOF) { if (es_ferror (stream)) - { - err = gpg_error_from_syserror (); - log_error (_("failed to retrieve byte from stream: %s\n"), - gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else - { - err = gpg_error (GPG_ERR_EOF); - log_error (_("eof while trying to retrieve byte from stream\n")); - } + err = gpg_error (GPG_ERR_EOF); *b = 0; } else @@ -332,11 +317,7 @@ ret = es_fputc (b, stream); if (ret == EOF) - { - err = gpg_error_from_syserror (); - log_error (_("failed to write byte to stream: %s\n"), - gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else err = 0; @@ -354,20 +335,11 @@ ret = es_read (stream, buffer, sizeof (buffer), &bytes_read); if (ret) - { - err = gpg_error_from_syserror (); - log_error (_("failed to retrieve uint32 buffer from stream: %s\n"), - gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else { if (bytes_read != sizeof (buffer)) - { - err = gpg_error (GPG_ERR_EOF); - log_error (_("failed to retrieve uint32 buffer from stream " - "(bytes_read = %u): %s\n"), - bytes_read, gpg_strerror (err)); - } + err = gpg_error (GPG_ERR_EOF); else { u32 n; @@ -396,11 +368,7 @@ ret = es_write (stream, buffer, sizeof (buffer), NULL); if (ret) - { - err = gpg_error_from_syserror (); - log_error (_("failed to write uint32 buffer to stream (ret = %i): %s\n"), - ret, gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else err = 0; @@ -417,21 +385,11 @@ ret = es_read (stream, buffer, size, &bytes_read); if (ret) - { - err = gpg_error_from_syserror (); - log_error (_("failed to retrieve data from stream " - "(size = %u): %s\n"), - size, gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else { if (bytes_read != size) - { - err = gpg_error (GPG_ERR_EOF); - log_error (_("failed to retrieve data from stream " - "(size = %u, bytes_read = %u): %s\n"), - size, bytes_read, gpg_strerror (err)); - } + err = gpg_error (GPG_ERR_EOF); else err = 0; } @@ -448,12 +406,7 @@ ret = es_write (stream, buffer, size, NULL); if (ret) - { - err = gpg_error_from_syserror (); - log_error (_("failed to write data to stream " - "(size = %u): %s\n"), - size, gpg_strerror (err)); - } + err = gpg_error_from_syserror (); else err = 0; @@ -472,7 +425,6 @@ u32 length; buffer = NULL; - length = 0; /* Read string length. */ err = stream_read_uint32 (stream, &length); @@ -504,12 +456,7 @@ out: if (err) - { - xfree (buffer); - log_error (_("failed to retrieve string from stream " - "(length = %u): %s\n"), - length, gpg_strerror (err)); - } + xfree (buffer); return err; } @@ -521,10 +468,6 @@ unsigned char *buffer; gpg_error_t err; - /* (note:) stream_read_string adds NUL termination. -mo */ - - /* FIXME: is the cast ok? -mo */ - err = stream_read_string (stream, 0, &buffer, NULL); if (err) goto out; @@ -533,10 +476,6 @@ out: - if (err) - log_error (_("failed to retreive cstring from stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -556,10 +495,6 @@ out: - if (err) - log_error (_("failed to write string to stream (string_n = %u): %s\n"), - string_n, gpg_strerror (err)); - return err; } @@ -569,16 +504,9 @@ { gpg_error_t err; - /* FIXME: is this cast ok? -mo */ - err = stream_write_string (stream, (const unsigned char *) string, strlen (string)); - if (err) - log_error (_("failed to write string to stream: %s\n"), - gpg_strerror (err)); - - return err; } @@ -600,7 +528,7 @@ /* To avoid excessive use of secure memory we check that an MPI is not too large. */ - if (mpi_data_size > 520) /* FIXME: why 520? -mo */ + if (mpi_data_size > 520) { log_error (_("ssh keys greater than %d bits are not supported\n"), 4096); err = GPG_ERR_TOO_LARGE; @@ -609,11 +537,7 @@ err = gcry_mpi_scan (&mpi, GCRYMPI_FMT_STD, mpi_data, mpi_data_size, NULL); if (err) - { - log_error (_("failed to convert retrieved mpi data into mpi object: %s\n"), - gpg_strerror (err)); - goto out; - } + goto out; *mpint = mpi; @@ -621,10 +545,6 @@ xfree (mpi_data); - if (err) - log_error (_("failed to retrieve mpi from stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -640,11 +560,7 @@ err = gcry_mpi_aprint (GCRYMPI_FMT_STD, &mpi_buffer, &mpi_buffer_n, mpint); if (err) - { - log_error (_("failed to convert mpi object into mpi buffer: %s\n"), - gpg_strerror (err)); - goto out; - } + goto out; err = stream_write_string (stream, mpi_buffer, mpi_buffer_n); @@ -652,10 +568,6 @@ xfree (mpi_buffer); - if (err) - log_error (_("failed to write mpi to stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -675,27 +587,17 @@ if (ret || (! bytes_read)) { if (ret) - { - err = gpg_error_from_syserror (); - log_error (_("es_read failed in stream_copy: %s\n"), - gpg_strerror (err)); - } + err = gpg_error_from_syserror (); break; } ret = es_write (dst, buffer, bytes_read, NULL); if (ret) { err = gpg_error_from_syserror (); - log_error (_("es_write failed in stream_copy: %s\n"), - gpg_strerror (err)); break; } } - if (err) - log_error (_("failure in stream_copy: %s\n"), - gpg_strerror (err)); - return err; } @@ -722,8 +624,6 @@ if (! stream) { err = gpg_error_from_syserror (); - log_error (_("failed to open file (filename = '%s'): %s\n"), - filename, gpg_strerror (err)); goto out; } @@ -731,8 +631,6 @@ if (ret) { err = gpg_error_from_syserror (); - log_error (_("failed to fstat file (filename = '%s'): %s\n"), - filename, gpg_strerror (err)); goto out; } @@ -740,20 +638,12 @@ if (! buffer_new) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate buffer for file content " - "(filename = '%s', st_size = %lu): %s\n"), - filename, (unsigned long) statbuf.st_size, gpg_strerror (err)); goto out; } err = stream_read_data (stream, buffer_new, statbuf.st_size); if (err) - { - log_error (_("failed to read data from file stream into buffer " - "(filename = '%s', st_size = %lu): %s\n"), - filename, (unsigned long) statbuf.st_size, gpg_strerror (err)); - goto out; - } + goto out; *buffer = buffer_new; *buffer_n = statbuf.st_size; @@ -764,20 +654,14 @@ es_fclose (stream); if (err) - { - xfree (buffer_new); - log_error (_("failed to read file content into memory buffer " - "(filename = '%s'): %s\n"), - filename, gpg_strerror (err)); - } + xfree (buffer_new); return err; } - - + /* Open the ssh control file and create it if not available. With APPEND passed as true the file will be opened in append mode, otherwise in read only mode. On success a file pointer is stored @@ -901,53 +785,28 @@ gpg_error_t err; FILE *fp; int disabled; - int ret; err = open_control_file (&fp, 1); if (err) return err; err = search_control_file (fp, hexgrip, &disabled); - if (err) + if (err && gpg_err_code(err) == GPG_ERR_EOF) { - if (gpg_err_code (err) == GPG_ERR_EOF) - { - /* Not yet in the file - add it. Because the file has been - opened in append mode, we simply need to write to it. */ + struct tm *tp; + time_t atime = time (NULL); - struct tm *tp; - time_t atime = time (NULL); - - log_info (_("adding key `%s' to control file\n"), hexgrip); - err = 0; - - tp = localtime (&atime); - fprintf (fp, "# Key added on %04d-%02d-%02d %02d:%02d:%02d\n%s %d\n", - 1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday, - tp->tm_hour, tp->tm_min, tp->tm_sec, - hexgrip, ttl); - } - else - log_error (_("error while searching through control file: %s\n"), - gpg_strerror (err)); + /* Not yet in the file - add it. Becuase the file has been + opened in append mode, we simply need to write to it. */ + tp = localtime (&atime); + fprintf (fp, "# Key added on %04d-%02d-%02d %02d:%02d:%02d\n%s %d\n", + 1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday, + tp->tm_hour, tp->tm_min, tp->tm_sec, + hexgrip, ttl); + } - else - /* hexgrip has been looked up successfuly; nothing to do here. */; - - /* Close file. */ - ret = fclose (fp); - if (ret == EOF) - { - /* Error during fclose. */ - - log_error (_("fclose failed in add_control_entry: %s\n"), - gpg_strerror (gpg_error_from_syserror ())); - - if (! err) - err = gpg_error_from_syserror (); - } - - return err; + fclose (fp); + return 0; } @@ -1007,8 +866,6 @@ if (!mpis) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate mpi array (elems_n = %u): %s\n"), - elems_n, gpg_strerror (err)); goto out; } @@ -1029,12 +886,7 @@ out: if (err) - { - mpint_list_free (mpis); - log_error (_("failed to retrieve mpi list from stream " - "(secret = %i, key type = '%s'): %s\n"), - secret, key_spec.identifier, gpg_strerror (err)); - } + mpint_list_free (mpis); return err; } @@ -1086,16 +938,6 @@ s = mpis[0]; - /* i think, we need to make sure that the signature octet string - contains exactly the same amount of octets like the rsa modulus - written as an octet string. This would mean that a 0-prefix - might be necessary here. -mo - - ah - sshd allows for non-padded signatures and does appropriate - padding when necessary! -mo */ - - /* FIXME: don't we need _STD here? -mo */ - err = gcry_mpi_aprint (GCRYMPI_FMT_USG, &data, &data_n, s); if (err) goto out; @@ -1105,10 +947,6 @@ out: - if (err) - log_error (_("failure while writing rsa signature to stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -1134,7 +972,6 @@ if (data_n > SSH_DSA_SIGNATURE_PADDING) { err = gpg_error (GPG_ERR_INTERNAL); /* FIXME? */ - log_error (_("dsa signature longer than SSH_DSA_SIGNATURE_PADDING\n")); break; } @@ -1155,10 +992,6 @@ xfree (data); - if (err) - log_error (_("failure while writing dsa signature to stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -1208,9 +1041,6 @@ if (! sexp_template) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate space for key s-expression template " - "(sexp_template_n = %u): %s\n"), - sexp_template_n, gpg_strerror (err)); goto out; } @@ -1219,9 +1049,6 @@ if (! arg_list) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate space for key s-expression arg_list " - "(elems_n = %u): %s\n"), - elems_n, gpg_strerror (err)); goto out; } @@ -1253,11 +1080,7 @@ err = gcry_sexp_build_array (&sexp_new, NULL, sexp_template, arg_list); if (err) - { - log_error (_("failed to create key s-expression: %s\n "), - gpg_strerror (err)); - goto out; - } + goto out; *sexp = sexp_new; @@ -1305,8 +1128,6 @@ if (! data) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("failed to lookup first element in key s-expression: %s\n"), - gpg_strerror (err)); goto out; } @@ -1325,9 +1146,6 @@ else { err = gpg_error (GPG_ERR_INV_SEXP); - /* FIXME: NUL-terminate identifier, so that we can log it here. - -mo. */ - log_error (_("unknown identifier while parsing key s-expression\n")); goto out; } @@ -1336,9 +1154,6 @@ if (!mpis_new) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate space for array to hold mpis from key s-expression " - "(elems_n = %u): %s\n"), - elems_n, gpg_strerror (err)); goto out; } @@ -1346,9 +1161,6 @@ if (! value_list) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("failed to find identifier token in key s-expression " - "(identifier = '%s')\n"), - key_spec.identifier); goto out; } @@ -1358,9 +1170,6 @@ if (! value_pair) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("failed to find mpi identifier token in key s-expression " - "(identifier = '%c')\n"), - elems[i]); break; } @@ -1370,9 +1179,6 @@ if (! mpi) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("failed to extract mpi from key s-expression " - "(identifier = '%c')\n"), - elems[i]); break; } mpis_new[i] = mpi; @@ -1417,8 +1223,6 @@ { xfree (comment_new); mpint_list_free (mpis_new); - log_error (_("failed to extract key material from key s-expression: %s\n"), - gpg_strerror (err)); } return err; @@ -1437,9 +1241,7 @@ identifier_new = NULL; err = 0; - - /* FIXME, verify this function ... -mo */ - + sublist = gcry_sexp_nth (sexp, 1); if (! sublist) { @@ -1495,12 +1297,7 @@ break; if (i == DIM (ssh_key_types)) - { - err = gpg_error (GPG_ERR_NOT_FOUND); - log_error (_("failed to lookup key spec entry " - "(ssh_name = '%s', name = '%s')\n"), - ssh_name, name); - } + err = gpg_error (GPG_ERR_NOT_FOUND); else { *spec = ssh_key_types[i]; @@ -1578,11 +1375,6 @@ if (read_comment) xfree (comment); - if (err) - log_error (_("failed to retrieve key object from stream " - "(secret = %i): %s\n"), - secret, gpg_strerror (err)); - return err; } @@ -1610,8 +1402,6 @@ if (! stream) { err = gpg_error_from_syserror (); - log_error (_("es_mopen for key blob failed: %s\n"), - gpg_strerror (err)); goto out; } @@ -1628,26 +1418,17 @@ if (blob_size_new == -1) { err = gpg_error_from_syserror (); - log_error (_("es_ftell for key blob failed: %s\n"), - gpg_strerror (err)); goto out; } err = es_fseek (stream, 0, SEEK_SET); if (err) - { - log_error (_("es_fseek for key blob failed: %s\n"), - gpg_strerror (err)); - goto out; - } + goto out; blob_new = xtrymalloc (blob_size_new); if (! blob_new) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate memory for key blob " - "(blob_size = %li): %s\n"), - blob_size_new, gpg_strerror (err)); goto out; } @@ -1663,11 +1444,7 @@ if (stream) es_fclose (stream); if (err) - { - xfree (blob_new); - log_error (_("failed to convert key into blob: %s\n"), - gpg_strerror (err)); - } + xfree (blob_new); return err; } @@ -1724,10 +1501,6 @@ xfree (comment); xfree (blob); - if (err) - log_error (_("failed to send public key to stream: %s\n"), - gpg_strerror (err)); - return err; } @@ -1748,8 +1521,6 @@ if (! blob_stream) { err = gpg_error_from_syserror (); - log_error (_("es_mopen for reading public key from blob failed: %s\n"), - gpg_strerror (err)); goto out; } @@ -1759,11 +1530,7 @@ err = es_fseek (blob_stream, 0, SEEK_SET); if (err) - { - log_error (_("es_fseek for public key blob failed: %s\n"), - gpg_strerror (err)); - goto out; - } + goto out; err = ssh_receive_key (blob_stream, key_public, 0, 0, key_spec); @@ -1772,10 +1539,6 @@ if (blob_stream) es_fclose (blob_stream); - if (err) - log_error (_("failed to retrieve public key from blob: %s\n"), - gpg_strerror (err)); - return err; } @@ -1788,11 +1551,7 @@ ssh_key_grip (gcry_sexp_t key, unsigned char *buffer) { if (!gcry_pk_get_keygrip (key, buffer)) - { - /* FIXME, log key S-Expression in case of failure. */ - log_error (_("failed to calculate keygrip\n")); - return gpg_error (GPG_ERR_INTERNAL); - } + return gpg_error (GPG_ERR_INTERNAL); return 0; } @@ -1823,10 +1582,6 @@ mpint_list_free (mpis); xfree (comment); - if (err) - log_error (_("failed to derive public key from secret key: %s\n"), - gpg_strerror (err)); - return err; } @@ -1861,8 +1616,6 @@ if (err) { if (opt.verbose) - /* FIXME: shouldn't this be an error-level log message? - -mo */ log_info (_("error getting serial number of card: %s\n"), gpg_strerror (err)); return err; @@ -1913,7 +1666,6 @@ err = ssh_key_grip (s_pk, grip); if (err) { - /* FIXME: shouldn't this be a error-level message? -mo */ log_debug ("error computing keygrip from received card key: %s\n", gcry_strerror (err)); xfree (pkbuf); @@ -2050,8 +1802,6 @@ if (! key_blobs) { err = gpg_error_from_syserror (); - log_error (_("es_mopen in request_identities handler failed: %s\n"), - gpg_strerror (err)); goto out; } @@ -2060,9 +1810,6 @@ if (! key_directory) { err = gpg_err_code_from_errno (errno); - log_error (_("failed to construct key directory name " - "(homedir = '%s'): %s\n"), - opt.homedir, gpg_strerror (err)); goto out; } key_directory_n = strlen (key_directory); @@ -2071,9 +1818,6 @@ if (! key_path) { err = gpg_err_code_from_errno (errno); - log_error (_("failed to allocate memory for key filename " - "(key_directory_n = %u): %s\n"), - key_directory_n, gpg_strerror (err)); goto out; } @@ -2084,8 +1828,6 @@ if (! dir) { err = gpg_err_code_from_errno (errno); - log_error (_("failed to open key directory (key_directory = '%s'): %s\n"), - key_directory, gpg_strerror (err)); goto out; } @@ -2146,12 +1888,7 @@ err = gcry_sexp_sscan (&key_secret, NULL, (char*)buffer, buffer_n); if (err) - { - log_error (_("failed to scan s-expression contained " - "in key file '%s': %s\n"), - dir_entry->d_name, gpg_strerror (err)); - goto out; - } + goto out; xfree (buffer); buffer = NULL; @@ -2189,9 +1926,6 @@ if (ret) { err = gpg_error_from_syserror (); - log_error (_("failed to fseek on key_blobs in " - "request_identitities handler: %s\n"), - gpg_strerror (err)); goto out; } @@ -2202,8 +1936,6 @@ gcry_sexp_release (key_secret); gcry_sexp_release (key_public); - /* FIXME: verify that this err/ret_err concept makes sense. -mo */ - if (! err) { ret_err = stream_write_byte (response, SSH_RESPONSE_IDENTITIES_ANSWER); @@ -2294,7 +2026,6 @@ if (! valuelist) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("no value list in signature s-expression")); goto out; } @@ -2302,7 +2033,6 @@ if (! stream) { err = gpg_error_from_syserror (); - log_error (_("es_mopen failed: %s\n"), gpg_strerror (err)); goto out; } @@ -2310,7 +2040,6 @@ if (! identifier_raw) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("missing identifier in s-expression value list\n")); goto out; } @@ -2336,9 +2065,6 @@ if (!mpis) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate array for signature mpis " - "(elems_n = %u): %s\n"), - elems_n, gpg_strerror (err)); goto out; } @@ -2348,20 +2074,13 @@ if (! sublist) { err = gpg_error (GPG_ERR_INV_SEXP); - log_error (_("failed to find mpi identifier token in sig s-expression " - "(identifier = '%c')\n"), - spec.elems_signature[i]); break; } - /* FIXME: is _USG correct here? -mo */ sig_value = gcry_sexp_nth_mpi (sublist, 1, GCRYMPI_FMT_USG); if (! sig_value) { err = gpg_error (GPG_ERR_INTERNAL); /* FIXME? */ - log_error (_("failed to extract mpi from sig s-expression " - "(mpi identifier = '%c')\n"), - spec.elems_signature[i]); break; } gcry_sexp_release (sublist); @@ -2374,19 +2093,12 @@ err = (*sig_encoder) (stream, mpis); if (err) - { - /* FIXME: display, WHICH encoder function failed. -mo */ - log_error (_("signature encoder function failed: %s\n"), - gpg_strerror (err)); - goto out; - } + goto out; sig_blob_n = es_ftell (stream); if (sig_blob_n == -1) { err = gpg_error_from_syserror (); - log_error (_("es_ftell for tmp sig blob stream failed: %s\n"), - gpg_strerror (err)); goto out; } @@ -2394,9 +2106,6 @@ if (! sig_blob) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate memory for new sig blob " - "(sig_blob_n = %u): %s\n"), - sig_blob_n, gpg_strerror (err)); goto out; } @@ -2404,8 +2113,6 @@ if (ret) { err = gpg_error_from_syserror (); - log_error (_("failed to fseek on tmp sig blob stream: %s\n"), - gpg_strerror (err)); goto out; } @@ -2419,10 +2126,7 @@ out: if (err) - { - xfree (sig_blob); - log_error (_("failed to create sig blob: %s\n"), gpg_strerror (err)); - } + xfree (sig_blob); if (stream) es_fclose (stream); @@ -2484,14 +2188,8 @@ if (! hash_n) { err = gpg_error (GPG_ERR_INTERNAL); - log_error (_("failed to retrieve sign digest length\n")); goto out; } - - if (opt.verbose) - log_debug (_("hashing data (size = %u, digest length = %u)\n"), - data_size, hash_n); - err = data_hash (data, data_size, GCRY_MD_SHA1, hash); if (err) goto out; @@ -2516,8 +2214,6 @@ /* Done. */ - /* FIXME: err/ret_err verification. -mo */ - if (! err) { ret_err = stream_write_byte (response, SSH_RESPONSE_SIGN_RESPONSE); @@ -2556,9 +2252,6 @@ size_t data_n; gpg_error_t err; - /* FIXME: shall we really treat a missing comment as error? is a - missing comment possible? anyway, add error logging. -mo */ - comment_list = gcry_sexp_find_token (key, "comment", 0); if (! comment_list) { @@ -2607,9 +2300,6 @@ if (! buffer_new) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate secure memory for key " - "s-expr buffer (buffer_new_n = %u): %s\n"), - buffer_new_n, gpg_strerror (err)); goto out; } @@ -2618,15 +2308,8 @@ err = agent_protect (buffer_new, passphrase, buffer, buffer_n); - /* FIXME: does agent_protect do appropriate error logging? -mo */ - out: - if (err) - log_error (_("failed to convert key from s-expr into protected " - "buffer format: %s\n"), - gpg_strerror (err)); - xfree (buffer_new); return err; @@ -2666,7 +2349,6 @@ if (err) goto out; - /* FIXME: isn't there an asprintf wrapper macro? -mo */ if ( asprintf (&description, _("Please enter a passphrase to protect" " the received secret key%%0A" @@ -2675,8 +2357,6 @@ comment ? comment : "?") < 0) { err = gpg_error_from_syserror (); - log_error (_("failed to construct passphrase prompt: %s\n"), - gpg_strerror (err)); goto out; } @@ -2685,8 +2365,6 @@ if (!pi) { err = gpg_error_from_syserror (); - log_error (_("failed to allocate secury memory for askpin context: %s\n"), - gpg_strerror (err)); goto out; } pi->max_length = 100; @@ -2702,7 +2380,6 @@ /* Store this key to our key storage. */ err = agent_write_private_key (key_grip_raw, buffer, buffer_n, 0); if (err) - /* FIXME: does agent_write_private_key do error logging? -mo */ goto out; /* Cache this passphrase. */ @@ -2711,18 +2388,13 @@ err = agent_put_cache (key_grip, CACHE_MODE_SSH, pi->pin, ttl); if (err) - /* FIXME: does agent_put_cache do error logging? -mo */ goto out; /* And add an entry to the sshcontrol file. */ err = add_control_entry (ctrl, key_grip, ttl); - out: - if (err) - log_error (_("failure during identity registration: %s\n"), - gpg_strerror (err)); - + out: if (pi && pi->max_length) wipememory (pi->pin, pi->max_length); xfree (pi); @@ -2818,8 +2490,6 @@ out: - /* FIXME: err/ret_err issue. -mo */ - gcry_sexp_release (key); if (! err) @@ -2858,8 +2528,6 @@ out: - /* FIXME: err/ret_err issue. -mo */ - xfree (key_blob); gcry_sexp_release (key); @@ -2880,9 +2548,7 @@ err = 0; /* FIXME: shall we remove _all_ cache entries or only those - registered through the ssh emulation? - - Maybe we should simply wipe out the sshcontrol file? -mo */ + registered through the ssh emulation? */ return err; } @@ -2897,8 +2563,6 @@ err = ssh_identities_remove_all (); - /* FIXME: err/ret_err issue. -mo */ - if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2941,8 +2605,6 @@ err = ssh_lock (); - /* FIXME: err/ret_err issue. -mo */ - if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2960,8 +2622,6 @@ err = ssh_unlock (); - /* FIXME: err/ret_err issue. -mo */ - if (! err) ret_err = stream_write_byte (response, SSH_RESPONSE_SUCCESS); else @@ -2986,8 +2646,7 @@ break; if (i == DIM (request_specs)) { - if (opt.verbose > 1) - log_info ("ssh request %u is not supported\n", type); + log_info ("ssh request %u is not supported\n", type); spec = NULL; } else @@ -3018,9 +2677,6 @@ request = NULL; send_err = 0; - if (opt.verbose) - log_debug (_("processing request\n")); - /* Create memory streams for request/response data. The entire request will be stored in secure memory, since it might contain secret key material. The response does not have to be stored in @@ -3049,8 +2705,6 @@ /* Broken request; FIXME. */ } - /* FIXME: add more error logging in this function. -mo */ - request_type = request_data[0]; spec = request_spec_lookup (request_type); if (! spec) @@ -3173,7 +2827,6 @@ estream_t stream_sock; gpg_error_t err; int ret; - int c; /* Setup control structure. */ @@ -3217,19 +2870,8 @@ } /* Main processing loop. */ - while (!ssh_request_process (&ctrl, stream_sock)) - { - /* Check wether we have reached EOF before trying to read - another request. */ - c = es_fgetc (stream_sock); - if (c == EOF) - { - if (opt.verbose) - log_debug (_("reached EOF on client socket\n")); - break; - } - es_ungetc (c, stream_sock); - } + while ( !ssh_request_process (&ctrl, stream_sock) ) + ; /* Reset the SCD in case it has been used. */ agent_reset_scd (&ctrl); From cvs at cvs.gnupg.org Wed Jan 10 11:18:05 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 10 Jan 2007 11:18:05 +0100 Subject: [svn] gpgme - r1202 - in trunk: . gpgme Message-ID: Author: wk Date: 2007-01-10 11:18:05 +0100 (Wed, 10 Jan 2007) New Revision: 1202 Modified: trunk/ChangeLog trunk/TODO trunk/configure.ac trunk/gpgme/ChangeLog trunk/gpgme/ttyname_r.c Log: / * configure.ac (NEED_GPG_VERSION, (NEED_GPGSM_VERSION): Must define after it may have been changed by an option. * configure.ac: Require gpg-error 1.4 due to the use of gpg_error_from_syserror. (HAVE_ASSUAN_H): New. gpgme/ * ttyname_r.c (ttyname_r) [W32]: Return a dummy name. * version.c (do_subsystem_inits): Do assuan init only if building with Assuan. * setenv.c: Include assuan-def.h only if building with Assuan support. * op-support.c (_gpgme_op_reset): Set LC_MESSAGES only if if defined. * engine-gpgsm.c (gpgsm_set_locale): Ditto. * rungpg.c (gpg_set_locale): Ditto. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-01-08 12:05:07 UTC (rev 1201) +++ trunk/ChangeLog 2007-01-10 10:18:05 UTC (rev 1202) @@ -1,3 +1,9 @@ +2007-01-09 Werner Koch + + * configure.ac (NEED_GPG_VERSION, + (NEED_GPGSM_VERSION): Must define after it may have been changed + by an option. + 2007-01-08 Werner Koch * configure.ac: Require gpg-error 1.4 due to the use of Modified: trunk/TODO =================================================================== --- trunk/TODO 2007-01-08 12:05:07 UTC (rev 1201) +++ trunk/TODO 2007-01-10 10:18:05 UTC (rev 1202) @@ -99,7 +99,12 @@ gpg: test: sign+encrypt failed: general error ** Without agent and with wrong passphrase, gpg 1.4.2 enters into an infinite loop. +** Use correct argv[0] + In rungpg.c:build_argv we use + argv[argc] = strdup ("gpg"); /* argv[0] */ + This should be changed to take the real file name used in account. + * Operations ** Include cert values -2, -1, 0 and 1 should be defined as macros. ** If an operation failed, make sure that the result functions don't return Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-01-08 12:05:07 UTC (rev 1201) +++ trunk/configure.ac 2007-01-10 10:18:05 UTC (rev 1202) @@ -87,10 +87,6 @@ AC_SUBST(LIBGPGME_LT_CURRENT) AC_SUBST(LIBGPGME_LT_AGE) AC_SUBST(LIBGPGME_LT_REVISION) -AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION", - [Min. needed GnuPG version.]) -AC_DEFINE_UNQUOTED(NEED_GPGSM_VERSION, "$NEED_GPGSM_VERSION", - [Min. needed GPGSM version.]) AC_SUBST(PACKAGE) AC_SUBST(VERSION) @@ -273,7 +269,12 @@ NEED_GPGSM_VERSION=0.0.0 fi +AC_DEFINE_UNQUOTED(NEED_GPG_VERSION, "$NEED_GPG_VERSION", + [Min. needed GnuPG version.]) +AC_DEFINE_UNQUOTED(NEED_GPGSM_VERSION, "$NEED_GPGSM_VERSION", + [Min. needed GPGSM version.]) + NO_OVERRIDE=no AC_ARG_WITH(gpg, AC_HELP_STRING([--with-gpg=PATH], [use GnuPG binary at PATH]), Modified: trunk/gpgme/ChangeLog =================================================================== --- trunk/gpgme/ChangeLog 2007-01-08 12:05:07 UTC (rev 1201) +++ trunk/gpgme/ChangeLog 2007-01-10 10:18:05 UTC (rev 1202) @@ -1,3 +1,7 @@ +2007-01-10 Werner Koch + + * ttyname_r.c (ttyname_r) [W32]: Return a dummy name. + 2007-01-08 Werner Koch * version.c (do_subsystem_inits): Do assuan init only if building Modified: trunk/gpgme/ttyname_r.c =================================================================== --- trunk/gpgme/ttyname_r.c 2007-01-08 12:05:07 UTC (rev 1201) +++ trunk/gpgme/ttyname_r.c 2007-01-10 10:18:05 UTC (rev 1202) @@ -32,17 +32,22 @@ int ttyname_r (int fd, char *buf, size_t buflen) { + char *tty; + #if HAVE_W32_SYSTEM - errno = ENOTTY; /* The best error code I have under mingw. */ + /* We use this default one for now. AFAICS we only need it to be + passed to gpg and in turn to pinentry. Providing a replacement + is needed because elsewhere we bail out on error. If we + eventually implement a pinentry for Windows it is uinlikely that + we need a real tty at all. */ + tty = "/dev/tty"; #else - char *tty; - tty = ttyname (fd); if (!tty) return errno; +#endif strncpy (buf, tty, buflen); buf[buflen - 1] = '\0'; return (strlen (tty) >= buflen) ? ERANGE : 0; -#endif } From cvs at cvs.gnupg.org Mon Jan 15 20:30:35 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 15 Jan 2007 20:30:35 +0100 Subject: [svn] GnuPG - r4400 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: wk Date: 2007-01-15 20:30:33 +0100 (Mon, 15 Jan 2007) New Revision: 4400 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/keygen.c branches/STABLE-BRANCH-1-4/g10/parse-packet.c Log: * parse-packet.c (read_protected_v3_mpi): Make sure to stop reading even for corrupted packets. * keygen.c (generate_user_id): Need to allocate one byte more. Reported by Felix von Leitner. Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-08 13:35:36 UTC (rev 4399) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-15 19:30:33 UTC (rev 4400) @@ -1,3 +1,10 @@ +2007-01-15 Werner Koch + + * parse-packet.c (read_protected_v3_mpi): Make sure to stop + reading even for corrupted packets. + * keygen.c (generate_user_id): Need to allocate one byte more. + Reported by Felix von Leitner. + 2006-12-14 David Shaw * options.skel: Tweak some examples to match reality and update Modified: branches/STABLE-BRANCH-1-4/g10/keygen.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-08 13:35:36 UTC (rev 4399) +++ branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-15 19:30:33 UTC (rev 4400) @@ -1958,7 +1958,7 @@ if( !p ) return NULL; n = strlen(p); - uid = xmalloc_clear( sizeof *uid + n - 1 ); + uid = xmalloc_clear( sizeof *uid + n ); uid->len = n; strcpy(uid->name, p); uid->ref = 1; Modified: branches/STABLE-BRANCH-1-4/g10/parse-packet.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/parse-packet.c 2007-01-08 13:35:36 UTC (rev 4399) +++ branches/STABLE-BRANCH-1-4/g10/parse-packet.c 2007-01-15 19:30:33 UTC (rev 4400) @@ -1533,7 +1533,7 @@ buf = p = xmalloc (2 + nbytes); *p++ = nbits >> 8; *p++ = nbits; - for (; nbytes && length; nbytes--, --*length) + for (; nbytes && *length; nbytes--, --*length) *p++ = iobuf_get (inp); if (nbytes) { From cvs at cvs.gnupg.org Mon Jan 15 20:31:26 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 15 Jan 2007 20:31:26 +0100 Subject: [svn] GnuPG - r4401 - trunk/g10 Message-ID: Author: wk Date: 2007-01-15 20:31:24 +0100 (Mon, 15 Jan 2007) New Revision: 4401 Modified: trunk/g10/ChangeLog trunk/g10/keygen.c trunk/g10/parse-packet.c Log: * parse-packet.c (read_protected_v3_mpi): Make sure to stop reading even for corrupted packets. * keygen.c (generate_user_id): Need to allocate one byte more. Reported by Felix von Leitner. Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2007-01-15 19:30:33 UTC (rev 4400) +++ trunk/g10/ChangeLog 2007-01-15 19:31:24 UTC (rev 4401) @@ -1,3 +1,10 @@ +2007-01-15 Werner Koch + + * parse-packet.c (read_protected_v3_mpi): Make sure to stop + reading even for corrupted packets. + * keygen.c (generate_user_id): Need to allocate one byte more. + Reported by Felix von Leitner. + 2006-12-21 Werner Koch * gpg.c (main): New command --server. Modified: trunk/g10/keygen.c =================================================================== --- trunk/g10/keygen.c 2007-01-15 19:30:33 UTC (rev 4400) +++ trunk/g10/keygen.c 2007-01-15 19:31:24 UTC (rev 4401) @@ -2130,7 +2130,7 @@ if( !p ) return NULL; n = strlen(p); - uid = xmalloc_clear( sizeof *uid + n - 1 ); + uid = xmalloc_clear( sizeof *uid + n ); uid->len = n; strcpy(uid->name, p); uid->ref = 1; Modified: trunk/g10/parse-packet.c =================================================================== --- trunk/g10/parse-packet.c 2007-01-15 19:30:33 UTC (rev 4400) +++ trunk/g10/parse-packet.c 2007-01-15 19:31:24 UTC (rev 4401) @@ -1589,11 +1589,11 @@ buf = p = xmalloc (2 + nbytes); *p++ = nbits >> 8; *p++ = nbits; - for (; nbytes && length; nbytes--, --*length) + for (; nbytes && *length; nbytes--, --*length) *p++ = iobuf_get (inp); if (nbytes) { - log_error ("packet shorter tham mpi\n"); + log_error ("packet shorter than mpi\n"); xfree (buf); return NULL; } From cvs at cvs.gnupg.org Tue Jan 16 05:31:49 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Tue, 16 Jan 2007 05:31:49 +0100 Subject: [svn] GnuPG - r4402 - branches/STABLE-BRANCH-1-4/keyserver Message-ID: Author: dshaw Date: 2007-01-16 05:31:49 +0100 (Tue, 16 Jan 2007) New Revision: 4402 Modified: branches/STABLE-BRANCH-1-4/keyserver/ChangeLog branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c Log: * gpgkeys_hkp.c (send_key): Allow GPG to send any armored key line length without problems. Reported by Felix von Leitner. Modified: branches/STABLE-BRANCH-1-4/keyserver/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/ChangeLog 2007-01-15 19:31:24 UTC (rev 4401) +++ branches/STABLE-BRANCH-1-4/keyserver/ChangeLog 2007-01-16 04:31:49 UTC (rev 4402) @@ -1,3 +1,8 @@ +2007-01-15 David Shaw + + * gpgkeys_hkp.c (send_key): Allow GPG to send any armored key line + length without problems. Reported by Felix von Leitner. + 2006-12-03 David Shaw * ksutil.c (classify_ks_search): Try and recognize a key ID even Modified: branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c 2007-01-15 19:31:24 UTC (rev 4401) +++ branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c 2007-01-16 04:31:49 UTC (rev 4402) @@ -1,6 +1,6 @@ /* gpgkeys_hkp.c - talk to an HKP keyserver - * Copyright (C) 2001, 2002, 2003, 2004, 2005 - * 2006 Free Software Foundation, Inc. + * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 + * 2007 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -101,8 +101,18 @@ char keyid[17],state[6]; char line[MAX_LINE]; char *key=NULL,*encoded_key=NULL; - size_t keylen=0,keymax=0; + size_t keysize=1; + key=malloc(1); + if(!key) + { + fprintf(console,"gpgkeys: unable to allocate memory for key\n"); + ret=KEYSERVER_NO_MEMORY; + goto fail; + } + + key[0]='\0'; + /* Read and throw away input until we see the BEGIN */ while(fgets(line,MAX_LINE,input)!=NULL) @@ -133,25 +143,19 @@ } else { - if(strlen(line)+keylen>keymax) + char *tempkey; + keysize+=strlen(line); + tempkey=realloc(key,keysize); + if(tempkey==NULL) { - char *tmp; - - keymax+=200; - tmp=realloc(key,keymax+1); - if(!tmp) - { - free(key); - fprintf(console,"gpgkeys: out of memory\n"); - ret=KEYSERVER_NO_MEMORY; - goto fail; - } - - key=tmp; + fprintf(console,"gpgkeys: unable to reallocate for key\n"); + ret=KEYSERVER_NO_MEMORY; + goto fail; } + else + key=tempkey; - strcpy(&key[keylen],line); - keylen+=strlen(line); + strcat(key,line); } if(!end) @@ -162,7 +166,7 @@ goto fail; } - encoded_key=curl_escape(key,keylen); + encoded_key=curl_escape(key,keysize); if(!encoded_key) { fprintf(console,"gpgkeys: out of memory\n"); From cvs at cvs.gnupg.org Tue Jan 16 06:20:06 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Tue, 16 Jan 2007 06:20:06 +0100 Subject: [svn] GnuPG - r4403 - branches/STABLE-BRANCH-1-4/mpi Message-ID: Author: dshaw Date: 2007-01-16 06:20:06 +0100 (Tue, 16 Jan 2007) New Revision: 4403 Modified: branches/STABLE-BRANCH-1-4/mpi/ChangeLog branches/STABLE-BRANCH-1-4/mpi/config.links Log: * config.links: powerpc64* needs to come before powerpc* or it will never match. Reported by Alon Bar-Lev for libgcrypt, but relevant here as well. Modified: branches/STABLE-BRANCH-1-4/mpi/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/mpi/ChangeLog 2007-01-16 04:31:49 UTC (rev 4402) +++ branches/STABLE-BRANCH-1-4/mpi/ChangeLog 2007-01-16 05:20:06 UTC (rev 4403) @@ -1,3 +1,9 @@ +2007-01-15 David Shaw + + * config.links: powerpc64* needs to come before powerpc* or it + will never match. Reported by Alon Bar-Lev for libgcrypt, but + relevant here as well. + 2006-12-11 Werner Koch * mpi-internal.h: Include mpi-asm-defs.h. Modified: branches/STABLE-BRANCH-1-4/mpi/config.links =================================================================== --- branches/STABLE-BRANCH-1-4/mpi/config.links 2007-01-16 04:31:49 UTC (rev 4402) +++ branches/STABLE-BRANCH-1-4/mpi/config.links 2007-01-16 05:20:06 UTC (rev 4403) @@ -254,16 +254,16 @@ mpi_sflags="-Wa,-mppc" path="power powerpc32" ;; + ppc620-*-* | \ + powerpc64*-*-*) + mpi_sflags="-Wa,-mppc" + path="powerpc64" + ;; ppc60[234]*-*-* | \ powerpc*-*-*) mpi_sflags="-Wa,-mppc" path="powerpc32" ;; - ppc620-*-* | \ - powerpc64*-*-*) - mpi_sflags="-Wa,-mppc" - path="powerpc64" - ;; *) echo '/* No assembler modules configured */' >>./mpi/asm-syntax.h From cvs at cvs.gnupg.org Tue Jan 16 07:10:32 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Tue, 16 Jan 2007 07:10:32 +0100 Subject: [svn] GnuPG - r4404 - branches/STABLE-BRANCH-1-4/m4 Message-ID: Author: dshaw Date: 2007-01-16 07:10:31 +0100 (Tue, 16 Jan 2007) New Revision: 4404 Modified: branches/STABLE-BRANCH-1-4/m4/ChangeLog branches/STABLE-BRANCH-1-4/m4/libcurl.m4 Log: * libcurl.m4: Check for curl_easy_escape() and curl_easy_unescape(). Replace with curl_escape() and curl_unescape() if libcurl doesn't have it. Modified: branches/STABLE-BRANCH-1-4/m4/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/m4/ChangeLog 2007-01-16 05:20:06 UTC (rev 4403) +++ branches/STABLE-BRANCH-1-4/m4/ChangeLog 2007-01-16 06:10:31 UTC (rev 4404) @@ -1,3 +1,9 @@ +2007-01-16 David Shaw + + * libcurl.m4: Check for curl_easy_escape() and + curl_easy_unescape(). Replace with curl_escape() and + curl_unescape() if libcurl doesn't have it. + 2006-10-02 Werner Koch * autobuild.m4: New. Modified: branches/STABLE-BRANCH-1-4/m4/libcurl.m4 =================================================================== --- branches/STABLE-BRANCH-1-4/m4/libcurl.m4 2007-01-16 05:20:06 UTC (rev 4403) +++ branches/STABLE-BRANCH-1-4/m4/libcurl.m4 2007-01-16 06:10:31 UTC (rev 4404) @@ -1,7 +1,7 @@ # LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION], # [ACTION-IF-YES], [ACTION-IF-NO]) # ---------------------------------------------------------- -# David Shaw May-09-2006 +# David Shaw Jan-16-2007 # # Checks for libcurl. DEFAULT-ACTION is the string yes or no to # specify whether to default to --with-libcurl or --without-libcurl. @@ -162,18 +162,40 @@ if test $libcurl_cv_lib_curl_usable = yes ; then - # Does curl_free() exist in this version of libcurl? - # If not, fake it with free() - _libcurl_save_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS" _libcurl_save_libs=$LIBS LIBS="$LIBS $LIBCURL" - AC_CHECK_FUNC(curl_free,, - AC_DEFINE(curl_free,free, - [Define curl_free() as free() if our version of curl lacks curl_free.])) + # Check for some libcurl functions that aren't in all + # versions. + AC_CHECK_FUNCS([curl_free curl_easy_escape curl_easy_unescape]) + + AH_BOTTOM([ +#ifdef HAVE_LIBCURL + +/* Define curl_free() via free() if our version of curl lacks + curl_free() */ +#if !defined(curl_free) && !defined(HAVE_CURL_FREE) +#define curl_free(a) free((a)) +#endif + +/* Define curl_easy_escape() via curl_escape() if our version of curl + lacks curl_easy_escape() */ +#if !defined(curl_easy_escape) && !defined(HAVE_CURL_EASY_ESCAPE) +#define curl_easy_escape(a,b,c) curl_escape((b),(c)) +#endif + +/* Define curl_easy_unescape() via curl_unescape() if our version of + curl lacks curl_easy_unescape() */ +#if !defined(curl_easy_unescape) && !defined(HAVE_CURL_EASY_UNESCAPE) +#define curl_easy_unescape(a,b,c) curl_unescape((b),(c)) +#endif + +#endif /* HAVE_LIBCURL */ +]) + CPPFLAGS=$_libcurl_save_cppflags LIBS=$_libcurl_save_libs unset _libcurl_save_cppflags From cvs at cvs.gnupg.org Tue Jan 16 19:12:44 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Tue, 16 Jan 2007 19:12:44 +0100 Subject: [svn] GnuPG - r4405 - branches/STABLE-BRANCH-1-4/keyserver Message-ID: Author: dshaw Date: 2007-01-16 19:12:43 +0100 (Tue, 16 Jan 2007) New Revision: 4405 Modified: branches/STABLE-BRANCH-1-4/keyserver/ChangeLog branches/STABLE-BRANCH-1-4/keyserver/curl-shim.c branches/STABLE-BRANCH-1-4/keyserver/curl-shim.h branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c Log: * curl-shim.h, curl-shim.c, gpgkeys_hkp.c: Rename curl_escape() to curl_easy_escape() to match cURL. Modified: branches/STABLE-BRANCH-1-4/keyserver/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/ChangeLog 2007-01-16 06:10:31 UTC (rev 4404) +++ branches/STABLE-BRANCH-1-4/keyserver/ChangeLog 2007-01-16 18:12:43 UTC (rev 4405) @@ -1,3 +1,8 @@ +2007-01-16 David Shaw + + * curl-shim.h, curl-shim.c, gpgkeys_hkp.c: Rename curl_escape() to + curl_easy_escape() to match cURL. + 2007-01-15 David Shaw * gpgkeys_hkp.c (send_key): Allow GPG to send any armored key line Modified: branches/STABLE-BRANCH-1-4/keyserver/curl-shim.c =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/curl-shim.c 2007-01-16 06:10:31 UTC (rev 4404) +++ branches/STABLE-BRANCH-1-4/keyserver/curl-shim.c 2007-01-16 18:12:43 UTC (rev 4405) @@ -1,7 +1,7 @@ /* curl-shim.c - Implement a small subset of the curl API in terms of * the iobuf HTTP API * - * Copyright (C) 2005, 2006 Free Software Foundation, Inc. + * Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -265,7 +265,7 @@ "0123456789" char * -curl_escape(char *str,int length) +curl_easy_escape(CURL *curl,char *str,int length) { int len,max,idx,enc_idx=0; char *enc; Modified: branches/STABLE-BRANCH-1-4/keyserver/curl-shim.h =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/curl-shim.h 2007-01-16 06:10:31 UTC (rev 4404) +++ branches/STABLE-BRANCH-1-4/keyserver/curl-shim.h 2007-01-16 18:12:43 UTC (rev 4405) @@ -1,5 +1,5 @@ /* curl-shim.h - * Copyright (C) 2005, 2006 Free Software Foundation, Inc. + * Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. * * This file is part of GNUPG. * @@ -85,7 +85,7 @@ CURLcode curl_easy_setopt(CURL *curl,CURLoption option,...); CURLcode curl_easy_perform(CURL *curl); void curl_easy_cleanup(CURL *curl); -char *curl_escape(char *str,int len); +char *curl_easy_escape(CURL *curl,char *str,int len); void curl_free(char *ptr); #define curl_version() "GnuPG curl-shim "VERSION Modified: branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c =================================================================== --- branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c 2007-01-16 06:10:31 UTC (rev 4404) +++ branches/STABLE-BRANCH-1-4/keyserver/gpgkeys_hkp.c 2007-01-16 18:12:43 UTC (rev 4405) @@ -166,7 +166,7 @@ goto fail; } - encoded_key=curl_escape(key,keysize); + encoded_key=curl_easy_escape(curl,key,keysize); if(!encoded_key) { fprintf(console,"gpgkeys: out of memory\n"); @@ -317,7 +317,7 @@ memset(&ctx,0,sizeof(ctx)); - searchkey_encoded=curl_escape((char *)getkey,0); + searchkey_encoded=curl_easy_escape(curl,(char *)getkey,0); if(!searchkey_encoded) { fprintf(console,"gpgkeys: out of memory\n"); @@ -403,7 +403,7 @@ fprintf(console,"gpgkeys: search type is %d, and key is \"%s\"\n", search_type,searchkey); - searchkey_encoded=curl_escape((char *)searchkey,0); + searchkey_encoded=curl_easy_escape(curl,(char *)searchkey,0); if(!searchkey_encoded) { fprintf(console,"gpgkeys: out of memory\n"); From cvs at cvs.gnupg.org Wed Jan 17 20:35:12 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Wed, 17 Jan 2007 20:35:12 +0100 Subject: [svn] gpgme - r1203 - trunk/gpgme Message-ID: Author: marcus Date: 2007-01-17 20:35:06 +0100 (Wed, 17 Jan 2007) New Revision: 1203 Modified: trunk/gpgme/ChangeLog trunk/gpgme/w32-glib-io.c trunk/gpgme/w32-io.c Log: 2007-01-17 Marcus Brinkmann * w32-io.c (build_commandline): Quote all command line arguments. * w32-glib-io.c (build_commandline): Likewise. Modified: trunk/gpgme/ChangeLog =================================================================== --- trunk/gpgme/ChangeLog 2007-01-10 10:18:05 UTC (rev 1202) +++ trunk/gpgme/ChangeLog 2007-01-17 19:35:06 UTC (rev 1203) @@ -1,3 +1,8 @@ +2007-01-17 Marcus Brinkmann + + * w32-io.c (build_commandline): Quote all command line arguments. + * w32-glib-io.c (build_commandline): Likewise. + 2007-01-10 Werner Koch * ttyname_r.c (ttyname_r) [W32]: Return a dummy name. Modified: trunk/gpgme/w32-glib-io.c =================================================================== --- trunk/gpgme/w32-glib-io.c 2007-01-10 10:18:05 UTC (rev 1202) +++ trunk/gpgme/w32-glib-io.c 2007-01-17 19:35:06 UTC (rev 1203) @@ -347,37 +347,57 @@ static char * -build_commandline ( char **argv ) +build_commandline (char **argv) { - int i, n = 0; - char *buf, *p; + int i; + int j; + int n = 0; + char *buf; + char *p; - /* FIXME: we have to quote some things because under Windows the - * program parses the commandline and does some unquoting. For now - * we only do very basic quoting to the first argument because this - * one often contains a space (e.g. C:\\Program Files\GNU\GnuPG\gpg.exe) - * and we would produce an invalid line in that case. */ - for (i=0; argv[i]; i++) - n += strlen (argv[i]) + 2 + 1; /* 2 extra bytes for possible quoting */ + /* We have to quote some things because under Windows the program + parses the commandline and does some unquoting. We enclose the + whole argument in double-quotes, and escape literal double-quotes + as well as backslashes with a backslash. We end up with a + trailing space at the end of the line, but that is harmless. */ + for (i = 0; argv[i]; i++) + { + p = argv[i]; + /* The leading double-quote. */ + n++; + while (*p) + { + /* An extra one for each literal that must be escaped. */ + if (*p == '\\' || *p == '"') + n++; + n++; + p++; + } + /* The trailing double-quote and the delimiter. */ + n += 2; + } + /* And a trailing zero. */ + n++; + buf = p = malloc (n); - if ( !buf ) + if (!buf) return NULL; - *buf = 0; - if ( argv[0] ) + for (i = 0; argv[i]; i++) { - if (strpbrk (argv[0], " \t")) - p = stpcpy (stpcpy (stpcpy (p, "\""), argv[0]), "\""); - else - p = stpcpy (p, argv[0]); - for (i = 1; argv[i]; i++) - { - if (!*argv[i]) - p = stpcpy (p, " \"\""); - else - p = stpcpy (stpcpy (p, " "), argv[i]); - } + char *argvp = argv[i]; + + *(p++) = '"'; + while (*argvp) + { + if (*p == '\\' || *p == '"') + *(p++) = '\\'; + *(p++) = *(argvp++); + } + *(p++) = '"'; + *(p++) = ' '; } - + *(p++) = 0; + return buf; } Modified: trunk/gpgme/w32-io.c =================================================================== --- trunk/gpgme/w32-io.c 2007-01-10 10:18:05 UTC (rev 1202) +++ trunk/gpgme/w32-io.c 2007-01-17 19:35:06 UTC (rev 1203) @@ -799,37 +799,57 @@ static char * -build_commandline ( char **argv ) +build_commandline (char **argv) { - int i, n = 0; - char *buf, *p; + int i; + int j; + int n = 0; + char *buf; + char *p; - /* FIXME: we have to quote some things because under Windows the - * program parses the commandline and does some unquoting. For now - * we only do very basic quoting to the first argument because this - * one often contains a space (e.g. C:\\Program Files\GNU\GnuPG\gpg.exe) - * and we would produce an invalid line in that case. */ - for (i=0; argv[i]; i++) - n += strlen (argv[i]) + 2 + 1; /* 2 extra bytes for possible quoting */ + /* We have to quote some things because under Windows the program + parses the commandline and does some unquoting. We enclose the + whole argument in double-quotes, and escape literal double-quotes + as well as backslashes with a backslash. We end up with a + trailing space at the end of the line, but that is harmless. */ + for (i = 0; argv[i]; i++) + { + p = argv[i]; + /* The leading double-quote. */ + n++; + while (*p) + { + /* An extra one for each literal that must be escaped. */ + if (*p == '\\' || *p == '"') + n++; + n++; + p++; + } + /* The trailing double-quote and the delimiter. */ + n += 2; + } + /* And a trailing zero. */ + n++; + buf = p = malloc (n); - if ( !buf ) + if (!buf) return NULL; - *buf = 0; - if ( argv[0] ) + for (i = 0; argv[i]; i++) { - if (strpbrk (argv[0], " \t")) - p = stpcpy (stpcpy (stpcpy (p, "\""), argv[0]), "\""); - else - p = stpcpy (p, argv[0]); - for (i = 1; argv[i]; i++) - { - if (!*argv[i]) - p = stpcpy (p, " \"\""); - else - p = stpcpy (stpcpy (p, " "), argv[i]); - } + char *argvp = argv[i]; + + *(p++) = '"'; + while (*argvp) + { + if (*p == '\\' || *p == '"') + *(p++) = '\\'; + *(p++) = *(argvp++); + } + *(p++) = '"'; + *(p++) = ' '; } - + *(p++) = 0; + return buf; } From cvs at cvs.gnupg.org Wed Jan 17 20:38:30 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Wed, 17 Jan 2007 20:38:30 +0100 Subject: [svn] gpgme - r1204 - trunk Message-ID: Author: marcus Date: 2007-01-17 20:38:29 +0100 (Wed, 17 Jan 2007) New Revision: 1204 Modified: trunk/NEWS Log: Add item about windows command line quoting bug fix. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2007-01-17 19:35:06 UTC (rev 1203) +++ trunk/NEWS 2007-01-17 19:38:29 UTC (rev 1204) @@ -3,6 +3,8 @@ * Fixed a memory leak in gpgme_data_release_and_get_mem. + * Fixed a bug in Windows command line quoting. + * Interface changes relative to the 1.1.1 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From cvs at cvs.gnupg.org Thu Jan 18 00:38:57 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Thu, 18 Jan 2007 00:38:57 +0100 Subject: [svn] GnuPG - r4406 - trunk/doc Message-ID: Author: dshaw Date: 2007-01-18 00:38:56 +0100 (Thu, 18 Jan 2007) New Revision: 4406 Modified: trunk/doc/ChangeLog trunk/doc/gpg.texi Log: * gpg.texi (GPG Configuration Options): Make http_proxy option documentation match reality. (BUGS): Warn about hibernate/safe-sleep/etc writing main RAM to disk, despite locking. Modified: trunk/doc/ChangeLog =================================================================== --- trunk/doc/ChangeLog 2007-01-16 18:12:43 UTC (rev 4405) +++ trunk/doc/ChangeLog 2007-01-17 23:38:56 UTC (rev 4406) @@ -1,3 +1,10 @@ +2007-01-17 David Shaw + + * gpg.texi (GPG Configuration Options): Make http_proxy option + documentation match reality. + (BUGS): Warn about hibernate/safe-sleep/etc writing main RAM to + disk, despite locking. + 2006-12-08 Werner Koch * gnupg.texi (direntry): Rename gpg to gpg2. Modified: trunk/doc/gpg.texi =================================================================== --- trunk/doc/gpg.texi 2007-01-16 18:12:43 UTC (rev 4405) +++ trunk/doc/gpg.texi 2007-01-17 23:38:56 UTC (rev 4406) @@ -1389,12 +1389,9 @@ timeout applies separately to each key retrieval, and not to the @option{--recv-keys} command as a whole. Defaults to 30 seconds. - at item http-proxy -For HTTP-like keyserver schemes that (such as HKP and HTTP itself), -try to access the keyserver over a proxy. If a @code{value} is -specified, use this as the HTTP proxy. If no @code{value} is -specified, the value of the environment variable "http_proxy", if any, -will be used. + at item http-proxy=@code{value} +Set the proxy to use for HTTP and HKP keyservers. This overrides the +"http_proxy" environment variable, if any. @item max-cert-size When retrieving a key via DNS CERT, only accept keys up to this size. @@ -2684,6 +2681,13 @@ locking without being root. The program drops root privileges as soon as locked memory is allocated. +Note also that some systems (especially laptops) have the ability to +``suspend to disk'' (also known as ``safe sleep'' or ``hibernate''). +This writes all memory to disk before going into a low power or even +powered off mode. Unless measures are taken in the operating system +to protect the saved memory, passphrases or other sensitive material +may be recoverable from it later. + @mansect see also @ifset isman @command{gpgv}(1), From cvs at cvs.gnupg.org Thu Jan 18 18:59:27 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Thu, 18 Jan 2007 18:59:27 +0100 Subject: [svn] gpgme - r1205 - trunk/gpgme Message-ID: Author: marcus Date: 2007-01-18 18:59:26 +0100 (Thu, 18 Jan 2007) New Revision: 1205 Modified: trunk/gpgme/ChangeLog trunk/gpgme/data-fd.c trunk/gpgme/data-mem.c trunk/gpgme/data-stream.c trunk/gpgme/data-user.c trunk/gpgme/data.c trunk/gpgme/data.h trunk/gpgme/engine-gpgsm.c trunk/gpgme/gpgme.h Log: 2007-01-18 Marcus Brinkmann * data.h (_gpgme_data_get_fd): Add prototype. (gpgme_data_get_fd_cb): New type. (struct _gpgme_data_cbs): New member get_fd. * data.c (_gpgme_data_get_fd): New function. * data-fd.c (fd_get_fd): New function. (fd_cbs): Add fd_get_fd. * data-stream.c (stream_get_fd): New function. (stream_cbs): Add stream_get_fd. * data-mem.c (mem_cbs): Add NULL for get_fd callback. * data-user.c (user_cbs): Likewise. * engine-gpgsm.c (gpgsm_set_fd) [USE_DESCRIPTOR_PASSING]: Try to short-cut by passing the data descriptor directly. Modified: trunk/gpgme/ChangeLog =================================================================== --- trunk/gpgme/ChangeLog 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/ChangeLog 2007-01-18 17:59:26 UTC (rev 1205) @@ -1,3 +1,18 @@ +2007-01-18 Marcus Brinkmann + + * data.h (_gpgme_data_get_fd): Add prototype. + (gpgme_data_get_fd_cb): New type. + (struct _gpgme_data_cbs): New member get_fd. + * data.c (_gpgme_data_get_fd): New function. + * data-fd.c (fd_get_fd): New function. + (fd_cbs): Add fd_get_fd. + * data-stream.c (stream_get_fd): New function. + (stream_cbs): Add stream_get_fd. + * data-mem.c (mem_cbs): Add NULL for get_fd callback. + * data-user.c (user_cbs): Likewise. + * engine-gpgsm.c (gpgsm_set_fd) [USE_DESCRIPTOR_PASSING]: Try to + short-cut by passing the data descriptor directly. + 2007-01-17 Marcus Brinkmann * w32-io.c (build_commandline): Quote all command line arguments. Modified: trunk/gpgme/data-fd.c =================================================================== --- trunk/gpgme/data-fd.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data-fd.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -49,12 +49,20 @@ } +static int +fd_get_fd (gpgme_data_t dh) +{ + return (dh->data.fd); +} + + static struct _gpgme_data_cbs fd_cbs = { fd_read, fd_write, fd_seek, - NULL + NULL, + fd_get_fd }; Modified: trunk/gpgme/data-mem.c =================================================================== --- trunk/gpgme/data-mem.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data-mem.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -157,7 +157,8 @@ mem_read, mem_write, mem_seek, - mem_release + mem_release, + NULL }; Modified: trunk/gpgme/data-stream.c =================================================================== --- trunk/gpgme/data-stream.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data-stream.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -71,12 +71,20 @@ } +static int +stream_get_fd (gpgme_data_t dh) +{ + return fileno (dh->data.stream); +} + + static struct _gpgme_data_cbs stream_cbs = { stream_read, stream_write, stream_seek, - NULL + NULL, + stream_get_fd }; Modified: trunk/gpgme/data-user.c =================================================================== --- trunk/gpgme/data-user.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data-user.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -71,7 +71,8 @@ user_read, user_write, user_seek, - user_release + user_release, + NULL }; Modified: trunk/gpgme/data.c =================================================================== --- trunk/gpgme/data.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -280,3 +280,14 @@ dh->pending_len -= nwritten; return 0; } + + +/* Get the file descriptor associated with DH, if possible. Otherwise + return -1. */ +int +_gpgme_data_get_fd (gpgme_data_t dh) +{ + if (!dh || !dh->cbs->get_fd) + return -1; + return (*dh->cbs->get_fd) (dh); +} Modified: trunk/gpgme/data.h =================================================================== --- trunk/gpgme/data.h 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/data.h 2007-01-18 17:59:26 UTC (rev 1205) @@ -52,12 +52,16 @@ /* Release the data object with the handle DH. */ typedef void (*gpgme_data_release_cb) (gpgme_data_t dh); +/* Get the FD associated with the handle DH, or -1. */ +typedef int (*gpgme_data_get_fd_cb) (gpgme_data_t dh); + struct _gpgme_data_cbs { gpgme_data_read_cb read; gpgme_data_write_cb write; gpgme_data_seek_cb seek; gpgme_data_release_cb release; + gpgme_data_get_fd_cb get_fd; }; struct gpgme_data @@ -121,4 +125,8 @@ void _gpgme_data_release (gpgme_data_t dh); +/* Get the file descriptor associated with DH, if possible. Otherwise + return -1. */ +int _gpgme_data_get_fd (gpgme_data_t dh); + #endif /* DATA_H */ Modified: trunk/gpgme/engine-gpgsm.c =================================================================== --- trunk/gpgme/engine-gpgsm.c 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/engine-gpgsm.c 2007-01-18 17:59:26 UTC (rev 1205) @@ -692,22 +692,26 @@ dir = iocb_data->dir; #if USE_DESCRIPTOR_PASSING - { - int fds[2]; + /* We try to short-cut the communication by giving GPGSM direct + access to the file descriptor, rather than using a pipe. */ + iocb_data->server_fd = _gpgme_data_get_fd (iocb_data->data); + if (iocb_data->server_fd < 0) + { + int fds[2]; - if (_gpgme_io_pipe (fds, 0) < 0) - return gpg_error_from_errno (errno); + if (_gpgme_io_pipe (fds, 0) < 0) + return gpg_error_from_errno (errno); - iocb_data->fd = dir ? fds[0] : fds[1]; - iocb_data->server_fd = dir ? fds[1] : fds[0]; + iocb_data->fd = dir ? fds[0] : fds[1]; + iocb_data->server_fd = dir ? fds[1] : fds[0]; - if (_gpgme_io_set_close_notify (iocb_data->fd, - close_notify_handler, gpgsm)) - { - err = gpg_error (GPG_ERR_GENERAL); - goto leave_set_fd; - } - } + if (_gpgme_io_set_close_notify (iocb_data->fd, + close_notify_handler, gpgsm)) + { + err = gpg_error (GPG_ERR_GENERAL); + goto leave_set_fd; + } + } #endif fd = iocb_data->server_fd; Modified: trunk/gpgme/gpgme.h =================================================================== --- trunk/gpgme/gpgme.h 2007-01-17 19:38:29 UTC (rev 1204) +++ trunk/gpgme/gpgme.h 2007-01-18 17:59:26 UTC (rev 1205) @@ -72,7 +72,7 @@ AM_PATH_GPGME macro) check that this header matches the installed library. Warning: Do not edit the next line. configure will do that for you! */ -#define GPGME_VERSION "1.1.3-cvs1200" +#define GPGME_VERSION "1.1.3-cvs1202" From cvs at cvs.gnupg.org Thu Jan 18 19:02:54 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Thu, 18 Jan 2007 19:02:54 +0100 Subject: [svn] gpgme - r1206 - trunk/gpgme Message-ID: Author: marcus Date: 2007-01-18 19:02:54 +0100 (Thu, 18 Jan 2007) New Revision: 1206 Modified: trunk/gpgme/data-stream.c Log: Fix last change. Modified: trunk/gpgme/data-stream.c =================================================================== --- trunk/gpgme/data-stream.c 2007-01-18 17:59:26 UTC (rev 1205) +++ trunk/gpgme/data-stream.c 2007-01-18 18:02:54 UTC (rev 1206) @@ -74,6 +74,7 @@ static int stream_get_fd (gpgme_data_t dh) { + fflush (dh->data.stream); return fileno (dh->data.stream); } From cvs at cvs.gnupg.org Thu Jan 18 19:52:24 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Thu, 18 Jan 2007 19:52:24 +0100 Subject: [svn] GnuPG - r4407 - trunk/doc Message-ID: Author: dshaw Date: 2007-01-18 19:52:24 +0100 (Thu, 18 Jan 2007) New Revision: 4407 Modified: trunk/doc/ChangeLog trunk/doc/gpg.texi trunk/doc/specify-user-id.texi Log: * gpg.texi, specify-user-id.texi: Only some of the mentions of exclamation marks have an example. Give examples to the rest. Modified: trunk/doc/ChangeLog =================================================================== --- trunk/doc/ChangeLog 2007-01-17 23:38:56 UTC (rev 4406) +++ trunk/doc/ChangeLog 2007-01-18 18:52:24 UTC (rev 4407) @@ -1,3 +1,8 @@ +2007-01-18 David Shaw + + * gpg.texi, specify-user-id.texi: Only some of the mentions of + exclamation marks have an example. Give examples to the rest. + 2007-01-17 David Shaw * gpg.texi (GPG Configuration Options): Make http_proxy option Modified: trunk/doc/gpg.texi =================================================================== --- trunk/doc/gpg.texi 2007-01-17 23:38:56 UTC (rev 4406) +++ trunk/doc/gpg.texi 2007-01-18 18:52:24 UTC (rev 4407) @@ -2090,8 +2090,8 @@ @item --sig-keyserver-url @code{string} Use @code{string} as a preferred keyserver URL for data signatures. If -you prefix it with an exclamation mark, the keyserver URL packet will -be flagged as critical. +you prefix it with an exclamation mark (!), the keyserver URL packet +will be flagged as critical. The same %-expandos used for notation data are available here as well. Modified: trunk/doc/specify-user-id.texi =================================================================== --- trunk/doc/specify-user-id.texi 2007-01-17 23:38:56 UTC (rev 4406) +++ trunk/doc/specify-user-id.texi 2007-01-18 18:52:24 UTC (rev 4407) @@ -12,8 +12,8 @@ of its SHA-1 fingerprint. The use of key Ids is just a shortcut, for all automated processing the fingerprint should be used. -When using @command{gpg} an exclamation mark may be appended to force -using the specified primary or secondary key and not to try and +When using @command{gpg} an exclamation mark (!) may be appended to +force using the specified primary or secondary key and not to try and calculate which primary or secondary key to use. The last four lines of the example give the key ID in their long form as @@ -42,8 +42,8 @@ is available with @command{gpgsm} (i.e. the SHA-1 hash of the certificate). -When using @command{gpg} an exclamation mark may be appended to force -using the specified primary or secondary key and not to try and +When using @command{gpg} an exclamation mark (!) may be appended to +force using the specified primary or secondary key and not to try and calculate which primary or secondary key to use. The best way to specify a key Id is by using the fingerprint. This From cvs at cvs.gnupg.org Wed Jan 24 19:25:11 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 24 Jan 2007 19:25:11 +0100 Subject: [svn] pinentry - r154 - in trunk: . doc gtk gtk+-2 pinentry Message-ID: Author: wk Date: 2007-01-24 19:25:10 +0100 (Wed, 24 Jan 2007) New Revision: 154 Modified: trunk/ChangeLog trunk/NEWS trunk/TODO trunk/doc/pinentry.texi trunk/gtk+-2/pinentry-gtk-2.c trunk/gtk/pinentry-gtk.c trunk/pinentry/pinentry-curses.c trunk/pinentry/pinentry.c trunk/pinentry/pinentry.h Log: * pinentry/pinentry.c (cmd_message): New. (cmd_confirm): New command option --one-button. (cmd_getpin): Zeroise ONE_BUTTON. * pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON. * gtk/pinentry-gtk.c (create_window): Take care of new option. * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. * pinentry/pinentry-curses.c (dialog_create): Ditto. (dialog_create, dialog_switch_pos): Allow CANCEL to be optional. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/ChangeLog 2007-01-24 18:25:10 UTC (rev 154) @@ -1,3 +1,14 @@ +2007-01-24 Werner Koch + + * pinentry/pinentry.c (cmd_message): New. + (cmd_confirm): New command option --one-button. + (cmd_getpin): Zeroise ONE_BUTTON. + * pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON. + * gtk/pinentry-gtk.c (create_window): Take care of new option. + * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. + * pinentry/pinentry-curses.c (dialog_create): Ditto. + (dialog_create, dialog_switch_pos): Allow CANCEL to be optional. + 2006-07-29 Marcus Brinkmann * secmem/secmem.c (init_pool): Close FD after establishing the Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/NEWS 2007-01-24 18:25:10 UTC (rev 154) @@ -1,7 +1,10 @@ Noteworthy changes in version 0.7.3 ------------------------------------------------ + * New command MESSAGE and --one-button compatibility option to + CONFIRM. + Noteworthy changes in version 0.7.2 (2005-01-27) ------------------------------------------------ Modified: trunk/TODO =================================================================== --- trunk/TODO 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/TODO 2007-01-24 18:25:10 UTC (rev 154) @@ -15,3 +15,5 @@ the gpg-agent is better able to cope with jammed pinentries. * The gtk+-2 pinentry needs auditing. + +* Implement the one_button feature in Qt. Modified: trunk/doc/pinentry.texi =================================================================== --- trunk/doc/pinentry.texi 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/doc/pinentry.texi 2007-01-24 18:25:10 UTC (rev 154) @@ -298,6 +298,21 @@ The value returned is either OK for YES or the error code @code{ASSUAN_Not_Confirmed}. + at item Show a message +To show a message, you can use this command: + at example + C: MESSAGE + S: OK + at end example +alternativly you may add an option to confirm: + at example + C: CONFIRM --one-button + S: OK + at end example +The client should use SETDESC to set an appropriate text before issuing +this command, and may use SETOK to set the text for the dismiss button. +The value returned is OK or an error message. + @item Set the output device When using X, the @pinentry{} program must be invoked with an appropriate @code{DISPLAY} environment variable or the Modified: trunk/gtk/pinentry-gtk.c =================================================================== --- trunk/gtk/pinentry-gtk.c 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/gtk/pinentry-gtk.c 2007-01-24 18:25:10 UTC (rev 154) @@ -345,13 +345,17 @@ gtk_widget_show (w); - w = gtk_button_new_with_label (pinentry->cancel ? pinentry->cancel : "Cancel"); - gtk_container_add (GTK_CONTAINER(bbox), w); - gtk_accel_group_add (acc, GDK_Escape, 0, 0, GTK_OBJECT(w), "clicked"); - gtk_signal_connect (GTK_OBJECT(w), "clicked", - confirm_mode? confirm_button_clicked: button_clicked, - NULL); - GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); + if (!pinentry->one_button) + { + w = gtk_button_new_with_label (pinentry->cancel + ? pinentry->cancel : "Cancel"); + gtk_container_add (GTK_CONTAINER(bbox), w); + gtk_accel_group_add (acc, GDK_Escape, 0, 0, GTK_OBJECT(w), "clicked"); + gtk_signal_connect (GTK_OBJECT(w), "clicked", + confirm_mode? confirm_button_clicked: button_clicked, + NULL); + GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); + } gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); Modified: trunk/gtk+-2/pinentry-gtk-2.c =================================================================== --- trunk/gtk+-2/pinentry-gtk-2.c 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/gtk+-2/pinentry-gtk-2.c 2007-01-24 18:25:10 UTC (rev 154) @@ -304,19 +304,22 @@ gtk_box_set_spacing (GTK_BOX (bbox), 6); gtk_box_pack_start (GTK_BOX (wvbox), bbox, TRUE, FALSE, 0); - if (pinentry->cancel) + if (!pinentry->one_button) { - msg = pinentry_utf8_validate (pinentry->cancel); - w = gtk_button_new_with_label (msg); - g_free (msg); + if (pinentry->cancel) + { + msg = pinentry_utf8_validate (pinentry->cancel); + w = gtk_button_new_with_label (msg); + g_free (msg); + } + else + w = gtk_button_new_from_stock (GTK_STOCK_CANCEL); + gtk_container_add (GTK_CONTAINER (bbox), w); + g_signal_connect (G_OBJECT (w), "clicked", + G_CALLBACK (confirm_mode ? confirm_button_clicked + : button_clicked), NULL); + GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); } - else - w = gtk_button_new_from_stock (GTK_STOCK_CANCEL); - gtk_container_add (GTK_CONTAINER (bbox), w); - g_signal_connect (G_OBJECT (w), "clicked", - G_CALLBACK (confirm_mode ? confirm_button_clicked - : button_clicked), NULL); - GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); if (pinentry->ok) { Modified: trunk/pinentry/pinentry-curses.c =================================================================== --- trunk/pinentry/pinentry-curses.c 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/pinentry/pinentry-curses.c 2007-01-24 18:25:10 UTC (rev 154) @@ -181,7 +181,10 @@ while (0) MAKE_BUTTON (ok, STRING_OK); - MAKE_BUTTON (cancel, STRING_CANCEL); + if (!pinentry->one_button) + MAKE_BUTTON (cancel, STRING_CANCEL); + else + dialog->cancel = NULL; getmaxyx (stdscr, size_y, size_x); @@ -272,8 +275,9 @@ width. Account for rounding. */ if (x < 2 * strlen (dialog->ok)) x = 2 * strlen (dialog->ok); - if (x < 2 * strlen (dialog->cancel)) - x = 2 * strlen (dialog->cancel); + if (dialog->cancel) + if (x < 2 * strlen (dialog->cancel)) + x = 2 * strlen (dialog->cancel); /* Add the frame. */ x += 4; @@ -399,11 +403,13 @@ dialog->ok_x = xpos + 2 + ((x - 4) / 2 - strlen (dialog->ok)) / 2; move (dialog->ok_y, dialog->ok_x); addstr (dialog->ok); - dialog->cancel_y = ypos; - /* Calculating the left edge of the right button, rounding up. */ - dialog->cancel_x = xpos + x - 2 - ((x - 4) / 2 + strlen (dialog->cancel)) / 2; - move (dialog->cancel_y, dialog->cancel_x); - addstr (dialog->cancel); + if ( dialog->cancel) + { + dialog->cancel_y = ypos; + /* Calculating the left edge of the right button, rounding up. */ + move (dialog->cancel_y, dialog->cancel_x); + addstr (dialog->cancel); + } out: if (description) @@ -446,8 +452,11 @@ addstr (diag->ok); break; case DIALOG_POS_CANCEL: - move (diag->cancel_y, diag->cancel_x); - addstr (diag->cancel); + if (diag->cancel) + { + move (diag->cancel_y, diag->cancel_x); + addstr (diag->cancel); + } break; default: break; @@ -468,12 +477,15 @@ move (diag->ok_y, diag->ok_x); break; case DIALOG_POS_CANCEL: - set_cursor_state (0); - move (diag->cancel_y, diag->cancel_x); - standout (); - addstr (diag->cancel); - standend (); - move (diag->cancel_y, diag->cancel_x); + if (diag->cancel) + { + set_cursor_state (0); + move (diag->cancel_y, diag->cancel_x); + standout (); + addstr (diag->cancel); + standend (); + move (diag->cancel_y, diag->cancel_x); + } break; case DIALOG_POS_NONE: set_cursor_state (0); Modified: trunk/pinentry/pinentry.c =================================================================== --- trunk/pinentry/pinentry.c 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/pinentry/pinentry.c 2007-01-24 18:25:10 UTC (rev 154) @@ -66,7 +66,8 @@ 1, /* Global grab. */ 0, /* Parent Window ID. */ 0, /* Result. */ - 0 /* Locale error flag. */ + 0, /* Locale error flag. */ + 0 /* One-button flag. */ }; @@ -576,6 +577,7 @@ set_prompt = 1; } pinentry.locale_err = 0; + pinentry.one_button = 0; result = (*pinentry_cmd_handler) (&pinentry); if (pinentry.error) @@ -613,11 +615,19 @@ } +/* Note that the option --one-button is hack to allow the use of old + pinentries while the caller is ignoring the result. Given that + options have never been used or flagged as an error the new option + is an easy way to enable the messsage mode while not requiring to + update pinentry or to have the caller test for the message + command. New applications which are free to require an updated + pinentry should use MESSAGE instead. */ static int cmd_confirm (ASSUAN_CONTEXT ctx, char *line) { int result; + pinentry.one_button = !!strstr (line, "--one-button"); pinentry.locale_err = 0; result = (*pinentry_cmd_handler) (&pinentry); if (pinentry.error) @@ -628,10 +638,32 @@ return result ? 0 : (pinentry.locale_err? ASSUAN_Locale_Problem - : ASSUAN_Not_Confirmed); + : (pinentry.one_button + ? 0 + : ASSUAN_Not_Confirmed)); } +static int +cmd_message (ASSUAN_CONTEXT ctx, char *line) +{ + int result; + + pinentry.one_button = 1; + pinentry.locale_err = 0; + result = (*pinentry_cmd_handler) (&pinentry); + if (pinentry.error) + { + free (pinentry.error); + pinentry.error = NULL; + } + + return result ? 0 + : (pinentry.locale_err? ASSUAN_Locale_Problem + : 0); +} + + /* Tell the assuan library about our commands. */ static int register_commands (ASSUAN_CONTEXT ctx) @@ -650,6 +682,7 @@ { "SETCANCEL", 0, cmd_setcancel }, { "GETPIN", 0, cmd_getpin }, { "CONFIRM", 0, cmd_confirm }, + { "MESSAGE", 0, cmd_message }, { NULL } }; int i, j, rc; Modified: trunk/pinentry/pinentry.h =================================================================== --- trunk/pinentry/pinentry.h 2006-07-29 00:10:45 UTC (rev 153) +++ trunk/pinentry/pinentry.h 2007-01-24 18:25:10 UTC (rev 154) @@ -75,6 +75,11 @@ conversion occured. */ int locale_err; + /* The caller should set this to true if only one button is + required. This is useful for notification dialogs where only a + dismiss button is required. */ + int one_button; + }; typedef struct pinentry *pinentry_t; From cvs at cvs.gnupg.org Thu Jan 25 10:15:11 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 25 Jan 2007 10:15:11 +0100 Subject: [svn] GnuPG - r4409 - in trunk: agent common po Message-ID: Author: wk Date: 2007-01-25 10:15:10 +0100 (Thu, 25 Jan 2007) New Revision: 4409 Modified: trunk/agent/ChangeLog trunk/agent/genkey.c trunk/common/simple-pwquery.c trunk/common/simple-pwquery.h trunk/po/de.po Log: agent/ * genkey.c (check_passphrase_constraints): Get ngettext call right. Modified: trunk/agent/ChangeLog =================================================================== --- trunk/agent/ChangeLog 2007-01-25 08:30:47 UTC (rev 4408) +++ trunk/agent/ChangeLog 2007-01-25 09:15:10 UTC (rev 4409) @@ -1,5 +1,7 @@ 2007-01-25 Werner Koch + * genkey.c (check_passphrase_constraints): Get ngettext call right. + * protect-tool.c (get_passphrase): New arg OPT_CHECK. (get_new_passphrase): Enable OTP_CHECK on the first call. * command.c (cmd_get_passphrase): Implement option --check. Modified: trunk/agent/genkey.c =================================================================== --- trunk/agent/genkey.c 2007-01-25 08:30:47 UTC (rev 4408) +++ trunk/agent/genkey.c 2007-01-25 09:15:10 UTC (rev 4409) @@ -87,12 +87,12 @@ if (strlen (pw) < minlen ) /* FIXME: should be an utf-8 length. */ { char *desc = xtryasprintf - ( ngettext (_("Warning: You have entered a passphrase that%%0A" - "is obviously not secure. A passphrase should%%0A" - "be at least %u character long."), - _("Warning: You have entered a passphrase that%%0A" - "is obviously not secure. A passphrase should%%0A" - "be at least %u characters long."), minlen), minlen ); + ( ngettext ("Warning: You have entered a passphrase that%%0A" + "is obviously not secure. A passphrase should%%0A" + "be at least %u character long.", + "Warning: You have entered a passphrase that%%0A" + "is obviously not secure. A passphrase should%%0A" + "be at least %u characters long.", minlen), minlen ); if (!desc) return gpg_error_from_syserror (); Modified: trunk/common/simple-pwquery.c =================================================================== --- trunk/common/simple-pwquery.c 2007-01-25 08:30:47 UTC (rev 4408) +++ trunk/common/simple-pwquery.c 2007-01-25 09:15:10 UTC (rev 4409) @@ -426,17 +426,19 @@ /* Ask the gpg-agent for a passphrase and present the user with a - DESCRIPTION, a PROMPT and optiaonlly with a TRYAGAIN extra text. + DESCRIPTION, a PROMPT and optionally with a TRYAGAIN extra text. If a CACHEID is not NULL it is used to locate the passphrase in in - the cache and store it under this ID. If ERRORCODE is not NULL it - should point a variable receiving an errorcode; thsi errocode might - be 0 if the user canceled the operation. The function returns NULL - to indicate an error. */ + the cache and store it under this ID. If OPT_CHECK is true + gpg-agent is asked to apply some checks on the passphrase security. + If ERRORCODE is not NULL it should point a variable receiving an + errorcode; this errocode might be 0 if the user canceled the + operation. The function returns NULL to indicate an error. */ char * simple_pwquery (const char *cacheid, const char *tryagain, const char *prompt, const char *description, + int opt_check, int *errorcode) { int fd = -1; @@ -463,7 +465,7 @@ char *line; /* We allocate 3 times the needed space so that there is enough space for escaping. */ - line = spwq_malloc (15 + line = spwq_malloc (15 + 10 + 3*strlen (cacheid) + 1 + 3*strlen (tryagain) + 1 + 3*strlen (prompt) + 1 @@ -476,6 +478,8 @@ } strcpy (line, "GET_PASSPHRASE "); p = line+15; + if (opt_check) + p = stpcpy (p, "--check "); p = copy_and_escape (p, cacheid); *p++ = ' '; p = copy_and_escape (p, tryagain); Modified: trunk/common/simple-pwquery.h =================================================================== --- trunk/common/simple-pwquery.h 2007-01-25 08:30:47 UTC (rev 4408) +++ trunk/common/simple-pwquery.h 2007-01-25 09:15:10 UTC (rev 4409) @@ -48,14 +48,16 @@ /* Ask the gpg-agent for a passphrase and present the user with a DESCRIPTION, a PROMPT and optiaonlly with a TRYAGAIN extra text. If a CACHEID is not NULL it is used to locate the passphrase in in - the cache and store it under this ID. If ERRORCODE is not NULL it - should point a variable receiving an errorcode; this errocode might - be 0 if the user canceled the operation. The function returns NULL - to indicate an error. */ + the cache and store it under this ID. If OPT_CHECK is true + gpg-agent is asked to apply some checks on the passphrase security. + If ERRORCODE is not NULL it should point a variable receiving an + errorcode; this errocode might be 0 if the user canceled the + operation. The function returns NULL to indicate an error. */ char *simple_pwquery (const char *cacheid, const char *tryagain, const char *prompt, const char *description, + int opt_check, int *errorcode); /* Ask the gpg-agent to clear the passphrase for the cache ID CACHEID. */ Modified: trunk/po/de.po =================================================================== --- trunk/po/de.po 2007-01-25 08:30:47 UTC (rev 4408) +++ trunk/po/de.po 2007-01-25 09:15:10 UTC (rev 4409) @@ -9,13 +9,14 @@ msgstr "" "Project-Id-Version: gnupg-1.9.90\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-24 19:08+0100\n" -"PO-Revision-Date: 2007-01-24 19:16+0100\n" +"POT-Creation-Date: 2007-01-25 09:30+0100\n" +"PO-Revision-Date: 2007-01-25 09:33+0100\n" "Last-Translator: Walter Koch \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" #: agent/call-pinentry.c:193 #, c-format @@ -166,14 +167,11 @@ msgid "" "Warning: You have entered a passphrase that%%0Ais obviously not secure. A " "passphrase should%%0Abe at least %u character long." -msgstr "WARNUNG: Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben. Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein." - -#: agent/genkey.c:93 -#, c-format -msgid "" +msgid_plural "" "Warning: You have entered a passphrase that%%0Ais obviously not secure. A " "passphrase should%%0Abe at least %u characters long." -msgstr "WARNUNG: Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben. Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein." +msgstr[0] "WARNUNG: Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben. Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein." +msgstr[1] "WARNUNG: Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben. Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein." #: agent/genkey.c:100 msgid "Take this one anyway" @@ -188,11 +186,11 @@ msgid "Please enter the passphrase to%0Ato protect your new key" msgstr "Bitte geben Sie die Passphrase ein%0Aum Ihren Schl?ssel zu sch?tzen" -#: agent/genkey.c:148 agent/genkey.c:266 agent/protect-tool.c:1215 +#: agent/genkey.c:148 agent/genkey.c:266 agent/protect-tool.c:1216 msgid "Please re-enter this passphrase" msgstr "Bitte geben Sie die Passphrase noch einmal ein:" -#: agent/genkey.c:175 agent/genkey.c:293 agent/protect-tool.c:1221 +#: agent/genkey.c:175 agent/genkey.c:293 agent/protect-tool.c:1222 #: tools/symcryptrun.c:487 msgid "does not match - try again" msgstr "Keine ?bereinstimmung - bitte nochmal versuchen" @@ -481,16 +479,16 @@ "Syntax: gpg-protect-tool [Optionen] [Argumente]\n" "Werkzeug zum Bearbeiten von geheimen Schl?sseln\n" -#: agent/protect-tool.c:1206 +#: agent/protect-tool.c:1207 msgid "Please enter the passphrase to unprotect the PKCS#12 object." msgstr "Bitte geben Sie die Passphrase zum Entsperren des PKCS#12 Objekts ein" -#: agent/protect-tool.c:1209 +#: agent/protect-tool.c:1210 msgid "Please enter the passphrase to protect the new PKCS#12 object." msgstr "" "Bitte geben Sie die Passphrase zum Sch?tzen des neuen PKCS#12 Objekts ein" -#: agent/protect-tool.c:1212 +#: agent/protect-tool.c:1213 msgid "" "Please enter the passphrase to protect the imported object within the GnuPG " "system." @@ -498,7 +496,7 @@ "Bitte geben Sie die Passphrase ein, um das importierte Objekt im GnuPG " "System zu sch?tzen." -#: agent/protect-tool.c:1217 +#: agent/protect-tool.c:1218 msgid "" "Please enter the passphrase or the PIN\n" "needed to complete this operation." @@ -506,16 +504,16 @@ "Die Eingabe der Passphrase bzw. der PIN\n" "wird ben?tigt um diese Aktion auszuf?hren." -#: agent/protect-tool.c:1222 tools/symcryptrun.c:488 +#: agent/protect-tool.c:1223 tools/symcryptrun.c:488 msgid "Passphrase:" msgstr "Passphrase:" -#: agent/protect-tool.c:1235 tools/symcryptrun.c:501 +#: agent/protect-tool.c:1236 tools/symcryptrun.c:501 #, c-format msgid "error while asking for the passphrase: %s\n" msgstr "Fehler bei der Abfrage der Passphrase: %s\n" -#: agent/protect-tool.c:1238 tools/symcryptrun.c:505 +#: agent/protect-tool.c:1239 tools/symcryptrun.c:505 msgid "cancelled\n" msgstr "Vom Benutzer abgebrochen\n" @@ -677,11 +675,11 @@ msgid "problem setting the gpg-agent options\n" msgstr "Beim setzen der gpg-agent Optionen ist ein problem aufgetreten\n" -#: common/simple-pwquery.c:527 common/simple-pwquery.c:615 +#: common/simple-pwquery.c:531 common/simple-pwquery.c:619 msgid "canceled by user\n" msgstr "Vom Benutzer abgebrochen\n" -#: common/simple-pwquery.c:534 common/simple-pwquery.c:621 +#: common/simple-pwquery.c:538 common/simple-pwquery.c:625 msgid "problem with the agent\n" msgstr "Problem mit dem Agenten\n" From cvs at cvs.gnupg.org Thu Jan 25 11:26:56 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 25 Jan 2007 11:26:56 +0100 Subject: [svn] GnuPG - r4410 - in trunk: . agent jnlib Message-ID: Author: wk Date: 2007-01-25 11:26:55 +0100 (Thu, 25 Jan 2007) New Revision: 4410 Modified: trunk/TODO trunk/agent/ChangeLog trunk/agent/genkey.c trunk/jnlib/ChangeLog trunk/jnlib/stringhelp.c trunk/jnlib/stringhelp.h Log: jnlib/ * stringhelp.c (utf8_charcount): New. agent/ * genkey.c (check_passphrase_constraints): Use UTF-8 aware strlen. Modified: trunk/TODO =================================================================== --- trunk/TODO 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/TODO 2007-01-25 10:26:55 UTC (rev 4410) @@ -120,6 +120,4 @@ There is at least one couple of duplicate files: inttype[_-]h.m4. * UTF-8 -** we need a function to count characters. - Something like utf8_strlen. This is needed to correclty count the - lengtgh of a passphrase. + UTF-8 specific TODO. Modified: trunk/agent/ChangeLog =================================================================== --- trunk/agent/ChangeLog 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/agent/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) @@ -1,9 +1,10 @@ 2007-01-25 Werner Koch - * genkey.c (check_passphrase_constraints): Get ngettext call right. + * genkey.c (check_passphrase_constraints): Get ngettext call right + and use UTF-8 aware strlen. * protect-tool.c (get_passphrase): New arg OPT_CHECK. - (get_new_passphrase): Enable OTP_CHECK on the first call. + (get_new_passphrase): Enable OPT_CHECK on the first call. * command.c (cmd_get_passphrase): Implement option --check. 2007-01-24 Werner Koch Modified: trunk/agent/genkey.c =================================================================== --- trunk/agent/genkey.c 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/agent/genkey.c 2007-01-25 10:26:55 UTC (rev 4410) @@ -84,7 +84,7 @@ if (!pw) pw = ""; - if (strlen (pw) < minlen ) /* FIXME: should be an utf-8 length. */ + if (utf8_charcount (pw) < minlen ) { char *desc = xtryasprintf ( ngettext ("Warning: You have entered a passphrase that%%0A" Modified: trunk/jnlib/ChangeLog =================================================================== --- trunk/jnlib/ChangeLog 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/jnlib/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) @@ -1,3 +1,7 @@ +2007-01-25 Werner Koch + + * stringhelp.c (utf8_charcount): New. + 2006-11-29 Werner Koch * utf8conv.c (set_native_charset) [HAVE_W32_SYSTEM]: Fixed typo in Modified: trunk/jnlib/stringhelp.c =================================================================== --- trunk/jnlib/stringhelp.c 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/jnlib/stringhelp.c 2007-01-25 10:26:55 UTC (rev 4410) @@ -547,6 +547,23 @@ } +/* Given a string containing an UTF-8 encoded text, return the number + of characters in this string. It differs from strlen in that it + only counts complete UTF-8 characters. Note, that this function + does not take combined characters into account. */ +size_t +utf8_charcount (const char *s) +{ + size_t n; + + for (n=0; *s; s++) + if ( (*s&0xc0) != 0x80 ) /* Exclude continuation bytes: 10xxxxxx */ + n++; + + return n; +} + + /**************************************************** ********** W32 specific functions **************** ****************************************************/ Modified: trunk/jnlib/stringhelp.h =================================================================== --- trunk/jnlib/stringhelp.h 2007-01-25 09:15:10 UTC (rev 4409) +++ trunk/jnlib/stringhelp.h 2007-01-25 10:26:55 UTC (rev 4410) @@ -57,6 +57,9 @@ char *sanitize_buffer (const void *p, size_t n, int delim); +size_t utf8_charcount (const char *s); + + #ifdef HAVE_W32_SYSTEM const char *w32_strerror (int ec); #endif From cvs at cvs.gnupg.org Fri Jan 26 13:08:13 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Fri, 26 Jan 2007 13:08:13 +0100 Subject: [svn] gpgme - r1207 - in trunk: . gpgme Message-ID: Author: wk Date: 2007-01-26 13:08:12 +0100 (Fri, 26 Jan 2007) New Revision: 1207 Modified: trunk/ChangeLog trunk/configure.ac trunk/gpgme/ChangeLog trunk/gpgme/gpgme-config.in trunk/gpgme/rungpg.c trunk/gpgme/w32-glib-io.c trunk/gpgme/w32-io.c Log: / * configure.ac: Changed gpg and gpgsm version checks to work with arbitrary names of the gpg binary. New option --disable-gpg-test and --disable-gpgsm-test. gpgme/ * w32-io.c (build_commandline): Fixed stupid quoting bug. * w32-glib-io.c (build_commandline): Ditto. * rungpg.c (gpg_set_locale): Avoid dangling pointer after free. * gpgme-config.in: New options --get-gpg and --get-gpgsm. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/ChangeLog 2007-01-26 12:08:12 UTC (rev 1207) @@ -1,8 +1,13 @@ +2007-01-26 Werner Koch + + * configure.ac: Changed gpg and gpgsm version checks to work with + arbitrary names of the gpg binary. New option --disable-gpg-test + and --disable-gpgsm-test. + 2007-01-09 Werner Koch - * configure.ac (NEED_GPG_VERSION, - (NEED_GPGSM_VERSION): Must define after it may have been changed - by an option. + * configure.ac (NEED_GPG_VERSION, NEED_GPGSM_VERSION): Must define + after it may have been changed by an option. 2007-01-08 Werner Koch Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/configure.ac 2007-01-26 12:08:12 UTC (rev 1207) @@ -324,21 +324,20 @@ fi fi if test "$ok" = "maybe"; then - AC_MSG_CHECKING(for GnuPG >= $NEED_GPG_VERSION) + AC_MSG_CHECKING(for GPG >= $NEED_GPG_VERSION) req_major=`echo $NEED_GPG_VERSION | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $NEED_GPG_VERSION | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` req_micro=`echo $NEED_GPG_VERSION | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - gpg_version=`$GPG --version | grep ^gpg` - major=`echo $gpg_version | \ - sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $gpg_version | \ - sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $gpg_version | \ - sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - GPG_VERSION=`echo $gpg_version | sed 's/^gpg (GnuPG) //'` + GPG_VERSION=`$GPG --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'` + major=`echo $GPG_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $GPG_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $GPG_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` if test "$major" -gt "$req_major"; then ok=yes @@ -359,10 +358,14 @@ AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) - AC_MSG_WARN([GnuPG must be at least version $NEED_GPG_VERSION]) + AC_MSG_WARN([GPG must be at least version $NEED_GPG_VERSION]) fi fi -AM_CONDITIONAL(RUN_GPG_TESTS, test "$ok" = "yes") +run_gpg_test="$ok" +AC_ARG_ENABLE(gpg-test, + AC_HELP_STRING([--disable-gpg-test], [disable GPG run test]), + run_gpg_test=$enableval) +AM_CONDITIONAL(RUN_GPG_TESTS, test "$run_gpg_test" = "yes") AC_SUBST(GPG_PATH) NO_OVERRIDE=no @@ -424,14 +427,13 @@ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` req_micro=`echo $NEED_GPGSM_VERSION | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - gpgsm_version=`$GPGSM --version | grep ^gpgsm` - major=`echo $gpgsm_version | \ - sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $gpgsm_version | \ - sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $gpgsm_version | \ - sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - GPGSM_VERSION=`echo $gpgsm_version | sed 's/^gpgsm (GnuPG) //'` + GPGSM_VERSION=`$GPGSM --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'` + major=`echo $GPGSM_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $GPGSM_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $GPGSM_VERSION | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` if test "$major" -gt "$req_major"; then ok=yes @@ -455,8 +457,13 @@ AC_MSG_WARN([GPGSM must be at least version $NEED_GPGSM_VERSION]) fi fi -AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$ok" = "yes") +run_gpgsm_test="$ok" +AC_ARG_ENABLE(gpgsm-test, + AC_HELP_STRING([--disable-gpgsm-test], [disable GPGSM run test]), + run_gpgsm_test=$enableval) +AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$run_gpgsm_test" = "yes") + # FIXME: Only build if supported. AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no") if test "$GPGSM" != "no"; then Modified: trunk/gpgme/ChangeLog =================================================================== --- trunk/gpgme/ChangeLog 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/gpgme/ChangeLog 2007-01-26 12:08:12 UTC (rev 1207) @@ -1,3 +1,12 @@ +2007-01-26 Werner Koch + + * w32-io.c (build_commandline): Fixed stupid quoting bug. + * w32-glib-io.c (build_commandline): Ditto. + + * rungpg.c (gpg_set_locale): Avoid dangling pointer after free. + + * gpgme-config.in: New options --get-gpg and --get-gpgsm. + 2007-01-18 Marcus Brinkmann * data.h (_gpgme_data_get_fd): Add prototype. Modified: trunk/gpgme/gpgme-config.in =================================================================== --- trunk/gpgme/gpgme-config.in 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/gpgme/gpgme-config.in 2007-01-26 12:08:12 UTC (rev 1207) @@ -51,6 +51,8 @@ [--api-version] [--libs] [--cflags] + [--get-gpg] + [--get-gpgsm] EOF exit $1 } @@ -144,6 +146,12 @@ usage 1 1>&2 fi ;; + --get-gpg) + output="$output @GPG@" + ;; + --get-gpgsm) + output="$output @GPGSM@" + ;; *) usage 1 1>&2 ;; Modified: trunk/gpgme/rungpg.c =================================================================== --- trunk/gpgme/rungpg.c 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/gpgme/rungpg.c 2007-01-26 12:08:12 UTC (rev 1207) @@ -517,7 +517,10 @@ if (category == LC_CTYPE) { if (gpg->lc_ctype) - free (gpg->lc_ctype); + { + free (gpg->lc_ctype); + gpg->lc_ctype = NULL; + } if (value) { gpg->lc_ctype = strdup (value); @@ -529,7 +532,10 @@ else if (category == LC_MESSAGES) { if (gpg->lc_messages) - free (gpg->lc_messages); + { + free (gpg->lc_messages); + gpg->lc_messages = NULL; + } if (value) { gpg->lc_messages = strdup (value); Modified: trunk/gpgme/w32-glib-io.c =================================================================== --- trunk/gpgme/w32-glib-io.c 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/gpgme/w32-glib-io.c 2007-01-26 12:08:12 UTC (rev 1207) @@ -389,7 +389,7 @@ *(p++) = '"'; while (*argvp) { - if (*p == '\\' || *p == '"') + if (*argvp == '\\' || *argvp == '"') *(p++) = '\\'; *(p++) = *(argvp++); } Modified: trunk/gpgme/w32-io.c =================================================================== --- trunk/gpgme/w32-io.c 2007-01-18 18:02:54 UTC (rev 1206) +++ trunk/gpgme/w32-io.c 2007-01-26 12:08:12 UTC (rev 1207) @@ -841,7 +841,7 @@ *(p++) = '"'; while (*argvp) { - if (*p == '\\' || *p == '"') + if (*argvp == '\\' || *argvp == '"') *(p++) = '\\'; *(p++) = *(argvp++); } From cvs at cvs.gnupg.org Mon Jan 29 21:54:00 2007 From: cvs at cvs.gnupg.org (svn author marcus) Date: Mon, 29 Jan 2007 21:54:00 +0100 Subject: [svn] gpgme - r1208 - in trunk: . m4 Message-ID: Author: marcus Date: 2007-01-29 21:53:59 +0100 (Mon, 29 Jan 2007) New Revision: 1208 Modified: trunk/ChangeLog trunk/NEWS trunk/configure.ac trunk/ltmain.sh trunk/m4/libtool.m4 Log: 2007-01-29 Marcus Brinkmann * Released 1.1.3. * configure.ac (LIBGPGME_LT_REVISION): Bump for release. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-01-26 12:08:12 UTC (rev 1207) +++ trunk/ChangeLog 2007-01-29 20:53:59 UTC (rev 1208) @@ -1,3 +1,9 @@ +2007-01-29 Marcus Brinkmann + + * Released 1.1.3. + + * configure.ac (LIBGPGME_LT_REVISION): Bump for release. + 2007-01-26 Werner Koch * configure.ac: Changed gpg and gpgsm version checks to work with Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2007-01-26 12:08:12 UTC (rev 1207) +++ trunk/NEWS 2007-01-29 20:53:59 UTC (rev 1208) @@ -1,15 +1,11 @@ -Noteworthy changes in version 1.1.3 (unreleased) +Noteworthy changes in version 1.1.3 (2007-01-29) ------------------------------------------------ * Fixed a memory leak in gpgme_data_release_and_get_mem. * Fixed a bug in Windows command line quoting. - * Interface changes relative to the 1.1.1 release: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Noteworthy changes in version 1.1.2 (2006-03-02) ------------------------------------------------ Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-01-26 12:08:12 UTC (rev 1207) +++ trunk/configure.ac 2007-01-29 20:53:59 UTC (rev 1208) @@ -1,6 +1,6 @@ # configure.ac for GPGME # Copyright (C) 2000 Werner Koch (dd9jn) -# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 g10 Code GmbH +# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 g10 Code GmbH # # This file is part of GPGME. # @@ -37,7 +37,7 @@ # the configure script, so that a proper revision number for all files # is available when running a "make distcheck". m4_define(my_version, [1.1.3]) -m4_define(my_iscvs, yes) +#m4_define(my_iscvs, yes) AC_INIT([gpgme], my_version[]m4_ifdef([my_iscvs], [-cvs[]m4_translit( [$Revision$],[Ra-z $:])]), [bug-gpgme at gnupg.org]) @@ -52,7 +52,7 @@ # Subtract 2 from this value if you want to make the LFS transition an # ABI break. [Note to self: Remove this comment with the next regular break.] LIBGPGME_LT_AGE=6 -LIBGPGME_LT_REVISION=1 +LIBGPGME_LT_REVISION=2 # If the API is changed in an incompatible way: increment the next counter. GPGME_CONFIG_API_VERSION=1 Modified: trunk/ltmain.sh =================================================================== --- trunk/ltmain.sh 2007-01-26 12:08:12 UTC (rev 1207) +++ trunk/ltmain.sh 2007-01-29 20:53:59 UTC (rev 1208) @@ -44,7 +44,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.5.4 -TIMESTAMP=" (1.1220.2.90 2004/04/03 14:10:19) Debian$Rev: 203 $" +TIMESTAMP=" (1.1220.2.90 2004/04/03 14:10:19) Debian$Rev$" # Check that we have a working $echo. Modified: trunk/m4/libtool.m4 =================================================================== --- trunk/m4/libtool.m4 2007-01-26 12:08:12 UTC (rev 1207) +++ trunk/m4/libtool.m4 2007-01-29 20:53:59 UTC (rev 1208) @@ -23,7 +23,7 @@ ## the same distribution terms that you use for the rest of that program. # serial 47 AC_PROG_LIBTOOL -# Debian $Rev: 203 $ +# Debian $Rev$ # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) From cvs at cvs.gnupg.org Tue Jan 30 21:11:16 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 30 Jan 2007 21:11:16 +0100 Subject: [svn] ksba - r267 - in trunk: . src Message-ID: Author: wk Date: 2007-01-30 21:11:15 +0100 (Tue, 30 Jan 2007) New Revision: 267 Modified: trunk/NEWS trunk/configure.ac trunk/src/ChangeLog trunk/src/cert.c trunk/src/keyinfo.c trunk/src/ocsp.c trunk/src/shared.h Log: Add support for SHA-2. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/NEWS 2007-01-30 20:11:15 UTC (rev 267) @@ -1,3 +1,11 @@ +Noteworthy changes in version 1.0.2 +------------------------------------------------ + + * Support for SHA-1. + + * Fixed a couple of memory leaks. + + Noteworthy changes in version 1.0.1 (2006-11-29) ------------------------------------------------ Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/configure.ac 2007-01-30 20:11:15 UTC (rev 267) @@ -26,8 +26,8 @@ # Remember to change the version number immediately *after* a release. # Set my_issvn to "yes" for non-released code. Remember to run an # "svn up" and "autogen.sh" right before creating a distribution. -m4_define([my_version], [1.0.1]) -m4_define([my_issvn], [no]) +m4_define([my_version], [1.0.2]) +m4_define([my_issvn], [yes]) m4_define([svn_revision], m4_esyscmd([echo -n $( (svn info 2>/dev/null \ || echo 'Revision: 0')|sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)])) Modified: trunk/src/ChangeLog =================================================================== --- trunk/src/ChangeLog 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/src/ChangeLog 2007-01-30 20:11:15 UTC (rev 267) @@ -1,3 +1,9 @@ +2007-01-30 Werner Koch + + * shared.h: Add constants for SHA-2. + * keyinfo.c (sig_algo_table): Add SHA-256, SHA384 and SHA-512 from + pkcs#1. + 2006-12-21 Marcus Brinkmann * cms.c (build_enveloped_data_header): Initialize CMS_TREE. Modified: trunk/src/cert.c =================================================================== --- trunk/src/cert.c 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/src/cert.c 2007-01-30 20:11:15 UTC (rev 267) @@ -349,7 +349,7 @@ { fprintf (stderr,"\nOops, ksba_cert_get_image failed: " "imagelen=%d hdr=%d len=%d off=%d\n", - cert->imagelen, n->nhdr, n->len, n->off); + cert->imagelen, n->nhdr, (int)n->len, n->off); return NULL; } /*assert (n->nhdr + n->len + n->off <= cert->imagelen);*/ Modified: trunk/src/keyinfo.c =================================================================== --- trunk/src/keyinfo.c 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/src/keyinfo.c 2007-01-30 20:11:15 UTC (rev 267) @@ -106,6 +106,21 @@ "\x2B\x0E\x03\x02\x1D", 5, 1, "rsa", "s", "\x82", GCRY_MD_SHA1 }, + { /* from PKCS#1 */ + "1.2.840.113549.1.1.11", /* sha256WithRSAEncryption */ + "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0b", 9, + 1, "rsa", "s", "\x82", GCRY_MD_SHA256 }, + + { /* from PKCS#1 */ + "1.2.840.113549.1.1.12", /* sha384WithRSAEncryption */ + "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0c", 9, + 1, "rsa", "s", "\x82", GCRY_MD_SHA384 }, + + { /* from PKCS#1 */ + "1.2.840.113549.1.1.13", /* sha512WithRSAEncryption */ + "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0d", 9, + 1, "rsa", "s", "\x82", GCRY_MD_SHA512 }, + {NULL} }; Modified: trunk/src/ocsp.c =================================================================== --- trunk/src/ocsp.c 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/src/ocsp.c 2007-01-30 20:11:15 UTC (rev 267) @@ -1200,8 +1200,8 @@ ; /* Cope with zero length objects. */ else if (*datalen && !**data) { /* Skip the NULL. */ - *datalen--; - *data++; + (*datalen)--; + (*data)++; } else return gpg_error (GPG_ERR_INV_OBJ); @@ -1261,8 +1261,8 @@ ; /* Cope with zero length objects. */ else if (!**data) { /* Skip the NULL. */ - *datalen--; - *data++; + (*datalen)--; + (*data)++; } else /* The comment indicates that an enumeration may come here. */ { Modified: trunk/src/shared.h =================================================================== --- trunk/src/shared.h 2006-12-21 01:20:22 UTC (rev 266) +++ trunk/src/shared.h 2007-01-30 20:11:15 UTC (rev 267) @@ -33,7 +33,11 @@ GCRY_MD_MD5 = 1, GCRY_MD_SHA1 = 2, GCRY_MD_RMD160 = 3, - GCRY_MD_TIGER = 6 + GCRY_MD_TIGER = 6, + GCRY_MD_SHA256 = 8, + GCRY_MD_SHA384 = 9, + GCRY_MD_SHA512 = 10, + GCRY_MD_SHA224 = 11 }; From cvs at cvs.gnupg.org Tue Jan 30 21:11:44 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 30 Jan 2007 21:11:44 +0100 Subject: [svn] gcry - r1196 - branches/LIBGCRYPT-1-2-BRANCH/cipher Message-ID: Author: wk Date: 2007-01-30 21:11:43 +0100 (Tue, 30 Jan 2007) New Revision: 1196 Modified: branches/LIBGCRYPT-1-2-BRANCH/cipher/ChangeLog branches/LIBGCRYPT-1-2-BRANCH/cipher/sha256.c branches/LIBGCRYPT-1-2-BRANCH/cipher/sha512.c Log: Added OIDs from pkcs#1 Modified: branches/LIBGCRYPT-1-2-BRANCH/cipher/ChangeLog =================================================================== --- branches/LIBGCRYPT-1-2-BRANCH/cipher/ChangeLog 2006-12-18 19:02:48 UTC (rev 1195) +++ branches/LIBGCRYPT-1-2-BRANCH/cipher/ChangeLog 2007-01-30 20:11:43 UTC (rev 1196) @@ -1,3 +1,9 @@ +2007-01-30 Werner Koch + + * sha256.c (oid_spec_sha256): Add alias from pkcs#1. + * sha512.c (oid_spec_sha512): Ditto. + (oid_spec_sha384): Ditto. + 2006-12-18 Werner Koch * rndlinux.c (set_cloexec_flag): New. Modified: branches/LIBGCRYPT-1-2-BRANCH/cipher/sha256.c =================================================================== --- branches/LIBGCRYPT-1-2-BRANCH/cipher/sha256.c 2006-12-18 19:02:48 UTC (rev 1195) +++ branches/LIBGCRYPT-1-2-BRANCH/cipher/sha256.c 2007-01-30 20:11:43 UTC (rev 1196) @@ -299,6 +299,8 @@ { /* According to the OpenPGG draft rfc2440-bis06 */ { "2.16.840.1.101.3.4.2.1" }, + /* PKCS#1 sha256WithRSAEncryption */ + { "1.2.840.113549.1.1.11" }, { NULL }, }; Modified: branches/LIBGCRYPT-1-2-BRANCH/cipher/sha512.c =================================================================== --- branches/LIBGCRYPT-1-2-BRANCH/cipher/sha512.c 2006-12-18 19:02:48 UTC (rev 1195) +++ branches/LIBGCRYPT-1-2-BRANCH/cipher/sha512.c 2007-01-30 20:11:43 UTC (rev 1196) @@ -371,6 +371,8 @@ static gcry_md_oid_spec_t oid_spec_sha512[] = { { "2.16.840.1.101.3.4.2.3" }, + /* PKCS#1 sha512WithRSAEncryption */ + { "1.2.840.113549.1.1.13" }, { NULL } }; @@ -390,6 +392,8 @@ static gcry_md_oid_spec_t oid_spec_sha384[] = { { "2.16.840.1.101.3.4.2.2" }, + /* PKCS#1 sha384WithRSAEncryption */ + { "1.2.840.113549.1.1.12" }, { NULL }, }; From cvs at cvs.gnupg.org Tue Jan 30 21:12:03 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 30 Jan 2007 21:12:03 +0100 Subject: [svn] gcry - r1197 - trunk/cipher Message-ID: Author: wk Date: 2007-01-30 21:12:02 +0100 (Tue, 30 Jan 2007) New Revision: 1197 Modified: trunk/cipher/ChangeLog trunk/cipher/sha256.c trunk/cipher/sha512.c Log: Added OIDs from pkcs#1 Modified: trunk/cipher/ChangeLog =================================================================== --- trunk/cipher/ChangeLog 2007-01-30 20:11:43 UTC (rev 1196) +++ trunk/cipher/ChangeLog 2007-01-30 20:12:02 UTC (rev 1197) @@ -1,3 +1,9 @@ +2007-01-30 Werner Koch + + * sha256.c (oid_spec_sha256): Add alias from pkcs#1. + * sha512.c (oid_spec_sha512): Ditto. + (oid_spec_sha384): Ditto. + 2006-12-18 Werner Koch * rndlinux.c (set_cloexec_flag): New. Modified: trunk/cipher/sha256.c =================================================================== --- trunk/cipher/sha256.c 2007-01-30 20:11:43 UTC (rev 1196) +++ trunk/cipher/sha256.c 2007-01-30 20:12:02 UTC (rev 1197) @@ -334,6 +334,9 @@ { /* According to the OpenPGG draft rfc2440-bis06 */ { "2.16.840.1.101.3.4.2.1" }, + /* PKCS#1 sha256WithRSAEncryption */ + { "1.2.840.113549.1.1.11" }, + { NULL }, }; Modified: trunk/cipher/sha512.c =================================================================== --- trunk/cipher/sha512.c 2007-01-30 20:11:43 UTC (rev 1196) +++ trunk/cipher/sha512.c 2007-01-30 20:12:02 UTC (rev 1197) @@ -371,6 +371,10 @@ static gcry_md_oid_spec_t oid_spec_sha512[] = { { "2.16.840.1.101.3.4.2.3" }, + + /* PKCS#1 sha512WithRSAEncryption */ + { "1.2.840.113549.1.1.13" }, + { NULL } }; @@ -390,6 +394,10 @@ static gcry_md_oid_spec_t oid_spec_sha384[] = { { "2.16.840.1.101.3.4.2.2" }, + + /* PKCS#1 sha384WithRSAEncryption */ + { "1.2.840.113549.1.1.12" }, + { NULL }, }; From cvs at cvs.gnupg.org Tue Jan 30 21:16:33 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 30 Jan 2007 21:16:33 +0100 Subject: [svn] GnuPG - r4411 - in trunk: . doc g10 kbx scd sm Message-ID: Author: wk Date: 2007-01-30 21:16:28 +0100 (Tue, 30 Jan 2007) New Revision: 4411 Modified: trunk/AUTHORS trunk/NEWS trunk/THANKS trunk/doc/ChangeLog trunk/doc/DETAILS trunk/doc/com-certs.pem trunk/doc/gpg.texi trunk/g10/ChangeLog trunk/g10/call-agent.c trunk/g10/gpg.c trunk/g10/main.h trunk/g10/misc.c trunk/g10/pkclist.c trunk/g10/sign.c trunk/g10/status.c trunk/g10/status.h trunk/g10/textfilter.c trunk/kbx/ChangeLog trunk/kbx/Makefile.am trunk/scd/ChangeLog trunk/scd/Makefile.am trunk/sm/ChangeLog trunk/sm/Makefile.am Log: Added LIBINTL to more Makefile targets. doc/ * com-certs.pem: Added the current root certifcates of D-Trust and S-Trust. g10/ * status.c (write_status_begin_signing): New. * sign.c (sign_file, sign_symencrypt_file): Call it. * textfilter.c (copy_clearsig_text): Call it. * call-agent.c (agent_scd_pksign): Pass --hash-rmd160 to SCD if required. * gpg.c (main): Let --no-use-agent and --gpg-agent-info print a warning. * misc.c (obsolete_option): New. Modified: trunk/AUTHORS =================================================================== --- trunk/AUTHORS 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/AUTHORS 2007-01-30 20:16:28 UTC (rev 4411) @@ -17,6 +17,8 @@ Per Tunedal Translations [sv] Daniel Nylander Translations [sv] +Daiki Ueno Assigns Past and Future Changes. + David Shaw Assigns past and future changes. (all in keyserver/, a lot of changes in g10/ see the ChangeLog, Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/NEWS 2007-01-30 20:16:28 UTC (rev 4411) @@ -13,6 +13,8 @@ * A warning is displayed if a new passphrase is too short. New option --min-passphrase-len defaults to 8. + * The status code BEGIN_SIGNING now show the used hash algorithm. + Noteworthy changes in version 2.0.1 (2006-11-28) ------------------------------------------------ Modified: trunk/THANKS =================================================================== --- trunk/THANKS 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/THANKS 2007-01-30 20:16:28 UTC (rev 4411) @@ -18,7 +18,8 @@ Ariel T Glenn ariel at columbia.edu ARIGA Seiji ariga at os.rim.or.jp Bernhard Herzog bh at intevation.de -Bernhard Reiter bernhard de intevation.de +Bernhard Reiter bernhard at intevation.de +Billy Halsey bshalsey at paxoo.com Bob Dunlop bob at xyzzy.org.uk Bob Mathews bobmathews at mindspring.com Bodo Moeller Bodo_Moeller at public.uni-hamburg.de Modified: trunk/doc/ChangeLog =================================================================== --- trunk/doc/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/doc/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) @@ -1,3 +1,8 @@ +2007-01-30 Werner Koch + + * com-certs.pem: Added the current root certifcates of D-Trust and + S-Trust. + 2007-01-18 David Shaw * gpg.texi, specify-user-id.texi: Only some of the mentions of Modified: trunk/doc/DETAILS =================================================================== --- trunk/doc/DETAILS 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/doc/DETAILS 2007-01-30 20:16:28 UTC (rev 4411) @@ -316,7 +316,7 @@ TRUST_ULTIMATE For good signatures one of these status lines are emitted to indicate how trustworthy the signature is. The error token - values are currently only emiited by gpgsm. + values are currently only emitted by gpgsm. PKA_TRUST_GOOD PKA_TRUST_BAD Modified: trunk/doc/com-certs.pem =================================================================== --- trunk/doc/com-certs.pem 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/doc/com-certs.pem 2007-01-30 20:16:28 UTC (rev 4411) @@ -197,3 +197,148 @@ Tl8DK+/aKp4SwVhRJZlWxenHzkjWynsUXBUv878gizllRpA7265REyHQki4NnxAi OGxEVGe/NbGeU88Pgnk7alhtdA/Ty8/WX9a3U/0G4pLaJppxGSm+ypQZ0XOY -----END CERTIFICATE----- + + + +Issuer ...: /CN=D-TRUST Qualified Root CA 1 2006:PN/O=D-Trust GmbH/C=DE +Serial ...: 00B95F +Subject ..: /CN=D-TRUST Qualified Root CA 1 2006:PN/O=D-Trust GmbH/C=DE + aka ..: info at d-trust.net + aka ..: (uri http://www.d-trust.net) + +-----BEGIN CERTIFICATE----- +MIIFCjCCA/KgAwIBAgIDALlfMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxLDAqBgNVBAMMI0QtVFJVU1QgUXVhbGlm +aWVkIFJvb3QgQ0EgMSAyMDA2OlBOMB4XDTA2MDQyNzEyNDA1NFoXDTExMDQyNzEy +NDA1NFowUjELMAkGA1UEBhMCREUxFTATBgNVBAoMDEQtVHJ1c3QgR21iSDEsMCoG +A1UEAwwjRC1UUlVTVCBRdWFsaWZpZWQgUm9vdCBDQSAxIDIwMDY6UE4wggEkMA0G +CSqGSIb3DQEBAQUAA4IBEQAwggEMAoIBAQCPACqp8H/KTbDBUM8BTiRzsfCJmN5G +Uxv8x3wsYLMtZ8meq04vEun2OneNeKZ2LxJy3UchUWitYP9pLPt9M8yt0pyuOXOQ +5r2RPAM46OlfStoPbZ+lCxpZbNcQGLM+/OcQU9GoCNWWkDSctwIN8T4mUf7vSzuT +jM4n5NHW7Y8bANhH7lh2fwkfIk7PxsxFw9amptlqzDqbBPz8/SdBUFt0G8t52Niw +lcYHWDV2YH4Qs1SAxOsyG0O8hpYKiKIwRHxPu5ZD3bMgDJXA3d+9zXlrLlmL0YFC +tvlPxmvqUhmMsL4vGEj/xWivULCTVOz6KcJ9edWwK9JxyO/KmGyDLwKxAgUApBVt +/aOCAeUwggHhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJr+c6YCNnohJ6M3 +fhSzwwTq2CkWMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29j +c3AuZC10cnVzdC5uZXQwFwYDVR0gBBAwDjAMBgorBgEEAaU0Ah4BMDMGA1UdEQQs +MCqBEGluZm9AZC10cnVzdC5uZXSGFmh0dHA6Ly93d3cuZC10cnVzdC5uZXQwGAYI +KwYBBQUHAQMEDDAKMAgGBgQAjkYBATAOBgNVHQ8BAf8EBAMCAQYwggEABgNVHR8E +gfgwgfUwgfKgge+ggeyGgaVsZGFwOi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NO +PUQtVFJVU1QlMjBRdWFsaWZpZWQlMjBSb290JTIwQ0ElMjAxJTIwMjAwNiUzQVBO +LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0 +P2Jhc2U/b2JqZWN0Q2xhc3M9Y3JsRGlzdHJpYnV0aW9uUG9pbnSGQmh0dHA6Ly93 +d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfcXVhbGlmaWVkX3Jvb3RfY2FfMV8y +MDA2X3BuLmNybDANBgkqhkiG9w0BAQUFAAOCAQEABsVNHg5zVMB+A4swJ8/vW+RV +mW8KZiJb5AVytFzBeZkkF2+DXFMtursZ0sICIcRCSsNyAQcqHqzcgnDWCHASlu4o +Em3TeBsmWo8r/uGpbFVAOhjq2VOFwjjIr3TC7zmMoLE+WGBRSuZh4/5wnxQ+NNbY +8HHE52UPI6VyV7RZeE0IZfbjkejw8WpvNtRfc6NxOCxf1LYibiCUaYs+EBDD+eod +lWwpmHwPSj4GCzR9wBdbWML/GQZ6iFVOuEmApm2B11KEn4hvKtRMEp1CdHIn8Jwx +51E89XcjJOIitO0lUozimqvlUb0lEynXe1/CUOhAsiAnLvq0GbnjFN6+9GRnqg== +-----END CERTIFICATE----- + +Issuer ...: /CN=D-TRUST Qualified Root CA 2 2006:PN/O=D-Trust GmbH/C=DE +Serial ...: 00B960 +Subject ..: /CN=D-TRUST Qualified Root CA 2 2006:PN/O=D-Trust GmbH/C=DE + aka ..: info at d-trust.net + aka ..: (uri http://www.d-trust.net) + +-----BEGIN CERTIFICATE----- +MIIFBjCCA+6gAwIBAgIDALlgMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxLDAqBgNVBAMMI0QtVFJVU1QgUXVhbGlm +aWVkIFJvb3QgQ0EgMiAyMDA2OlBOMB4XDTA2MDQyNzEyNDA1NFoXDTExMDQyNzEy +NDA1NFowUjELMAkGA1UEBhMCREUxFTATBgNVBAoMDEQtVHJ1c3QgR21iSDEsMCoG +A1UEAwwjRC1UUlVTVCBRdWFsaWZpZWQgUm9vdCBDQSAyIDIwMDY6UE4wggEkMA0G +CSqGSIb3DQEBAQUAA4IBEQAwggEMAoIBAQC9p9EZM645WSti4m3Lp/m5Cu2PCeAf +DYMsN2UQab5SAD94wc0xB68rhD0QiyXT1bhqnHKGhdsmmNwVbFLWyFWVc69+5pbx +jkEa1Z5oYbftpLZlqblas/iPG1C546c/O5JUHehrpyJziTaIqvDm0hMCarEGrd4i +hdwP7XsLNLeHFVdpVMWKUIJjUud18Wyr6MVRGs85YTme2gPki8JZMjeOteTA8dnY +unohiJM1rs8YQiYgIfQJV5oBd7OWZQLSuoh5tddYnP4KDFZUCCsC1OkBD+MnVlcv +IEfrDDuWdvFgOdS8FB5l4E3D0eYPpn536EDpWeGuCnn8joQPdiMwwGL7AgUAuaHl +M6OCAeEwggHdMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFILMyG0qJl9Aqmsa +DhPJE4d+Xp/JMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29j +c3AuZC10cnVzdC5uZXQwFwYDVR0gBBAwDjAMBgorBgEEAaU0Ah4BMDMGA1UdEQQs +MCqBEGluZm9AZC10cnVzdC5uZXSGFmh0dHA6Ly93d3cuZC10cnVzdC5uZXQwGAYI +KwYBBQUHAQMEDDAKMAgGBgQAjkYBATAOBgNVHQ8BAf8EBAMCAQYwgf0GA1UdHwSB +9TCB8jCB76CB7KCB6YaBpWxkYXA6Ly9kaXJlY3RvcnkuZC10cnVzdC5uZXQvQ049 +RC1UUlVTVCUyMFF1YWxpZmllZCUyMFJvb3QlMjBDQSUyMDIlMjAyMDA2JTNBUE4s +Tz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/ +YmFzZT9vYmplY3RDbGFzcz1jcmxEaXN0cmlidXRpb25Qb2ludIY/aHR0cDovL3d3 +dy5kLXRydXN0Lm5ldC9jcmwvZC10cnVzdF9xdWFsaWZpZWRfcm9vdF9jYV8yXzIw +MDYuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQB/TeSQASSUVjLVpTMB+S2bEYZWL04N +5UO5sIdV5MQFxmbmQNam4odnkOx/GjHy0uuf14Pz7lztlLh4EMvEZbvoQ8wRsrrl +vMjWBUSnhTMPhohj4gUCEJDBq50qi0057Jos9DF4iLaFgiWBER+FeSHD8uEy6WGG +UrQ9fw8wRa+CRUeZldtZ25VSR++wxBuX3bkF/hRBuSk9PzT6jZojZDWKsqhPGo0W +dK4V81hS4Zri3b3gSD/3iOAJ4EO8jdyeSVomw/u1UOapVFnWhpN7H6Nwekij66eO +4WNzbeTNgJtkdOlzW2AcsWe3mS43BE286z7l/DzDs8JK36va/TRHb29p +-----END CERTIFICATE----- + + +Issuer ...: /CN=S-TRUST Qualified Root CA 2006-001:PN + /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart + /ST=Baden-Wuerttemberg (BW)/C=DE +Serial ...: 00DF749F80AA51F0EDC0CB1FC183E97EE2 +Subject ..: /CN=S-TRUST Qualified Root CA 2006-001:PN + /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart + /ST=Baden-Wuerttemberg (BW)/C=DE + +-----BEGIN CERTIFICATE----- +MIIETDCCAzSgAwIBAgIRAN90n4CqUfDtwMsfwYPpfuIwDQYJKoZIhvcNAQEFBQAw +gZ4xCzAJBgNVBAYTAkRFMSAwHgYDVQQIExdCYWRlbi1XdWVydHRlbWJlcmcgKEJX +KTESMBAGA1UEBxMJU3R1dHRnYXJ0MSkwJwYDVQQKEyBEZXV0c2NoZXIgU3Bhcmth +c3NlbiBWZXJsYWcgR21iSDEuMCwGA1UEAxMlUy1UUlVTVCBRdWFsaWZpZWQgUm9v +dCBDQSAyMDA2LTAwMTpQTjAeFw0wNjAxMDEwMDAwMDBaFw0xMDEyMzAyMzU5NTla +MIGeMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFkZW4tV3VlcnR0ZW1iZXJnIChC +VykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNjaGVyIFNwYXJr +YXNzZW4gVmVybGFnIEdtYkgxLjAsBgNVBAMTJVMtVFJVU1QgUXVhbGlmaWVkIFJv +b3QgQ0EgMjAwNi0wMDE6UE4wggEkMA0GCSqGSIb3DQEBAQUAA4IBEQAwggEMAoIB +AQCCp5M7qIP3WgNNE9t4kxFLb2HdwE2pivcWfEjFh9AJcwZIaD781+OhuNxhMEil +C+B9N3bYgLMj7r/LbIFwRVmUf9E64kBDrY/wLAlXLpiicOiKE7rS1tcOAdD69s7I +5jaBXCz/eQo20QLsp11/btwYos9PlfptLqHjS8AUwUaMyolqmWqaxLD33ZfoQswP +FpyFFzAnRondt/5WUt244kpqgTlwP4o9J1AZamK5o/kKEXl8hDT6CulFoK51cX/J +C9lEA10mwchVfv+9cel9b2ryPXg3hPf1XFFR+l90/ZYlreaSKz5+LluI6a/ALtYl +hqJpvndXm6YZDzKKtxT3LZ1DAgUA8A8a46OBgDB+MBIGA1UdEwEB/wQIMAYBAf8C +AQEwDgYDVR0PAQH/BAQDAgEGMBgGCCsGAQUFBwEDBAwwCjAIBgYEAI5GAQEwHQYD +VR0OBBYEFKhXJN3CR/Jkirm68N+VHxcd09zBMB8GA1UdIwQYMBaAFKhXJN3CR/Jk +irm68N+VHxcd09zBMA0GCSqGSIb3DQEBBQUAA4IBAQBB8UGGU179RK9v5SglLn8m +AdBrwG5B4x0nlI3Ayj+GuP9R8ALcMEBwcFgSZTav7N8ERKa8VlCRNria7Fvf3kOu ++f67smpShBvEkrHy+ThvezBUtLfSSd1HzvaPnfwu86DMVnTIOkEcl0KLrpc/ZjEt +u81iHuiHBemf6gWdTCApiJ+CN4tARi3irvWcjhz/IIcA/ZwAaCW22Z1ysDklCIPS +9OnX9ki1f73PR+kdo4G7Dfo7TbuvV5Kzeh54sZ77A5utdvKer4ZHBmn9CGmk4VeI +BWdFlE7Fispzm+jZCduF0TcazvP/tYontx71GQnHRwLfiY4xnuzXEoSNXoaHzhzO +-----END CERTIFICATE----- + +Issuer ...: /CN=S-TRUST Qualified Root CA 2007-001:PN + /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart + /ST=Baden-Wuerttemberg (BW)/C=DE +Serial ...: 00BC098E0402E92956B8D7DE74977E26F7 +Subject ..: /CN=S-TRUST Qualified Root CA 2007-001:PN + /O=Deutscher Sparkassen Verlag GmbH/L=Stuttgart + /ST=Baden-Wuerttemberg (BW)/C=DE + +# Currently disabled because latest SVN versions of libgcrypt and +# libksba a required to use this certificate. +#-----BEGIN CERTIFICATE----- +#MIIESzCCAzOgAwIBAgIRALwJjgQC6SlWuNfedJd+JvcwDQYJKoZIhvcNAQELBQAw +#gZ4xCzAJBgNVBAYTAkRFMSAwHgYDVQQIExdCYWRlbi1XdWVydHRlbWJlcmcgKEJX +#KTESMBAGA1UEBxMJU3R1dHRnYXJ0MSkwJwYDVQQKEyBEZXV0c2NoZXIgU3Bhcmth +#c3NlbiBWZXJsYWcgR21iSDEuMCwGA1UEAxMlUy1UUlVTVCBRdWFsaWZpZWQgUm9v +#dCBDQSAyMDA3LTAwMTpQTjAeFw0wNzAxMDEwMDAwMDBaFw0xMTEyMzAyMzU5NTla +#MIGeMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFkZW4tV3VlcnR0ZW1iZXJnIChC +#VykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNjaGVyIFNwYXJr +#YXNzZW4gVmVybGFnIEdtYkgxLjAsBgNVBAMTJVMtVFJVU1QgUXVhbGlmaWVkIFJv +#b3QgQ0EgMjAwNy0wMDE6UE4wggEjMA0GCSqGSIb3DQEBAQUAA4IBEAAwggELAoIB +#AQCnJdNNiDQLKpPIfHTC3ifleXWTf96hLfvP58q41fuywQ+rXju453yjPgr/ej5i +#RgYPyJnSc498wyu/XtPLIC3gQvowfiI8WmSj/eEToHUhrLIAtx1VXSi/Rugt3E1Y +#uYGkPn/gnrkk+RtPJQuBl1NRxKEVi7rg1Ch5RJvWsUTOmxgeWlr8qZnPoLkA2y6N +#lhL6LP3Th+OQIH4RFFfazNYWpH4Cg6I5nzyieHaR6LrGk0L7GfDKdZG4Eqan3JvI +#ilrFHzzCm7qudd+31jcRamReqZqJ0wzBmY1LNAzDyCAC3Y+YWEz8crhDW3mK/wFY +#H0RHHeow06RMTEVwls+FrhWfAgRAAACBo4GAMH4wEgYDVR0TAQH/BAgwBgEB/wIB +#ATAOBgNVHQ8BAf8EBAMCAQYwGAYIKwYBBQUHAQMEDDAKMAgGBgQAjkYBATAdBgNV +#HQ4EFgQUPAujGBtjPCldr0A+EM4YCZSIX1cwHwYDVR0jBBgwFoAUPAujGBtjPCld +#r0A+EM4YCZSIX1cwDQYJKoZIhvcNAQELBQADggEBAJ1pVXXcVb9m0yRPjvE4Rvko +#tdjIm29YnY13ILCrPqjfgtpSlId6NHPhykGLkw3ratNlWQp3rmen/8EqQJa0rsPD +#CiB20ilLb1CmF8/SViJ26C+K0ayzk8s2v7S/m7/Tx9Dgd2PXWwy2XjeGG/2SkISH +#5CtSjbm8U+xTh5SQMgK1MX/bDiNJebDOO0N2lxAjtcGmw7K6OTWS7KnFfjzv6fKK +#L7Ed2Gpd2gBkbuJVe/wX2mDP2P4rpcCEkXrDoWbi9WWc+eP5fCgE4Nj7/VhnbPf6 +#DJCvmUG571uf1oukFaoeeyzpw2q28Ly1KR8DNPw+B/3PzJUIjXYzPGyUjv3aPew= +#-----END CERTIFICATE----- Modified: trunk/doc/gpg.texi =================================================================== --- trunk/doc/gpg.texi 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/doc/gpg.texi 2007-01-30 20:16:28 UTC (rev 4411) @@ -1455,9 +1455,15 @@ @end ifset @item --gpg-agent-info + at ifclear gpgone +This is dummy option. It has no effect when used with @command{gpg2}. + at end ifclear + at ifset gpgone Override the value of the environment variable @samp{GPG_AGENT_INFO}. This is only used when @option{--use-agent} has -been given +been given. Given that this option is not anymore used by + at command{gpg2}, it should be avoided if possible. + at end gpgone @item --lock-once Lock the databases the first time a lock is requested Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) @@ -1,3 +1,20 @@ +2007-01-30 Werner Koch + + * status.c (write_status_begin_signing): New. + * sign.c (sign_file, sign_symencrypt_file): Call it. + * textfilter.c (copy_clearsig_text): Call it. + + * call-agent.c (agent_scd_pksign): Pass --hash-rmd160 to SCD if + required. + + * gpg.c (main): Let --no-use-agent and --gpg-agent-info print a + warning. + * misc.c (obsolete_option): New. + +2007-01-29 Werner Koch + + * pkclist.c (do_we_trust_pre): Issue a user-id-hint status code. + 2007-01-15 Werner Koch * parse-packet.c (read_protected_v3_mpi): Make sure to stop Modified: trunk/g10/call-agent.c =================================================================== --- trunk/g10/call-agent.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/call-agent.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -668,7 +668,9 @@ snprintf (line, DIM(line)-1, "SCD PKAUTH %s", serialno); else #endif - snprintf (line, DIM(line)-1, "SCD PKSIGN %s", serialno); + snprintf (line, DIM(line)-1, "SCD PKSIGN %s%s", + hashalgo == GCRY_MD_RMD160? "--hash=rmd160 " : "", + serialno); line[DIM(line)-1] = 0; rc = assuan_transact (agent_ctx, line, membuf_data_cb, &data, NULL, NULL, NULL, NULL); Modified: trunk/g10/gpg.c =================================================================== --- trunk/g10/gpg.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/gpg.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -2134,10 +2134,20 @@ opt.list_options|=LIST_SHOW_UNUSABLE_SUBKEYS; break; - case oBatch: opt.batch = 1; nogreeting = 1; break; + case oBatch: + opt.batch = 1; + nogreeting = 1; + break; + case oUseAgent: /* Dummy. */ - case oNoUseAgent: /* Dummy. */ break; - case oGpgAgentInfo: opt.gpg_agent_info = pargs.r.ret_str; break; + break; + case oNoUseAgent: + obsolete_option (configname, configlineno, "--no-use-agent"); + break; + case oGpgAgentInfo: + obsolete_option (configname, configlineno, "--gpg-agent-info"); + break; + case oAnswerYes: opt.answer_yes = 1; break; case oAnswerNo: opt.answer_no = 1; break; case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break; Modified: trunk/g10/main.h =================================================================== --- trunk/g10/main.h 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/main.h 2007-01-30 20:16:28 UTC (rev 4411) @@ -105,6 +105,8 @@ void deprecated_warning(const char *configname,unsigned int configlineno, const char *option,const char *repl1,const char *repl2); void deprecated_command (const char *name); +void obsolete_option (const char *configname, unsigned int configlineno, + const char *name); int string_to_cipher_algo (const char *string); int string_to_digest_algo (const char *string); Modified: trunk/g10/misc.c =================================================================== --- trunk/g10/misc.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/misc.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -469,6 +469,10 @@ int openpgp_md_test_algo( int algo ) { + /* Note: If the list of actual supported OpenPGP algorithms changes, + make sure that our hard coded values at + print_status_begin_signing() gets updated. */ + if (algo < 0 || algo > 110) return gpg_error (GPG_ERR_DIGEST_ALGO); return gcry_md_test_algo (algo); @@ -737,6 +741,19 @@ } +void +obsolete_option (const char *configname, unsigned int configlineno, + const char *name) +{ + if(configname) + log_info (_("%s:%u: obsolete option \"%s\" - it has no effect\n"), + configname, configlineno, name); + else + log_info (_("WARNING: \"%s\" is an obsolete option - it has no effect\n"), + name); +} + + /* * Wrapper around gcry_cipher_map_name to provide a fallback using the * "Sn" syntax as used by the preference strings. Modified: trunk/g10/pkclist.c =================================================================== --- trunk/g10/pkclist.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/pkclist.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -464,6 +464,18 @@ tty_printf("\n"); + + if (is_status_enabled ()) + { + u32 kid[2]; + char *hint_str; + + keyid_from_pk (pk, kid); + hint_str = get_long_user_id_string ( kid ); + write_status_text ( STATUS_USERID_HINT, hint_str ); + xfree (hint_str); + } + if( cpr_get_answer_is_yes("untrusted_key.override", _("Use this key anyway? (y/N) ")) ) rc = 1; Modified: trunk/g10/sign.c =================================================================== --- trunk/g10/sign.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/sign.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -503,6 +503,7 @@ } + static void print_status_sig_created ( PKT_secret_key *sk, PKT_signature *sig, int what ) { @@ -983,7 +984,7 @@ goto leave; } - write_status (STATUS_BEGIN_SIGNING); + write_status_begin_signing (mfx.md); /* Setup the inner packet. */ if( detached ) { @@ -1361,7 +1362,7 @@ goto leave; } - write_status (STATUS_BEGIN_SIGNING); + write_status_begin_signing (mfx.md); /* Pipe data through all filters; i.e. write the signed stuff */ /*(current filters: zip - encrypt - armor)*/ Modified: trunk/g10/status.c =================================================================== --- trunk/g10/status.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/status.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -323,7 +323,40 @@ } +/* Print the BEGIN_SIGNING status message. If MD is not NULL it is + used retrieve the hash algorithms used for the message. */ +void +write_status_begin_signing (gcry_md_hd_t md) +{ + if (md) + { + char buf[100]; + size_t buflen; + int i; + + /* We use a hard coded list of possible algorithms. Using other + algorithms than specified by OpenPGP does not make sense + anyway. We do this out of performance reasons: Walking all + the 110 allowed Ids is not a good idea given the way the + check is implemented in libgcrypt. Recall that the only use + of this status code is to create the micalg algorithm for + PGP/MIME. */ + buflen = 0; + for (i=1; i <= 11; i++) + if (i < 4 || i > 7) + if ( gcry_md_is_enabled (md, i) && buflen < DIM(buf) ) + { + snprintf (buf+buflen, DIM(buf) - buflen - 1, + "%sH%d", buflen? " ":"",i); + buflen += strlen (buf+buflen); + } + write_status_text ( STATUS_BEGIN_SIGNING, buf ); + } + else + write_status ( STATUS_BEGIN_SIGNING ); +} + static int myread(int fd, void *buf, size_t count) { Modified: trunk/g10/status.h =================================================================== --- trunk/g10/status.h 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/status.h 2007-01-30 20:16:28 UTC (rev 4411) @@ -131,6 +131,9 @@ void write_status_text_and_buffer ( int no, const char *text, const char *buffer, size_t len, int wrap ); +void write_status_begin_signing (gcry_md_hd_t md); + + int cpr_enabled(void); char *cpr_get( const char *keyword, const char *prompt ); char *cpr_get_no_help( const char *keyword, const char *prompt ); Modified: trunk/g10/textfilter.c =================================================================== --- trunk/g10/textfilter.c 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/g10/textfilter.c 2007-01-30 20:16:28 UTC (rev 4411) @@ -178,7 +178,7 @@ if( !escape_dash ) escape_from = 0; - write_status (STATUS_BEGIN_SIGNING); + write_status_begin_signing (md); for(;;) { maxlen = MAX_LINELEN; Modified: trunk/kbx/ChangeLog =================================================================== --- trunk/kbx/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/kbx/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) @@ -1,3 +1,8 @@ +2007-01-25 Werner Koch + + * Makefile.am (kbxutil_LDADD): Added LIBICONV. Noted by Billy + Halsey. + 2006-11-15 Werner Koch * kbxutil.c (dump_openpgp_key): Cast printf argument. Modified: trunk/kbx/Makefile.am =================================================================== --- trunk/kbx/Makefile.am 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/kbx/Makefile.am 2007-01-30 20:16:28 UTC (rev 4411) @@ -48,6 +48,6 @@ kbxutil_SOURCES = kbxutil.c $(common_sources) kbxutil_LDADD = ../jnlib/libjnlib.a ../gl/libgnu.a \ $(KSBA_LIBS) $(LIBGCRYPT_LIBS) \ - -lgpg-error $(LIBINTL) ../common/libcommon.a + -lgpg-error $(LIBINTL) ../common/libcommon.a $(LIBICONV) $(PROGRAMS) : ../jnlib/libjnlib.a ../gl/libgnu.a ../common/libcommon.a Modified: trunk/scd/ChangeLog =================================================================== --- trunk/scd/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/scd/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) @@ -1,3 +1,8 @@ +2007-01-25 Werner Koch + + * Makefile.am (scdaemon_LDADD): Added LIBICONV. Noted by Billy + Halsey. + 2006-12-21 Werner Koch * app-openpgp.c (verify_chv2): Factored most code out into... Modified: trunk/scd/Makefile.am =================================================================== --- trunk/scd/Makefile.am 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/scd/Makefile.am 2007-01-30 20:16:28 UTC (rev 4411) @@ -46,7 +46,8 @@ scdaemon_LDADD = ../jnlib/libjnlib.a ../common/libcommonpth.a ../gl/libgnu.a \ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_PTH_LIBS) $(PTH_LIBS) \ - $(LIBUSB_LIBS) $(GPG_ERROR_LIBS) $(LIBINTL) $(DL_LIBS) $(NETLIBS) + $(LIBUSB_LIBS) $(GPG_ERROR_LIBS) \ + $(LIBINTL) $(DL_LIBS) $(NETLIBS) $(LIBICONV) # Removed for now: We need to decide whether it makes sense to # continue it at all, given that gpg has now all required Modified: trunk/sm/ChangeLog =================================================================== --- trunk/sm/ChangeLog 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/sm/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) @@ -1,3 +1,7 @@ +2007-01-25 Werner Koch + + * Makefile.am (gpgsm_LDADD): Add LIBICONV. Noted by Billy Halsey. + 2007-01-05 Werner Koch * certchain.c (unknown_criticals): Add subjectAltName. Modified: trunk/sm/Makefile.am =================================================================== --- trunk/sm/Makefile.am 2007-01-25 10:26:55 UTC (rev 4410) +++ trunk/sm/Makefile.am 2007-01-30 20:16:28 UTC (rev 4411) @@ -58,7 +58,7 @@ gpgsm_LDADD = $(common_libs) \ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) \ - $(GPG_ERROR_LIBS) $(LIBINTL) $(ZLIBS) + $(GPG_ERROR_LIBS) $(LIBINTL) $(ZLIBS) $(LIBICONV) # Make sure that all libs are build before we use them. This is # important for things like make -j2. From cvs at cvs.gnupg.org Tue Jan 30 22:19:47 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Tue, 30 Jan 2007 22:19:47 +0100 Subject: [svn] GnuPG - r4412 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: dshaw Date: 2007-01-30 22:19:45 +0100 (Tue, 30 Jan 2007) New Revision: 4412 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/keygen.c Log: * keygen.c (make_backsig, write_direct_sig, write_selfsigs) (write_keybinding): Have the various selfsigs created during key generation use the timestamp of their parent key. This helps avoid leaking information about the performance of the machine where the keys were generated. Noted by Christian Danner. Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-30 20:16:28 UTC (rev 4411) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-30 21:19:45 UTC (rev 4412) @@ -1,3 +1,11 @@ +2007-01-30 David Shaw + + * keygen.c (make_backsig, write_direct_sig, write_selfsigs) + (write_keybinding): Have the various selfsigs created during key + generation use the timestamp of their parent key. This helps + avoid leaking information about the performance of the machine + where the keys were generated. Noted by Christian Danner. + 2007-01-15 Werner Koch * parse-packet.c (read_protected_v3_mpi): Make sure to stop Modified: branches/STABLE-BRANCH-1-4/g10/keygen.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-30 20:16:28 UTC (rev 4411) +++ branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-30 21:19:45 UTC (rev 4412) @@ -1,6 +1,6 @@ /* keygen.c - generate a key pair - * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, - * 2006 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + * 2007 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -777,7 +777,8 @@ cache_public_key(sub_pk); - rc=make_keysig_packet(&backsig,pk,NULL,sub_pk,sub_sk,0x19,0,0,0,0,NULL,NULL); + rc=make_keysig_packet(&backsig,pk,NULL,sub_pk,sub_sk,0x19,0,0, + sub_pk->timestamp,0,NULL,NULL); if(rc) log_error("make_keysig_packet failed for backsig: %s\n",g10_errstr(rc)); else @@ -882,7 +883,7 @@ cache_public_key (pk); /* and make the signature */ - rc = make_keysig_packet(&sig,pk,NULL,NULL,sk,0x1F,0,0,0,0, + rc = make_keysig_packet(&sig,pk,NULL,NULL,sk,0x1F,0,0,pk->timestamp,0, keygen_add_revkey,revkey); if( rc ) { log_error("make_keysig_packet failed: %s\n", g10_errstr(rc) ); @@ -926,8 +927,8 @@ cache_public_key (pk); /* and make the signature */ - rc = make_keysig_packet( &sig, pk, uid, NULL, sk, 0x13, 0, 0, 0, 0, - keygen_add_std_prefs, pk ); + rc = make_keysig_packet( &sig, pk, uid, NULL, sk, 0x13, 0, 0, + pk->timestamp, 0, keygen_add_std_prefs, pk ); if( rc ) { log_error("make_keysig_packet failed: %s\n", g10_errstr(rc) ); return rc; @@ -981,7 +982,8 @@ /* and make the signature */ oduap.usage = use; oduap.pk = sub_pk; - rc=make_keysig_packet(&sig, pri_pk, NULL, sub_pk, pri_sk, 0x18, 0, 0, 0, 0, + rc=make_keysig_packet(&sig, pri_pk, NULL, sub_pk, pri_sk, 0x18, 0, 0, + sub_pk->timestamp, 0, keygen_add_key_flags_and_expire, &oduap ); if( rc ) { log_error("make_keysig_packet failed: %s\n", g10_errstr(rc) ); From cvs at cvs.gnupg.org Wed Jan 31 15:52:49 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 31 Jan 2007 15:52:49 +0100 Subject: [svn] GnuPG - r4414 - trunk/agent Message-ID: Author: wk Date: 2007-01-31 15:52:48 +0100 (Wed, 31 Jan 2007) New Revision: 4414 Modified: trunk/agent/ChangeLog trunk/agent/command-ssh.c Log: agent/ * command-ssh.c (stream_read_string): Initialize LENGTH to zero. (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if EOF has been reached before trying to process another request. Modified: trunk/agent/ChangeLog =================================================================== --- trunk/agent/ChangeLog 2007-01-31 14:24:41 UTC (rev 4413) +++ trunk/agent/ChangeLog 2007-01-31 14:52:48 UTC (rev 4414) @@ -1,5 +1,13 @@ +2007-01-31 Moritz Schulte (wk) + + * command-ssh.c (stream_read_string): Initialize LENGTH to zero. + (start_command_handler_ssh): Use es_fgetc/es_ungetc to check if + EOF has been reached before trying to process another request. + 2007-01-31 Werner Koch + * command-ssh.c (start_command_handler_ssh): + * Makefile.am (t_common_ldadd): Add LIBICONV. 2007-01-25 Werner Koch Modified: trunk/agent/command-ssh.c =================================================================== --- trunk/agent/command-ssh.c 2007-01-31 14:24:41 UTC (rev 4413) +++ trunk/agent/command-ssh.c 2007-01-31 14:52:48 UTC (rev 4414) @@ -421,11 +421,9 @@ unsigned char **string, u32 *string_size) { gpg_error_t err; - unsigned char *buffer; - u32 length; + unsigned char *buffer = NULL; + u32 length = 0; - buffer = NULL; - /* Read string length. */ err = stream_read_uint32 (stream, &length); if (err) @@ -796,7 +794,7 @@ struct tm *tp; time_t atime = time (NULL); - /* Not yet in the file - add it. Becuase the file has been + /* Not yet in the file - add it. Because the file has been opened in append mode, we simply need to write to it. */ tp = localtime (&atime); fprintf (fp, "# Key added on %04d-%02d-%02d %02d:%02d:%02d\n%s %d\n", @@ -2646,7 +2644,8 @@ break; if (i == DIM (request_specs)) { - log_info ("ssh request %u is not supported\n", type); + if (opt.verbose) + log_info ("ssh request %u is not supported\n", type); spec = NULL; } else @@ -2867,8 +2866,17 @@ /* Main processing loop. */ while ( !ssh_request_process (ctrl, stream_sock) ) - ; + { + /* Check wether we have reached EOF before trying to read + another request. */ + int c; + c = es_fgetc (stream_sock); + if (c == EOF) + break; + es_ungetc (c, stream_sock); + } + /* Reset the SCD in case it has been used. */ agent_reset_scd (ctrl); From cvs at cvs.gnupg.org Wed Jan 31 16:06:27 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 31 Jan 2007 16:06:27 +0100 Subject: [svn] GnuPG - r4415 - trunk/po Message-ID: Author: wk Date: 2007-01-31 16:06:16 +0100 (Wed, 31 Jan 2007) New Revision: 4415 Modified: trunk/po/be.po trunk/po/ca.po trunk/po/cs.po trunk/po/da.po trunk/po/de.po trunk/po/el.po trunk/po/eo.po trunk/po/es.po trunk/po/et.po trunk/po/fi.po trunk/po/fr.po trunk/po/gl.po trunk/po/hu.po trunk/po/id.po trunk/po/it.po trunk/po/ja.po trunk/po/nb.po trunk/po/pl.po trunk/po/pt.po trunk/po/pt_BR.po trunk/po/ro.po trunk/po/ru.po trunk/po/sk.po trunk/po/sv.po trunk/po/tr.po trunk/po/zh_CN.po trunk/po/zh_TW.po Log: Updated po files for the release Modified: trunk/po/be.po =================================================================== --- trunk/po/be.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/be.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2003-10-30 16:35+0200\n" "Last-Translator: Ales Nyakhaychyk \n" "Language-Team: Belarusian \n" @@ -70,19 +70,19 @@ msgid "Passphrase" msgstr "???????????? ????????????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -94,51 +94,51 @@ msgid "can't open `%s': %s\n" msgstr "" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "?????????????? ???????????????????? \"%s\": %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "?????????????????? ???????? ???? ??????????????????" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "?????????????????? ???????? ???? ??????????????????" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "?????????????? ???????????????????? \"%s\": %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "" "???????????????? ???????? ???????????? ?????? ???????????? ???????????????????? ??????????.\n" "\n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: ?????????????????? ???????????????? ??????-??????????????: %s\n" Modified: trunk/po/ca.po =================================================================== --- trunk/po/ca.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/ca.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -27,7 +27,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2005-02-04 02:04+0100\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Catalan \n" @@ -92,19 +92,19 @@ msgid "Passphrase" msgstr "la contrasenya ??s err??nia" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "l'algoritme de protecci?? %d%s no est?? suportat\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "no s'ha pogut crear ??%s??: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -116,51 +116,51 @@ msgid "can't open `%s': %s\n" msgstr "no s'ha pogut obrir ??%s??: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "error en la creaci?? de la contrasenya: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "s'ha produ??t un error mentre s'escrivia l'anell secret ??%s??: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "" "no s'ha trobat cap anell secret de escrivible: %s\n" "\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "no s'ha pogut eliminar el bloc de claus: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "error mentre s'escrivia l'anell ??%s??: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Introdu??u la contrasenya; aquesta ha de ser una frase secreta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: no s'ha pogut crear la taula de dispersi??: %s\n" Modified: trunk/po/cs.po =================================================================== --- trunk/po/cs.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/cs.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gnupg-1.3.92\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-11-26 09:12+0200\n" "Last-Translator: Roman Pavlik \n" "Language-Team: Czech \n" @@ -72,19 +72,19 @@ msgid "Passphrase" msgstr "?patn? heslo" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "ochrann? algoritmus %d nen? podporov?n\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "nemohu vytvo?it `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -96,49 +96,49 @@ msgid "can't open `%s': %s\n" msgstr "nemohu otev??t `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "chyba p?i z?sk?n? nov?ho PINu: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "chyba p?i z?sk?n? informac? o aktu?ln?m kl??i: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "nenalezen zapisovateln? soubor tajn?ch kl??? (secring): %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "?ten? ve?ejn?ho kl??e se nezda?ilo: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "chyba p?i z?pisu souboru kl??? (keyring) `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Pros?m, vlo?te heslo; toto je tajn? v?ta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: nepoda?ilo se vytvo?it hashovac? tabulku: %s\n" Modified: trunk/po/da.po =================================================================== --- trunk/po/da.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/da.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gnupg 1.0.0h\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2003-12-03 16:11+0100\n" "Last-Translator: Birger Langkjer \n" "Language-Team: Danish \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "d?rlig kodes?tning" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "valgte cifferalgoritme %d er ugyldig\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, fuzzy, c-format msgid "can't create `%s': %s\n" msgstr "kan ikke oprette %s: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,42 +95,42 @@ msgid "can't open `%s': %s\n" msgstr "kan ikke ?bne '%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "fejl ved oprettelse af kodes?tning: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "fejl ved skrivning af n?glering `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "skriver hemmeligt certifikat til '%s'\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "fjernelse af beskyttelse fejlede: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "fejl ved skrivning af n?glering `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" @@ -138,7 +138,7 @@ msgstr "" # er det klogt at overs?tte TrustDB? -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "kunne ikke initialisere TillidsDB: %s\n" Modified: trunk/po/de.po =================================================================== --- trunk/po/de.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/de.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnupg-1.9.90\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2007-01-31 14:37+0100\n" "Last-Translator: Walter Koch \n" "Language-Team: German \n" @@ -72,19 +72,19 @@ msgid "Passphrase" msgstr "Passphrase" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "SSH Schl??ssel von mehr als %d Bits werden nicht unterst??tzt\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "'%s' kann nicht erzeugt werden: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -96,42 +96,42 @@ msgid "can't open `%s': %s\n" msgstr "'%s' kann nicht ge??ffnet werden: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, c-format msgid "error getting serial number of card: %s\n" msgstr "Fehler beim Holen der Karten-Seriennummer: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "Erkannte Karte hat die Seriennummer: %s\n" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "Fehler beim Holen der Authentisierungsschl??ssel-ID der Karte: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, c-format msgid "no suitable card key found: %s\n" msgstr "keine passender Kartenschl??ssel gefunden: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, c-format msgid "shadowing the key failed: %s\n" msgstr "\"Shadowing\" des Schl??ssels schlug fehl: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, c-format msgid "error writing key: %s\n" msgstr "Fehler beim Schreiben des Schl??ssels: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Bitte geben Sie die Passphrase f??r den SSH-Schl??ssel %0A %c ein" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" @@ -140,7 +140,7 @@ "Bitte geben Sie eine Passphrase ein, um den empfangenen geheimen Schl??ssel%%" "0A %s%%0A im Schl??sselspeicher des gpg-agenten zu sch??tzen" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, c-format msgid "failed to create stream from socket: %s\n" msgstr "Das Erzeugen eines Datenstrom aus dem Socket schlug fehl: %s\n" @@ -7321,7 +7321,8 @@ #: sm/gpgsm.c:1602 #, c-format msgid "please use the script \"%s\" to generate a new key\n" -msgstr "Bitte verwenden Sie das Skript \"%s\" zur Erzeugung eines neuen Schl??ssels.\n" +msgstr "" +"Bitte verwenden Sie das Skript \"%s\" zur Erzeugung eines neuen Schl??ssels.\n" #: sm/import.c:110 #, c-format Modified: trunk/po/el.po =================================================================== --- trunk/po/el.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/el.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg-1.1.92\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2003-06-27 12:00+0200\n" "Last-Translator: Dokianakis Theofanis \n" "Language-Team: Greek \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "???? ????? ??????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "??? ????????????? ? ?????????? ?????????? %d%s\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "???????? ??????????? ??? `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "???????? ????????? ??? `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "?????? ??? ?????????? ??? ?????? ??????: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "???????? ???????? ???????? ??????????? `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "?? ??????? ????????? ??????? ??????????: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "???????? block ???????? ???????: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "???????? ???????? ??? ??????????? `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "?????????????? ?? ????? ??????? ???? ????? ??? ??????? ??????? \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: ???????? ??????????? hashtable: %s\n" Modified: trunk/po/eo.po =================================================================== --- trunk/po/eo.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/eo.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.0.6d\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2002-04-14 14:33+0100\n" "Last-Translator: Edmund GRIMLEY EVANS \n" "Language-Team: Esperanto \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "malbona pasfrazo" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "protekto-metodo %d%s ne estas realigita\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "ne povas krei '%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "ne povas malfermi '%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "eraro dum kreado de pasfrazo: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "eraro dum skribado de sekreta ?losilaro '%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "neniu skribebla sekreta ?losilaro trovita: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "forvi?o de ?losilbloko malsukcesis: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "eraro dum skribado de ?losilaro '%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: malsukcesis krei haktabelon: %s\n" Modified: trunk/po/es.po =================================================================== --- trunk/po/es.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/es.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: GNU gnupg 1.4.1\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2005-03-25 16:50+0100\n" "Last-Translator: Jaime Su?rez \n" "Language-Team: Spanish \n" @@ -93,19 +93,19 @@ msgid "Passphrase" msgstr "Frase contrase?a incorrecta" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "el resumen protector %d no puede ser utilizado\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "no se puede crear %s: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -117,49 +117,49 @@ msgid "can't open `%s': %s\n" msgstr "no se puede abrir `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "error obteniendo el n?mero de serie: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "error obteniendo la informaci?n actual de la clave: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "anillo privado de claves no escribible encontrado: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "fallo leyendo la clave\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "error escribiendo anillo `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Por favor introduzca la contrase?a: una frase secreta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: fallo en la creaci?n de la tabla hash: %s\n" Modified: trunk/po/et.po =================================================================== --- trunk/po/et.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/et.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-17 11:04+0300\n" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "halb parool" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "kaitse algoritm %d%s ei ole toetatud\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "`%s' ei ?nnestu luua: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "`%s' ei ?nnestu avada: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "viga parooli loomisel: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "viga salajase v?tme v?tmehoidlasse `%s' kirjutamisel: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "kirjutatavat salajaste v?tmete hoidlat pole: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "v?tmebloki kustutamine eba?nnestus: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "viga v?tmehoidlasse `%s' kirjutamisel: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Palun sisestage parool; see on salajane tekst \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: paisktabeli loomine eba?nnestus: %s\n" Modified: trunk/po/fi.po =================================================================== --- trunk/po/fi.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/fi.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -22,7 +22,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-16 22:40+0300\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" @@ -87,19 +87,19 @@ msgid "Passphrase" msgstr "v????r?? salasana" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "suojausalgoritmi %d%s ei ole k??ytett??viss??\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "tiedostoa \"%s\" ei voi luoda: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -111,49 +111,49 @@ msgid "can't open `%s': %s\n" msgstr "tiedostoa \"%s\" ei voi avata: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "virhe luotaessa salasanaa: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "kirjoitettavissa olevaa salaista avainrengasta ei l??ydy: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "avainlohkojen poisto ep??onnistui: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Ole hyv?? ja sy??t?? salasana, t??m??n on salainen lause \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n" Modified: trunk/po/fr.po =================================================================== --- trunk/po/fr.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/fr.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.2rc2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2005-06-28 00:24+0200\n" "Last-Translator: Ga?l Qu?ri \n" "Language-Team: French \n" @@ -76,19 +76,19 @@ msgid "Passphrase" msgstr "mauvaise phrase de passe" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "le hachage de protection %d n'est pas support?\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "impossible de cr?er `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -100,52 +100,52 @@ msgid "can't open `%s': %s\n" msgstr "impossible d'ouvrir `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "erreur pendant l'obtention du nouveau code PIN: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "" "erreur durant la lecture des informations contenues actuellement\n" "dans la cl?: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "" "aucun portes-cl?s secret n'a ?t? trouv? avec des droits d'?criture : %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "la lecture de la cl? publique a ?chou?: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "erreur durant l'?criture du porte-cl?s `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Entrez le mot de passe ; c'est une phrase secr?te \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: la cr?ation de la table de hachage a ?chou?: %s\n" Modified: trunk/po/gl.po =================================================================== --- trunk/po/gl.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/gl.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.4\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2003-12-04 11:39+0100\n" "Last-Translator: Jacobo Tarrio \n" "Language-Team: Galician \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "contrasinal err?neo" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "o algoritmo de protecci?n %d%s non est? soportado\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "non se pode crear `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "non se puido abrir `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "erro ao crea-lo contrasinal: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "erro escribindo no chaveiro secreto `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "non se atopou un chaveiro privado no que se poida escribir: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "fallou o borrado do bloque de chaves: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "erro escribindo no chaveiro `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Por favor, introduza o contrasinal; esta ? unha frase secreta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: fallo ao crear unha t?boa hash: %s\n" Modified: trunk/po/hu.po =================================================================== --- trunk/po/hu.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/hu.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.5\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-19 21:53+0200\n" "Last-Translator: Nagy Ferenc L?szl? \n" "Language-Team: Hungarian \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "rossz jelsz?" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "%d%s v?d? algoritmus nem t?mogatott.\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "Nem tudom l?trehozni a(z) \"%s\" ?llom?nyt: %s.\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "Nem tudom megnyitni a(z) \"%s\" ?llom?nyt: %s.\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "Hiba a jelsz? l?trehoz?sakor: %s.\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "Hiba a(z) \"%s\" titkoskulcs-karika ?r?sakor: %s.\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "Nem ?rhat? titkoskulcs-karik?t tal?ltam: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "A kulcsblokk t?rl?se sikertelen: %s.\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "Hiba a \"%s\" kulcskarika ?r?sakor: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "K?rem, adja meg a jelsz?t! Ezt egy titkos mondat. \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: Hasht?bla l?trehoz?sa sikertelen: %s.\n" Modified: trunk/po/id.po =================================================================== --- trunk/po/id.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/id.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gnupg-id\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-17 16:32+0700\n" "Last-Translator: Tedi Heriyanto \n" "Language-Team: Indonesian \n" @@ -73,19 +73,19 @@ msgid "Passphrase" msgstr "passphrase yang buruk" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "algoritma proteksi %d%s tidak didukung\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "tidak dapat membuat %s: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -97,49 +97,49 @@ msgid "can't open `%s': %s\n" msgstr "tidak dapat membuka `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "kesalahan penciptaan passphrase: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "kesalahan menulis keyring rahasia `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "tidak ditemukan keyring rahasia yang dapat ditulisi: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "gagal menghapus keyblok: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "kesalahan menulis keyring `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: gagal membuat hashtable: %s\n" Modified: trunk/po/it.po =================================================================== --- trunk/po/it.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/it.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.1.92\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-16 17:01+0200\n" "Last-Translator: Marco d'Itri \n" "Language-Team: Italian \n" @@ -71,19 +71,19 @@ msgid "Passphrase" msgstr "passphrase errata" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "l'algoritmo di protezione %d%s non ? gestito\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "impossibile creare `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -95,49 +95,49 @@ msgid "can't open `%s': %s\n" msgstr "impossibile aprire `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "errore nella creazione della passhprase: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "errore scrivendo il portachiavi segreto `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "non ? stato trovato un portachiavi segreto scrivibile: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "cancellazione del keyblock fallita: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "errore scrivendo il portachiavi `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Inserisci la passphrase, cio? una frase segreta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: creazione della tabella hash fallita: %s\n" Modified: trunk/po/ja.po =================================================================== --- trunk/po/ja.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/ja.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnupg 1.3.92\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-11-23 11:14+0900\n" "Last-Translator: IIDA Yosiaki \n" "Language-Team: Japanese \n" @@ -74,19 +74,19 @@ msgid "Passphrase" msgstr "??????????????????????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "????????%d??????????????????????\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "??%s??????????????????: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -98,49 +98,49 @@ msgid "can't open `%s': %s\n" msgstr "??%s??????????????: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "????????????????: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "??????????????????????: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "????????????????????????????????????: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "????????????????????????: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "??????%s????????????????: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "?????????????????????????????????????????????????????????? \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: ??????????????????????????????: %s\n" Modified: trunk/po/nb.po =================================================================== --- trunk/po/nb.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/nb.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.3\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2006-06-13 20:31+0200\n" "Last-Translator: Trond Endrest?l \n" "Language-Team: Norwegian Bokm?l \n" @@ -74,19 +74,19 @@ msgid "Passphrase" msgstr "ugyldig passfrase" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "kan ikke opprette ?%s?: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -98,49 +98,49 @@ msgid "can't open `%s': %s\n" msgstr "kan ikke ?pne ?%s?: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "feil ved henting av ny PIN: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "feil ved henting av n?v?rende n?kkelinfo: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "ingen skrivbart hemmelig n?kkelknippe ble funnet: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "lesing av offentlig n?kkel mislyktes: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "feil ved skriving av n?kkelknippet ?%s?: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Tast inn den nye passfrasen for denne hemmelige n?kklen.\n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "klarte ikke ? lagre n?kkelen: %s\n" Modified: trunk/po/pl.po =================================================================== --- trunk/po/pl.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/pl.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gnupg-1.2.2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-06-23 15:54+0200\n" "Last-Translator: Janusz A. Urbanowicz \n" "Language-Team: Polish \n" @@ -81,19 +81,19 @@ msgid "Passphrase" msgstr "niepoprawne has?o" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "algorytm ochrony %d%s nie jest obs?ugiwany\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "nie mo?na utworzy? ,,%s'': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -105,49 +105,49 @@ msgid "can't open `%s': %s\n" msgstr "nie mo?na otworzy? ,,%s'': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "b??d podczas tworzenia has?a: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "b??d podczas zapisu zbioru kluczy tajnych ,,%s'': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "brak zapisywalnego zbioru kluczy tajnych: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "usuni?cie bloku klucza nie powiod?o si?: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "b??d zapisu zbioru kluczy '%': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Podaj d?ugie, skomplikowane has?o, np. ca?e zdanie.\n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: tworzenie tablicy skr?t?w nie powiod?o si?: %s\n" Modified: trunk/po/pt.po =================================================================== --- trunk/po/pt.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/pt.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnupg\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2002-09-13 18:26+0100\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" @@ -74,19 +74,19 @@ msgid "Passphrase" msgstr "frase secreta incorrecta" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "algoritmo de protec??o %d%s n?o ? suportado\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "imposs?vel criar `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -98,49 +98,49 @@ msgid "can't open `%s': %s\n" msgstr "imposs?vel abrir `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "erro na cria??o da frase secreta: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "nenhum porta-chaves secreto com permiss?es de escrita encontrado: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "remo??o do bloco de chave falhou: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "erro na escrita do porta-chaves `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Por favor digite a frase secreta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: falha ao criar tabela de dispers?o: %s\n" Modified: trunk/po/pt_BR.po =================================================================== --- trunk/po/pt_BR.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/pt_BR.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: GNU gnupg 1.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 1998-11-20 23:46:36-0200\n" "Last-Translator:\n" "Language-Team: ?\n" @@ -78,19 +78,19 @@ msgid "Passphrase" msgstr "frase secreta incorreta" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "algoritmo de prote??o %d n?o ? suportado\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, fuzzy, c-format msgid "can't create `%s': %s\n" msgstr "imposs?vel criar %s: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -102,49 +102,49 @@ msgid "can't open `%s': %s\n" msgstr "imposs?vel abrir `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "erro na cria??o da frase secreta: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "erro na escrita do chaveiro `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "imposs?vel bloquear chaveiro secreto: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "enumera??o de blocos de chaves falhou: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "erro na escrita do chaveiro `%': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Por favor digite a frase secreta" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: falha ao criar tabela de \"hash\": %s\n" Modified: trunk/po/ro.po =================================================================== --- trunk/po/ro.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/ro.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.2rc1\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2005-05-31 22:00-0500\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" @@ -76,19 +76,19 @@ msgid "Passphrase" msgstr "fraz?-parol? incorect?" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "algoritm rezumat %d nu este suportat\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "nu pot crea `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -100,50 +100,50 @@ msgid "can't open `%s': %s\n" msgstr "nu pot deschide `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "eroare la ob?inerea num?rului serial: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "eroare la ob?inerea informa?iei pentru cheia curent?: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "nu am g?sit nici un inel de chei secret de scris: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "citirea cheii publice a e?uat: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "eroare la scrierea inelului de chei `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "" "V? rug?m introduce?i fraza-parol?; aceasta este o propozi?ie secret? \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: am e?uat s? creez hashtable: %s\n" Modified: trunk/po/ru.po =================================================================== --- trunk/po/ru.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/ru.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: GnuPG 2.0.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2006-11-07 19:31+0300\n" "Last-Translator: Maxim Britov \n" "Language-Team: Russian \n" @@ -66,19 +66,19 @@ msgid "Passphrase" msgstr "??????????-????????????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "???? ???????????????????????????? ssh ?????????? ?????????????????????? %d ??????\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "???? ???????? ?????????????? `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -90,42 +90,42 @@ msgid "can't open `%s': %s\n" msgstr "???? ???????? ?????????????? `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, c-format msgid "error getting serial number of card: %s\n" msgstr "???????????? ?????????????????? ?????????????????? ???????????? ??????????: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "???????????????????? ??????????, ???????????????? ??????????: %s\n" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "???????????? ?????????????????? ?????????????????????????????????????? keyID ???? ?????????????????? ??????????: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, c-format msgid "no suitable card key found: %s\n" msgstr "?? ?????????? ???? ?????????????????? ?????????????????? ????????: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, c-format msgid "shadowing the key failed: %s\n" msgstr "" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, c-format msgid "error writing key: %s\n" msgstr "???????? ???????????? ??????????: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "?????????????? ??????????-???????????? ?????? ssh ??????????%0A %c" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" @@ -134,7 +134,7 @@ "?????????????? ??????????-???????????? ?????? ???????????? ?????????????????? ?????????????????? ??????????%%0A %s%%0A???????????? " "?????????????????? ???????????? gpg-agent" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, c-format msgid "failed to create stream from socket: %s\n" msgstr "???????? ???????????????? ???????????? ???? ????????????: %s\n" Modified: trunk/po/sk.po =================================================================== --- trunk/po/sk.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/sk.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: gnupg 1.2.5\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2004-07-20 15:52+0200\n" "Last-Translator: Michal Majer \n" "Language-Team: Slovak \n" @@ -70,19 +70,19 @@ msgid "Passphrase" msgstr "nespr?vne heslo" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "ochrann? algoritmus %d%s nie je podporov?n?\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "nem??em vytvori? `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -94,49 +94,49 @@ msgid "can't open `%s': %s\n" msgstr "nem??em otvori? `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "chyba pri vytv?ran? hesla: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "chyba pri z?pise do s?boru tajn?ch k???ov `%s': %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "nen?jden? zapisovate?n? s?bor tajn?ch k???ov (secring): %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "zmazanie bloku k???a sa nepodarilo: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "chyba pri z?pise s?boru k???ov (keyring) `%s': %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Pros?m, vlo?te heslo; toto je tajn? veta \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: nepodarilo sa vytvori? hashovaciu tabu?ku: %s\n" Modified: trunk/po/sv.po =================================================================== --- trunk/po/sv.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/sv.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -24,7 +24,7 @@ msgstr "" "Project-Id-Version: gnupg 2.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2006-12-11 16:41+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -88,19 +88,19 @@ # Skyddssammandraget l??ter underligt # Kontrollsumma? -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "ssh-nycklar st??rre ??n %d bitar st??ds inte\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "kan inte skapa \"%s\": %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -112,42 +112,42 @@ msgid "can't open `%s': %s\n" msgstr "kan inte ??ppna \"%s\": %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, c-format msgid "error getting serial number of card: %s\n" msgstr "fel vid h??mtning av serienummer p?? kort: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "identifierade kort med serienummer: %s\n" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "fel vid h??mtning av nyckel-id f??r autentisering p?? kort: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, c-format msgid "no suitable card key found: %s\n" msgstr "ingen l??mplig kortnyckel hittades: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, c-format msgid "shadowing the key failed: %s\n" msgstr "skuggning av nyckeln misslyckades: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, c-format msgid "error writing key: %s\n" msgstr "fel vid skrivning av nyckel: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "Ange l??senfrasen f??r ssh-nyckeln%0A %c" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" @@ -156,7 +156,7 @@ "Ange en l??senfras f??r att skydda den mottagna hemliga nyckeln%%0A %s%%0Ai " "gpg-agents nyckellager" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, c-format msgid "failed to create stream from socket: %s\n" msgstr "misslyckades med att skapa fl??de fr??n uttag: %s\n" Modified: trunk/po/tr.po =================================================================== --- trunk/po/tr.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/tr.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: gnupg 1.9.94\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2006-11-04 03:45+0200\n" "Last-Translator: Nilg??n Belma Bug??ner \n" "Language-Team: Turkish \n" @@ -69,19 +69,19 @@ msgid "Passphrase" msgstr "Anahtar Parolas??" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "%d bitlikten daha b??y??k SSH anahtarlar?? desteklenmiyor\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "\"%s\" olu??turulam??yor: %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -93,42 +93,42 @@ msgid "can't open `%s': %s\n" msgstr "`%s' a????lam??yor: %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, c-format msgid "error getting serial number of card: %s\n" msgstr "kart??n seri numaras?? al??n??rken hata: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "Alg??lanan kart??n seri nr: %s\n" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "kart??n ??ntan??ml?? kimlik do??rulama anahtar kimli??i al??n??rken hata: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, c-format msgid "no suitable card key found: %s\n" msgstr "uygun bir kart anahtar?? yok: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, c-format msgid "shadowing the key failed: %s\n" msgstr "anahtar g??lgelenemedi: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, c-format msgid "error writing key: %s\n" msgstr "anahtar?? yazarken hata: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "L??tfen SSH anahtar?? %0A %c i??in anahtar parolas??n?? giriniz" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" @@ -137,7 +137,7 @@ "gpg-agent'in anahtar deposuna korumak i??in al??nan gizli anahtar %%0A %s%%0A " "i??in l??tfen anahtar parolas?? giriniz" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, c-format msgid "failed to create stream from socket: %s\n" msgstr "sokette ak??m olu??turulamad??: %s\n" Modified: trunk/po/zh_CN.po =================================================================== --- trunk/po/zh_CN.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/zh_CN.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.4\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2006-07-02 10:58+0800\n" "Last-Translator: Meng Jie \n" "Language-Team: Chinese (simplified) \n" @@ -76,19 +76,19 @@ msgid "Passphrase" msgstr "???????????????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "????????????????????? %d\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "???????????????%s??????%s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -100,49 +100,49 @@ msgid "can't open `%s': %s\n" msgstr "???????????????%s?????? %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "????????? PIN ????????????%s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "????????????????????????????????????%s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "????????????????????????????????????%s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "?????????????????????%s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "??????????????????%s??????????????? %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "????????????????????????????????????????????? \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s???????????????????????????%s\n" Modified: trunk/po/zh_TW.po =================================================================== --- trunk/po/zh_TW.po 2007-01-31 14:52:48 UTC (rev 4414) +++ trunk/po/zh_TW.po 2007-01-31 15:06:16 UTC (rev 4415) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnupg 1.4.2\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"POT-Creation-Date: 2007-01-31 14:33+0100\n" +"POT-Creation-Date: 2007-01-31 15:12+0100\n" "PO-Revision-Date: 2005-07-29 09:49+0800\n" "Last-Translator: Jedi \n" "Language-Team: Chinese (traditional) \n" @@ -74,19 +74,19 @@ msgid "Passphrase" msgstr "???????????????" -#: agent/command-ssh.c:533 +#: agent/command-ssh.c:531 #, fuzzy, c-format msgid "ssh keys greater than %d bits are not supported\n" msgstr "???????????? %d ????????????\n" -#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 +#: agent/command-ssh.c:690 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067 #: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267 #: g10/openfile.c:360 g10/sign.c:832 g10/sign.c:1141 g10/tdbio.c:538 #, c-format msgid "can't create `%s': %s\n" msgstr "???????????? `%s': %s\n" -#: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748 +#: agent/command-ssh.c:702 g10/card-util.c:679 g10/card-util.c:748 #: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196 #: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345 @@ -98,49 +98,49 @@ msgid "can't open `%s': %s\n" msgstr "???????????? `%s': %s\n" -#: agent/command-ssh.c:1619 agent/command-ssh.c:1637 +#: agent/command-ssh.c:1617 agent/command-ssh.c:1635 #, fuzzy, c-format msgid "error getting serial number of card: %s\n" msgstr "??????????????????????????? (PIN) ?????????: %s\n" -#: agent/command-ssh.c:1623 +#: agent/command-ssh.c:1621 #, c-format msgid "detected card with S/N: %s\n" msgstr "" -#: agent/command-ssh.c:1628 +#: agent/command-ssh.c:1626 #, fuzzy, c-format msgid "error getting default authentication keyID of card: %s\n" msgstr "???????????????????????????????????????: %s\n" -#: agent/command-ssh.c:1648 +#: agent/command-ssh.c:1646 #, fuzzy, c-format msgid "no suitable card key found: %s\n" msgstr "?????????????????????????????????: %s\n" -#: agent/command-ssh.c:1698 +#: agent/command-ssh.c:1696 #, fuzzy, c-format msgid "shadowing the key failed: %s\n" msgstr "?????????????????????: %s\n" -#: agent/command-ssh.c:1713 +#: agent/command-ssh.c:1711 #, fuzzy, c-format msgid "error writing key: %s\n" msgstr "??????????????? `%s' ???????????????: %s\n" -#: agent/command-ssh.c:2018 +#: agent/command-ssh.c:2016 #, fuzzy, c-format msgid "Please enter the passphrase for the ssh key%0A %c" msgstr "???????????????; ??????????????????????????? \n" -#: agent/command-ssh.c:2353 +#: agent/command-ssh.c:2351 #, c-format msgid "" "Please enter a passphrase to protect the received secret key%%0A %s%%" "0Awithin gpg-agent's key storage" msgstr "" -#: agent/command-ssh.c:2853 +#: agent/command-ssh.c:2852 #, fuzzy, c-format msgid "failed to create stream from socket: %s\n" msgstr "%s: ?????????????????????: %s\n" From cvs at cvs.gnupg.org Wed Jan 31 16:22:22 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 31 Jan 2007 16:22:22 +0100 Subject: [svn] GnuPG - r4416 - trunk/g10 Message-ID: Author: wk Date: 2007-01-31 16:22:21 +0100 (Wed, 31 Jan 2007) New Revision: 4416 Modified: trunk/g10/ChangeLog trunk/g10/verify.c Log: Fix NULL pointer dereference Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2007-01-31 15:06:16 UTC (rev 4415) +++ trunk/g10/ChangeLog 2007-01-31 15:22:21 UTC (rev 4416) @@ -1,5 +1,7 @@ 2007-01-31 Werner Koch + * verify.c (verify_signatures): Do no dereference a NULL afx. + * passphrase.c (passphrase_get): Set the cancel flag on all error from the agent. Fixes a bug reported by Tom Duerbusch. Modified: trunk/g10/verify.c =================================================================== --- trunk/g10/verify.c 2007-01-31 15:06:16 UTC (rev 4415) +++ trunk/g10/verify.c 2007-01-31 15:22:21 UTC (rev 4416) @@ -115,7 +115,7 @@ rc = proc_signature_packets( NULL, fp, sl, sigfile ); free_strlist(sl); iobuf_close(fp); - if( (afx->no_openpgp_data && rc == -1) || rc == G10ERR_NO_DATA ) { + if( (afx && afx->no_openpgp_data && rc == -1) || rc == G10ERR_NO_DATA ) { log_error(_("the signature could not be verified.\n" "Please remember that the signature file (.sig or .asc)\n" "should be the first file given on the command line.\n") ); From cvs at cvs.gnupg.org Wed Jan 31 19:00:36 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 31 Jan 2007 19:00:36 +0100 Subject: [svn] gcry - r1198 - branches/LIBGCRYPT-1-2-BRANCH/src Message-ID: Author: wk Date: 2007-01-31 19:00:36 +0100 (Wed, 31 Jan 2007) New Revision: 1198 Modified: branches/LIBGCRYPT-1-2-BRANCH/src/ChangeLog branches/LIBGCRYPT-1-2-BRANCH/src/secmem.c Log: * secmem.c (_gcry_private_is_secure): Fixed severe implementation flaw. Might be the reason for some of the more obscure bugs. (MB_WIPE_OUT): Use wipememory2. Modified: branches/LIBGCRYPT-1-2-BRANCH/src/ChangeLog =================================================================== --- branches/LIBGCRYPT-1-2-BRANCH/src/ChangeLog 2007-01-30 20:12:02 UTC (rev 1197) +++ branches/LIBGCRYPT-1-2-BRANCH/src/ChangeLog 2007-01-31 18:00:36 UTC (rev 1198) @@ -1,3 +1,9 @@ +2007-01-31 Werner Koch + + * secmem.c (_gcry_private_is_secure): Fixed severe implementation + flaw. Might be the reason for some of the more obscure bugs. + (MB_WIPE_OUT): Use wipememory2. + 2006-11-30 Werner Koch * gcrypt.h.in: Replace socklen_t with gcry_socklen_t. Modified: branches/LIBGCRYPT-1-2-BRANCH/src/secmem.c =================================================================== --- branches/LIBGCRYPT-1-2-BRANCH/src/secmem.c 2007-01-30 20:12:02 UTC (rev 1197) +++ branches/LIBGCRYPT-1-2-BRANCH/src/secmem.c 2007-01-31 18:00:36 UTC (rev 1198) @@ -524,7 +524,7 @@ /* This does not make much sense: probably this memory is held in the * cache. We do it anyway: */ #define MB_WIPE_OUT(byte) \ - memset ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size); + wipememory2 ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size); MB_WIPE_OUT (0xff); MB_WIPE_OUT (0xaa); @@ -582,19 +582,14 @@ return a; } + +/* Return true if P points into the secure memory area. */ int _gcry_private_is_secure (const void *p) { - int ret = 0; - - SECMEM_LOCK; - - if (pool_okay && BLOCK_VALID (ADDR_TO_BLOCK (p))) - ret = 1; - - SECMEM_UNLOCK; - - return ret; + return (pool_okay + && p >= pool + && p < (const void*)((const char*)pool+pool_size)); } From cvs at cvs.gnupg.org Wed Jan 31 20:42:49 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Wed, 31 Jan 2007 20:42:49 +0100 Subject: [svn] GnuPG - r4417 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: dshaw Date: 2007-01-31 20:42:48 +0100 (Wed, 31 Jan 2007) New Revision: 4417 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/keyedit.c branches/STABLE-BRANCH-1-4/g10/keygen.c branches/STABLE-BRANCH-1-4/g10/main.h Log: * main.h, keygen.c (ask_expiredate), keyedit.c (menu_expire): Remove the need for ask_expiredate(). Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 15:22:21 UTC (rev 4416) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 19:42:48 UTC (rev 4417) @@ -1,3 +1,8 @@ +2007-01-31 David Shaw + + * main.h, keygen.c (ask_expiredate), keyedit.c (menu_expire): + Remove the need for ask_expiredate(). + 2007-01-30 David Shaw * keygen.c (make_backsig, write_direct_sig, write_selfsigs) Modified: branches/STABLE-BRANCH-1-4/g10/keyedit.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keyedit.c 2007-01-31 15:22:21 UTC (rev 4416) +++ branches/STABLE-BRANCH-1-4/g10/keyedit.c 2007-01-31 19:42:48 UTC (rev 4417) @@ -3540,7 +3540,10 @@ no_primary_warning(pub_keyblock); } - expiredate = ask_expiredate(); + expiredate=ask_expire_interval(0,NULL); + if(expiredate) + expiredate+=make_timestamp(); + node = find_kbnode( sec_keyblock, PKT_SECRET_KEY ); sk = copy_secret_key( NULL, node->pkt->pkt.secret_key); Modified: branches/STABLE-BRANCH-1-4/g10/keygen.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-31 15:22:21 UTC (rev 4416) +++ branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-31 19:42:48 UTC (rev 4417) @@ -1699,14 +1699,6 @@ return interval; } -u32 -ask_expiredate() -{ - u32 x = ask_expire_interval(0,NULL); - return x? make_timestamp() + x : 0; -} - - static char * ask_user_id( int mode ) { Modified: branches/STABLE-BRANCH-1-4/g10/main.h =================================================================== --- branches/STABLE-BRANCH-1-4/g10/main.h 2007-01-31 15:22:21 UTC (rev 4416) +++ branches/STABLE-BRANCH-1-4/g10/main.h 2007-01-31 19:42:48 UTC (rev 4417) @@ -172,7 +172,6 @@ /*-- keygen.c --*/ u32 parse_expire_string(const char *string); u32 ask_expire_interval(int object,const char *def_expire); -u32 ask_expiredate(void); void generate_keypair( const char *fname, const char *card_serialno, const char *backup_encryption_dir ); int keygen_set_std_prefs (const char *string,int personal); From cvs at cvs.gnupg.org Wed Jan 31 21:23:47 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Wed, 31 Jan 2007 21:23:47 +0100 Subject: [svn] GnuPG - r4418 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: dshaw Date: 2007-01-31 21:23:45 +0100 (Wed, 31 Jan 2007) New Revision: 4418 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/sign.c Log: * sign.c (write_plaintext_packet): Take timestamp from outside. Change all callers. (sign_file, clearsign_file, sign_symencrypt_file): Calculate one timestamp for the whole transaction. Different timestamps for each step can leak performance information. Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 19:42:48 UTC (rev 4417) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 20:23:45 UTC (rev 4418) @@ -1,5 +1,11 @@ 2007-01-31 David Shaw + * sign.c (write_plaintext_packet): Take timestamp from outside. + Change all callers. + (sign_file, clearsign_file, sign_symencrypt_file): Calculate one + timestamp for the whole transaction. Different timestamps for + each step can leak performance information. + * main.h, keygen.c (ask_expiredate), keyedit.c (menu_expire): Remove the need for ask_expiredate(). Modified: branches/STABLE-BRANCH-1-4/g10/sign.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/sign.c 2007-01-31 19:42:48 UTC (rev 4417) +++ branches/STABLE-BRANCH-1-4/g10/sign.c 2007-01-31 20:23:45 UTC (rev 4418) @@ -572,7 +572,8 @@ * Helper to write the plaintext (literal data) packet */ static int -write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, int ptmode) +write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, + int ptmode, u32 timestamp) { PKT_plaintext *pt = NULL; u32 filesize; @@ -613,7 +614,7 @@ if (!opt.no_literal) { PACKET pkt; - pt->timestamp = make_timestamp (); + pt->timestamp = timestamp; pt->mode = ptmode; pt->len = filesize; pt->new_ctb = !pt->len && !RFC1991; @@ -749,7 +750,7 @@ SK_LIST sk_list = NULL; SK_LIST sk_rover = NULL; int multifile = 0; - u32 duration=0; + u32 create_time=make_timestamp(),duration=0; memset( &afx, 0, sizeof afx); memset( &zfx, 0, sizeof zfx); @@ -1026,7 +1027,8 @@ } else { rc = write_plaintext_packet (out, inp, fname, - opt.textmode && !outfile ? 't':'b'); + opt.textmode && !outfile ? 't':'b', + create_time); } /* catch errors from above */ @@ -1036,7 +1038,7 @@ /* write the signatures */ rc = write_signature_packets (sk_list, out, mfx.md, opt.textmode && !outfile? 0x01 : 0x00, - 0, duration, detached ? 'D':'S'); + create_time, duration, detached ? 'D':'S'); if( rc ) goto leave; @@ -1075,7 +1077,7 @@ SK_LIST sk_rover = NULL; int old_style = RFC1991; int only_md5 = 0; - u32 duration=0; + u32 create_time=make_timestamp(),duration=0; memset( &afx, 0, sizeof afx); init_packet( &pkt ); @@ -1195,7 +1197,8 @@ iobuf_push_filter( out, armor_filter, &afx ); /* write the signatures */ - rc=write_signature_packets (sk_list, out, textmd, 0x01, 0, duration, 'C'); + rc=write_signature_packets (sk_list, out, textmd, 0x01, + create_time, duration, 'C'); if( rc ) goto leave; @@ -1230,7 +1233,7 @@ SK_LIST sk_list = NULL; SK_LIST sk_rover = NULL; int algo; - u32 duration=0; + u32 create_time=make_timestamp(),duration=0; memset( &afx, 0, sizeof afx); memset( &zfx, 0, sizeof zfx); @@ -1348,7 +1351,8 @@ /* Pipe data through all filters; i.e. write the signed stuff */ /*(current filters: zip - encrypt - armor)*/ - rc = write_plaintext_packet (out, inp, fname, opt.textmode ? 't':'b'); + rc = write_plaintext_packet (out, inp, fname, opt.textmode ? 't':'b', + create_time); if (rc) goto leave; @@ -1356,7 +1360,7 @@ /*(current filters: zip - encrypt - armor)*/ rc = write_signature_packets (sk_list, out, mfx.md, opt.textmode? 0x01 : 0x00, - 0, duration, 'S'); + create_time, duration, 'S'); if( rc ) goto leave; From cvs at cvs.gnupg.org Wed Jan 31 21:44:49 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Wed, 31 Jan 2007 21:44:49 +0100 Subject: [svn] GnuPG - r4419 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: dshaw Date: 2007-01-31 21:44:48 +0100 (Wed, 31 Jan 2007) New Revision: 4419 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/keyedit.c Log: * keyedit.c (sign_uids): Another multiple to single timestamp operation. Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 20:23:45 UTC (rev 4418) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 20:44:48 UTC (rev 4419) @@ -1,5 +1,8 @@ 2007-01-31 David Shaw + * keyedit.c (sign_uids): Another multiple to single timestamp + operation. + * sign.c (write_plaintext_packet): Take timestamp from outside. Change all callers. (sign_file, clearsign_file, sign_symencrypt_file): Calculate one Modified: branches/STABLE-BRANCH-1-4/g10/keyedit.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keyedit.c 2007-01-31 20:23:45 UTC (rev 4418) +++ branches/STABLE-BRANCH-1-4/g10/keyedit.c 2007-01-31 20:44:48 UTC (rev 4419) @@ -517,6 +517,7 @@ PKT_public_key *primary_pk=NULL; int select_all = !count_selected_uids(keyblock) || interactive; int all_v3=1; + u32 timestamp=make_timestamp(); /* Are there any non-v3 sigs on this key already? */ if(PGP2) @@ -544,7 +545,7 @@ u32 sk_keyid[2],pk_keyid[2]; char *p,*trust_regexp=NULL; int force_v4=0,class=0,selfsig=0; - u32 duration=0,timestamp=0; + u32 duration=0; byte trust_depth=0,trust_value=0; if(local || nonrevocable || trust || @@ -818,9 +819,7 @@ if(primary_pk->expiredate && !selfsig) { - u32 now=make_timestamp(); - - if(primary_pk->expiredate<=now) + if(primary_pk->expiredate<=timestamp) { tty_printf(_("This key has expired!")); @@ -850,14 +849,9 @@ "expire at the same time? (Y/n) ")); if(answer_is_yes_no_default(answer,1)) { - /* This fixes the signature timestamp we're - going to make as now. This is so the - expiration date is exactly correct, and not - a few seconds off (due to the time it takes - to answer the questions, enter the - passphrase, etc). */ - timestamp=now; - duration=primary_pk->expiredate-now; + /* Set our signature expiration date to match + when the key is going to expire. */ + duration=primary_pk->expiredate-timestamp; force_v4=1; } From cvs at cvs.gnupg.org Wed Jan 31 22:17:07 2007 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 31 Jan 2007 22:17:07 +0100 Subject: [svn] GnuPG - r4420 - tags Message-ID: Author: wk Date: 2007-01-31 22:17:07 +0100 (Wed, 31 Jan 2007) New Revision: 4420 Added: tags/gnupg-2.0.2/ Log: Tagged release Copied: tags/gnupg-2.0.2 (from rev 4416, trunk) From cvs at cvs.gnupg.org Wed Jan 31 22:39:27 2007 From: cvs at cvs.gnupg.org (svn author dshaw) Date: Wed, 31 Jan 2007 22:39:27 +0100 Subject: [svn] GnuPG - r4421 - branches/STABLE-BRANCH-1-4/g10 Message-ID: Author: dshaw Date: 2007-01-31 22:39:26 +0100 (Wed, 31 Jan 2007) New Revision: 4421 Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog branches/STABLE-BRANCH-1-4/g10/keygen.c Log: * keygen.c (do_generate_keypair, proc_parameter_file, generate_keypair, generate_subkeypair): Pass a timestamp through to all the gen_xxx functions. Modified: branches/STABLE-BRANCH-1-4/g10/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 21:17:07 UTC (rev 4420) +++ branches/STABLE-BRANCH-1-4/g10/ChangeLog 2007-01-31 21:39:26 UTC (rev 4421) @@ -1,5 +1,9 @@ 2007-01-31 David Shaw + * keygen.c (do_generate_keypair, proc_parameter_file, + generate_keypair, generate_subkeypair): Pass a timestamp through + to all the gen_xxx functions. + * keyedit.c (sign_uids): Another multiple to single timestamp operation. Modified: branches/STABLE-BRANCH-1-4/g10/keygen.c =================================================================== --- branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-31 21:17:07 UTC (rev 4420) +++ branches/STABLE-BRANCH-1-4/g10/keygen.c 2007-01-31 21:39:26 UTC (rev 4421) @@ -60,6 +60,7 @@ pREVOKER, pUSERID, pEXPIREDATE, + pCREATETIME, /* in n seconds */ pKEYEXPIRE, /* in n seconds */ pSUBKEYEXPIRE, /* in n seconds */ pPASSPHRASE, @@ -78,6 +79,7 @@ union { DEK *dek; STRING2KEY *s2k; + u32 create; u32 expire; unsigned int usage; struct revocation_key revkey; @@ -120,7 +122,8 @@ static int mdc_available,ks_modify; static void do_generate_keypair( struct para_data_s *para, - struct output_control_s *outctrl, int card ); + struct output_control_s *outctrl, + u32 timestamp, int card ); static int write_keyblock( IOBUF out, KBNODE node ); static int gen_card_key (int algo, int keyno, int is_primary, KBNODE pub_root, KBNODE sec_root, @@ -1008,7 +1011,8 @@ static int gen_elg(int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek, - STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 expireval, int is_subkey) + STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 timestamp, + u32 expireval, int is_subkey) { int rc; PACKET *pkt; @@ -1037,11 +1041,11 @@ sk = xmalloc_clear( sizeof *sk ); pk = xmalloc_clear( sizeof *pk ); - sk->timestamp = pk->timestamp = make_timestamp(); + sk->timestamp = pk->timestamp = timestamp; sk->version = pk->version = 4; - if( expireval ) { - sk->expiredate = pk->expiredate = sk->timestamp + expireval; - } + if( expireval ) + sk->expiredate = pk->expiredate = sk->timestamp + expireval; + sk->pubkey_algo = pk->pubkey_algo = algo; pk->pkey[0] = mpi_copy( skey[0] ); pk->pkey[1] = mpi_copy( skey[1] ); @@ -1090,7 +1094,8 @@ */ static int gen_dsa(unsigned int nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek, - STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 expireval, int is_subkey) + STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 timestamp, + u32 expireval, int is_subkey) { int rc; PACKET *pkt; @@ -1152,7 +1157,7 @@ sk = xmalloc_clear( sizeof *sk ); pk = xmalloc_clear( sizeof *pk ); - sk->timestamp = pk->timestamp = make_timestamp(); + sk->timestamp = pk->timestamp = timestamp; sk->version = pk->version = 4; if( expireval ) sk->expiredate = pk->expiredate = sk->timestamp + expireval; @@ -1211,7 +1216,8 @@ */ static int gen_rsa(int algo, unsigned nbits, KBNODE pub_root, KBNODE sec_root, DEK *dek, - STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 expireval, int is_subkey) + STRING2KEY *s2k, PKT_secret_key **ret_sk, u32 timestamp, + u32 expireval, int is_subkey) { int rc; PACKET *pkt; @@ -1240,11 +1246,11 @@ sk = xmalloc_clear( sizeof *sk ); pk = xmalloc_clear( sizeof *pk ); - sk->timestamp = pk->timestamp = make_timestamp(); + sk->timestamp = pk->timestamp = timestamp; sk->version = pk->version = 4; - if( expireval ) { - sk->expiredate = pk->expiredate = sk->timestamp + expireval; - } + if( expireval ) + sk->expiredate = pk->expiredate = sk->timestamp + expireval; + sk->pubkey_algo = pk->pubkey_algo = algo; pk->pkey[0] = mpi_copy( skey[0] ); pk->pkey[1] = mpi_copy( skey[1] ); @@ -1910,8 +1916,8 @@ static int do_create( int algo, unsigned int nbits, KBNODE pub_root, KBNODE sec_root, - DEK *dek, STRING2KEY *s2k, PKT_secret_key **sk, u32 expiredate, - int is_subkey ) + DEK *dek, STRING2KEY *s2k, PKT_secret_key **sk, u32 timestamp, + u32 expiredate, int is_subkey ) { int rc=0; @@ -1923,14 +1929,14 @@ "generator a better chance to gain enough entropy.\n") ); if( algo == PUBKEY_ALGO_ELGAMAL_E ) - rc = gen_elg(algo, nbits, pub_root, sec_root, dek, s2k, sk, expiredate, - is_subkey); + rc = gen_elg(algo, nbits, pub_root, sec_root, dek, s2k, sk, timestamp, + expiredate, is_subkey); else if( algo == PUBKEY_ALGO_DSA ) - rc = gen_dsa(nbits, pub_root, sec_root, dek, s2k, sk, expiredate, - is_subkey); + rc = gen_dsa(nbits, pub_root, sec_root, dek, s2k, sk, timestamp, + expiredate, is_subkey); else if( algo == PUBKEY_ALGO_RSA ) - rc = gen_rsa(algo, nbits, pub_root, sec_root, dek, s2k, sk, expiredate, - is_subkey); + rc = gen_rsa(algo, nbits, pub_root, sec_root, dek, s2k, sk, timestamp, + expiredate, is_subkey); else BUG(); @@ -2108,6 +2114,8 @@ return r->u.expire; if( r->key == pKEYUSAGE || r->key == pSUBKEYUSAGE ) return r->u.usage; + if( r->key == pCREATETIME ) + return r->u.create; return (unsigned int)strtoul( r->u.value, NULL, 10 ); } @@ -2148,7 +2156,14 @@ size_t n; char *p; int have_user_id=0,err,algo; + u32 timestamp; + /* If we were told a creation time from outside, use it. Otherwise + look at the clock. */ + timestamp=get_parameter_u32( para, pCREATETIME ); + if(!timestamp) + timestamp=make_timestamp(); + /* Check that we have all required parameters. */ r = get_parameter( para, pKEYTYPE ); if(r) @@ -2320,7 +2335,7 @@ return -1; } - do_generate_keypair( para, outctrl, card ); + do_generate_keypair( para, outctrl, timestamp, card ); return 0; } @@ -2550,7 +2565,7 @@ int algo; unsigned int use; int both = 0; - u32 expire; + u32 timestamp,expire; struct para_data_s *para = NULL; struct para_data_s *r; struct output_control_s outctrl; @@ -2570,6 +2585,13 @@ return; } + timestamp=make_timestamp(); + r = xmalloc_clear( sizeof *r ); + r->key = pCREATETIME; + r->u.create = timestamp; + r->next = para; + para = r; + if (card_serialno) { #ifdef ENABLE_CARD_SUPPORT @@ -2821,8 +2843,8 @@ } static void -do_generate_keypair( struct para_data_s *para, - struct output_control_s *outctrl, int card ) +do_generate_keypair( struct para_data_s *para,struct output_control_s *outctrl, + u32 timestamp,int card ) { KBNODE pub_root = NULL; KBNODE sec_root = NULL; @@ -2925,6 +2947,7 @@ get_parameter_dek( para, pPASSPHRASE_DEK ), get_parameter_s2k( para, pPASSPHRASE_S2K ), &pri_sk, + timestamp, get_parameter_u32( para, pKEYEXPIRE ), 0 ); } else @@ -2984,6 +3007,7 @@ get_parameter_dek( para, pPASSPHRASE_DEK ), get_parameter_s2k( para, pPASSPHRASE_S2K ), &sub_sk, + timestamp, get_parameter_u32( para, pSUBKEYEXPIRE ), 1 ); } else @@ -3145,7 +3169,7 @@ char *passphrase = NULL; DEK *dek = NULL; STRING2KEY *s2k = NULL; - u32 cur_time; + u32 timestamp; int ask_pass = 0; /* break out the primary secret key */ @@ -3158,9 +3182,9 @@ /* make a copy of the sk to keep the protected one in the keyblock */ pri_sk = copy_secret_key( NULL, node->pkt->pkt.secret_key ); - cur_time = make_timestamp(); - if( pri_sk->timestamp > cur_time ) { - ulong d = pri_sk->timestamp - cur_time; + timestamp = make_timestamp(); + if( pri_sk->timestamp > timestamp ) { + ulong d = pri_sk->timestamp - timestamp; log_info( d==1 ? _("key has been created %lu second " "in future (time warp or clock problem)\n") : _("key has been created %lu seconds " @@ -3226,7 +3250,7 @@ } rc = do_create( algo, nbits, pub_keyblock, sec_keyblock, - dek, s2k, &sub_sk, expire, 1 ); + dek, s2k, &sub_sk, timestamp, expire, 1 ); if( !rc ) rc = write_keybinding(pub_keyblock, pub_keyblock, pri_sk, sub_sk, use); if( !rc ) @@ -3263,9 +3287,8 @@ PKT_secret_key *pri_sk = NULL, *sub_sk; int algo; unsigned int use; - u32 expire; + u32 timestamp,expire; char *passphrase = NULL; - u32 cur_time; struct para_data_s *para = NULL; assert (keyno >= 1 && keyno <= 3); @@ -3285,10 +3308,10 @@ /* Make a copy of the sk to keep the protected one in the keyblock */ pri_sk = copy_secret_key (NULL, node->pkt->pkt.secret_key); - cur_time = make_timestamp(); - if (pri_sk->timestamp > cur_time) + timestamp = make_timestamp(); + if (pri_sk->timestamp > timestamp) { - ulong d = pri_sk->timestamp - cur_time; + ulong d = pri_sk->timestamp - timestamp; log_info (d==1 ? _("key has been created %lu second " "in future (time warp or clock problem)\n") : _("key has been created %lu seconds "