summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--NEWS57
-rw-r--r--agent/call-pinentry.c8
-rw-r--r--agent/command-ssh.c7
-rw-r--r--agent/command.c2
-rw-r--r--build-aux/speedo.mk14
-rwxr-xr-xbuild-aux/speedo/patches/gpgme-1.12.0.patch36
-rw-r--r--common/iobuf.c6
-rw-r--r--common/simple-pwquery.c1
-rw-r--r--common/ssh-utils.c2
-rw-r--r--common/sysutils.c11
-rw-r--r--configure.ac11
-rw-r--r--dirmngr/dirmngr.c6
-rw-r--r--dirmngr/ks-engine-hkp.c12
-rw-r--r--dirmngr/ks-engine-ldap.c33
-rw-r--r--dirmngr/misc.c2
-rw-r--r--dirmngr/ocsp.c27
-rw-r--r--dirmngr/server.c33
-rw-r--r--doc/gpg.texi3
-rw-r--r--doc/wks.texi70
-rw-r--r--g10/build-packet.c2
-rw-r--r--g10/call-dirmngr.c13
-rw-r--r--g10/card-util.c3
-rw-r--r--g10/import.c2
-rw-r--r--g10/sig-check.c3
-rw-r--r--g10/tdbio.c29
-rw-r--r--po/ca.po63
-rw-r--r--po/cs.po204
-rw-r--r--po/da.po77
-rw-r--r--po/de.po20
-rw-r--r--po/el.po61
-rw-r--r--po/eo.po60
-rw-r--r--po/es.po78
-rw-r--r--po/et.po61
-rw-r--r--po/fi.po61
-rw-r--r--po/fr.po75
-rw-r--r--po/gl.po61
-rw-r--r--po/hu.po61
-rw-r--r--po/id.po61
-rw-r--r--po/it.po61
-rw-r--r--po/ja.po65
-rw-r--r--po/nb.po70
-rw-r--r--po/pl.po77
-rw-r--r--po/pt.po61
-rw-r--r--po/ro.po62
-rw-r--r--po/sk.po61
-rw-r--r--po/sv.po77
-rw-r--r--po/tr.po70
-rw-r--r--po/uk.po72
-rw-r--r--po/zh_CN.po62
-rw-r--r--po/zh_TW.po75
-rw-r--r--scd/app-openpgp.c5
-rw-r--r--sm/call-dirmngr.c28
-rw-r--r--sm/gpgsm.c2
-rw-r--r--tools/gpg-connect-agent.c6
-rw-r--r--tools/gpg-wks-client.c254
-rw-r--r--tools/gpg-wks-server.c29
-rw-r--r--tools/gpg-wks.h1
-rw-r--r--tools/mime-maker.c47
-rw-r--r--tools/rfc822parse.c103
-rw-r--r--tools/rfc822parse.h2
-rw-r--r--tools/wks-util.c2
62 files changed, 1499 insertions, 1130 deletions
diff --git a/Makefile.am b/Makefile.am
index 680fe1b..2c7a462 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,6 +58,7 @@ EXTRA_DIST = build-aux/config.rpath build-aux/potomo autogen.sh autogen.rc \
build-aux/speedo/patches/atk-1.32.0.patch \
build-aux/speedo/patches/libiconv-1.14.patch \
build-aux/speedo/patches/pango-1.29.4.patch \
+ build-aux/speedo/patches/gpgme-1.12.0.patch \
build-aux/speedo/patches/sqlite.patch
diff --git a/NEWS b/NEWS
index f446e43..2d72ada 100644
--- a/NEWS
+++ b/NEWS
@@ -1,17 +1,62 @@
+Noteworthy changes in version 2.2.11 (2018-11-06)
+-------------------------------------------------
+
+ * gpgsm: Fix CRL loading when intermediate certicates are not yet
+ trusted.
+
+ * gpgsm: Fix an error message about the digest algo. [#4219]
+
+ * gpg: Fix a wrong warning due to new sign usage check introduced
+ with 2.2.9. [#4014]
+
+ * gpg: Print the "data source" even for an unsuccessful keyserver
+ query.
+
+ * gpg: Do not store the TOFU trust model in the trustdb. This
+ allows to enable or disable a TOFO model without triggering a
+ trustdb rebuild. [#4134]
+
+ * scd: Fix cases of "Bad PIN" after using "forcesig". [#4177]
+
+ * agent: Fix possible hang in the ssh handler. [#4221]
+
+ * dirmngr: Tack the unmodified mail address to a WKD request. See
+ commit a2bd4a64e5b057f291a60a9499f881dd47745e2f for details.
+
+ * dirmngr: Tweak diagnostic about missing LDAP server file.
+
+ * dirmngr: In verbose mode print the OCSP responder id.
+
+ * dirmngr: Fix parsing of the LDAP port. [#4230]
+
+ * wks: Add option --directory/-C to the server. Always build the
+ server on Unix systems.
+
+ * wks: Add option --with-colons to the client. Support sites which
+ use the policy file instead of the submission-address file.
+
+ * Fix EBADF when gpg et al. are called by broken CGI scripts.
+
+ * Fix some minor memory leaks and bugs.
+
+ Release-info: https://dev.gnupg.org/T4233
+ See-also: gnupg-announce/2018q4/000432.html
+
+
Noteworthy changes in version 2.2.10 (2018-08-30)
-------------------------------------------------
- gpg: Refresh expired keys originating from the WKD. [#2917]
+ * gpg: Refresh expired keys originating from the WKD. [#2917]
- gpg: Use a 256 KiB limit for a WKD imported key.
+ * gpg: Use a 256 KiB limit for a WKD imported key.
- gpg: New option --known-notation. [#4060]
+ * gpg: New option --known-notation. [#4060]
- scd: Add support for the Trustica Cryptoucan reader.
+ * scd: Add support for the Trustica Cryptoucan reader.
- agent: Speed up starting during on-demand launching. [#3490]
+ * agent: Speed up starting during on-demand launching. [#3490]
- dirmngr: Validate SRV records in WKD queries.
+ * dirmngr: Validate SRV records in WKD queries.
Release-info: https://dev.gnupg.org/T4112
See-also: gnupg-announce/2018q3/000428.html
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c
index a088681..b68d0a8 100644
--- a/agent/call-pinentry.c
+++ b/agent/call-pinentry.c
@@ -98,11 +98,15 @@ void
initialize_module_call_pinentry (void)
{
static int initialized;
+ int err;
if (!initialized)
{
- if (npth_mutex_init (&entry_lock, NULL))
- initialized = 1;
+ err = npth_mutex_init (&entry_lock, NULL);
+ if (err)
+ log_fatal ("error initializing mutex: %s\n", strerror (err));
+
+ initialized = 1;
}
}
diff --git a/agent/command-ssh.c b/agent/command-ssh.c
index 20dc3fe..9255830 100644
--- a/agent/command-ssh.c
+++ b/agent/command-ssh.c
@@ -3244,9 +3244,10 @@ ssh_handler_add_identity (ctrl_t ctrl, estream_t request, estream_t response)
while (1)
{
err = stream_read_byte (request, &b);
- if (gpg_err_code (err) == GPG_ERR_EOF)
- {
- err = 0;
+ if (err)
+ {
+ if (gpg_err_code (err) == GPG_ERR_EOF)
+ err = 0;
break;
}
diff --git a/agent/command.c b/agent/command.c
index 20abb28..adb2c00 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -860,7 +860,7 @@ cmd_genkey (assuan_context_t ctx, char *line)
ctrl_t ctrl = assuan_get_pointer (ctx);
int rc;
int no_protection;
- unsigned char *value;
+ unsigned char *value = NULL;
size_t valuelen;
unsigned char *newpasswd = NULL;
membuf_t outbuf;
diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk
index 320d440..9c4189a 100644
--- a/build-aux/speedo.mk
+++ b/build-aux/speedo.mk
@@ -157,8 +157,9 @@ INST_NAME=gnupg-w32
# Use this to override the installaion directory for native builds.
INSTALL_PREFIX=none
-# The Authenticode key used to sign the Windows installer
+# The Authenticode key and cert chain used to sign the Windows installer
AUTHENTICODE_KEY=${HOME}/.gnupg/g10code-authenticode-key.p12
+AUTHENTICODE_CERTS=${HOME}/.gnupg/g10code-authenticode-certs.pem
# Directory names.
@@ -520,12 +521,12 @@ endif
# The LDFLAGS is needed for -lintl for glib.
ifeq ($(WITH_GUI),1)
speedo_pkg_gpgme_configure = \
- --enable-static --enable-w32-glib --disable-w32-qt \
+ --enable-static --enable-w32-glib \
--with-gpg-error-prefix=$(idir) \
LDFLAGS=-L$(idir)/lib
else
speedo_pkg_gpgme_configure = \
- --disable-static --disable-w32-glib --disable-w32-qt \
+ --disable-static --disable-w32-glib \
--with-gpg-error-prefix=$(idir) \
LDFLAGS=-L$(idir)/lib
endif
@@ -1266,8 +1267,11 @@ sign-installer:
echo "speedo: * Signing installer" ;\
echo "speedo: * Key: $(AUTHENTICODE_KEY)";\
echo "speedo: */" ;\
- osslsigncode sign -pkcs12 $(AUTHENTICODE_KEY) -askpass \
- -h sha256 -in "PLAY/inst/$$exefile" -out "../../$$exefile" ;\
+ osslsigncode sign -certs $(AUTHENTICODE_CERTS)\
+ -pkcs12 $(AUTHENTICODE_KEY) -askpass \
+ -ts "http://timestamp.globalsign.com/scripts/timstamp.dll" \
+ -h sha256 -n GnuPG -i https://gnupg.org \
+ -in "PLAY/inst/$$exefile" -out "../../$$exefile" ;\
exefile="../../$$exefile" ;\
$(call MKSWDB_commands,$${exefile},$${reldate}); \
echo "speedo: /*" ;\
diff --git a/build-aux/speedo/patches/gpgme-1.12.0.patch b/build-aux/speedo/patches/gpgme-1.12.0.patch
new file mode 100755
index 0000000..1920dcf
--- /dev/null
+++ b/build-aux/speedo/patches/gpgme-1.12.0.patch
@@ -0,0 +1,36 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+ From 4faa0ccf58c7a0f64f51dcbc8466add660080414 Mon Sep 17 00:00:00 2001
+ From: Werner Koch <wk@gnupg.org>
+ Date: Fri, 2 Nov 2018 11:26:19 +0100
+ Subject: [PATCH] w32: Don't use CloseHandle on an arbitrary integer.
+
+ * src/assuan-support.c (my_waitpid): Do not close the PID = it is not
+ a handle.
+ --
+
+ At some time in the distant past we might have used the process object
+ as pid which obviously required a close. However this was changed and
+ so what we did here was to close an arbitrary handle (one which
+ matches the pid).
+
+ GnuPG-bug-id: 4237
+ Signed-off-by: Werner Koch <wk@gnupg.org>
+
+diff --git a/src/assuan-support.c b/src/assuan-support.c
+index 7fbd48a8..705088e4 100644
+--- a/src/assuan-support.c
++++ b/src/assuan-support.c
+@@ -219,7 +219,7 @@ my_waitpid (assuan_context_t ctx, pid_t pid,
+ (void)nowait;
+ (void)status;
+ (void)options;
+- CloseHandle ((HANDLE) pid);
++ (void)pid; /* Just a number without a kernel object. */
+ #else
+ /* We can't just release the PID, a waitpid is mandatory. But
+ NOWAIT in POSIX systems just means the caller already did the
+--
+2.11.0
diff --git a/common/iobuf.c b/common/iobuf.c
index 5a9fd7c..8de46f4 100644
--- a/common/iobuf.c
+++ b/common/iobuf.c
@@ -856,9 +856,9 @@ block_filter (void *opaque, int control, iobuf_t chain, byte * buffer,
}
else if (c == 255)
{
- a->size = (size_t)iobuf_get (chain) << 24;
- a->size |= iobuf_get (chain) << 16;
- a->size |= iobuf_get (chain) << 8;
+ a->size = iobuf_get_noeof (chain) << 24;
+ a->size |= iobuf_get_noeof (chain) << 16;
+ a->size |= iobuf_get_noeof (chain) << 8;
if ((c = iobuf_get (chain)) == -1)
{
log_error ("block_filter: invalid 4 byte length\n");
diff --git a/common/simple-pwquery.c b/common/simple-pwquery.c
index e7f4af3..b8ada42 100644
--- a/common/simple-pwquery.c
+++ b/common/simple-pwquery.c
@@ -246,6 +246,7 @@ agent_open (assuan_context_t *ctx)
#ifdef SPWQ_USE_LOGGING
log_error (_("no gpg-agent running in this session\n"));
#endif
+ *ctx = NULL;
return SPWQ_NO_AGENT;
}
diff --git a/common/ssh-utils.c b/common/ssh-utils.c
index 38d6e8a..013b28e 100644
--- a/common/ssh-utils.c
+++ b/common/ssh-utils.c
@@ -247,7 +247,7 @@ get_fingerprint (gcry_sexp_t key, int algo,
goto leave;
}
- strncpy (*r_fpr, algo_name, strlen (algo_name));
+ memcpy (*r_fpr, algo_name, strlen (algo_name));
fpr = (char *) *r_fpr + strlen (algo_name);
*fpr++ = ':';
diff --git a/common/sysutils.c b/common/sysutils.c
index 55a7ee9..0a3dc2e 100644
--- a/common/sysutils.c
+++ b/common/sysutils.c
@@ -551,14 +551,13 @@ gnupg_tmpfile (void)
void
gnupg_reopen_std (const char *pgmname)
{
-#if defined(HAVE_STAT) && !defined(HAVE_W32_SYSTEM)
- struct stat statbuf;
+#ifdef F_GETFD
int did_stdin = 0;
int did_stdout = 0;
int did_stderr = 0;
FILE *complain;
- if (fstat (STDIN_FILENO, &statbuf) == -1 && errno ==EBADF)
+ if (fcntl (STDIN_FILENO, F_GETFD) == -1 && errno ==EBADF)
{
if (open ("/dev/null",O_RDONLY) == STDIN_FILENO)
did_stdin = 1;
@@ -566,7 +565,7 @@ gnupg_reopen_std (const char *pgmname)
did_stdin = 2;
}
- if (fstat (STDOUT_FILENO, &statbuf) == -1 && errno == EBADF)
+ if (fcntl (STDOUT_FILENO, F_GETFD) == -1 && errno == EBADF)
{
if (open ("/dev/null",O_WRONLY) == STDOUT_FILENO)
did_stdout = 1;
@@ -574,7 +573,7 @@ gnupg_reopen_std (const char *pgmname)
did_stdout = 2;
}
- if (fstat (STDERR_FILENO, &statbuf)==-1 && errno==EBADF)
+ if (fcntl (STDERR_FILENO, F_GETFD)==-1 && errno==EBADF)
{
if (open ("/dev/null", O_WRONLY) == STDERR_FILENO)
did_stderr = 1;
@@ -607,7 +606,7 @@ gnupg_reopen_std (const char *pgmname)
if (did_stdin == 2 || did_stdout == 2 || did_stderr == 2)
exit (3);
-#else /* !(HAVE_STAT && !HAVE_W32_SYSTEM) */
+#else /* !F_GETFD */
(void)pgmname;
#endif
}
diff --git a/configure.ac b/configure.ac
index 8c80377..4d66af9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,7 @@ min_automake_version="1.14"
m4_define([mym4_package],[gnupg])
m4_define([mym4_major], [2])
m4_define([mym4_minor], [2])
-m4_define([mym4_micro], [10])
+m4_define([mym4_micro], [11])
# To start a new development series, i.e a new major or minor number
# you need to mark an arbitrary commit before the first beta release
@@ -129,7 +129,10 @@ GNUPG_BUILD_PROGRAM(symcryptrun, no)
# We use gpgtar to unpack test data, hence we always build it. If the
# user opts out, we simply don't install it.
GNUPG_BUILD_PROGRAM(gpgtar, yes)
-GNUPG_BUILD_PROGRAM(wks-tools, no)
+# We also install the gpg-wks-server tool by default but disable it
+# later for platforms where it can't be build.
+GNUPG_BUILD_PROGRAM(wks-tools, yes)
+
AC_SUBST(PACKAGE)
AC_SUBST(PACKAGE_GT)
@@ -666,6 +669,7 @@ case "${host}" in
try_gettext="no"
use_simple_gettext=yes
mmap_needed=no
+ build_wks_tools=no
;;
i?86-emx-os2 | i?86-*-os2*emx )
# OS/2 with the EMX environment
@@ -673,6 +677,7 @@ case "${host}" in
AC_DEFINE(HAVE_DRIVE_LETTERS)
have_dosish_system=yes
try_gettext="no"
+ build_wks_tools=no
;;
i?86-*-msdosdjgpp*)
@@ -681,6 +686,7 @@ case "${host}" in
AC_DEFINE(HAVE_DRIVE_LETTERS)
have_dosish_system=yes
try_gettext="no"
+ build_wks_tools=no
;;
*-*-hpux*)
@@ -711,6 +717,7 @@ case "${host}" in
# Android is fully utf-8 and we do not want to use iconv to
# keeps things simple
require_iconv=no
+ build_wks_tools=no
;;
*-apple-darwin*)
AC_DEFINE(_DARWIN_C_SOURCE, 900000L,
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 5965f84..55c7a49 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -1629,7 +1629,11 @@ parse_ldapserver_file (const char* filename)
fp = es_fopen (filename, "r");
if (!fp)
{
- log_error (_("error opening '%s': %s\n"), filename, strerror (errno));
+ if (errno == ENOENT)
+ log_info ("No ldapserver file at: '%s'\n", filename);
+ else
+ log_error (_("error opening '%s': %s\n"), filename,
+ strerror (errno));
return NULL;
}
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c
index 32840e6..7c2836c 100644
--- a/dirmngr/ks-engine-hkp.c
+++ b/dirmngr/ks-engine-hkp.c
@@ -1493,7 +1493,11 @@ ks_hkp_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
goto again;
}
if (err)
- goto leave;
+ {
+ if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+ dirmngr_status (ctrl, "SOURCE", hostport, NULL);
+ goto leave;
+ }
err = dirmngr_status (ctrl, "SOURCE", hostport, NULL);
if (err)
@@ -1628,7 +1632,11 @@ ks_hkp_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec, estream_t *r_fp)
goto again;
}
if (err)
- goto leave;
+ {
+ if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+ dirmngr_status (ctrl, "SOURCE", hostport, NULL);
+ goto leave;
+ }
err = dirmngr_status (ctrl, "SOURCE", hostport, NULL);
if (err)
diff --git a/dirmngr/ks-engine-ldap.c b/dirmngr/ks-engine-ldap.c
index f50ba50..d94bd5e 100644
--- a/dirmngr/ks-engine-ldap.c
+++ b/dirmngr/ks-engine-ldap.c
@@ -1694,26 +1694,16 @@ extract_attributes (LDAPMod ***modlist, char *line)
if (is_pub || is_sub)
{
- char *size = fields[2];
- int val = atoi (size);
- size = NULL;
+ char padded[6];
+ int val;
- if (val > 0)
- {
- /* We zero pad this on the left to make PGP happy. */
- char padded[6];
- if (val < 99999 && val > 0)
- {
- snprintf (padded, sizeof padded, "%05u", val);
- size = padded;
- }
- }
-
- if (size)
- {
- if (is_pub || is_sub)
- modlist_add (modlist, "pgpKeySize", size);
- }
+ val = atoi (fields[2]);
+ if (val < 99999 && val > 0)
+ {
+ /* We zero pad this on the left to make PGP happy. */
+ snprintf (padded, sizeof padded, "%05u", val);
+ modlist_add (modlist, "pgpKeySize", padded);
+ }
}
if (is_pub)
@@ -1736,10 +1726,7 @@ extract_attributes (LDAPMod ***modlist, char *line)
}
if (algo)
- {
- if (is_pub)
- modlist_add (modlist, "pgpKeyType", algo);
- }
+ modlist_add (modlist, "pgpKeyType", algo);
}
if (is_pub || is_sub || is_sig)
diff --git a/dirmngr/misc.c b/dirmngr/misc.c
index 6291a9a..eef04ed 100644
--- a/dirmngr/misc.c
+++ b/dirmngr/misc.c
@@ -515,7 +515,7 @@ host_and_port_from_url (const char *url, int *port)
if ((p = strchr (buf, '/')))
*p++ = 0;
strlwr (buf);
- if ((p = strchr (p, ':')))
+ if ((p = strchr (buf, ':')))
{
*p++ = 0;
*port = atoi (p);
diff --git a/dirmngr/ocsp.c b/dirmngr/ocsp.c
index 22391c3..2067b7b 100644
--- a/dirmngr/ocsp.c
+++ b/dirmngr/ocsp.c
@@ -653,6 +653,33 @@ ocsp_isvalid (ctrl_t ctrl, ksba_cert_t cert, const char *cert_fpr,
if (err)
goto leave;
+ /* It is sometimes useful to know the responder ID. */
+ if (opt.verbose)
+ {
+ char *resp_name;
+ ksba_sexp_t resp_keyid;
+
+ err = ksba_ocsp_get_responder_id (ocsp, &resp_name, &resp_keyid);
+ if (err)
+ log_info (_("error getting responder ID: %s\n"), gpg_strerror (err));
+ else
+ {
+ log_info ("responder id: ");
+ if (resp_name)
+ log_printf ("'/%s' ", resp_name);
+ if (resp_keyid)
+ {
+ log_printf ("{");
+ dump_serial (resp_keyid);
+ log_printf ("} ");
+ }
+ log_printf ("\n");
+ }
+ ksba_free (resp_name);
+ ksba_free (resp_keyid);
+ err = 0;
+ }
+
/* We got a useful answer, check that the answer has a valid signature. */
sigval = ksba_ocsp_get_sig_val (ocsp, produced_at);
if (!sigval || !*produced_at)
diff --git a/dirmngr/server.c b/dirmngr/server.c
index fcf0c1a..d414c0e 100644
--- a/dirmngr/server.c
+++ b/dirmngr/server.c
@@ -957,19 +957,28 @@ proc_wkd_get (ctrl_t ctrl, assuan_context_t ctx, char *line)
}
else
{
- uri = strconcat ("https://",
- domain,
- portstr,
- "/.well-known/openpgpkey/hu/",
- encodedhash,
- NULL);
- no_log = 1;
- if (uri)
+ char *escapedmbox;
+
+ escapedmbox = http_escape_string (mbox, "%;?&=");
+ if (escapedmbox)
{
- err = dirmngr_status_printf (ctrl, "SOURCE", "https://%s%s",
- domain, portstr);
- if (err)
- goto leave;
+ uri = strconcat ("https://",
+ domain,
+ portstr,
+ "/.well-known/openpgpkey/hu/",
+ encodedhash,
+ "?l=",
+ escapedmbox,
+ NULL);
+ xfree (escapedmbox);
+ no_log = 1;
+ if (uri)
+ {
+ err = dirmngr_status_printf (ctrl, "SOURCE", "https://%s%s",
+ domain, portstr);
+ if (err)
+ goto leave;
+ }
}
}
if (!uri)
diff --git a/doc/gpg.texi b/doc/gpg.texi
index 3f8f6b9..ffcdaf2 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -1724,7 +1724,8 @@ Set what trust model GnuPG should follow. The models are:
@opindex trust-model:auto
Select the trust model depending on whatever the internal trust
database says. This is the default model if such a database already
- exists.
+ exists. Note that a tofu trust model is not considered here and
+ must be enabled explicitly.
@end table
@item --auto-key-locate @var{mechanisms}
diff --git a/doc/wks.texi b/doc/wks.texi
index 6d62282..89288d0 100644
--- a/doc/wks.texi
+++ b/doc/wks.texi
@@ -65,7 +65,8 @@ site supports the Web Key Service. The argument is an arbitray
address in the to be tested domain. For example
@file{foo@@example.net}. The command returns success if the Web Key
Service is supported. The operation is silent; to get diagnostic
-output use the option @option{--verbose}.
+output use the option @option{--verbose}. See option
+@option{--with-colons} for a variant of this command.
With the @option{--check} command the caller can test whether a key
exists for a supplied mail address. The command returns success if a
@@ -109,6 +110,44 @@ $(gpgconf --list-dirs libexecdir)/gpg-wks-client --check foo@@example.net
Directly send created mails using the @command{sendmail} command.
Requires installation of that command.
+@item --with-colons
+@opindex with-colons
+This option has currently only an effect on the @option{--supported}
+command. If it is used all arguimenst on the command line are taken
+as domain names and tested for WKD support. The output format is one
+line per domain with colon delimited fields. The currently specified
+fields are (future versions may specify additional fields):
+
+@table @asis
+
+ @item 1 - domain
+ This is the domain name. Although quoting is not required for valid
+ domain names this field is specified to be quoted in standard C
+ manner.
+
+ @item 2 - WKD
+ If the value is true the domain supports the Web Key Directory.
+
+ @item 3 - WKS
+ If the value is true the domain supports the Web Key Service
+ protocol to upload keys to the directory.
+
+ @item 4 - error-code
+ This may contain an gpg-error code to describe certain
+ failures. Use @samp{gpg-error CODE} to explain the code.
+
+ @item 5 - protocol-version
+ The minimum protocol version supported by the server.
+
+ @item 6 - auth-submit
+ The auth-submit flag from the policy file of the server.
+
+ @item 7 - mailbox-only
+ The mailbox-only flag from the policy file of the server.
+@end table
+
+
+
@item --output @var{file}
@itemx -o
@opindex output
@@ -215,9 +254,9 @@ Further it creates missing directories for the configuration and
prints warnings pertaining to problems in the configuration.
The command @option{--check-key} (or just @option{--check}) checks
-whether a key with the given user-id is installed. The process return
-success in this case; to also print a diagnostic, use option
-@option{-v}. If the key is not installed a diagnostics is printed and
+whether a key with the given user-id is installed. The process returns
+success in this case; to also print a diagnostic use the option
+@option{-v}. If the key is not installed a diagnostic is printed and
the process returns failure; to suppress the diagnostic, use option
@option{-q}. More than one user-id can be given; see also option
@option{with-file}.
@@ -243,6 +282,12 @@ The command @option{--revoke-key} is not yet functional.
@table @gnupgtabopt
+@item -C @var{dir}
+@itemx --directory @var{dir}
+@opindex directory
+Use @var{dir} as top level directory for domains. The default is
+@file{/var/lib/gnupg/wks}.
+
@item --from @var{mailaddr}
@opindex from
Use @var{mailaddr} as the default sender address.
@@ -256,21 +301,22 @@ Add the mail header "@var{name}: @var{value}" to all outgoing mails.
Directly send created mails using the @command{sendmail} command.
Requires installation of that command.
-@item --output @var{file}
-@itemx -o
+@item -o @var{file}
+@itemx --output @var{file}
@opindex output
Write the created mail also to @var{file}. Note that the value
@code{-} for @var{file} would write it to stdout.
@item --with-dir
@opindex with-dir
-Also print the directory name for each domain listed by command
-@option{--list-domains}.
+When used with the command @option{--list-domains} print for each
+installed domain the domain name and its directory name.
@item --with-file
@opindex with-file
-With command @option{--check-key} print for each user-id, the address,
-'i' for installed key or 'n' for not installed key, and the filename.
+When used with the command @option{--check-key} print for each user-id,
+the address, 'i' for installed key or 'n' for not installed key, and
+the filename.
@item --verbose
@opindex verbose
@@ -316,7 +362,7 @@ Finally run
$ gpg-wks-server --list-domains
@end example
-to create the required sub-directories with the permission set
+to create the required sub-directories with the permissions set
correctly. For each domain a submission address needs to be
configured. All service mails are directed to that address. It can
be the same address for all configured domains, for example:
@@ -326,7 +372,7 @@ be the same address for all configured domains, for example:
$ echo key-submission@@example.net >submission-address
@end example
-The protocol requires that the key to be published is sent with an
+The protocol requires that the key to be published is send with an
encrypted mail to the service. Thus you need to create a key for
the submission address:
diff --git a/g10/build-packet.c b/g10/build-packet.c
index d4a1d6a..b83ea84 100644
--- a/g10/build-packet.c
+++ b/g10/build-packet.c
@@ -1266,7 +1266,7 @@ string_to_notation(const char *string,int is_utf8)
}
notation->name=xmalloc((s-string)+1);
- strncpy(notation->name,string,s-string);
+ memcpy(notation->name,string,s-string);
notation->name[s-string]='\0';
if(!saw_at && !opt.expert)
diff --git a/g10/call-dirmngr.c b/g10/call-dirmngr.c
index d086cef..8896f27 100644
--- a/g10/call-dirmngr.c
+++ b/g10/call-dirmngr.c
@@ -606,6 +606,12 @@ gpg_dirmngr_ks_search (ctrl_t ctrl, const char *searchstr,
NULL, NULL, ks_status_cb, &stparm);
if (!err)
err = cb (cb_value, 0, NULL); /* Send EOF. */
+ else if (parm.stparm->source)
+ {
+ /* Error but we received a SOURCE status. Tell via callback but
+ * ignore errors. */
+ parm.data_cb (parm.data_cb_value, 1, parm.stparm->source);
+ }
xfree (get_membuf (&parm.saveddata, NULL));
xfree (parm.helpbuf);
@@ -648,6 +654,7 @@ ks_get_data_cb (void *opaque, const void *data, size_t datalen)
If R_SOURCE is not NULL the source of the data is stored as a
malloced string there. If a source is not known NULL is stored.
+ Note that this may even be returned after an error.
If there are too many patterns the function returns an error. That
could be fixed by issuing several search commands or by
@@ -735,13 +742,13 @@ gpg_dirmngr_ks_get (ctrl_t ctrl, char **pattern,
*r_fp = parm.memfp;
parm.memfp = NULL;
- if (r_source)
+
+ leave:
+ if (r_source && stparm.source)
{
*r_source = stparm.source;
stparm.source = NULL;
}
-
- leave:
es_fclose (parm.memfp);
xfree (stparm.source);
xfree (line);
diff --git a/g10/card-util.c b/g10/card-util.c
index 3148de0..52a09b5 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -216,6 +216,7 @@ get_manufacturer (unsigned int no)
case 0x1337: return "Warsaw Hackerspace";
case 0x2342: return "warpzone"; /* hackerspace Muenster. */
+ case 0x4354: return "Confidential Technologies"; /* cotech.de */
case 0x63AF: return "Trustica";
case 0xBD0E: return "Paranoidlabs";
case 0xF517: return "FSIJ";
@@ -273,7 +274,7 @@ print_keygrip (estream_t fp, const unsigned char *grp)
{
tty_fprintf (fp, " keygrip ....: ");
for (i=0; i < 20 ; i++, grp++)
- es_fprintf (fp, "%02X", *grp);
+ tty_fprintf (fp, "%02X", *grp);
tty_fprintf (fp, "\n");
}
}
diff --git a/g10/import.c b/g10/import.c
index 11de592..29de8ff 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -924,6 +924,8 @@ read_block( IOBUF a, int with_meta,
add_kbnode (root, new_kbnode (pkt));
pkt = xmalloc (sizeof *pkt);
}
+ else
+ free_packet (pkt, &parsectx);
init_packet(pkt);
break;
}
diff --git a/g10/sig-check.c b/g10/sig-check.c
index e59e0c9..a93b496 100644
--- a/g10/sig-check.c
+++ b/g10/sig-check.c
@@ -481,7 +481,8 @@ check_signature_end_simple (PKT_public_key *pk, PKT_signature *sig,
}
/* For data signatures check that the key has sign usage. */
- if (IS_SIG (sig) && !(pk->pubkey_usage & PUBKEY_USAGE_SIG))
+ if (!IS_BACK_SIG (sig) && IS_SIG (sig)
+ && !(pk->pubkey_usage & PUBKEY_USAGE_SIG))
{
rc = gpg_error (GPG_ERR_WRONG_KEY_USAGE);
if (!opt.quiet)
diff --git a/g10/tdbio.c b/g10/tdbio.c
index fed0cf5..8f75306 100644
--- a/g10/tdbio.c
+++ b/g10/tdbio.c
@@ -562,6 +562,12 @@ tdbio_update_version_record (ctrl_t ctrl)
{
TRUSTREC rec;
int rc;
+ int opt_tm;
+
+ /* Never store a TOFU trust model in the trustdb. Use PGP instead. */
+ opt_tm = opt.trust_model;
+ if (opt_tm == TM_TOFU || opt_tm == TM_TOFU_PGP)
+ opt_tm = TM_PGP;
memset (&rec, 0, sizeof rec);
@@ -572,7 +578,7 @@ tdbio_update_version_record (ctrl_t ctrl)
rec.r.ver.marginals = opt.marginals_needed;
rec.r.ver.completes = opt.completes_needed;
rec.r.ver.cert_depth = opt.max_cert_depth;
- rec.r.ver.trust_model = opt.trust_model;
+ rec.r.ver.trust_model = opt_tm;
rec.r.ver.min_cert_level = opt.min_cert_level;
rc = tdbio_write_record (ctrl, &rec);
}
@@ -591,6 +597,12 @@ create_version_record (ctrl_t ctrl)
{
TRUSTREC rec;
int rc;
+ int opt_tm;
+
+ /* Never store a TOFU trust model in the trustdb. Use PGP instead. */
+ opt_tm = opt.trust_model;
+ if (opt_tm == TM_TOFU || opt_tm == TM_TOFU_PGP)
+ opt_tm = TM_PGP;
memset (&rec, 0, sizeof rec);
rec.r.ver.version = 3;
@@ -598,8 +610,8 @@ create_version_record (ctrl_t ctrl)
rec.r.ver.marginals = opt.marginals_needed;
rec.r.ver.completes = opt.completes_needed;
rec.r.ver.cert_depth = opt.max_cert_depth;
- if (opt.trust_model == TM_PGP || opt.trust_model == TM_CLASSIC)
- rec.r.ver.trust_model = opt.trust_model;
+ if (opt_tm == TM_PGP || opt_tm == TM_CLASSIC)
+ rec.r.ver.trust_model = opt_tm;
else
rec.r.ver.trust_model = TM_PGP;
rec.r.ver.min_cert_level = opt.min_cert_level;
@@ -883,16 +895,25 @@ tdbio_db_matches_options()
{
TRUSTREC vr;
int rc;
+ int opt_tm, tm;
rc = tdbio_read_record (0, &vr, RECTYPE_VER);
if( rc )
log_fatal( _("%s: error reading version record: %s\n"),
db_name, gpg_strerror (rc) );
+ /* Consider tofu and pgp the same. */
+ tm = vr.r.ver.trust_model;
+ if (tm == TM_TOFU || tm == TM_TOFU_PGP)
+ tm = TM_PGP;
+ opt_tm = opt.trust_model;
+ if (opt_tm == TM_TOFU || opt_tm == TM_TOFU_PGP)
+ opt_tm = TM_PGP;
+
yes_no = vr.r.ver.marginals == opt.marginals_needed
&& vr.r.ver.completes == opt.completes_needed
&& vr.r.ver.cert_depth == opt.max_cert_depth
- && vr.r.ver.trust_model == opt.trust_model
+ && tm == opt_tm
&& vr.r.ver.min_cert_level == opt.min_cert_level;
}
diff --git a/po/ca.po b/po/ca.po
index 882781c..e97c9f3 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -883,16 +883,18 @@ msgstr "AVÍS: %s és una opció desaconsellada.\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "ha fallat l'actualització: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+# Destès? ivb
+# Desatès, sí. jm
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "no es pot fet això en mode desatès\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
# Destès? ivb
@@ -905,14 +907,6 @@ msgstr "no es pot fet això en mode desatès\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1974,23 +1968,6 @@ msgid "[User ID not found]"
msgstr "[No s'ha trobat l'id d'usuari]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opcions d'importació no vàlides\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "error en la lectura de «%s»: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "error en crear l'anell «%s»: %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "error en crear «%s»: %s\n"
@@ -2002,11 +1979,19 @@ msgstr "error en crear «%s»: %s\n"
msgid "No fingerprint"
msgstr "Empremta digital:"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opcions d'importació no vàlides\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOM|usa NOM com a clau secreta predeterminada"
@@ -5161,6 +5146,11 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
"AVÍS: la clau de sessió pot estar xifrada simètricament de forma insegura\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notació de signatura crítica: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "el subpaquet de tipus %d té el bit crític activat\n"
@@ -9403,6 +9393,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "error en la lectura de «%s»: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "error en crear l'anell «%s»: %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "error en la lectura de «%s»: %s\n"
diff --git a/po/cs.po b/po/cs.po
index a3a9dc1..c5c45e4 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,7 +4,7 @@
# Magda Procházková <magda@math.muni.cz> 2001,
# Roman Pavlik <rp@tns.cz> 2001, 2002, 2003, 2004, 2005.
# Petr Pisar <petr.pisar@atlas.cz>, 2009, 2010, 2011, 2013, 2014, 2015, 2016.
-# Petr Pisar <petr.pisar@atlas.cz>, 2017.
+# Petr Pisar <petr.pisar@atlas.cz>, 2017, 2018.
#
# A "%%0A" is used by Pinentry to insert a line break. The double percent
# sign is actually needed because it is also a printf format string. If you
@@ -35,9 +35,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg2 2.2.1\n"
+"Project-Id-Version: gnupg2 2.2.10\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2017-11-17 10:33+01:00\n"
+"PO-Revision-Date: 2018-11-06 11:01+0100\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <gnupg-i18n@gnupg.org>\n"
"Language: cs\n"
@@ -388,7 +388,7 @@ msgid "allow presetting passphrase"
msgstr "umožnit přednastavení hesla"
msgid "disallow caller to override the pinentry"
-msgstr "zmemožnit volajícímu přebít pinentry"
+msgstr "znemožnit volajícímu přebít pinentry"
msgid "allow passphrase to be prompted through Emacs"
msgstr "umožnit zadání hesla skrze Emacs"
@@ -397,7 +397,7 @@ msgid "enable ssh support"
msgstr "zapnout podporu pro OpenSSH"
msgid "|ALGO|use ALGO to show ssh fingerprints"
-msgstr "|ALGORITMUS|ukazovat otkisky SSH pomocí ALGORITMU"
+msgstr "|ALGORITMUS|ukazovat otisky SSH pomocí ALGORITMU"
msgid "enable putty support"
msgstr "zapnout podporu pro PuTTY"
@@ -853,16 +853,16 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr "neznámý ladicí příznak „%s“ se ignoruje\n"
#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "gpg-agent neběží – spouští se „%s“\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "čeká se, až naběhne %s… (%d s)\n"
#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr "čeká se na agenta… (%d s)\n"
+msgid "connection to %s established\n"
+msgstr "spojení k programu %s ustanoveno\n"
#, c-format
-msgid "connection to agent established\n"
-msgstr "spojení na agenta ustanoveno\n"
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "gpg-agent neběží – spouští se „%s“\n"
#, c-format
msgid "connection to agent is in restricted mode\n"
@@ -872,14 +872,6 @@ msgstr "spojení na agenta je v omezeném režimu\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "žádný dirmngr neběží – spouští se „%s“\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "čeká se na dirmngr… (%d s)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "spojení na dirmngr ustanoveno\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1410,22 +1402,16 @@ msgid "%s keysizes must be in the range %u-%u\n"
msgstr "velikost klíče %s musí být v intervalu %u-%u\n"
msgid "Changing card key attribute for: "
-msgstr ""
+msgstr "Mění se atribut kartového klíče pro: "
-#, fuzzy
-#| msgid " (1) Signature key\n"
msgid "Signature key\n"
-msgstr " (1) Podepisovací klíč\n"
+msgstr "Podepisovací klíč\n"
-#, fuzzy
-#| msgid " (2) Encryption key\n"
msgid "Encryption key\n"
-msgstr " (2) Šifrovací klíč\n"
+msgstr "Šifrovací klíč\n"
-#, fuzzy
-#| msgid " (3) Authentication key\n"
msgid "Authentication key\n"
-msgstr " (3) Autentizační klíč\n"
+msgstr "Autentizační klíč\n"
msgid "Please select what kind of key you want:\n"
msgstr "Prosím, vyberte druh klíče, který chcete:\n"
@@ -1434,10 +1420,9 @@ msgstr "Prosím, vyberte druh klíče, který chcete:\n"
msgid " (%d) RSA\n"
msgstr " (%d) RSA\n"
-#, fuzzy, c-format
-#| msgid " (%d) ECC and ECC\n"
+#, c-format
msgid " (%d) ECC\n"
-msgstr " (%d) ECC a ECC\n"
+msgstr " (%d) ECC\n"
msgid "Invalid selection.\n"
msgstr "Neplatný výběr.\n"
@@ -1446,20 +1431,17 @@ msgstr "Neplatný výběr.\n"
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+#, c-format
msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
+msgstr "Karta bude nyní přenastavena na generování klíče typu: %s\n"
-#, fuzzy, c-format
-#| msgid "error changing size of key %d to %u bits: %s\n"
+#, c-format
msgid "error changing key attribute for key %d: %s\n"
-msgstr "chyba při změně velikosti klíče %d na %u bitů: %s\n"
+msgstr "chyba při změně atributu klíče %d: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting current key info: %s\n"
+#, c-format
msgid "error getting card info: %s\n"
-msgstr "chyba při získání informací o aktuálním klíči: %s\n"
+msgstr "chyba při získání informací o kartě: %s\n"
#, c-format
msgid "This command is not supported by this card\n"
@@ -1515,10 +1497,9 @@ msgstr "Pokračovat (a/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "Opravdu obnovit tovární nastavení (zadejte „yes“) "
-#, fuzzy, c-format
-#| msgid "error looking up: %s\n"
+#, c-format
msgid "error for setup KDF: %s\n"
-msgstr "chyba při vyhledávání: %s\n"
+msgstr "chyba při nastavování KDF: %s\n"
msgid "quit this menu"
msgstr "ukončit toto menu"
@@ -1571,15 +1552,11 @@ msgstr "odblokovat PIN pomocí resetačního kódu"
msgid "destroy all keys and data"
msgstr "zničit všechny klíče a data"
-#, fuzzy
-#| msgid "|NAME|use user NAME for authentication"
msgid "setup KDF for PIN authentication"
-msgstr "|JMÉNO|pro autentizaci použije JMÉNO uživatele"
+msgstr "nastavit KDF pro autentizaci kódem PIN"
-#, fuzzy
-#| msgid "change the ownertrust"
msgid "change the key attribute"
-msgstr "změnit důvěryhodnost vlastníka klíče"
+msgstr "změnit atribut klíče"
msgid "gpg/card> "
msgstr "gpg/karta> "
@@ -1834,22 +1811,6 @@ msgid "[User ID not found]"
msgstr "[ID uživatele nenalezeno]"
#, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "(zkontrolujte argument volby „%s“)\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr "Pozor: „%s“ by měl být dlouhý identifikátor klíče nebo jeho otisk\n"
-
-#, c-format
-msgid "error looking up: %s\n"
-msgstr "chyba při vyhledávání: %s\n"
-
-#, c-format
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "Pozor: %s se nachází v souboru klíčů (keyring) %dkrát\n"
-
-#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "„%s“ automaticky získáno přes %s\n"
@@ -1861,10 +1822,18 @@ msgid "No fingerprint"
msgstr "Chybí otisk"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr "zjišťuje se nová kopie zastaralého klíče skrze %s\n"
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "tajný klíč „%s“ nenalezen: %s\n"
#, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "(zkontrolujte argument volby „%s“)\n"
+
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "Pozor: jako výchozí klíč se nepoužije „%s“: %s\n"
@@ -2240,10 +2209,9 @@ msgstr "„%s“ není správná e-mailová adresa\n"
msgid "invalid pinentry mode '%s'\n"
msgstr "neplatný režim pinentry „%s“\n"
-#, fuzzy, c-format
-#| msgid "invalid value for option '%s'\n"
+#, c-format
msgid "invalid request origin '%s'\n"
-msgstr "neplatný argument u volby „%s“\n"
+msgstr "neplatný původ požadavku „%s“\n"
#, c-format
msgid "'%s' is not a valid character set\n"
@@ -3318,10 +3286,8 @@ msgstr "směstnat nepoužitelná ID uživatelů a odstranit z klíče všechny
msgid "Secret key is available.\n"
msgstr "Tajný klíč je dostupný.\n"
-#, fuzzy
-#| msgid "Secret key is available.\n"
msgid "Secret subkeys are available.\n"
-msgstr "Tajný klíč je dostupný.\n"
+msgstr "Tajné podklíče jsou dostupné.\n"
msgid "Need the secret key to do this.\n"
msgstr "Pro provedení této operace je potřeba tajný klíč.\n"
@@ -3644,7 +3610,7 @@ msgid ""
"cause\n"
" some versions of PGP to reject this key.\n"
msgstr ""
-"VAROVÁNÍ: Toto je PGP2 klíč. Přidání pověřeého odvolatele může v některých\n"
+"VAROVÁNÍ: Toto je PGP2 klíč. Přidání pověřeného odvolatele může v některých\n"
" verzích PGP vést k odmítnutí tohoto klíče.\n"
msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
@@ -3688,15 +3654,11 @@ msgstr "Měním dobu expirace primárního klíče.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nemůžete změnit dobu platnosti klíče verze 3\n"
-#, fuzzy
-#| msgid "Changing expiration time for a subkey.\n"
msgid "Changing usage of a subkey.\n"
-msgstr "Měním dobu expirace podklíče.\n"
+msgstr "Mění se účel podklíče.\n"
-#, fuzzy
-#| msgid "Changing expiration time for the primary key.\n"
msgid "Changing usage of the primary key.\n"
-msgstr "Měním dobu expirace primárního klíče.\n"
+msgstr "Mění se účel primárního klíče.\n"
#, c-format
msgid "signing subkey %s is already cross-certified\n"
@@ -4532,15 +4494,16 @@ msgid ""
"likely that this message is legitimate. This is because back\n"
"then integrity protection was not widely used.\n"
msgstr ""
+"Pokyn: Pokud tato zpráva byla vytvořena před rokem 2003, je pravděpodobné,\n"
+"že je legitimní. Tehdy se totiž ochrana integrity příliš nepoužívala.\n"
#, c-format
msgid "Use the option '%s' to decrypt anyway.\n"
-msgstr ""
+msgstr "Dešifrování lze vynutit volbou „%s“.\n"
-#, fuzzy, c-format
-#| msgid "decryption failed: %s\n"
+#, c-format
msgid "decryption forced to fail!\n"
-msgstr "dešifrování selhalo: %s\n"
+msgstr "vynucené dešifrování selhalo!\n"
#, c-format
msgid "decryption okay\n"
@@ -4803,6 +4766,10 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "VAROVÁNÍ: potencionálně nebezpečně symetricky zašifrován klíč sezení\n"
#, c-format
+msgid "Unknown critical signature notation: "
+msgstr "Neznámá kritická notace podpisu: "
+
+#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "podpacket typu %d má nastavený kritický bit\n"
@@ -4819,7 +4786,7 @@ msgstr "zrušeno uživatelem\n"
#, c-format
msgid " (main key ID %s)"
-msgstr " (hlavní ID klíče %s)"
+msgstr " (ID hlavního klíče %s)"
msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
msgstr "Prosím, zadejte heslo, abyste odemkli tajný klíč OpenPGP:"
@@ -5238,7 +5205,7 @@ msgid ""
"declare that a key shall not anymore be used. It is not possible\n"
"to retract such a revocation certificate once it has been published."
msgstr ""
-"Odovolací certifikát je svým způsoben „bezpečnostní vypínač“, který\n"
+"Odvolací certifikát je svým způsoben „bezpečnostní vypínač“, který\n"
"veřejně prohlašuje, že klíč by se již neměl používat. Jednou zveřejněný\n"
"odvolací certifikát již nelze vzít zpět."
@@ -5418,15 +5385,13 @@ msgstr "Poznámka: podpisovému klíči %s skončila platnost v %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "Poznámka: podpisový klíč %s byl odvolán\n"
-#, fuzzy, c-format
-#| msgid "standalone signature of class 0x%02x\n"
+#, c-format
msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
-msgstr "samostatný podpis třídy 0x%02x\n"
+msgstr "špatný podpis klíče klíčem %s: %s (0x%02x, 0x%x)\n"
-#, fuzzy, c-format
-#| msgid "standalone signature of class 0x%02x\n"
+#, c-format
msgid "bad data signature from key %s: %s (0x%02x, 0x%x)\n"
-msgstr "samostatný podpis třídy 0x%02x\n"
+msgstr "špatný podpis dat klíčem %s: %s (0x%02x, 0x%x)\n"
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
@@ -5659,7 +5624,7 @@ msgstr "chyba při zahájení transakce v databázi TOFU: %s\n"
#, c-format
msgid "error committing transaction on TOFU database: %s\n"
-msgstr "chyba při potvrzování transakce v datázi TOFU: %s\n"
+msgstr "chyba při potvrzování transakce v databázi TOFU: %s\n"
#, c-format
msgid "error rolling back transaction on TOFU database: %s\n"
@@ -5728,12 +5693,11 @@ msgid ""
"or whether you think someone is impersonating \"%s\"."
msgstr ""
"Prosím naznačte, jestli tato e-mailová adresa má být spojována s klíčem %s "
-"nebo jestli si mylíste, že někdo se vydává za „%s“\n"
-"."
+"nebo jestli si myslíte, že někdo se vydává za „%s“."
#, c-format
msgid "error gathering other user IDs: %s\n"
-msgstr "chyba při sběru dalších ID uživetele: %s\n"
+msgstr "chyba při sběru dalších ID uživatele: %s\n"
msgid "This key's user IDs:\n"
msgstr "ID uživatelů tohoto klíče:\n"
@@ -5771,7 +5735,7 @@ msgstr[2] "%d zpráv ověřeno."
msgid "Encrypted %d message."
msgid_plural "Encrypted %d messages."
msgstr[0] "%d zpráva zašifrována."
-msgstr[1] "%d zprávy zašifrovýny."
+msgstr[1] "%d zprávy zašifrovány."
msgstr[2] "%d zpráv zašifrováno."
#, c-format
@@ -5836,7 +5800,7 @@ msgstr "Zpráv ověřeno v minulosti: %d."
#, c-format
msgid "Messages encrypted in the past: %d."
-msgstr "Zpráv zašifrovno v minulosti: %d."
+msgstr "Zpráv zašifrováno v minulosti: %d."
#. TRANSLATORS: Please translate the text found in the source
#. * file below. We don't directly internationalize that text so
@@ -5854,11 +5818,11 @@ msgid "(G)ood, (A)ccept once, (U)nknown, (R)eject once, (B)ad? "
msgstr "(D)obrý, (P)řijmout jednou, (N)eznámý, (O)dmítnout jednou, špa(T)ný? "
msgid "Defaulting to unknown.\n"
-msgstr "Použíje se výchozí volba neznýmý.\n"
+msgstr "Použije se výchozí volba neznámý.\n"
#, c-format
msgid "TOFU db corruption detected.\n"
-msgstr "Zjistěno poškození databýze TOFU.\n"
+msgstr "Zjištěno poškození databáze TOFU.\n"
#, c-format
msgid "resetting keydb: %s\n"
@@ -5956,19 +5920,19 @@ msgstr "(politika: %s)"
msgid ""
"Warning: we have yet to see a message signed using this key and user id!\n"
msgstr ""
-"Pozor: ještě musíme vidět zprávu podepsanou tímto klíčem a idenitou "
+"Pozor: ještě musíme vidět zprávu podepsanou tímto klíčem a identitou "
"uživatele!\n"
#, c-format
msgid ""
"Warning: we've only seen one message signed using this key and user id!\n"
msgstr ""
-"Pozor: viděli jsme pouze jednu zprávu podepsanou tímto klíčem a idenitou\n"
+"Pozor: viděli jsme pouze jednu zprávu podepsanou tímto klíčem a identitou\n"
"uživatele!\n"
#, c-format
msgid "Warning: you have yet to encrypt a message to this key!\n"
-msgstr "Pozor: ješte je třeba zašifrovat zprávu tímto klíčem!\n"
+msgstr "Pozor: ještě je třeba zašifrovat zprávu tímto klíčem!\n"
#, c-format
msgid "Warning: you have only encrypted one message to this key!\n"
@@ -8933,6 +8897,30 @@ msgstr ""
"Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n"
"Prověří heslo zadané na vstupu proti souboru se vzory\n"
+#~ msgid "listen() failed: %s\n"
+#~ msgstr "volání listen() selhalo: %s\n"
+
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "čeká se na dirmngr… (%d s)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "spojení na dirmngr ustanoveno\n"
+
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Jakou délku klíče pro podepisování si přejete? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Jakou délku klíče pro šifrování si přejete? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Jakou délku klíče pro autentizaci si přejete? (%u) "
+
+#~ msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
+#~ msgstr "Pozor: „%s“ by měl být dlouhý identifikátor klíče nebo jeho otisk\n"
+
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "Pozor: %s se nachází v souboru klíčů (keyring) %dkrát\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "namísto „https“ se použije „http“\n"
@@ -8948,18 +8936,6 @@ msgstr ""
#~ msgid "reading from ldap wrapper %d failed: %s\n"
#~ msgstr "čtení z ldapové obálky %d selhalo: %s\n"
-#~ msgid "What keysize do you want for the Signature key? (%u) "
-#~ msgstr "Jakou délku klíče pro podepisování si přejete? (%u) "
-
-#~ msgid "What keysize do you want for the Encryption key? (%u) "
-#~ msgstr "Jakou délku klíče pro šifrování si přejete? (%u) "
-
-#~ msgid "What keysize do you want for the Authentication key? (%u) "
-#~ msgstr "Jakou délku klíče pro autentizaci si přejete? (%u) "
-
-#~ msgid "listen() failed: %s\n"
-#~ msgstr "volání listen() selhalo: %s\n"
-
#~ msgid "shadowing the key failed: %s\n"
#~ msgstr "výroba stínového klíče se nezdařila: %s\n"
diff --git a/po/da.po b/po/da.po
index 06a0e00..0128441 100644
--- a/po/da.po
+++ b/po/da.po
@@ -922,18 +922,19 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "no running gpg-agent - starting one\n"
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "ingen kørende gpg-agent - starter en\n"
-
-#, fuzzy, c-format
#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "venter %d sekunder på at agenten kommer frem\n"
-#, c-format
-msgid "connection to agent established\n"
-msgstr ""
+#, fuzzy, c-format
+#| msgid "can't connect to the dirmngr - trying fall back\n"
+msgid "connection to %s established\n"
+msgstr "kan ikke forbinde til dirmngr - forsøger reserve\n"
+
+#, fuzzy, c-format
+#| msgid "no running gpg-agent - starting one\n"
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "ingen kørende gpg-agent - starter en\n"
#, fuzzy, c-format
#| msgid "can't connect to the dirmngr - trying fall back\n"
@@ -945,16 +946,6 @@ msgstr "kan ikke forbinde til dirmngr - forsøger reserve\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "ingen kørende dirmngr - starter »%s«\n"
-#, fuzzy, c-format
-#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "venter %d sekunder på at agenten kommer frem\n"
-
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
-msgid "connection to the dirmngr established\n"
-msgstr "kan ikke forbinde til dirmngr - forsøger reserve\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1953,25 +1944,6 @@ msgid "[User ID not found]"
msgstr "[Bruger-id blev ikke fundet]"
#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "manglende parameter for indstilling »%.50s«\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "fejl ved lukning af %s: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "fejl ved oprettelse af nøglering »%s«: %s\n"
-
-#, fuzzy, c-format
#| msgid "automatically retrieved `%s' via %s\n"
msgid "automatically retrieved '%s' via %s\n"
msgstr "hentede automatisk »%s« via %s\n"
@@ -1985,10 +1957,19 @@ msgid "No fingerprint"
msgstr "Ingen fingeraftryk"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "hemmelig nøgle »%s« blev ikke fundet: %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "manglende parameter for indstilling »%.50s«\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NAME|brug NAVN som hemmelig standardnøgle"
@@ -5094,6 +5075,11 @@ msgstr "kan ikke håndtere offentlig nøglealgoritme %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "ADVARSEL: potentiel usikker symmetrisk krypteret sessionsnøgle\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritisk underskriftnotation: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "underpakke af typen %d har kritiske bitsæt\n"
@@ -9533,6 +9519,21 @@ msgstr ""
"Kontroller en adgangsfrase angivet på stdin mod mønsterfilen\n"
#, fuzzy
+#~| msgid "waiting %d seconds for the agent to come up\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "venter %d sekunder på at agenten kommer frem\n"
+
+#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "fejl ved lukning af %s: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "fejl ved oprettelse af nøglering »%s«: %s\n"
+
+#, fuzzy
#~| msgid "error running `%s': exit status %d\n"
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "fejl ved kørsel af »%s«: afslutningsstatus %d\n"
diff --git a/po/de.po b/po/de.po
index 7cb1f1e..6badf9d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-2.1.0\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2018-08-30 09:44+0200\n"
+"PO-Revision-Date: 2018-11-06 10:59+0100\n"
"Last-Translator: Werner Koch <wk@gnupg.org>\n"
"Language-Team: German <de@li.org>\n"
"Language: de\n"
@@ -851,15 +851,13 @@ msgstr "WARNUNG: \"%s%s\" ist eine veraltete Option - sie hat keine Wirkung.\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr "Unbekanntes Debug Flag '%s' wird ignoriert\n"
-#, fuzzy, c-format
-#| msgid "waiting for the agent to come up ... (%ds)\n"
+#, c-format
msgid "waiting for the %s to come up ... (%ds)\n"
-msgstr "Warte bis der gpg-agent bereit ist ... (%ds)\n"
+msgstr "Warte bis der %s bereit ist ... (%ds)\n"
-#, fuzzy, c-format
-#| msgid "connection to agent established\n"
+#, c-format
msgid "connection to %s established\n"
-msgstr "Verbindung zum gpg-agent aufgebaut\n"
+msgstr "Verbindung zum %s aufgebaut\n"
#, c-format
msgid "no running gpg-agent - starting '%s'\n"
@@ -1836,7 +1834,8 @@ msgstr "Kein Fingerabdruck vorhanden"
#, c-format
msgid "checking for a fresh copy of an expired key via %s\n"
-msgstr "Prüfe auf eine aktuellere Kopie eines abgelaufenen Schlüssels über %s\n"
+msgstr ""
+"Prüfe auf eine aktuellere Kopie eines abgelaufenen Schlüssels über %s\n"
#, c-format
msgid "secret key \"%s\" not found: %s\n"
@@ -4816,10 +4815,9 @@ msgstr ""
"WARNUNG: Möglicherweise unsicherer symmetrisch verschlüsselter "
"Sitzungsschlüssel\n"
-#, fuzzy, c-format
-#| msgid "Critical signature notation: "
+#, c-format
msgid "Unknown critical signature notation: "
-msgstr "Entscheidender Beglaubigungs-\"Notation\": "
+msgstr "Unbekannte Entscheidende Beglaubigungs-\"Notation\": "
#, c-format
msgid "subpacket of type %d has critical bit set\n"
diff --git a/po/el.po b/po/el.po
index f80dfe5..a6a324c 100644
--- a/po/el.po
+++ b/po/el.po
@@ -849,16 +849,16 @@ msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: \"%s\" είναι μια μη συνειστ
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "η ενημέρωση απέτυχε: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "δεν μπορεί να γίνει αυτό σε κατάσταση δέσμης (batchmode)\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -869,14 +869,6 @@ msgstr "δεν μπορεί να γίνει αυτό σε κατάσταση δ
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1907,23 +1899,6 @@ msgid "[User ID not found]"
msgstr "[User id δεν βρέθηκε]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
@@ -1935,11 +1910,19 @@ msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
msgid "No fingerprint"
msgstr "απεικόνιση του fingerprint"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "το μυστικό κλειδί `%s' δε βρέθηκε: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|ΟΝΟΜΑ|χρήση ΟΝΟΜΑτος σαν προκαθορισμένο μυστικό κλειδί"
@@ -5052,6 +5035,11 @@ msgstr "αδυναμία χειρισμού του αλγόριθμου δημο
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: πιθανόν μη ασφαλές κρυπτογραφημένο συμμετρικά κλειδί\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Σημείωση κρίσιμης υπογραφής: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "υποπακέτο τύπου %d έχει ορισμένο το κριτικό bit\n"
@@ -9238,6 +9226,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
diff --git a/po/eo.po b/po/eo.po
index 2bb2db6..bf430e4 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -849,16 +849,16 @@ msgstr "AVERTO: '%s' estas malplena dosiero\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "aktualigo malsukcesis: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "ne povas fari tion en neinteraga reĝimo\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -869,14 +869,6 @@ msgstr "ne povas fari tion en neinteraga reĝimo\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1889,23 +1881,6 @@ msgid "[User ID not found]"
msgstr "[Uzantidentigilo ne trovita]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "nevalida kiraso"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "eraro dum legado de '%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "eraro dum kreado de '%s': %s\n"
@@ -1917,11 +1892,19 @@ msgstr "eraro dum kreado de '%s': %s\n"
msgid "No fingerprint"
msgstr "Fingrospuro:"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "ŝlosilo '%s' ne trovita: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "nevalida kiraso"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan ŝlosilon"
@@ -5007,6 +4990,10 @@ msgstr "ne povas trakti publikŝlosilan metodon %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
+#, fuzzy, c-format
+msgid "Unknown critical signature notation: "
+msgstr "Subskribo-notacio: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "subpaketo de speco %d havas ŝaltitan \"critical bit\"\n"
@@ -9155,6 +9142,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "eraro dum legado de '%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "eraro dum legado de '%s': %s\n"
diff --git a/po/es.po b/po/es.po
index f2678af..9e62659 100644
--- a/po/es.po
+++ b/po/es.po
@@ -853,19 +853,21 @@ msgstr "ATENCIÓN: \"%s%s\" es una opción obsoleta - no tiene efecto\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr "etiqueta de debug '%s' ignorada\n"
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "no hay gpg-agent en ejecución - iniciando '%s'\n"
-
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
+#, fuzzy, c-format
+#| msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "esperando que el agente arranque... ( %ds)\n"
-#, c-format
-msgid "connection to agent established\n"
+#, fuzzy, c-format
+#| msgid "connection to agent established\n"
+msgid "connection to %s established\n"
msgstr "conexión establecida al agente\n"
#, c-format
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "no hay gpg-agent en ejecución - iniciando '%s'\n"
+
+#, c-format
msgid "connection to agent is in restricted mode\n"
msgstr "la conexión al agente está en modo restringido\n"
@@ -873,14 +875,6 @@ msgstr "la conexión al agente está en modo restringido\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "no hay dirmngr en ejecución - iniciando '%s'\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "esperando que el dirmngr arranque... ( %ds)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "conexión establecida al dirmngr\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1820,26 +1814,6 @@ msgid "[User ID not found]"
msgstr "[ID de usuario no encontrado]"
#, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "(revisar el parámetro de la opción '%s')\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-"Atención: '%s' debería ser un identificador largo de usuario o una huella "
-"digital\n"
-
-#, c-format
-msgid "error looking up: %s\n"
-msgstr "error al buscar: %s\n"
-
-#, c-format
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr ""
-"Advertencia: %s aparece %d veces en el anillo de claves\n"
-"\n"
-
-#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "'%s' recuperado automáticamente vía %s\n"
@@ -1851,10 +1825,18 @@ msgid "No fingerprint"
msgstr "No hay huella digital"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "clave secreta \"%s\" no encontrada: %s\n"
#, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "(revisar el parámetro de la opción '%s')\n"
+
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "Advertencia: no estamos usando '%s' como clave predeterminada: %s\n"
@@ -4771,6 +4753,11 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
"AVISO: clave de sesión cifrada simétricamente potencialmente insegura\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notación de firmas críticas: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "el subpaquete de tipo %d tiene el bit crítico activado\n"
@@ -8914,6 +8901,25 @@ msgstr ""
"Compara frase contraseña dada en entrada estándar con un fichero de "
"patrones\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "esperando que el dirmngr arranque... ( %ds)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "conexión establecida al dirmngr\n"
+
+#~ msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
+#~ msgstr ""
+#~ "Atención: '%s' debería ser un identificador largo de usuario o una huella "
+#~ "digital\n"
+
+#~ msgid "error looking up: %s\n"
+#~ msgstr "error al buscar: %s\n"
+
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr ""
+#~ "Advertencia: %s aparece %d veces en el anillo de claves\n"
+#~ "\n"
+
#~ msgid "What keysize do you want for the Signature key? (%u) "
#~ msgstr "¿De qué tamaño quiere la clave de Firmado? (%u) "
diff --git a/po/et.po b/po/et.po
index 0db43e6..4a64887 100644
--- a/po/et.po
+++ b/po/et.po
@@ -846,16 +846,16 @@ msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "uuendamine ebaõnnestus: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "seda ei saa teha pakettmoodis\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -866,14 +866,6 @@ msgstr "seda ei saa teha pakettmoodis\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1898,23 +1890,6 @@ msgid "[User ID not found]"
msgstr "[Kasutaja id puudub]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "vigased impordi võtmed\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "viga `%s' lugemisel: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "viga võtmehoidla `%s' loomisel: %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "viga `%s' loomisel: %s\n"
@@ -1926,11 +1901,19 @@ msgstr "viga `%s' loomisel: %s\n"
msgid "No fingerprint"
msgstr "näita sõrmejälge"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "salajast võtit `%s' ei leitud: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "vigased impordi võtmed\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
@@ -4999,6 +4982,11 @@ msgstr ""
"HOIATUS: tõenäoliselt ebaturvaline sümmeetriliselt krüpteeritud sessiooni "
"võti\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kriitiline allkirja noteerimine: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "alampaketil tüübiga %d on kriitiline bitt seatud\n"
@@ -9154,6 +9142,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "viga `%s' lugemisel: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "viga võtmehoidla `%s' loomisel: %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "viga `%s' lugemisel: %s\n"
diff --git a/po/fi.po b/po/fi.po
index 302c3c0..5fb814d 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -863,16 +863,16 @@ msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "päivitys epäonnistui: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "tätä ei voi tehdä eräajossa\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -883,14 +883,6 @@ msgstr "tätä ei voi tehdä eräajossa\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1913,23 +1905,6 @@ msgid "[User ID not found]"
msgstr "[Käyttäjätunnusta ei löytynyt]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "virheelliset tuontivalitsimet\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "virhe luotaessa \"%s\": %s\n"
@@ -1941,11 +1916,19 @@ msgstr "virhe luotaessa \"%s\": %s\n"
msgid "No fingerprint"
msgstr "näytä sormenjälki"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "salaista avainta \"%s\" ei löydy: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "virheelliset tuontivalitsimet\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
@@ -5036,6 +5019,11 @@ msgstr "julkisen avaimen algorimin %d käsittely ei onnistu\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "VAROITUS: mahdollisesti turvaton symmetrisesti salattu istuntoavain\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kriittinen allekirjoitusnotaatio: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "tyypin %d alipaketilla on kriittinen bitti asetettuna\n"
@@ -9216,6 +9204,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
diff --git a/po/fr.po b/po/fr.po
index fbd70af..c2a3d10 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -866,19 +866,21 @@ msgstr "Attention : « %s%s » est une option obsolète — non prise en com
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "attente pour permettre à l'agent d'arriver… (%d s)\n"
+
+#, fuzzy, c-format
+#| msgid "connection to agent established\n"
+msgid "connection to %s established\n"
+msgstr "connexion à l'agent établie\n"
+
#, c-format
msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
"pas d'instance de gpg-agent en cours d'exécution — démarrage de « %s »\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr "attente pour permettre à l'agent d'arriver… (%d s)\n"
-
-#, c-format
-msgid "connection to agent established\n"
-msgstr "connexion à l'agent établie\n"
-
#, fuzzy, c-format
#| msgid "connection to agent established\n"
msgid "connection to agent is in restricted mode\n"
@@ -888,14 +890,6 @@ msgstr "connexion à l'agent établie\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "pas d'instance de Dirmngr en cours d'exécution — démarrage de « %s »\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "attente pour permettre au dirmngr d'arriver… (%d s)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "connexion au dirmngr établie\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1875,25 +1869,6 @@ msgstr "erreur de création de « %s » : %s\n"
msgid "[User ID not found]"
msgstr "[identité introuvable]"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "argument manquant pour l'option « %.50s »\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "erreur de fermeture de %s : %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring '%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "erreur de création du porte-clefs « %s » : %s\n"
-
#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "« %s » automatiquement récupéré par %s\n"
@@ -1906,10 +1881,19 @@ msgid "No fingerprint"
msgstr "Aucune empreinte"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "clef secrète « %s » introuvable : %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "argument manquant pour l'option « %.50s »\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOM|utiliser le NOM comme clef secrète par défaut"
@@ -4973,6 +4957,11 @@ msgstr ""
"Attention : la clef de session chiffrée de manière symétrique risque\n"
" de ne pas être sécurisée\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notation de signature critique : "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "un sous-paquet de type %d possède un bit critique\n"
@@ -9290,6 +9279,22 @@ msgstr ""
"Vérifier une phrase secrète donnée sur l'entrée standard par rapport à "
"ficmotif\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "attente pour permettre au dirmngr d'arriver… (%d s)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "connexion au dirmngr établie\n"
+
+#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "erreur de fermeture de %s : %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring '%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "erreur de création du porte-clefs « %s » : %s\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "utilisation d'« http » au lieu d'« https »\n"
diff --git a/po/gl.po b/po/gl.po
index 7610c99..a8ac8ab 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -850,16 +850,16 @@ msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "a actualización fallou: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "non se pode facer iso no modo por lotes\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -870,14 +870,6 @@ msgstr "non se pode facer iso no modo por lotes\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1907,23 +1899,6 @@ msgid "[User ID not found]"
msgstr "[Non se atopou o id de usuario]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opcións de importación non válidas\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "erro lendo `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "erro ao crea-lo chaveiro `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "erro ao crear `%s': %s\n"
@@ -1935,11 +1910,19 @@ msgstr "erro ao crear `%s': %s\n"
msgid "No fingerprint"
msgstr "Pegada dactilar:"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "non se atopou a chave secreta `%s': %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opcións de importación non válidas\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOME|empregar NOME coma chave secreta por defecto"
@@ -5046,6 +5029,11 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
"AVISO: chave de sesión cifrada simetricamente potencialmente insegura\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notación de sinaturas críticas: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "un subpaquete de tipo %d ten o bit crítico posto\n"
@@ -9236,6 +9224,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "erro lendo `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "erro ao crea-lo chaveiro `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "erro lendo `%s': %s\n"
diff --git a/po/hu.po b/po/hu.po
index ba6bfa2..c594a62 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -846,16 +846,16 @@ msgstr "FIGYELEM: \"%s\" elavult opció!\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "Frissítés sikertelen: %s.\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "Nem tudom ezt megcsinálni kötegelt módban!\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -866,14 +866,6 @@ msgstr "Nem tudom ezt megcsinálni kötegelt módban!\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1895,23 +1887,6 @@ msgid "[User ID not found]"
msgstr "[ismeretlen kulcs]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "Érvénytelen import opciók!\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "Hiba \"%s\" olvasásakor: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "Hiba \"%s\" létrehozásakor: %s\n"
@@ -1923,11 +1898,19 @@ msgstr "Hiba \"%s\" létrehozásakor: %s\n"
msgid "No fingerprint"
msgstr "megmutatja az ujjlenyomatot"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "\"%s\" titkos kulcs nem található: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "Érvénytelen import opciók!\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
@@ -5015,6 +4998,11 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
"FIGYELEM: A rejtjelezett munkafolyamat-kulcs lehet, hogy nem biztonságos!\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritikus aláírás-jelölés: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "A %d típusú alcsomag kritikus bitje beállított.\n"
@@ -9184,6 +9172,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "Hiba \"%s\" olvasásakor: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "Hiba \"%s\" olvasásakor: %s\n"
diff --git a/po/id.po b/po/id.po
index a5f291a..c0d8069 100644
--- a/po/id.po
+++ b/po/id.po
@@ -851,16 +851,16 @@ msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "gagal memperbarui: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "tidak dapat melakukan hal itu dalam mode batch\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -871,14 +871,6 @@ msgstr "tidak dapat melakukan hal itu dalam mode batch\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1900,23 +1892,6 @@ msgid "[User ID not found]"
msgstr "[User id tidak ditemukan]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opsi impor tidak valid\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "kesalahan membaca `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "kesalahan menulis keyring `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "kesalahan penciptaan : `%s': %s\n"
@@ -1928,11 +1903,19 @@ msgstr "kesalahan penciptaan : `%s': %s\n"
msgid "No fingerprint"
msgstr "tampilkan fingerprint"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "kunci rahasia `%s' tidak ditemukan: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opsi impor tidak valid\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
@@ -5011,6 +4994,11 @@ msgstr "tidak dapat menangani algoritma kunci publik %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "PERINGATAN: kunci sesi mungkin dienkripsi simetris secara tidak aman\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notasi signature kritis: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "subpaket tipe %d memiliki bit kritis terset\n"
@@ -9177,6 +9165,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "kesalahan membaca `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "kesalahan menulis keyring `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "kesalahan membaca `%s': %s\n"
diff --git a/po/it.po b/po/it.po
index 3ca0d40..49a5784 100644
--- a/po/it.po
+++ b/po/it.po
@@ -846,16 +846,16 @@ msgstr "ATTENZIONE: \"%s\" è una opzione deprecata\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "aggiornamento fallito: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "impossibile fare questo in modo batch\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -866,14 +866,6 @@ msgstr "impossibile fare questo in modo batch\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1906,23 +1898,6 @@ msgid "[User ID not found]"
msgstr "[User ID non trovato]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opzioni di importazione non valide\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "errore leggendo `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "errore creando il portachiavi `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "errore creando `%s': %s\n"
@@ -1934,11 +1909,19 @@ msgstr "errore creando `%s': %s\n"
msgid "No fingerprint"
msgstr "mostra le impronte digitali"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "chiave segreta `%s' non trovata: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opzioni di importazione non valide\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOME|usa NOME come chiave segreta predefinita"
@@ -5031,6 +5014,11 @@ msgstr ""
"ATTENZIONE: la chiave di sessione cifrata simmetricamente è potenzialmente\n"
"non sicura\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Annotazione critica della firma: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "il sottopacchetto di tipo %d ha un bit critico impostato\n"
@@ -9218,6 +9206,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "errore leggendo `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "errore creando il portachiavi `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "errore leggendo `%s': %s\n"
diff --git a/po/ja.po b/po/ja.po
index 045c46c..c891b23 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg 2.2.9\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2018-08-22 17:43+0900\n"
+"PO-Revision-Date: 2018-09-18 09:58+0900\n"
"Last-Translator: NIIBE Yutaka <gniibe@fsij.org>\n"
"Language-Team: none\n"
"Language: ja\n"
@@ -822,16 +822,16 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr "未知のdebugフラグ'%s'は無視されました\n"
#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "gpg-agentが実行されていません - '%s'を開始します\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "%s の起動のため、%d秒待ちます...\n"
#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr "agentの起動のため、%d秒待ちます\n"
+msgid "connection to %s established\n"
+msgstr "%s への接続が確立しました。\n"
#, c-format
-msgid "connection to agent established\n"
-msgstr "エージェントへの接続が確立しました。\n"
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "gpg-agentが実行されていません - '%s'を開始します\n"
#, c-format
msgid "connection to agent is in restricted mode\n"
@@ -841,14 +841,6 @@ msgstr "エージェントへの接続は制限モードです。\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "dirmngrが動いていません - 開始します'%s'\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "dirmngrの起動のため、%d秒待ちます\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "dirmngrへの接続が確立しました\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1776,22 +1768,6 @@ msgid "[User ID not found]"
msgstr "[ユーザIDが見つかりません]"
#, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "(オプション'%s'の引数を確認ください)\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr "警告: '%s'は長い鍵IDかフィンガープリントであるべきです。\n"
-
-#, c-format
-msgid "error looking up: %s\n"
-msgstr "検索のエラー: %s\n"
-
-#, c-format
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "警告: %sは鍵リングに%d回出現します\n"
-
-#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "'%s'を %s から自動取得\n"
@@ -1803,10 +1779,18 @@ msgid "No fingerprint"
msgstr "フィンガープリントがありません"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr "%s から失効した鍵の新しいコピーを確認します。\n"
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "秘密鍵\"%s\"が見つかりません: %s\n"
#, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "(オプション'%s'の引数を確認ください)\n"
+
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "警告: デフォルトの秘密鍵として '%s' を用いません: %s\n"
@@ -4673,6 +4657,10 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "*警告*: 潜在的にセキュアでない共通鍵暗号化セッション鍵です\n"
#, c-format
+msgid "Unknown critical signature notation: "
+msgstr "不明なクリティカルな署名注釈: "
+
+#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "型%dの下位パケットにクリティカル・ビットを発見\n"
@@ -8673,6 +8661,21 @@ msgstr ""
"形式: gpg-check-pattern [オプション] パターンファイル\n"
"パターンファイルに対して標準入力のパスフレーズを確認する\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "dirmngrの起動のため、%d秒待ちます\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "dirmngrへの接続が確立しました\n"
+
+#~ msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
+#~ msgstr "警告: '%s'は長い鍵IDかフィンガープリントであるべきです。\n"
+
+#~ msgid "error looking up: %s\n"
+#~ msgstr "検索のエラー: %s\n"
+
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "警告: %sは鍵リングに%d回出現します\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "\"http\" を \"https\" の代わりに使います\n"
diff --git a/po/nb.po b/po/nb.po
index af0e809..b6a9698 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -825,19 +825,21 @@ msgstr "ADVARSEL: valget «%s%s» er utgått, og har ingen effekt\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr "unknown debug flag '%s' ignored\n"
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "ingen kjørende gpg-agent. Starter «%s»\n"
-
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
+#, fuzzy, c-format
+#| msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "venter på at agent skal dukke opp … (%ds)\n"
-#, c-format
-msgid "connection to agent established\n"
+#, fuzzy, c-format
+#| msgid "connection to agent established\n"
+msgid "connection to %s established\n"
msgstr "koblet til agent\n"
#, c-format
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "ingen kjørende gpg-agent. Starter «%s»\n"
+
+#, c-format
msgid "connection to agent is in restricted mode\n"
msgstr "kobler til agent i begrenset modus\n"
@@ -845,14 +847,6 @@ msgstr "kobler til agent i begrenset modus\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "ingen kjørende Dirmngr. Starter «%s»\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "venter på at dirmngr skal dukke opp … (%ds)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "koblet til dirmngr\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1799,22 +1793,6 @@ msgid "[User ID not found]"
msgstr "[Fant ikke bruker-ID]"
#, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "(kontroller argument for valget «%s»)\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr "Advarsel: «%s» må være en lang nøkkel-ID eller et fingeravtrykk\n"
-
-#, c-format
-msgid "error looking up: %s\n"
-msgstr "feil under oppslag av %s\n"
-
-#, c-format
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "Advarsel: %s står oppført på nøkkelknippet %d ganger\n"
-
-#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "hentet «%s» via %s automatisk\n"
@@ -1826,10 +1804,18 @@ msgid "No fingerprint"
msgstr "Ingen fingeravtrykk"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "fant ikke hemmelig nøkkel «%s»: %s\n"
#, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "(kontroller argument for valget «%s»)\n"
+
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "Advarsel: bruker ikke «%s» som forvalgt nøkkel: %s\n"
@@ -4743,6 +4729,11 @@ msgstr "klarte ikke å håndtere offentlig nøkkelalgoritme %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "ADVARSEL: det er usikkert å kryptere øktnøkkel symmetrisk\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritisk signaturnotat: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "underpakke %d er merket som kritisk\n"
@@ -8810,6 +8801,21 @@ msgstr ""
"Syntaks: gpg-check-pattern [valg] mønsterfil\n"
"Kontroller passordfrase oppgitt på standard innkanal mot valgt mønsterfil\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "venter på at dirmngr skal dukke opp … (%ds)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "koblet til dirmngr\n"
+
+#~ msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
+#~ msgstr "Advarsel: «%s» må være en lang nøkkel-ID eller et fingeravtrykk\n"
+
+#~ msgid "error looking up: %s\n"
+#~ msgstr "feil under oppslag av %s\n"
+
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "Advarsel: %s står oppført på nøkkelknippet %d ganger\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "bruker «http» i stedet for «https»\n"
diff --git a/po/pl.po b/po/pl.po
index ad35f93..52861fc 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -908,18 +908,19 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "no running gpg-agent - starting one\n"
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "gpg-agent nie działa - uruchamianie\n"
-
-#, fuzzy, c-format
#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
-#, c-format
-msgid "connection to agent established\n"
-msgstr ""
+#, fuzzy, c-format
+#| msgid "can't connect to the dirmngr - trying fall back\n"
+msgid "connection to %s established\n"
+msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
+
+#, fuzzy, c-format
+#| msgid "no running gpg-agent - starting one\n"
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "gpg-agent nie działa - uruchamianie\n"
#, fuzzy, c-format
#| msgid "can't connect to the dirmngr - trying fall back\n"
@@ -931,16 +932,6 @@ msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "dirmngr nie działa - uruchamianie ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
-
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
-msgid "connection to the dirmngr established\n"
-msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1937,25 +1928,6 @@ msgid "[User ID not found]"
msgstr "[brak identyfikatora użytkownika]"
#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "błąd zamykania %s: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "automatically retrieved `%s' via %s\n"
msgid "automatically retrieved '%s' via %s\n"
msgstr "automatycznie pobrano `%s' poprzez %s\n"
@@ -1969,10 +1941,19 @@ msgid "No fingerprint"
msgstr "Brak odcisku"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "klucz prywatny ,,%s'' nie został odnaleziony: %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "brak argumentu dla opcji ,,%.50s''\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NAZWA|użycie NAZWY jako domyślnego klucza tajnego"
@@ -5120,6 +5101,11 @@ msgstr ""
"OSTRZEŻENIE: symetrycznie zaszyfrowany klucz sesyjny może nie być "
"bezpieczny\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Krytyczne adnotacje podpisu: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "podpakiet typu %d ma ustawiony krytyczny bit\n"
@@ -9601,6 +9587,21 @@ msgstr ""
"Sprawdzanie hasła ze standardowego wejścia względem pliku wzorców\n"
#, fuzzy
+#~| msgid "waiting %d seconds for the agent to come up\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
+
+#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "błąd zamykania %s: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
+
+#, fuzzy
#~| msgid "error running `%s': exit status %d\n"
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "błąd uruchamiania ,,%s'': kod wyjścia %d\n"
diff --git a/po/pt.po b/po/pt.po
index 3a8d2c7..2e2e035 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -851,16 +851,16 @@ msgstr "AVISO: \"%s\" é uma opção depreciada\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "actualização falhou: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "impossível fazer isso em modo não-interativo\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -871,14 +871,6 @@ msgstr "impossível fazer isso em modo não-interativo\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1896,23 +1888,6 @@ msgid "[User ID not found]"
msgstr "[Utilizador não encontrado]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opções de importação inválidas\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "erro na leitura de `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "erro ao criar porta-chaves `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "erro ao criar `%s': %s\n"
@@ -1924,11 +1899,19 @@ msgstr "erro ao criar `%s': %s\n"
msgid "No fingerprint"
msgstr "mostra impressão digital"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "chave `%s' não encontrada: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opções de importação inválidas\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NOME|usar NOME como chave secreta por omissão"
@@ -5018,6 +5001,11 @@ msgstr "impossível manipular algoritmo de chave pública %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notação de assinatura crítica: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "subpacote do tipo %d tem bit crítico ligado\n"
@@ -9179,6 +9167,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "erro na leitura de `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "erro ao criar porta-chaves `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "erro na leitura de `%s': %s\n"
diff --git a/po/ro.po b/po/ro.po
index 45c6c6b..f9510ba 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -867,16 +867,17 @@ msgstr "AVERTISMENT: \"%s\" este o opţiune învechită\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "actualizarea a eşuat: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+#| msgid "can't do this in batch mode\n"
+msgid "connection to %s established\n"
+msgstr "nu pot face acest lucru în modul batch\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -888,14 +889,6 @@ msgstr "nu pot face acest lucru în modul batch\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1913,23 +1906,6 @@ msgid "[User ID not found]"
msgstr "[ID utilizator nu a fost găsit]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "opţiuni enumerare invalide\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "eroare în `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "eroare la crearea inelului de chei `%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "eroare la creearea `%s': %s\n"
@@ -1942,10 +1918,18 @@ msgid "No fingerprint"
msgstr "Amprenta CA: "
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "opţiuni enumerare invalide\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NUME|foloseşte NUME ca cheie secretă implicită"
@@ -5059,6 +5043,11 @@ msgstr ""
"AVERTISMENT: cheie de sesiune cifrată simetric potenţial nesigură "
"(insecure)\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Notare semnătură critică: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "subpachetul de tip %d are bitul critic setat\n"
@@ -9294,6 +9283,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "eroare în `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "eroare la crearea inelului de chei `%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "eroare la citire `%s': %s\n"
diff --git a/po/sk.po b/po/sk.po
index 8a1149b..36c4e67 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -851,16 +851,16 @@ msgstr "VAROVÁNÍ: použitie parametra \"%s\" sa neodporúča\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "aktualizácia zlyhala: %s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "connection to %s established\n"
+msgstr "nemožno previesť v dávkovom móde\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -871,14 +871,6 @@ msgstr "nemožno previesť v dávkovom móde\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1902,23 +1894,6 @@ msgid "[User ID not found]"
msgstr "[User id not found]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "neplatný parameter pre import\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "chyba pri čítaní `%s': %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
-
-#, fuzzy, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "chyba pri vytváraní `%s': %s\n"
@@ -1930,11 +1905,19 @@ msgstr "chyba pri vytváraní `%s': %s\n"
msgid "No fingerprint"
msgstr "vypísať fingerprint"
+#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "tajný kľúč `%s' nebol nájdený: %s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "neplatný parameter pre import\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|MENO|použi MENO ako implicitný tajný kľúč"
@@ -5031,6 +5014,11 @@ msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr ""
"VAROVANIE: pravdepodobne nebezpečný symetricky šifrovaný kľúč sedenia\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritická podpisová notácia: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "podpaket typu %d má nastavený kritický bit\n"
@@ -9208,6 +9196,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "chyba pri čítaní `%s': %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "chyba pri čítaní `%s': %s\n"
diff --git a/po/sv.po b/po/sv.po
index a84bcea..5091570 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -943,18 +943,19 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "no running gpg-agent - starting one\n"
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "ingen körande gpg-agent - startar en\n"
-
-#, fuzzy, c-format
#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "väntar %d sekunder för att agenten ska komma igång\n"
-#, c-format
-msgid "connection to agent established\n"
-msgstr ""
+#, fuzzy, c-format
+#| msgid "can't connect to the dirmngr - trying fall back\n"
+msgid "connection to %s established\n"
+msgstr "kan inte ansluta till dirmngr - försöker falla tillbaka\n"
+
+#, fuzzy, c-format
+#| msgid "no running gpg-agent - starting one\n"
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "ingen körande gpg-agent - startar en\n"
#, fuzzy, c-format
#| msgid "can't connect to the dirmngr - trying fall back\n"
@@ -966,16 +967,6 @@ msgstr "kan inte ansluta till dirmngr - försöker falla tillbaka\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "ingen körande dirmngr - startar \"%s\"\n"
-#, fuzzy, c-format
-#| msgid "waiting %d seconds for the agent to come up\n"
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "väntar %d sekunder för att agenten ska komma igång\n"
-
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
-msgid "connection to the dirmngr established\n"
-msgstr "kan inte ansluta till dirmngr - försöker falla tillbaka\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1991,25 +1982,6 @@ msgid "[User ID not found]"
msgstr "[Användaridentiteten hittades inte]"
#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "argument för flaggan \"%.50s\" saknas\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "fel vid stängning av %s: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "fel när nyckelringen \"%s\" skapades: %s\n"
-
-#, fuzzy, c-format
#| msgid "automatically retrieved `%s' via %s\n"
msgid "automatically retrieved '%s' via %s\n"
msgstr "hämtade \"%s\" automatiskt via %s\n"
@@ -2023,10 +1995,19 @@ msgid "No fingerprint"
msgstr "Inget fingeravtryck"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "hemliga nyckeln \"%s\" hittades inte: %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "argument för flaggan \"%.50s\" saknas\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|NAMN|använd NAMN som förvald hemlig nyckel"
@@ -5182,6 +5163,11 @@ msgstr "kan inte hantera algoritmen %d för publika nycklar\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "VARNING: potentiellt osäker symmetriskt krypterad sessionsnyckel\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritisk signaturnotation: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "underpaket av typen %d har den bit satt som markerar den som kritisk\n"
@@ -9678,6 +9664,21 @@ msgstr ""
"Kontrollera en lösenfras angiven på standard in mot mönsterfilen\n"
#, fuzzy
+#~| msgid "waiting %d seconds for the agent to come up\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "väntar %d sekunder för att agenten ska komma igång\n"
+
+#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "fel vid stängning av %s: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "fel när nyckelringen \"%s\" skapades: %s\n"
+
+#, fuzzy
#~| msgid "error running `%s': exit status %d\n"
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "fel vid körning av \"%s\": avslutsstatus %d\n"
diff --git a/po/tr.po b/po/tr.po
index 7484c24..6451e4e 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -907,18 +907,20 @@ msgid "unknown debug flag '%s' ignored\n"
msgstr ""
#, fuzzy, c-format
+#| msgid "waiting for process %d to terminate failed: %s\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "süreç %d sonlanacak diye beklerken başarısızlık: %s\n"
+
+#, fuzzy, c-format
+#| msgid "can't connect to the dirmngr - trying fall back\n"
+msgid "connection to %s established\n"
+msgstr "dirmngr'a bağlanılamıyor - son çareye başvuruluyor\n"
+
+#, fuzzy, c-format
#| msgid "no running gpg-agent - starting one\n"
msgid "no running gpg-agent - starting '%s'\n"
msgstr "çalışan gpg-agent yok - bir tane başlatılıyor\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to agent established\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "can't connect to the dirmngr - trying fall back\n"
msgid "connection to agent is in restricted mode\n"
@@ -929,15 +931,6 @@ msgstr "dirmngr'a bağlanılamıyor - son çareye başvuruluyor\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "çalışan dirmngr yok - `%s' başlatılıyor\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
-msgid "connection to the dirmngr established\n"
-msgstr "dirmngr'a bağlanılamıyor - son çareye başvuruluyor\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1933,25 +1926,6 @@ msgid "[User ID not found]"
msgstr "[Kullanıcı kimliği yok]"
#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "%s kapanırken hata: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "`%s' anahtarlığı oluşturulurken hata: %s\n"
-
-#, fuzzy, c-format
#| msgid "automatically retrieved `%s' via %s\n"
msgid "automatically retrieved '%s' via %s\n"
msgstr "`%s' %s üzerinden özdevinimli olarak alındı\n"
@@ -1965,10 +1939,19 @@ msgid "No fingerprint"
msgstr "Parmak izi yok"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "gizli anahtar \"%s\" yok: %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|İSİM|öntanımlı gizli anahtar olarak İSİM kullanılır"
@@ -5119,6 +5102,11 @@ msgstr "%d genel anahtar algoritması kullanılamadı\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "UYARI: simetrik şifreli oturum anahtarı potansiyel olarak güvensiz\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Kritik imza simgelemi: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "%d tipi alt paket kritik bit kümesine sahip\n"
@@ -9577,6 +9565,16 @@ msgstr ""
"karşılaştırır\n"
#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "%s kapanırken hata: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "`%s' anahtarlığı oluşturulurken hata: %s\n"
+
+#, fuzzy
#~| msgid "error running `%s': exit status %d\n"
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "`%s' çalışırken hata: çıkış durumu: %d\n"
diff --git a/po/uk.po b/po/uk.po
index bb1301c..fae0cd8 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -834,19 +834,21 @@ msgstr "УВАГА: «%s%s» є застарілим параметром — в
msgid "unknown debug flag '%s' ignored\n"
msgstr "невідомий прапорець діагностики «%s» проігноровано\n"
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "не запущено gpg-agent — запускаємо «%s»\n"
-
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
+#, fuzzy, c-format
+#| msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "очікування на працездатність агента… (%d с)\n"
-#, c-format
-msgid "connection to agent established\n"
+#, fuzzy, c-format
+#| msgid "connection to agent established\n"
+msgid "connection to %s established\n"
msgstr "встановлено з’єднання з агентом\n"
#, c-format
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "не запущено gpg-agent — запускаємо «%s»\n"
+
+#, c-format
msgid "connection to agent is in restricted mode\n"
msgstr "з’єднання з агентом відбувається у обмеженому режимі\n"
@@ -854,14 +856,6 @@ msgstr "з’єднання з агентом відбувається у обм
msgid "no running Dirmngr - starting '%s'\n"
msgstr "Dirmngr не запущено — запускаємо «%s»\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "очікування на працездатність dirmngr… (%d с)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "встановлено з’єднання з dirmngr\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1824,23 +1818,6 @@ msgid "[User ID not found]"
msgstr "[Ідентифікатор не знайдено]"
#, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "(перевірте аргумент параметра «%s»)\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-"Попередження: «%s» має бути довгим ідентифікатором ключа або відбитком\n"
-
-#, c-format
-msgid "error looking up: %s\n"
-msgstr "помилка під час пошуку: %s\n"
-
-#, c-format
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "Попередження: запис %s наявний у сховищі %d разів\n"
-
-#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "автоматично отримано «%s» за допомогою %s\n"
@@ -1852,10 +1829,18 @@ msgid "No fingerprint"
msgstr "Без відбитка"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "закритий ключ «%s» не знайдено: %s\n"
#, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "(перевірте аргумент параметра «%s»)\n"
+
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "Попередження: «%s» не використовується як типовий ключ: %s\n"
@@ -4863,6 +4848,11 @@ msgstr ""
"УВАГА: потенційно небезпечний зашифрований симетричним алгоритмом ключ "
"сеансу\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "Критична примітка підпису: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "підпакет типу %d містить критичний набір бітів\n"
@@ -9058,6 +9048,22 @@ msgstr ""
"Синтаксис: gpg-check-pattern [параметри] файл_шаблонів\n"
"Перевірити пароль, вказаний у stdin, за допомогою файла_шаблонів\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "очікування на працездатність dirmngr… (%d с)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "встановлено з’єднання з dirmngr\n"
+
+#~ msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
+#~ msgstr ""
+#~ "Попередження: «%s» має бути довгим ідентифікатором ключа або відбитком\n"
+
+#~ msgid "error looking up: %s\n"
+#~ msgstr "помилка під час пошуку: %s\n"
+
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "Попередження: запис %s наявний у сховищі %d разів\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "використовуємо «http» замість «https»\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 1c35509..9ee42bb 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -862,16 +862,17 @@ msgstr "警告:“%s”选项已不建议使用\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "waiting for the %s to come up ... (%ds)\n"
+msgstr "更新失败:%s\n"
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
-msgstr ""
+#, fuzzy, c-format
+#| msgid "can't do this in batch mode\n"
+msgid "connection to %s established\n"
+msgstr "在批处理模式中无法完成此操作\n"
#, c-format
-msgid "connection to agent established\n"
+msgid "no running gpg-agent - starting '%s'\n"
msgstr ""
#, fuzzy, c-format
@@ -883,14 +884,6 @@ msgstr "在批处理模式中无法完成此操作\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr ""
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr ""
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr ""
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1882,23 +1875,6 @@ msgid "[User ID not found]"
msgstr "[找不到用户标识]"
#, fuzzy, c-format
-msgid "(check argument of option '%s')\n"
-msgstr "无效的列表选项\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "error looking up: %s\n"
-msgstr "‘%s’中出错:%s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "建立钥匙环‘%s’时发生错误:%s\n"
-
-#, fuzzy, c-format
#| msgid "automatically retrieved `%s' via %s\n"
msgid "automatically retrieved '%s' via %s\n"
msgstr "自动获取‘%s’,通过 %s\n"
@@ -1912,10 +1888,18 @@ msgid "No fingerprint"
msgstr "CA 指纹:"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "找不到私钥“%s”:%s\n"
#, fuzzy, c-format
+msgid "(check argument of option '%s')\n"
+msgstr "无效的列表选项\n"
+
+#, fuzzy, c-format
#| msgid "unusable secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "不可用的私钥"
@@ -4949,6 +4933,11 @@ msgstr "无法操作公钥算法 %d\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "警告:潜在不安全的对称加密会话密钥\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "关键签名注记:"
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "%d 类别的子包设定了关键位\n"
@@ -9119,6 +9108,15 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error looking up: %s\n"
+#~ msgstr "‘%s’中出错:%s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring `%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "建立钥匙环‘%s’时发生错误:%s\n"
+
+#, fuzzy
#~ msgid "error retrieving '%s': http status %u\n"
#~ msgstr "读取‘%s’时出错:%s\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index b1cfa59..908aa6e 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -828,18 +828,20 @@ msgstr "警告: \"%s%s\" 是已廢棄的選項 - 沒有效果\n"
msgid "unknown debug flag '%s' ignored\n"
msgstr ""
-#, c-format
-msgid "no running gpg-agent - starting '%s'\n"
-msgstr "沒有執行中的 gpg-agent - 正在啟動 '%s'\n"
-
-#, c-format
-msgid "waiting for the agent to come up ... (%ds)\n"
+#, fuzzy, c-format
+#| msgid "waiting for the agent to come up ... (%ds)\n"
+msgid "waiting for the %s to come up ... (%ds)\n"
msgstr "正在等候代理程式出現 ... (%d 秒)\n"
-#, c-format
-msgid "connection to agent established\n"
+#, fuzzy, c-format
+#| msgid "connection to agent established\n"
+msgid "connection to %s established\n"
msgstr "至代理程式的連線已建立\n"
+#, c-format
+msgid "no running gpg-agent - starting '%s'\n"
+msgstr "沒有執行中的 gpg-agent - 正在啟動 '%s'\n"
+
#, fuzzy, c-format
#| msgid "connection to agent established\n"
msgid "connection to agent is in restricted mode\n"
@@ -849,14 +851,6 @@ msgstr "至代理程式的連線已建立\n"
msgid "no running Dirmngr - starting '%s'\n"
msgstr "沒有執行中的 Dirmngr - 正在啟動 '%s'\n"
-#, c-format
-msgid "waiting for the dirmngr to come up ... (%ds)\n"
-msgstr "正在等候 dirmngr 出現 ... (%d 秒)\n"
-
-#, c-format
-msgid "connection to the dirmngr established\n"
-msgstr "連線至 dirmngr 已建立\n"
-
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
msgid "|audit-log-result|Good"
@@ -1805,25 +1799,6 @@ msgstr "建立 '%s' 時出錯: %s\n"
msgid "[User ID not found]"
msgstr "[找不到使用者 ID]"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
-msgid "(check argument of option '%s')\n"
-msgstr "\"%.50s\" 選項遺失了引數\n"
-
-#, c-format
-msgid "Warning: '%s' should be a long key ID or a fingerprint\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
-msgid "error looking up: %s\n"
-msgstr "關閉 %s 時出錯: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error creating keyring '%s': %s\n"
-msgid "Warning: %s appears in the keyring %d times\n"
-msgstr "建立鑰匙圈 '%s' 時出錯: %s\n"
-
#, c-format
msgid "automatically retrieved '%s' via %s\n"
msgstr "已自動取回 '%s' (經由 %s )\n"
@@ -1836,10 +1811,19 @@ msgid "No fingerprint"
msgstr "沒有指紋"
#, c-format
+msgid "checking for a fresh copy of an expired key via %s\n"
+msgstr ""
+
+#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "找不到私鑰 \"%s\": %s\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "(check argument of option '%s')\n"
+msgstr "\"%.50s\" 選項遺失了引數\n"
+
+#, fuzzy, c-format
#| msgid "|NAME|use NAME as default secret key"
msgid "Warning: not using '%s' as default key: %s\n"
msgstr "|名字|使用指定名字做為預設私鑰"
@@ -4773,6 +4757,11 @@ msgstr "無法操作 %d 公開金鑰演算法\n"
msgid "WARNING: potentially insecure symmetrically encrypted session key\n"
msgstr "警告: 可能並不安全的對稱式加密階段金鑰\n"
+#, fuzzy, c-format
+#| msgid "Critical signature notation: "
+msgid "Unknown critical signature notation: "
+msgstr "關鍵簽章註記: "
+
#, c-format
msgid "subpacket of type %d has critical bit set\n"
msgstr "%d 類別的子封包設定了關鍵位元\n"
@@ -8832,6 +8821,22 @@ msgstr ""
"語法: gpg-check-pattern [選項] 樣式檔案\n"
"用樣式檔案來檢查由標準輸入給定的密語\n"
+#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
+#~ msgstr "正在等候 dirmngr 出現 ... (%d 秒)\n"
+
+#~ msgid "connection to the dirmngr established\n"
+#~ msgstr "連線至 dirmngr 已建立\n"
+
+#, fuzzy
+#~| msgid "error closing %s: %s\n"
+#~ msgid "error looking up: %s\n"
+#~ msgstr "關閉 %s 時出錯: %s\n"
+
+#, fuzzy
+#~| msgid "error creating keyring '%s': %s\n"
+#~ msgid "Warning: %s appears in the keyring %d times\n"
+#~ msgstr "建立鑰匙圈 '%s' 時出錯: %s\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "正改以 \"http\" 代替 \"https\"\n"
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index 9fcfa19..911bd88 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -4381,7 +4381,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
log_info (_("signatures created so far: %lu\n"), sigcount);
/* Check CHV if needed. */
- if (!app->did_chv1 || app->force_chv1 )
+ if (!app->did_chv1 || app->force_chv1)
{
char *pinvalue;
int pinlen;
@@ -4429,6 +4429,9 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
}
rc = iso7816_compute_ds (app->slot, exmode, data, datalen, le_value,
outdata, outdatalen);
+ if (!rc && app->force_chv1)
+ app->did_chv1 = 0;
+
return rc;
}
diff --git a/sm/call-dirmngr.c b/sm/call-dirmngr.c
index 3a38bca..fb05413 100644
--- a/sm/call-dirmngr.c
+++ b/sm/call-dirmngr.c
@@ -390,7 +390,7 @@ inq_certificate (void *opaque, const char *line)
}
else
{
- log_error ("unsupported inquiry '%s'\n", line);
+ log_error ("unsupported certificate inquiry '%s'\n", line);
return gpg_error (GPG_ERR_ASS_UNKNOWN_INQUIRE);
}
@@ -950,9 +950,33 @@ run_command_inq_cb (void *opaque, const char *line)
line = s;
log_info ("dirmngr: %s\n", line);
}
+ else if ((s = has_leading_keyword (line, "ISTRUSTED")))
+ {
+ /* The server is asking us whether the certificate is a trusted
+ root certificate. */
+ char fpr[41];
+ struct rootca_flags_s rootca_flags;
+ int n;
+
+ line = s;
+
+ for (s=line,n=0; hexdigitp (s); s++, n++)
+ ;
+ if (*s || n != 40)
+ return gpg_error (GPG_ERR_ASS_PARAMETER);
+ for (s=line, n=0; n < 40; s++, n++)
+ fpr[n] = (*s >= 'a')? (*s & 0xdf): *s;
+ fpr[n] = 0;
+
+ if (!gpgsm_agent_istrusted (parm->ctrl, NULL, fpr, &rootca_flags))
+ rc = assuan_send_data (parm->ctx, "1", 1);
+ else
+ rc = 0;
+ return rc;
+ }
else
{
- log_error ("unsupported inquiry '%s'\n", line);
+ log_error ("unsupported command inquiry '%s'\n", line);
rc = gpg_error (GPG_ERR_ASS_UNKNOWN_INQUIRE);
}
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index da1783d..defc698 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -1660,7 +1660,7 @@ main ( int argc, char **argv)
|| cmd == aClearsign,
opt.extra_digest_algo))
log_error (_("digest algorithm '%s' may not be used in %s mode\n"),
- forced_digest_algo,
+ extra_digest_algo,
gnupg_compliance_option_string (opt.compliance));
if (log_get_errorcount(0))
diff --git a/tools/gpg-connect-agent.c b/tools/gpg-connect-agent.c
index 00482a3..7eb7ffa 100644
--- a/tools/gpg-connect-agent.c
+++ b/tools/gpg-connect-agent.c
@@ -983,7 +983,7 @@ do_open (char *line)
name, mode, strerror (errno));
return;
}
- fd = fileno (fp);
+ fd = dup (fileno (fp));
if (fd >= 0 && fd < DIM (open_fd_table))
{
open_fd_table[fd].inuse = 1;
@@ -1030,8 +1030,10 @@ do_open (char *line)
else
{
log_error ("can't put fd %d into table\n", fd);
- close (fd);
+ if (fd != -1)
+ close (fd); /* Table was full. */
}
+ fclose (fp);
}
diff --git a/tools/gpg-wks-client.c b/tools/gpg-wks-client.c
index 73945ff..bf6b119 100644
--- a/tools/gpg-wks-client.c
+++ b/tools/gpg-wks-client.c
@@ -61,6 +61,7 @@ enum cmd_and_opt_values
oSend,
oFakeSubmissionAddr,
oStatusFD,
+ oWithColons,
oDummy
};
@@ -90,6 +91,7 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_n (oSend, "send", "send the mail using sendmail"),
ARGPARSE_s_s (oOutput, "output", "|FILE|write the mail to FILE"),
ARGPARSE_s_i (oStatusFD, "status-fd", N_("|FD|write status info to this FD")),
+ ARGPARSE_s_n (oWithColons, "with-colons", "@"),
ARGPARSE_s_s (oFakeSubmissionAddr, "fake-submission-addr", "@"),
@@ -204,6 +206,9 @@ parse_arguments (ARGPARSE_ARGS *pargs, ARGPARSE_OPTS *popts)
case oStatusFD:
wks_set_status_fd (translate_sys2libc_fd_int (pargs->r.ret_int, 1));
break;
+ case oWithColons:
+ opt.with_colons = 1;
+ break;
case aSupported:
case aCreate:
@@ -271,11 +276,20 @@ main (int argc, char **argv)
switch (cmd)
{
case aSupported:
- if (argc != 1)
- wrong_args ("--supported USER-ID");
- err = command_supported (argv[0]);
- if (err && gpg_err_code (err) != GPG_ERR_FALSE)
- log_error ("checking support failed: %s\n", gpg_strerror (err));
+ if (opt.with_colons)
+ {
+ for (; argc; argc--, argv++)
+ command_supported (*argv);
+ err = 0;
+ }
+ else
+ {
+ if (argc != 1)
+ wrong_args ("--supported DOMAIN");
+ err = command_supported (argv[0]);
+ if (err && gpg_err_code (err) != GPG_ERR_FALSE)
+ log_error ("checking support failed: %s\n", gpg_strerror (err));
+ }
break;
case aCreate:
@@ -471,6 +485,134 @@ decrypt_stream (estream_t *r_output, struct decrypt_stream_parm_s *decinfo,
}
+/* Return the submission address for the address or just the domain in
+ * ADDRSPEC. The submission address is stored as a malloced string at
+ * R_SUBMISSION_ADDRESS. At R_POLICY the policy flags of the domain
+ * are stored. The caller needs to free them with wks_free_policy.
+ * The function returns an error code on failure to find a submission
+ * address or policy file. Note: The function may store NULL at
+ * R_SUBMISSION_ADDRESS but return success to indicate that the web
+ * key directory is supported but not the web key service. As per WKD
+ * specs a policy file is always required and will thus be return on
+ * success. */
+static gpg_error_t
+get_policy_and_sa (const char *addrspec, int silent,
+ policy_flags_t *r_policy, char **r_submission_address)
+{
+ gpg_error_t err;
+ estream_t mbuf = NULL;
+ const char *domain;
+ const char *s;
+ policy_flags_t policy = NULL;
+ char *submission_to = NULL;
+
+ *r_submission_address = NULL;
+ *r_policy = NULL;
+
+ domain = strchr (addrspec, '@');
+ if (domain)
+ domain++;
+
+ if (opt.with_colons)
+ {
+ s = domain? domain : addrspec;
+ es_write_sanitized (es_stdout, s, strlen (s), ":", NULL);
+ es_putc (':', es_stdout);
+ }
+
+ /* We first try to get the submission address from the policy file
+ * (this is the new method). If both are available we check that
+ * they match and print a warning if not. In the latter case we
+ * keep on using the one from the submission-address file. */
+ err = wkd_get_policy_flags (addrspec, &mbuf);
+ if (err && gpg_err_code (err) != GPG_ERR_NO_DATA
+ && gpg_err_code (err) != GPG_ERR_NO_NAME)
+ {
+ if (!opt.with_colons)
+ log_error ("error reading policy flags for '%s': %s\n",
+ domain, gpg_strerror (err));
+ goto leave;
+ }
+ if (!mbuf)
+ {
+ if (!opt.with_colons)
+ log_error ("provider for '%s' does NOT support the Web Key Directory\n",
+ addrspec);
+ err = gpg_error (GPG_ERR_FALSE);
+ goto leave;
+ }
+
+ policy = xtrycalloc (1, sizeof *policy);
+ if (!policy)
+ err = gpg_error_from_syserror ();
+ else
+ err = wks_parse_policy (policy, mbuf, 1);
+ es_fclose (mbuf);
+ mbuf = NULL;
+ if (err)
+ goto leave;
+
+ err = wkd_get_submission_address (addrspec, &submission_to);
+ if (err && !policy->submission_address)
+ {
+ if (!silent && !opt.with_colons)
+ log_error (_("error looking up submission address for domain '%s'"
+ ": %s\n"), domain, gpg_strerror (err));
+ if (!silent && gpg_err_code (err) == GPG_ERR_NO_DATA && !opt.with_colons)
+ log_error (_("this domain probably doesn't support WKS.\n"));
+ goto leave;
+ }
+
+ if (submission_to && policy->submission_address
+ && ascii_strcasecmp (submission_to, policy->submission_address))
+ log_info ("Warning: different submission addresses (sa=%s, po=%s)\n",
+ submission_to, policy->submission_address);
+
+ if (!submission_to && policy->submission_address)
+ {
+ submission_to = xtrystrdup (policy->submission_address);
+ if (!submission_to)
+ {
+ err = gpg_error_from_syserror ();
+ goto leave;
+ }
+ }
+
+ leave:
+ *r_submission_address = submission_to;
+ submission_to = NULL;
+ *r_policy = policy;
+ policy = NULL;
+
+ if (opt.with_colons)
+ {
+ if (*r_policy && !*r_submission_address)
+ es_fprintf (es_stdout, "1:0::");
+ else if (*r_policy && *r_submission_address)
+ es_fprintf (es_stdout, "1:1::");
+ else if (err && !(gpg_err_code (err) == GPG_ERR_FALSE
+ || gpg_err_code (err) == GPG_ERR_NO_DATA
+ || gpg_err_code (err) == GPG_ERR_UNKNOWN_HOST))
+ es_fprintf (es_stdout, "0:0:%d:", err);
+ else
+ es_fprintf (es_stdout, "0:0::");
+ if (*r_policy)
+ {
+ es_fprintf (es_stdout, "%u:%u:%u:",
+ (*r_policy)->protocol_version,
+ (*r_policy)->auth_submit,
+ (*r_policy)->mailbox_only);
+ }
+ es_putc ('\n', es_stdout);
+ }
+
+ xfree (submission_to);
+ wks_free_policy (policy);
+ xfree (policy);
+ es_fclose (mbuf);
+ return err;
+}
+
/* Check whether the provider supports the WKS protocol. */
@@ -480,6 +622,7 @@ command_supported (char *userid)
gpg_error_t err;
char *addrspec = NULL;
char *submission_to = NULL;
+ policy_flags_t policy = NULL;
if (!strchr (userid, '@'))
{
@@ -497,24 +640,41 @@ command_supported (char *userid)
}
/* Get the submission address. */
- err = wkd_get_submission_address (addrspec, &submission_to);
- if (err)
+ err = get_policy_and_sa (addrspec, 1, &policy, &submission_to);
+ if (err || !submission_to)
{
- if (gpg_err_code (err) == GPG_ERR_NO_DATA
- || gpg_err_code (err) == GPG_ERR_UNKNOWN_HOST)
+ if (!submission_to
+ || gpg_err_code (err) == GPG_ERR_FALSE
+ || gpg_err_code (err) == GPG_ERR_NO_DATA
+ || gpg_err_code (err) == GPG_ERR_UNKNOWN_HOST
+ )
{
- if (opt.verbose)
- log_info ("provider for '%s' does NOT support WKS (%s)\n",
- addrspec, gpg_strerror (err));
+ /* FALSE is returned if we already figured out that even the
+ * Web Key Directory is not supported and thus printed an
+ * error message. */
+ if (opt.verbose && gpg_err_code (err) != GPG_ERR_FALSE
+ && !opt.with_colons)
+ {
+ if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+ log_info ("provider for '%s' does NOT support WKS\n",
+ addrspec);
+ else
+ log_info ("provider for '%s' does NOT support WKS (%s)\n",
+ addrspec, gpg_strerror (err));
+ }
err = gpg_error (GPG_ERR_FALSE);
- log_inc_errorcount ();
+ if (!opt.with_colons)
+ log_inc_errorcount ();
}
goto leave;
}
- if (opt.verbose)
+
+ if (opt.verbose && !opt.with_colons)
log_info ("provider for '%s' supports WKS\n", addrspec);
leave:
+ wks_free_policy (policy);
+ xfree (policy);
xfree (submission_to);
xfree (addrspec);
return err;
@@ -628,7 +788,7 @@ command_send (const char *fingerprint, const char *userid)
estream_t keyenc = NULL;
char *submission_to = NULL;
mime_maker_t mime = NULL;
- struct policy_flags_s policy;
+ policy_flags_t policy = NULL;
int no_encrypt = 0;
int posteo_hack = 0;
const char *domain;
@@ -636,8 +796,6 @@ command_send (const char *fingerprint, const char *userid)
uidinfo_list_t uid, thisuid;
time_t thistime;
- memset (&policy, 0, sizeof policy);
-
if (classify_user_id (fingerprint, &desc, 1)
|| !(desc.mode == KEYDB_SEARCH_MODE_FPR
|| desc.mode == KEYDB_SEARCH_MODE_FPR20))
@@ -665,62 +823,26 @@ command_send (const char *fingerprint, const char *userid)
/* Get the submission address. */
if (fake_submission_addr)
{
+ policy = xcalloc (1, sizeof *policy);
submission_to = xstrdup (fake_submission_addr);
err = 0;
}
else
{
- /* We first try to get the submission address from the policy
- * file (this is the new method). If both are available we
- * check that they match and print a warning if not. In the
- * latter case we keep on using the one from the
- * submission-address file. */
- estream_t mbuf;
-
- err = wkd_get_policy_flags (addrspec, &mbuf);
- if (err && gpg_err_code (err) != GPG_ERR_NO_DATA)
- {
- log_error ("error reading policy flags for '%s': %s\n",
- domain, gpg_strerror (err));
- goto leave;
- }
- if (mbuf)
- {
- err = wks_parse_policy (&policy, mbuf, 1);
- es_fclose (mbuf);
- if (err)
- goto leave;
- }
-
- err = wkd_get_submission_address (addrspec, &submission_to);
- if (err && !policy.submission_address)
- {
- log_error (_("error looking up submission address for domain '%s'"
- ": %s\n"), domain, gpg_strerror (err));
- if (gpg_err_code (err) == GPG_ERR_NO_DATA)
- log_error (_("this domain probably doesn't support WKS.\n"));
- goto leave;
- }
-
- if (submission_to && policy.submission_address
- && ascii_strcasecmp (submission_to, policy.submission_address))
- log_info ("Warning: different submission addresses (sa=%s, po=%s)\n",
- submission_to, policy.submission_address);
-
+ err = get_policy_and_sa (addrspec, 0, &policy, &submission_to);
+ if (err)
+ goto leave;
if (!submission_to)
{
- submission_to = xtrystrdup (policy.submission_address);
- if (!submission_to)
- {
- err = gpg_error_from_syserror ();
- goto leave;
- }
+ log_error (_("this domain probably doesn't support WKS.\n"));
+ err = gpg_error (GPG_ERR_NO_DATA);
+ goto leave;
}
}
log_info ("submitting request to '%s'\n", submission_to);
- if (policy.auth_submit)
+ if (policy->auth_submit)
log_info ("no confirmation required for '%s'\n", addrspec);
/* In case the key has several uids with the same addr-spec we will
@@ -738,8 +860,7 @@ command_send (const char *fingerprint, const char *userid)
{
if (!uid->mbox)
continue; /* Should not happen anyway. */
- if (policy.mailbox_only
- && ascii_strcasecmp (uid->uid, uid->mbox))
+ if (policy->mailbox_only && ascii_strcasecmp (uid->uid, uid->mbox))
continue; /* UID has more than just the mailbox. */
if (uid->created > thistime)
{
@@ -770,7 +891,7 @@ command_send (const char *fingerprint, const char *userid)
key = newkey;
}
- if (policy.mailbox_only
+ if (policy->mailbox_only
&& (!thisuid->mbox || ascii_strcasecmp (thisuid->uid, thisuid->mbox)))
{
log_info ("Warning: policy requires 'mailbox-only'"
@@ -791,7 +912,7 @@ command_send (const char *fingerprint, const char *userid)
/* Hack to support posteo but let them disable this by setting the
* new policy-version flag. */
- if (policy.protocol_version < 3
+ if (policy->protocol_version < 3
&& !ascii_strcasecmp (domain, "posteo.de"))
{
log_info ("Warning: Using draft-1 method for domain '%s'\n", domain);
@@ -908,7 +1029,8 @@ command_send (const char *fingerprint, const char *userid)
free_uidinfo_list (uidlist);
es_fclose (keyenc);
es_fclose (key);
- wks_free_policy (&policy);
+ wks_free_policy (policy);
+ xfree (policy);
xfree (addrspec);
return err;
}
diff --git a/tools/gpg-wks-server.c b/tools/gpg-wks-server.c
index a588155..24b3312 100644
--- a/tools/gpg-wks-server.c
+++ b/tools/gpg-wks-server.c
@@ -58,6 +58,7 @@ enum cmd_and_opt_values
oQuiet = 'q',
oVerbose = 'v',
oOutput = 'o',
+ oDirectory = 'C',
oDebug = 500,
@@ -108,6 +109,7 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_s (oGpgProgram, "gpg", "@"),
ARGPARSE_s_n (oSend, "send", "send the mail using sendmail"),
ARGPARSE_s_s (oOutput, "output", "|FILE|write the mail to FILE"),
+ ARGPARSE_s_s (oDirectory, "directory", "|DIR|use DIR as top directory"),
ARGPARSE_s_s (oFrom, "from", "|ADDR|use ADDR as the default sender"),
ARGPARSE_s_s (oHeader, "header" ,
"|NAME=VALUE|add \"NAME: VALUE\" as header to all mails"),
@@ -225,6 +227,9 @@ parse_arguments (ARGPARSE_ARGS *pargs, ARGPARSE_OPTS *popts)
case oGpgProgram:
opt.gpg_program = pargs->r.ret_str;
break;
+ case oDirectory:
+ opt.directory = pargs->r.ret_str;
+ break;
case oFrom:
opt.default_from = pargs->r.ret_str;
break;
@@ -350,6 +355,7 @@ main (int argc, char **argv)
{
log_error ("directory '%s' has too relaxed permissions\n",
opt.directory);
+ log_info ("Fix by running: chmod o-rw '%s'\n", opt.directory);
exit (2);
}
}
@@ -1667,7 +1673,7 @@ command_receive_cb (void *opaque, const char *mediatype,
-/* Return a list of all configured domains. ECh list element is the
+/* Return a list of all configured domains. Each list element is the
* top directory for the domain. To figure out the actual domain
* name strrchr(name, '/') can be used. */
static gpg_error_t
@@ -1946,7 +1952,17 @@ command_list_domains (void)
if (!fp)
{
err = gpg_error_from_syserror ();
- if (gpg_err_code (err) != GPG_ERR_ENOENT)
+ if (gpg_err_code (err) == GPG_ERR_ENOENT)
+ {
+ fp = es_fopen (fname, "w");
+ if (!fp)
+ log_error ("domain %s: can't create policy file: %s\n",
+ domain, gpg_strerror (err));
+ else
+ es_fclose (fp);
+ fp = NULL;
+ }
+ else
log_error ("domain %s: error in policy file: %s\n",
domain, gpg_strerror (err));
}
@@ -1955,17 +1971,8 @@ command_list_domains (void)
struct policy_flags_s policy;
err = wks_parse_policy (&policy, fp, 0);
es_fclose (fp);
- if (!err)
- {
- struct policy_flags_s empty_policy;
- memset (&empty_policy, 0, sizeof empty_policy);
- if (!memcmp (&empty_policy, &policy, sizeof policy))
- log_error ("domain %s: empty policy file\n", domain);
- }
wks_free_policy (&policy);
}
-
-
}
err = 0;
diff --git a/tools/gpg-wks.h b/tools/gpg-wks.h
index 1b91b65..fba73f0 100644
--- a/tools/gpg-wks.h
+++ b/tools/gpg-wks.h
@@ -36,6 +36,7 @@ struct
unsigned int debug;
int quiet;
int use_sendmail;
+ int with_colons;
const char *output;
const char *gpg_program;
const char *directory;
diff --git a/tools/mime-maker.c b/tools/mime-maker.c
index 0edc14d..91eab82 100644
--- a/tools/mime-maker.c
+++ b/tools/mime-maker.c
@@ -25,14 +25,10 @@
#include "../common/util.h"
#include "../common/zb32.h"
+#include "rfc822parse.h"
#include "mime-maker.h"
-/* All valid characters in a header name. */
-#define HEADER_NAME_CHARS ("abcdefghijklmnopqrstuvwxyz" \
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
- "-01234567890")
-
/* An object to store an header. Also used for a list of headers. */
struct header_s
{
@@ -269,38 +265,6 @@ ensure_part (mime_maker_t ctx, part_t *r_parent)
}
-/* Transform a header name into a standard capitalized format.
- * "Content-Type". Conversion stops at the colon. */
-static void
-capitalize_header_name (char *name)
-{
- unsigned char *p = name;
- int first = 1;
-
- /* Special cases first. */
- if (!ascii_strcasecmp (name, "MIME-Version"))
- {
- strcpy (name, "MIME-Version");
- return;
- }
-
- /* Regular cases. */
- for (; *p && *p != ':'; p++)
- {
- if (*p == '-')
- first = 1;
- else if (first)
- {
- if (*p >= 'a' && *p <= 'z')
- *p = *p - 'a' + 'A';
- first = 0;
- }
- else if (*p >= 'A' && *p <= 'Z')
- *p = *p - 'A' + 'a';
- }
-}
-
-
/* Check whether a header with NAME has already been set into PART.
* NAME must be in canonical capitalized format. Return true or
* false. */
@@ -344,17 +308,14 @@ add_header (part_t part, const char *name, const char *value)
memcpy (hdr->name, name, namelen);
hdr->name[namelen] = 0;
- /* Check that the header name is valid. We allow all lower and
- * uppercase letters and, except for the first character, digits and
- * the dash. */
- if (strspn (hdr->name, HEADER_NAME_CHARS) != namelen
- || strchr ("-0123456789", *hdr->name))
+ /* Check that the header name is valid. */
+ if (!rfc822_valid_header_name_p (hdr->name))
{
xfree (hdr);
return gpg_error (GPG_ERR_INV_NAME);
}
- capitalize_header_name (hdr->name);
+ rfc822_capitalize_header_name (hdr->name);
hdr->value = xtrystrdup (value);
if (!hdr->value)
{
diff --git a/tools/rfc822parse.c b/tools/rfc822parse.c
index e8cdb02..0a4e2bc 100644
--- a/tools/rfc822parse.c
+++ b/tools/rfc822parse.c
@@ -41,6 +41,12 @@
#include "rfc822parse.h"
+/* All valid characters in a header name. */
+#define HEADER_NAME_CHARS ("abcdefghijklmnopqrstuvwxyz" \
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+ "-01234567890")
+
+
enum token_type
{
tSPACE,
@@ -131,28 +137,31 @@ lowercase_string (unsigned char *string)
*string = *string - 'A' + 'a';
}
-/* Transform a header name into a standard capitalized format; i.e
- "Content-Type". Conversion stops at the colon. As usual we don't
- use the localized versions of ctype.h.
- */
-static void
-capitalize_header_name (unsigned char *name)
+
+static int
+my_toupper (int c)
{
- int first = 1;
+ if (c >= 'a' && c <= 'z')
+ c &= ~0x20;
+ return c;
+}
+
+/* This is the same as ascii_strcasecmp. */
+static int
+my_strcasecmp (const char *a, const char *b)
+{
+ if (a == b)
+ return 0;
- for (; *name && *name != ':'; name++)
- if (*name == '-')
- first = 1;
- else if (first)
- {
- if (*name >= 'a' && *name <= 'z')
- *name = *name - 'a' + 'A';
- first = 0;
- }
- else if (*name >= 'A' && *name <= 'Z')
- *name = *name - 'A' + 'a';
+ for (; *a && *b; a++, b++)
+ {
+ if (*a != *b && my_toupper(*a) != my_toupper(*b))
+ break;
+ }
+ return *a == *b? 0 : (my_toupper (*a) - my_toupper (*b));
}
+
#ifndef HAVE_STPCPY
static char *
my_stpcpy (char *a,const char *b)
@@ -228,6 +237,62 @@ release_handle_data (rfc822parse_t msg)
}
+/* Check that the header name is valid. We allow all lower and
+ * uppercase letters and, except for the first character, digits and
+ * the dash. The check stops at the first colon or at string end.
+ * Returns true if the name is valid. */
+int
+rfc822_valid_header_name_p (const char *name)
+{
+ const char *s;
+ size_t namelen;
+
+ if ((s=strchr (name, ':')))
+ namelen = s - name;
+ else
+ namelen = strlen (name);
+
+ if (!namelen
+ || strspn (name, HEADER_NAME_CHARS) != namelen
+ || strchr ("-0123456789", *name))
+ return 0;
+ return 1;
+}
+
+
+/* Transform a header NAME into a standard capitalized format.
+ * Conversion stops at the colon. */
+void
+rfc822_capitalize_header_name (char *name)
+{
+ unsigned char *p = name;
+ int first = 1;
+
+ /* Special cases first. */
+ if (!my_strcasecmp (name, "MIME-Version"))
+ {
+ strcpy (name, "MIME-Version");
+ return;
+ }
+
+ /* Regular cases. */
+ for (; *p && *p != ':'; p++)
+ {
+ if (*p == '-')
+ first = 1;
+ else if (first)
+ {
+ if (*p >= 'a' && *p <= 'z')
+ *p = *p - 'a' + 'A';
+ first = 0;
+ }
+ else if (*p >= 'A' && *p <= 'Z')
+ *p = *p - 'A' + 'a';
+ }
+}
+
+
+
/* Create a new parsing context for an entire rfc822 message and
return it. CB and CB_VALUE may be given to callback for certain
events. NULL is returned on error with errno set appropriately. */
@@ -432,7 +497,7 @@ insert_header (rfc822parse_t msg, const unsigned char *line, size_t length)
/* Transform a field name into canonical format. */
if (!hdr->cont && strchr (line, ':'))
- capitalize_header_name (hdr->line);
+ rfc822_capitalize_header_name (hdr->line);
*msg->current_part->hdr_lines_tail = hdr;
msg->current_part->hdr_lines_tail = &hdr->next;
diff --git a/tools/rfc822parse.h b/tools/rfc822parse.h
index 177d827..e2f2bed 100644
--- a/tools/rfc822parse.h
+++ b/tools/rfc822parse.h
@@ -48,6 +48,8 @@ typedef int (*rfc822parse_cb_t) (void *opaque,
rfc822parse_event_t event,
rfc822parse_t msg);
+int rfc822_valid_header_name_p (const char *name);
+void rfc822_capitalize_header_name (char *name);
rfc822parse_t rfc822parse_open (rfc822parse_cb_t cb, void *opaque_value);
diff --git a/tools/wks-util.c b/tools/wks-util.c
index 3fd824c..1bcdf78 100644
--- a/tools/wks-util.c
+++ b/tools/wks-util.c
@@ -556,7 +556,7 @@ wks_send_mime (mime_maker_t mime)
/* Parse the policy flags by reading them from STREAM and storing them
- * into FLAGS. If IGNORE_UNKNOWN is iset unknown keywords are
+ * into FLAGS. If IGNORE_UNKNOWN is set unknown keywords are
* ignored. */
gpg_error_t
wks_parse_policy (policy_flags_t flags, estream_t stream, int ignore_unknown)