Fixed segv in gpg-agent (command marktrusted).

Replaced almost all free by xfree.
Translation fixes.
This commit is contained in:
Werner Koch 2008-05-27 12:03:50 +00:00
parent 3d39dc13d0
commit 138bf2dc15
46 changed files with 194 additions and 114 deletions

6
NEWS
View File

@ -7,12 +7,16 @@ Noteworthy changes in version 2.0.10 (unreleased)
* New mechanisms "local" and "nodefault" for --auto-key-locate [gpg].
Fixed a few problems with this option.
* [W32] Initialize the socket subsystem for all keyserver helpers.
* [W32] Initialized the socket subsystem for all keyserver helpers.
* New gpg2 command --locate-keys.
* New gpg2 options --with-sig-list and --with-sig-check.
* Made gpgsm's --output option work with --export-secret-key-p12.
* gpg-connect-agent accepts commands given as command line arguments.
Noteworthy changes in version 2.0.9 (2008-03-26)
------------------------------------------------

View File

@ -1,3 +1,30 @@
2008-05-27 Werner Koch <wk@g10code.com>
* trustlist.c (insert_colons): Fix stupidly wrong allocation
computation.
2008-05-26 Werner Koch <wk@g10code.com>
* gpg-agent.c (main): Re-initialize default assuan log stream if a
log file is used.
* trustlist.c (agent_marktrusted): Use xtryasprintf and xfree.
* gpg-agent.c (main, agent_deinit_default_ctrl): Always use xfree
because our asprintf is mapped to an xmalloc style function in
util.h. Replace xtrdup by xtrystrdup.
* w32main.c (build_argv): Ditto.
* preset-passphrase.c (preset_passphrase): Ditto.
* divert-scd.c (ask_for_card): Ditto.
* command.c (option_handler): Ditto.
* command-ssh.c (ssh_handler_request_identities): Ditto.
* call-pinentry.c (start_pinentry): Ditto.
* gpg-agent.c (start_connection_thread)
(start_connection_thread_ssh): Use pth_thread_id for useful output
under W32.
(pth_thread_id) [!PTH_HAVE_PTH_THREAD_ID]: New.
2008-03-17 Werner Koch <wk@g10code.com>
* agent.h (agent_inq_pinentry_launched): New prototype.

View File

@ -319,7 +319,7 @@ start_pinentry (ctrl_t ctrl)
return unlock_pinentry (out_of_core ());
rc = assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL,
NULL);
free (optstr);
xfree (optstr);
if (rc)
return unlock_pinentry (rc);
}
@ -373,7 +373,7 @@ start_pinentry (ctrl_t ctrl)
{
assuan_transact (entry_ctx, optstr, NULL, NULL, NULL, NULL, NULL,
NULL);
free (optstr);
xfree (optstr);
}
}

View File

@ -1960,7 +1960,7 @@ ssh_handler_request_identities (ctrl_t ctrl,
if (ctrl_fp)
fclose (ctrl_fp);
free (key_directory);
xfree (key_directory);
xfree (key_path);
xfree (buffer);
xfree (key_type);
@ -2430,7 +2430,7 @@ ssh_identity_register (ctrl_t ctrl, gcry_sexp_t key, int ttl)
xfree (pi);
xfree (buffer);
xfree (comment);
free (description); /* (asprintf allocated, thus regular free.) */
xfree (description);
return err;
}

View File

@ -1422,8 +1422,8 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
if (!strcmp (key, "display"))
{
if (ctrl->display)
free (ctrl->display);
ctrl->display = strdup (value);
xfree (ctrl->display);
ctrl->display = xtrystrdup (value);
if (!ctrl->display)
return out_of_core ();
}
@ -1432,8 +1432,8 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
if (!opt.keep_tty)
{
if (ctrl->ttyname)
free (ctrl->ttyname);
ctrl->ttyname = strdup (value);
xfree (ctrl->ttyname);
ctrl->ttyname = xtrystrdup (value);
if (!ctrl->ttyname)
return out_of_core ();
}
@ -1443,8 +1443,8 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
if (!opt.keep_tty)
{
if (ctrl->ttytype)
free (ctrl->ttytype);
ctrl->ttytype = strdup (value);
xfree (ctrl->ttytype);
ctrl->ttytype = xtrystrdup (value);
if (!ctrl->ttytype)
return out_of_core ();
}
@ -1452,32 +1452,32 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
else if (!strcmp (key, "lc-ctype"))
{
if (ctrl->lc_ctype)
free (ctrl->lc_ctype);
ctrl->lc_ctype = strdup (value);
xfree (ctrl->lc_ctype);
ctrl->lc_ctype = xtrystrdup (value);
if (!ctrl->lc_ctype)
return out_of_core ();
}
else if (!strcmp (key, "lc-messages"))
{
if (ctrl->lc_messages)
free (ctrl->lc_messages);
ctrl->lc_messages = strdup (value);
xfree (ctrl->lc_messages);
ctrl->lc_messages = xtrystrdup (value);
if (!ctrl->lc_messages)
return out_of_core ();
}
else if (!strcmp (key, "xauthority"))
{
if (ctrl->xauthority)
free (ctrl->xauthority);
ctrl->xauthority = strdup (value);
xfree (ctrl->xauthority);
ctrl->xauthority = xtrystrdup (value);
if (!ctrl->xauthority)
return out_of_core ();
}
else if (!strcmp (key, "pinentry-user-data"))
{
if (ctrl->pinentry_user_data)
free (ctrl->pinentry_user_data);
ctrl->pinentry_user_data = strdup (value);
xfree (ctrl->pinentry_user_data);
ctrl->pinentry_user_data = xtrystrdup (value);
if (!ctrl->pinentry_user_data)
return out_of_core ();
}
@ -1515,7 +1515,7 @@ io_monitor (assuan_context_t ctx, int direction,
const char *line, size_t linelen)
{
ctrl_t ctrl = assuan_get_pointer (ctx);
/* Note that we only check for the uppercase name. This allows to
see the logging for debugging if using a non-upercase command
name. */

View File

@ -120,7 +120,7 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid)
else
{
rc = agent_get_confirmation (ctrl, desc, NULL, NULL);
free (desc);
xfree (desc);
}
}
if (rc)
@ -293,7 +293,7 @@ getpin_cb (void *opaque, const char *info, char *buf, size_t maxbuf)
info? "')":"") < 0)
desc = NULL;
rc = agent_askpin (ctrl, desc?desc:info, prompt, NULL, pi);
free (desc);
xfree (desc);
}
if (!rc)

View File

@ -263,6 +263,13 @@ static int fixed_gcry_pth_init (void)
}
#ifndef PTH_HAVE_PTH_THREAD_ID
static unsigned long pth_thread_id (void)
{
return (unsigned long)pth_self ();
}
#endif
/*
@ -840,6 +847,7 @@ main (int argc, char **argv )
|JNLIB_LOG_WITH_TIME
|JNLIB_LOG_WITH_PID));
current_logfile = xstrdup (logfile);
assuan_set_assuan_log_stream (log_get_stream ());
}
/* Make sure that we have a default ttyname. */
@ -1034,11 +1042,11 @@ main (int argc, char **argv )
printf ("%s; export SSH_AGENT_PID;\n", infostr_ssh_pid);
}
}
free (infostr); /* (Note that a vanilla free is here correct.) */
xfree (infostr);
if (opt.ssh_support)
{
free (infostr_ssh_sock);
free (infostr_ssh_pid);
xfree (infostr_ssh_sock);
xfree (infostr_ssh_pid);
}
exit (0);
}
@ -1132,31 +1140,33 @@ agent_init_default_ctrl (ctrl_t ctrl)
and the request will fail anyway shortly after this
initialization. */
if (ctrl->display)
free (ctrl->display);
ctrl->display = default_display? strdup (default_display) : NULL;
xfree (ctrl->display);
ctrl->display = default_display? xtrystrdup (default_display) : NULL;
if (ctrl->ttyname)
free (ctrl->ttyname);
ctrl->ttyname = default_ttyname? strdup (default_ttyname) : NULL;
xfree (ctrl->ttyname);
ctrl->ttyname = default_ttyname? xtrystrdup (default_ttyname) : NULL;
if (ctrl->ttytype)
free (ctrl->ttytype);
ctrl->ttytype = default_ttytype? strdup (default_ttytype) : NULL;
xfree (ctrl->ttytype);
ctrl->ttytype = default_ttytype? xtrystrdup (default_ttytype) : NULL;
if (ctrl->lc_ctype)
free (ctrl->lc_ctype);
ctrl->lc_ctype = default_lc_ctype? strdup (default_lc_ctype) : NULL;
xfree (ctrl->lc_ctype);
ctrl->lc_ctype = default_lc_ctype? xtrystrdup (default_lc_ctype) : NULL;
if (ctrl->lc_messages)
free (ctrl->lc_messages);
ctrl->lc_messages = default_lc_messages? strdup (default_lc_messages) : NULL;
xfree (ctrl->lc_messages);
ctrl->lc_messages = default_lc_messages? xtrystrdup (default_lc_messages)
/**/ : NULL;
if (ctrl->xauthority)
free (ctrl->xauthority);
ctrl->xauthority = default_xauthority? strdup (default_xauthority) : NULL;
xfree (ctrl->xauthority);
ctrl->xauthority = default_xauthority? xtrystrdup (default_xauthority)
/**/: NULL;
if (ctrl->pinentry_user_data)
free (ctrl->pinentry_user_data);
xfree (ctrl->pinentry_user_data);
ctrl->pinentry_user_data = NULL;
}
@ -1165,19 +1175,19 @@ static void
agent_deinit_default_ctrl (ctrl_t ctrl)
{
if (ctrl->display)
free (ctrl->display);
xfree (ctrl->display);
if (ctrl->ttyname)
free (ctrl->ttyname);
xfree (ctrl->ttyname);
if (ctrl->ttytype)
free (ctrl->ttytype);
xfree (ctrl->ttytype);
if (ctrl->lc_ctype)
free (ctrl->lc_ctype);
xfree (ctrl->lc_ctype);
if (ctrl->lc_messages)
free (ctrl->lc_messages);
xfree (ctrl->lc_messages);
if (ctrl->xauthority)
free (ctrl->xauthority);
xfree (ctrl->xauthority);
if (ctrl->pinentry_user_data)
free (ctrl->pinentry_user_data);
xfree (ctrl->pinentry_user_data);
}
/* Reread parts of the configuration. Note, that this function is
@ -1622,12 +1632,12 @@ start_connection_thread (void *arg)
agent_init_default_ctrl (ctrl);
if (opt.verbose)
log_info (_("handler 0x%lx for fd %d started\n"),
(long)pth_self (), FD2INT(ctrl->thread_startup.fd));
pth_thread_id (), FD2INT(ctrl->thread_startup.fd));
start_command_handler (ctrl, GNUPG_INVALID_FD, ctrl->thread_startup.fd);
if (opt.verbose)
log_info (_("handler 0x%lx for fd %d terminated\n"),
(long)pth_self (), FD2INT(ctrl->thread_startup.fd));
pth_thread_id (), FD2INT(ctrl->thread_startup.fd));
agent_deinit_default_ctrl (ctrl);
xfree (ctrl);
@ -1647,12 +1657,12 @@ start_connection_thread_ssh (void *arg)
agent_init_default_ctrl (ctrl);
if (opt.verbose)
log_info (_("ssh handler 0x%lx for fd %d started\n"),
(long)pth_self (), FD2INT(ctrl->thread_startup.fd));
pth_thread_id (), FD2INT(ctrl->thread_startup.fd));
start_command_handler_ssh (ctrl, ctrl->thread_startup.fd);
if (opt.verbose)
log_info (_("ssh handler 0x%lx for fd %d terminated\n"),
(long)pth_self (), FD2INT(ctrl->thread_startup.fd));
pth_thread_id (), FD2INT(ctrl->thread_startup.fd));
agent_deinit_default_ctrl (ctrl);
xfree (ctrl);

View File

@ -205,7 +205,7 @@ preset_passphrase (const char *keygrip)
}
wipememory (line, strlen (line));
free (line);
xfree (line);
}
@ -222,7 +222,7 @@ forget_passphrase (const char *keygrip)
gpg_strerror (gpg_error_from_syserror ()));
return;
}
free (line);
xfree (line);
}

View File

@ -463,8 +463,9 @@ insert_colons (const char *string)
{
char *buffer, *p;
size_t n = strlen (string);
size_t nnew = n + (n+1)/2;
p = buffer = xtrymalloc ( n + (n+2)/3 + 1 );
p = buffer = xtrymalloc ( nnew + 1 );
if (!buffer)
return NULL;
while (*string)
@ -478,6 +479,7 @@ insert_colons (const char *string)
}
}
*p = 0;
assert (strlen (buffer) <= nnew);
return buffer;
}
@ -526,7 +528,7 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
fprformatted = insert_colons (fpr);
if (!fprformatted)
return out_of_core ();
if (asprintf (&desc,
desc = xtryasprintf (
/* TRANSLATORS: This prompt is shown by the Pinentry
and has one special property: A "%%0A" is used by
Pinentry to insert a line break. The double
@ -539,7 +541,8 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
_("Please verify that the certificate identified as:%%0A"
" \"%s\"%%0A"
"has the fingerprint:%%0A"
" %s"), name, fprformatted) < 0 )
" %s"), name, fprformatted);
if (!desc)
{
xfree (fprformatted);
return out_of_core ();
@ -549,7 +552,7 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
be hit if the fingerprint matches the one of the CA. The other
button is "the default "Cancel" of the Pinentry. */
err = agent_get_confirmation (ctrl, desc, _("Correct"), NULL);
free (desc);
xfree (desc);
/* If the user did not confirmed this, we return cancel here so that
gpgsm may stop asking further questions. We won't do this for
the second question of course. */
@ -562,7 +565,7 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
if (asprintf (&desc,
desc = xtryasprintf (
/* TRANSLATORS: This prompt is shown by the Pinentry
and has one special property: A "%%0A" is used by
Pinentry to insert a line break. The double
@ -574,14 +577,15 @@ agent_marktrusted (ctrl_t ctrl, const char *name, const char *fpr, int flag)
_("Do you ultimately trust%%0A"
" \"%s\"%%0A"
"to correctly certify user certificates?"),
name) < 0 )
name);
if (!desc)
{
xfree (fprformatted);
return out_of_core ();
}
err = agent_get_confirmation (ctrl, desc, _("Yes"), _("No"));
free (desc);
xfree (desc);
if (err)
{
xfree (fprformatted);

View File

@ -92,10 +92,10 @@ build_argv (char *cmdline_arg, int reserved)
}
}
argv = malloc (argc * sizeof *argv);
argv = xtrymalloc (argc * sizeof *argv);
if (!argv)
{
free (cmdline);
xfree (cmdline);
return NULL;
}

View File

@ -93,7 +93,7 @@ if test "$1" = "--build-w32"; then
--with-zlib=${w32root} \
--with-regex=${w32root} \
--with-pth-prefix=${w32root} \
--with-adns=${w32root}
--with-adns=${w32root} \
--without-included-gettext "$@"
rc=$?
exit $rc

View File

@ -1,3 +1,13 @@
2008-05-26 Werner Koch <wk@g10code.com>
* asshelp.c (send_one_option, send_pinentry_environment): use
xfree and xtrystrdup.
* i18n.c (i18n_switchto_utf8) [USE_SIMPLE_GETTEXT]: Return NULL.
* homedir.c (gnupg_module_name): Add
GNUPG_MODULE_NAME_CONNECT_AGENT and GNUPG_MODULE_NAME_GPGCONF.
2008-04-21 Werner Koch <wk@g10code.com>
* http.c (http_wait_response) [W32]: Use DuplicateHandle because

View File

@ -49,7 +49,7 @@ send_one_option (assuan_context_t ctx, gpg_err_source_t errsource,
else
{
err = assuan_transact (ctx, optstr, NULL, NULL, NULL, NULL, NULL, NULL);
free (optstr);
xfree (optstr);
}
return err;
@ -119,7 +119,7 @@ send_pinentry_environment (assuan_context_t ctx,
old_lc = setlocale (LC_CTYPE, NULL);
if (old_lc)
{
old_lc = strdup (old_lc);
old_lc = xtrystrdup (old_lc);
if (!old_lc)
return gpg_error_from_syserror ();
}
@ -134,7 +134,7 @@ send_pinentry_environment (assuan_context_t ctx,
if (old_lc)
{
setlocale (LC_CTYPE, old_lc);
free (old_lc);
xfree (old_lc);
}
#endif
if (err)
@ -145,7 +145,7 @@ send_pinentry_environment (assuan_context_t ctx,
old_lc = setlocale (LC_MESSAGES, NULL);
if (old_lc)
{
old_lc = strdup (old_lc);
old_lc = xtrystrdup (old_lc);
if (!old_lc)
return gpg_error_from_syserror ();
}
@ -160,7 +160,7 @@ send_pinentry_environment (assuan_context_t ctx,
if (old_lc)
{
setlocale (LC_MESSAGES, old_lc);
free (old_lc);
xfree (old_lc);
}
#endif
if (err)

View File

@ -383,6 +383,12 @@ gnupg_module_name (int which)
case GNUPG_MODULE_NAME_GPG:
X(bindir, "gpg2");
case GNUPG_MODULE_NAME_CONNECT_AGENT:
X(bindir, "gpg-connect-agent");
case GNUPG_MODULE_NAME_GPGCONF:
X(bindir, "gpgconf");
default:
BUG ();
}

View File

@ -52,6 +52,7 @@ i18n_switchto_utf8 (void)
{
#ifdef USE_SIMPLE_GETTEXT
gettext_select_utf8 (1);
return NULL;
#elif defined(ENABLE_NLS)
char *orig_codeset = bind_textdomain_codeset (PACKAGE_GT, NULL);
# ifdef HAVE_LANGINFO_CODESET
@ -81,6 +82,7 @@ void
i18n_switchback (char *saved_codeset)
{
#ifdef USE_SIMPLE_GETTEXT
(void)saved_codeset;
gettext_select_utf8 (0);
#elif defined(ENABLE_NLS)
if (saved_codeset)

View File

@ -194,6 +194,8 @@ const char *dirmngr_socket_name (void);
#define GNUPG_MODULE_NAME_CHECK_PATTERN 6
#define GNUPG_MODULE_NAME_GPGSM 7
#define GNUPG_MODULE_NAME_GPG 8
#define GNUPG_MODULE_NAME_CONNECT_AGENT 9
#define GNUPG_MODULE_NAME_GPGCONF 10
const char *gnupg_module_name (int which);

View File

@ -1,3 +1,7 @@
2008-05-26 Werner Koch <wk@g10code.com>
* argparse.c (usage): Make sure to print a trailing LF for usage(1).
2008-04-08 Werner Koch <wk@g10code.com>
* w32-gettext.c (gettext_select_utf8): New.

View File

@ -896,6 +896,8 @@ show_version()
void
usage (int level)
{
const char *p;
if (!level)
{
fprintf(stderr,"%s %s; %s\n", strusage(11), strusage(13), strusage (14));
@ -903,7 +905,10 @@ usage (int level)
}
else if (level == 1)
{
fputs (strusage (40), stderr);
p = strusage (40);
fputs (p, stderr);
if (*p && p[strlen(p)] != '\n')
putc ('\n', stderr);
exit (2);
}
else if (level == 2)

View File

@ -1,3 +1,9 @@
2008-05-26 Werner Koch <wk@g10code.com>
* de.po: Minor fixes submitted by Jan Seidel. Fixes bug#916.
* it.po: Typo fix. Fixes bug#920.
2008-05-09 Werner Koch <wk@g10code.com>
* de.po: Update.

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2003-10-30 16:35+0200\n"
"Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"

View File

@ -27,7 +27,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2005-02-04 02:04+0100\n"
"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.3.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-11-26 09:12+0200\n"
"Last-Translator: Roman Pavlik <rp@tns.cz>\n"
"Language-Team: Czech <translations.cs@gnupg.cz>\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.0h\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2003-12-03 16:11+0100\n"
"Last-Translator: Birger Langkjer <birger.langkjer@image.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-2.0.6\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2008-05-09 11:21+0200\n"
"Last-Translator: Walter Koch <koch@u32.de>\n"
"Language-Team: German <de@li.org>\n"
@ -1948,7 +1948,7 @@ msgstr ""
#: g10/gpg.c:794
msgid "Pubkey: "
msgstr "Öff.Schlüssel: "
msgstr "Öff. Schlüssel: "
#: g10/gpg.c:801 g10/keyedit.c:2321
msgid "Cipher: "
@ -2645,7 +2645,7 @@ msgstr " geheime Schlüssel importiert: %lu\n"
#: g10/import.c:322 sm/import.c:122
#, c-format
msgid " secret keys unchanged: %lu\n"
msgstr " unveränderte geh.Schl.: %lu\n"
msgstr " unveränderte geh. Schl.: %lu\n"
#: g10/import.c:324 sm/import.c:124
#, c-format
@ -2693,7 +2693,7 @@ msgstr "es ist extrem empfehlenswert Ihre Einstellungen zu ändern und\n"
#: g10/import.c:652
msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
msgstr ""
"diesen Schüssel wieder zu verteilen, um mögliche Probleme durch unpassende "
"diesen Schlüssel wieder zu verteilen, um mögliche Probleme durch unpassende "
"Verfahrenskombinationen zu vermeiden\n"
#: g10/import.c:676
@ -3322,7 +3322,7 @@ msgstr "Beglaubigung fehlgeschlagen: %s\n"
#: g10/keyedit.c:1131
msgid "Key has only stub or on-card key items - no passphrase to change.\n"
msgstr ""
"Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schüsselelemente- keine "
"Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schlüsselelemente- keine "
"Passphrase ist zu ändern.\n"
#: g10/keyedit.c:1142 g10/keygen.c:3530
@ -3568,7 +3568,7 @@ msgstr "Schlüssel wurde widerrufen."
#: g10/keyedit.c:1766
msgid "Really sign all user IDs? (y/N) "
msgstr "Wirklich alle User-IDs beglaubigen? "
msgstr "Wirklich alle User-IDs beglaubigen? (j/N) "
#: g10/keyedit.c:1773
msgid "Hint: Select the user IDs to sign\n"
@ -3644,15 +3644,15 @@ msgstr "Diese User-ID wirklich widerrufen? (j/N) "
#: g10/keyedit.c:2035
msgid "Do you really want to revoke the entire key? (y/N) "
msgstr "Möchten Sie diesen Schlüssel wirklich vollständig widerrufen? "
msgstr "Möchten Sie diesen Schlüssel wirklich vollständig widerrufen? (j/N) "
#: g10/keyedit.c:2046
msgid "Do you really want to revoke the selected subkeys? (y/N) "
msgstr "Möchten Sie die ausgewählten Unterschlüssel wirklich widerrufen? "
msgstr "Möchten Sie die ausgewählten Unterschlüssel wirklich widerrufen? (j/N) "
#: g10/keyedit.c:2048
msgid "Do you really want to revoke this subkey? (y/N) "
msgstr "Möchten Sie diesen Schlüssel wirklich widerrufen? "
msgstr "Möchten Sie diesen Schlüssel wirklich widerrufen? (j/N) "
#: g10/keyedit.c:2098
msgid "Owner trust may not be set while using a user provided trust database\n"
@ -3676,11 +3676,11 @@ msgstr "Die Voreinstellungen wirklich ändern? (j/N) "
#: g10/keyedit.c:2216
msgid "Save changes? (y/N) "
msgstr "Änderungen speichern? "
msgstr "Änderungen speichern? (j/N) "
#: g10/keyedit.c:2219
msgid "Quit without saving? (y/N) "
msgstr "Beenden ohne zu speichern? "
msgstr "Beenden ohne zu speichern? (j/N) "
#: g10/keyedit.c:2229
#, c-format
@ -3824,7 +3824,7 @@ msgstr "Wollen Sie ihn immer noch hinzufügen? (j/N) "
#: g10/keyedit.c:3032
msgid "You may not add a photo ID to a PGP2-style key.\n"
msgstr "Sie können einem PGP2-artigen SchlüÂüsel keine Foto-ID hinzufügen.\n"
msgstr "Sie können einem PGP2-artigen Schlüssel keine Foto-ID hinzufügen.\n"
#: g10/keyedit.c:3172
msgid "Delete this good signature? (y/N/q)"
@ -3898,7 +3898,7 @@ msgstr ""
#: g10/keyedit.c:3367
msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
msgstr ""
"Sie können einem PGP2-artigen SchlüÂüsel keine vorgesehenen Widerrufer "
"Sie können einem PGP2-artigen Schlüssel keine vorgesehenen Widerrufer "
"hinzufügen.\n"
#: g10/keyedit.c:3387
@ -5288,7 +5288,7 @@ msgstr ""
"Wählen Sie ein Bild für Ihre Foto-ID aus. Das Bild muß eine JPEG-Datei\n"
"sein. Bitte beachten Sie, daß das Bild in Ihrem öffentlichen\n"
"Schlüssel gespeichert wird. Wenn Sie ein sehr großes Bild benutzen,\n"
"wir Ihr Schlüssel leider auch sehr groß werden. Ein Bild der GröÂße\n"
"wir Ihr Schlüssel leider auch sehr groß werden. Ein Bild der Größe\n"
"240x288 Pixel ist eine gute Wahl.\n"
#: g10/photoid.c:94
@ -5655,7 +5655,7 @@ msgstr "alte Kodierung des DEK wird nicht unterstützt\n"
#: g10/pubkey-enc.c:246
#, c-format
msgid "cipher algorithm %d%s is unknown or disabled\n"
msgstr "Verschüsselungsverfahren %d%s ist unbekannt oder abgeschaltet\n"
msgstr "Verschlüsselungsverfahren %d%s ist unbekannt oder abgeschaltet\n"
#: g10/pubkey-enc.c:284
#, c-format
@ -5754,7 +5754,7 @@ msgid ""
msgstr ""
"Widerrufszertifikat wurde erzeugt.\n"
"\n"
"Bitte speichern Sie es auf einem Medium welches sie wegschliessen\n"
"Bitte speichern Sie es auf einem Medium welches sie wegschließen\n"
"können; falls Mallory (ein Angreifer) Zugang zu diesem Zertifikat\n"
"erhält, kann erIhren Schlüssel unbrauchbar machen. Es wäre klug,\n"
"dieses Widerrufszertifikat auch auszudrucken und sicher aufzubewahren,\n"
@ -5837,7 +5837,7 @@ msgstr "Unsicherer Schlüssel erzeugt - neuer Versuch\n"
msgid "cannot avoid weak key for symmetric cipher; tried %d times!\n"
msgstr ""
"Trotz %d-fachen Versuch konnte die Erzeugung eines unsicheren Schlüssels für "
"sym.Verschlüsselung nicht vermieden werden!\n"
"sym. Verschlüsselung nicht vermieden werden!\n"
#: g10/seskey.c:227 sm/certcheck.c:89
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
@ -6352,7 +6352,7 @@ msgstr "keine uneingeschränkt vertrauenswürdige Schlüssel gefunden\n"
#, c-format
msgid "public key of ultimately trusted key %s not found\n"
msgstr ""
"öff.Schlüssel des uneingeschränkt vertrautem Schlüssel %s nicht gefunden\n"
"öff. Schlüssel des uneingeschränkt vertrautem Schlüssel %s nicht gefunden\n"
#: g10/trustdb.c:2268
#, c-format
@ -8080,7 +8080,7 @@ msgstr "Fehler beim Lesen von %s: %s\n"
#: tools/symcryptrun.c:394 tools/symcryptrun.c:401
#, c-format
msgid "error closing %s: %s\n"
msgstr "Fehler beim Schliessen von %s: %s\n"
msgstr "Fehler beim Schließen von %s: %s\n"
#: tools/symcryptrun.c:486
msgid "no --program option provided\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-1.1.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2003-06-27 12:00+0200\n"
"Last-Translator: Dokianakis Theofanis <madf@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0.6d\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2002-04-14 14:33+0100\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2007-08-16 11:35+0200\n"
"Last-Translator: Jaime Suárez <jsuarez@ono.com>\n"
"Language-Team: Spanish <es@li.org>\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-06-17 11:04+0300\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
"Language-Team: Estonian <et@li.org>\n"

View File

@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-06-16 22:40+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc2\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2005-06-28 00:24+0200\n"
"Last-Translator: Gaël Quéri <gael@lautre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2003-12-04 11:39+0100\n"
"Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-06-19 21:53+0200\n"
"Last-Translator: Nagy Ferenc László <nfl@nfllab.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-id\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-06-17 16:32+0700\n"
"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.1.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"PO-Revision-Date: 2004-06-16 17:01+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2008-05-26 12:02+0200\n"
"Last-Translator: Marco d'Itri <md@linux.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
@ -6408,7 +6408,7 @@ msgstr "non
#: g10/trustdb.c:577 g10/trustdb.c:2423
#, c-format
msgid "next trustdb check due at %s\n"
msgstr "il prossimoi controllo del trustdb sarà fatto il %s\n"
msgstr "il prossimo controllo del trustdb sarà fatto il %s\n"
#: g10/trustdb.c:586
#, fuzzy, c-format

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.3.92\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-11-23 11:14+0900\n"
"Last-Translator: IIDA Yosiaki <iida@gnu.org>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.3\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2006-06-13 20:31+0200\n"
"Last-Translator: Trond Endrestøl <Trond.Endrestol@fagskolen.gjovik.no>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-2.0.7\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2007-11-26 19:01+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2002-09-13 18:26+0100\n"
"Last-Translator: Pedro Morais <morais@kde.org>\n"
"Language-Team: pt <morais@kde.org>\n"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2007-08-16 11:35+0200\n"
"Last-Translator:\n"
"Language-Team: ?\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.2rc1\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2005-05-31 22:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GnuPG 2.0.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2006-11-07 19:31+0300\n"
"Last-Translator: Maxim Britov <maxim.britov@gmail.com>\n"
"Language-Team: Russian <gnupg-ru@gnupg.org>\n"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.2.5\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2004-07-20 15:52+0200\n"
"Last-Translator: Michal Majer <mmajer@econ.umb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"

View File

@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg trunk\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2007-11-12 16:08+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.9.94\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2006-11-04 03:45+0200\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@belgeler.gen.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 1.4.4\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2006-07-02 10:58+0800\n"
"Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 2.0.9\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
"POT-Creation-Date: 2008-05-09 11:28+0200\n"
"POT-Creation-Date: 2008-05-09 11:38+0200\n"
"PO-Revision-Date: 2008-03-26 22:35+0800\n"
"Last-Translator: Jedi Lin <Jedi@Jedi.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"