summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 16:00:46 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 16:00:46 +0900
commitd5a3e1c5fe16a0142f2a4554c4cfed53453bdaa2 (patch)
tree509fadb6ecb2174394d85b588b6cc74946f8d239
parente299a90138c4ee04892f06ea99394c0f55d311db (diff)
downloadgpg2-d5a3e1c5fe16a0142f2a4554c4cfed53453bdaa2.tar.gz
gpg2-d5a3e1c5fe16a0142f2a4554c4cfed53453bdaa2.tar.bz2
gpg2-d5a3e1c5fe16a0142f2a4554c4cfed53453bdaa2.zip
Imported Upstream version 2.2.16upstream/2.2.16
-rw-r--r--NEWS67
-rw-r--r--agent/agent.h1
-rw-r--r--agent/call-scd.c9
-rw-r--r--agent/command-ssh.c4
-rw-r--r--agent/command.c4
-rw-r--r--agent/findkey.c7
-rw-r--r--agent/gpg-agent.c3
-rw-r--r--build-aux/speedo.mk78
-rw-r--r--common/Makefile.am4
-rw-r--r--common/mkstrtable.awk10
-rw-r--r--common/userids.c7
-rw-r--r--configure.ac2
-rw-r--r--dirmngr/domaininfo.c125
-rw-r--r--dirmngr/http.c3
-rw-r--r--dirmngr/ks-engine-hkp.c4
-rw-r--r--dirmngr/ks-engine-http.c4
-rw-r--r--dirmngr/ocsp.c109
-rw-r--r--doc/dirmngr.texi4
-rw-r--r--doc/gpg.texi74
-rw-r--r--doc/tools.texi13
-rw-r--r--g10/armor.c4
-rw-r--r--g10/build-packet.c8
-rw-r--r--g10/decrypt.c7
-rw-r--r--g10/delkey.c103
-rw-r--r--g10/ecdh.c2
-rw-r--r--g10/exec.c110
-rw-r--r--g10/export.c9
-rw-r--r--g10/getkey.c3
-rw-r--r--g10/import.c25
-rw-r--r--g10/keydb.c15
-rw-r--r--g10/keygen.c60
-rw-r--r--g10/keyserver.c9
-rw-r--r--g10/main.h2
-rw-r--r--g10/options.h2
-rw-r--r--g10/packet.h5
-rw-r--r--g10/parse-packet.c15
-rw-r--r--g10/photoid.c16
-rw-r--r--g10/plaintext.c3
-rw-r--r--g10/sign.c7
-rw-r--r--g10/tofu.c32
-rw-r--r--kbx/keybox-init.c20
-rw-r--r--kbx/keybox-search.c34
-rw-r--r--kbx/keybox-update.c2
-rw-r--r--m4/iconv.m4222
-rw-r--r--po/ca.po118
-rw-r--r--po/cs.po145
-rw-r--r--po/da.po131
-rw-r--r--po/de.po360
-rw-r--r--po/el.po115
-rw-r--r--po/eo.po118
-rw-r--r--po/es.po120
-rw-r--r--po/et.po115
-rw-r--r--po/fi.po115
-rw-r--r--po/fr.po134
-rw-r--r--po/gl.po120
-rw-r--r--po/hu.po115
-rw-r--r--po/id.po115
-rw-r--r--po/it.po115
-rw-r--r--po/ja.po118
-rw-r--r--po/nb.po117
-rw-r--r--po/pl.po133
-rw-r--r--po/pt.po115
-rw-r--r--po/ro.po118
-rw-r--r--po/ru.po124
-rw-r--r--po/sk.po115
-rw-r--r--po/sv.po131
-rw-r--r--po/tr.po132
-rw-r--r--po/uk.po129
-rw-r--r--po/zh_CN.po112
-rw-r--r--po/zh_TW.po130
-rw-r--r--scd/app-openpgp.c4
-rw-r--r--scd/scdaemon.c9
-rw-r--r--sm/certdump.c3
-rw-r--r--sm/certlist.c45
-rw-r--r--sm/gpgsm.h2
-rw-r--r--sm/sign.c6
-rw-r--r--tools/gpgconf-comp.c43
-rw-r--r--tools/gpgconf.c1
78 files changed, 2862 insertions, 1908 deletions
diff --git a/NEWS b/NEWS
index adf61db..b7bd370 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,68 @@
+Noteworthy changes in version 2.2.16 (2019-05-28)
+-------------------------------------------------
+
+ * gpg,gpgsm: Fix deadlock on Windows due to a keybox sharing
+ violation. [#4505]
+
+ * gpg: Allow deletion of subkeys with --delete-key. This finally
+ makes the bang-suffix work as expected for that command. [#4457]
+
+ * gpg: Replace SHA-1 by SHA-256 in self-signatures when updating
+ them with --quick-set-expire or --quick-set-primary-uid. [#4508]
+
+ * gpg: Improve the photo image viewer selection. [#4334]
+
+ * gpg: Fix decryption with --use-embedded-filename. [#4500]
+
+ * gpg: Remove hints on using the --keyserver option. [#4512]
+
+ * gpg: Fix export of certain secret keys with comments. [#4490]
+
+ * gpg: Reject too long user-ids in --quick-gen-key. [#4532]
+
+ * gpg: Fix a double free in the best key selection code. [#4462]
+
+ * gpg: Fix the key generation dialog for switching back from EdDSA
+ to ECDSA.
+
+ * gpg: Use AES-192 with SHA-384 to comply with RFC-6637.
+
+ * gpg: Use only the addrspec from the Signer's UID subpacket to
+ mitigate a problem with another implementation.
+
+ * gpg: Skip invalid packets during a keyring listing and sync
+ diagnostics with the output.
+
+ * gpgsm: Avoid confusing diagnostic when signing with the default
+ key. [#4535]
+
+ * agent: Do not delete any secret key in --dry-run mode.
+
+ * agent: Fix failures on 64 bit big-endian boxes related to URIs in
+ a keyfile. [#4501]
+
+ * agent: Stop scdaemon after a reload with disable-scdaemon newly
+ configured. [#4326]
+
+ * dirmngr: Improve caching algorithm for WKD domains.
+
+ * dirmngr: Support other hash algorithms than SHA-1 for OCSP. [#3966]
+
+ * gpgconf: Make --homedir work for --launch. [#4496]
+
+ * gpgconf: Before --launch check for a valid config file. [#4497]
+
+ * wkd: Do not import more than 5 keys from one WKD address.
+
+ * wkd: Accept keys which are stored in armored format in the
+ directory.
+
+ * The installer for Windows now comes with signed binaries.
+
+ Release-info: https://dev.gnupg.org/T4509
+ See-also: gnupg-announce/2019q2/000438.html
+
+
Noteworthy changes in version 2.2.15 (2019-03-26)
-------------------------------------------------
@@ -50,7 +115,7 @@ Noteworthy changes in version 2.2.14 (2019-03-19)
* dirmngr: Fix build problems with gcc 9 in libdns.
- * gpgconf: New option --show-socket for use wity --launch.
+ * gpgconf: New option --show-socket for use with --launch.
* gpgtar: Make option -C work for archive creation.
diff --git a/agent/agent.h b/agent/agent.h
index 58dd7df..e934ec8 100644
--- a/agent/agent.h
+++ b/agent/agent.h
@@ -597,6 +597,7 @@ int agent_card_scd (ctrl_t ctrl, const char *cmdline,
int (*getpin_cb)(void *, const char *,
const char *, char*, size_t),
void *getpin_cb_arg, void *assuan_context);
+void agent_card_killscd (void);
/*-- learncard.c --*/
diff --git a/agent/call-scd.c b/agent/call-scd.c
index 51d9abd..6438693 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -1324,3 +1324,12 @@ agent_card_scd (ctrl_t ctrl, const char *cmdline,
return unlock_scd (ctrl, 0);
}
+
+void
+agent_card_killscd (void)
+{
+ if (primary_scd_ctx == NULL)
+ return;
+ assuan_transact (primary_scd_ctx, "KILLSCD",
+ NULL, NULL, NULL, NULL, NULL, NULL);
+}
diff --git a/agent/command-ssh.c b/agent/command-ssh.c
index 3cfd8aa..d6729b7 100644
--- a/agent/command-ssh.c
+++ b/agent/command-ssh.c
@@ -3003,8 +3003,8 @@ ssh_key_to_protected_buffer (gcry_sexp_t key, const char *passphrase,
goto out;
}
- gcry_sexp_sprint (key, GCRYSEXP_FMT_CANON, buffer_new, buffer_new_n);
- /* FIXME: guarantee? */
+ buffer_new_n = gcry_sexp_sprint (key, GCRYSEXP_FMT_CANON,
+ buffer_new, buffer_new_n);
if (*passphrase)
err = agent_protect (buffer_new, passphrase, buffer, buffer_n, 0, -1);
diff --git a/agent/command.c b/agent/command.c
index 4839ffe..392c378 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -1231,8 +1231,8 @@ do_one_keyinfo (ctrl_t ctrl, const unsigned char *grip, assuan_context_t ctx,
}
-/* Entry int for the command KEYINFO. This function handles the
- command option processing. For details see hlp_keyinfo above. */
+/* Entry into the command KEYINFO. This function handles the
+ * command option processing. For details see hlp_keyinfo above. */
static gpg_error_t
cmd_keyinfo (assuan_context_t ctx, char *line)
{
diff --git a/agent/findkey.c b/agent/findkey.c
index 89a18fa..bdb6ab4 100644
--- a/agent/findkey.c
+++ b/agent/findkey.c
@@ -1230,6 +1230,7 @@ agent_public_key_from_file (ctrl_t ctrl,
gcry_sexp_t uri_sexp, comment_sexp;
const char *uri, *comment;
size_t uri_length, comment_length;
+ int uri_intlen, comment_intlen;
char *format, *p;
void *args[2+7+2+2+1]; /* Size is 2 + max. # of elements + 2 for uri + 2
for comment + end-of-list. */
@@ -1311,14 +1312,16 @@ agent_public_key_from_file (ctrl_t ctrl,
{
p = stpcpy (p, "(uri %b)");
assert (argidx+1 < DIM (args));
- args[argidx++] = (void *)&uri_length;
+ uri_intlen = (int)uri_length;
+ args[argidx++] = (void *)&uri_intlen;
args[argidx++] = (void *)&uri;
}
if (comment)
{
p = stpcpy (p, "(comment %b)");
assert (argidx+1 < DIM (args));
- args[argidx++] = (void *)&comment_length;
+ comment_intlen = (int)comment_length;
+ args[argidx++] = (void *)&comment_intlen;
args[argidx++] = (void*)&comment;
}
*p++ = ')';
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index ffd85d1..87656a1 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -2434,6 +2434,9 @@ agent_sighup_action (void)
"pinentry" binary that one can be used in case the
"pinentry-basic" fallback was in use. */
gnupg_module_name_flush_some ();
+
+ if (opt.disable_scdaemon)
+ agent_card_killscd ();
}
diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk
index 9c4189a..d1f9800 100644
--- a/build-aux/speedo.mk
+++ b/build-aux/speedo.mk
@@ -157,9 +157,41 @@ INST_NAME=gnupg-w32
# Use this to override the installaion directory for native builds.
INSTALL_PREFIX=none
-# The Authenticode key and cert chain used to sign the Windows installer
+# The Authenticode key and cert chain used to sign the Windows
+# installer If AUTHENTICODE_SIGNHOST is specified, signing is done on
+# that host using the Windows signtool. The signhost is usually an
+# entry in .ssh/config. Depending on the used token it might be
+# necessary to allow single signon and unlock the token before running
+# this makefile. All files given in AUTHENTICODE_FILES are signed
+# before they are put into the installer.
+AUTHENTICODE_SIGNHOST=authenticode-signhost
+AUTHENTICODE_TOOL='"C:\Program Files (x86)\Windows Kits\10\bin\signtool.exe"'
AUTHENTICODE_KEY=${HOME}/.gnupg/g10code-authenticode-key.p12
AUTHENTICODE_CERTS=${HOME}/.gnupg/g10code-authenticode-certs.pem
+AUTHENTICODE_FILES= \
+ dirmngr.exe \
+ dirmngr_ldap.exe \
+ gpg-agent.exe \
+ gpg-connect-agent.exe \
+ gpg-preset-passphrase.exe \
+ gpg-wks-client.exe \
+ gpg.exe \
+ gpgconf.exe \
+ gpgme-w32spawn.exe \
+ gpgsm.exe \
+ gpgtar.exe \
+ gpgv.exe \
+ libassuan-0.dll \
+ libgcrypt-20.dll \
+ libgpg-error-0.dll \
+ libgpgme-11.dll \
+ libksba-8.dll \
+ libnpth-0.dll \
+ libsqlite3-0.dll \
+ pinentry-w32.exe \
+ scdaemon.exe \
+ zlib1.dll
+
# Directory names.
@@ -1211,7 +1243,22 @@ ifeq ($(WITH_GUI),1)
extra_installer_options += -DWITH_GUI=1
endif
+# Note that we sign only when doing the final installer.
installer: all w32_insthelpers $(w32src)/inst-options.ini $(bdir)/README.txt
+ (set -e;\
+ cd "$(idir)"; \
+ if echo "$(idir)" | grep -q '/PLAY-release/' ; then \
+ for f in $(AUTHENTICODE_FILES); do \
+ if [ -f "bin/$$f" ]; then \
+ $(call AUTHENTICODE_sign,"bin/$$f","bin/$$f");\
+ elif [ -f "libexec/$$f" ]; then \
+ $(call AUTHENTICODE_sign,"libexec/$$f","libexec/$$f");\
+ else \
+ echo "speedo: WARNING: file '$$f' not available for signing";\
+ fi;\
+ done; \
+ fi \
+ )
$(MAKENSIS) -V2 \
-DINST_DIR=$(idir) \
-DINST6_DIR=$(idir6) \
@@ -1237,6 +1284,28 @@ define MKSWDB_commands
) | tee $(1).swdb
endef
+# Sign the file $1 and save the result as $2
+define AUTHENTICODE_sign
+ set -e;\
+ if [ -n "$(AUTHENTICODE_SIGNHOST)" ]; then \
+ echo "speedo: Signing via host $(AUTHENTICODE_SIGNHOST)";\
+ scp $(1) "$(AUTHENTICODE_SIGNHOST):a.exe" ;\
+ ssh "$(AUTHENTICODE_SIGNHOST)" $(AUTHENTICODE_TOOL) sign \
+ /n '"g10 Code GmbH"' \
+ /tr 'http://rfc3161timestamp.globalsign.com/advanced' /td sha256 \
+ /fd sha256 /du https://gnupg.org a.exe ;\
+ scp "$(AUTHENTICODE_SIGNHOST):a.exe" $(2);\
+ echo "speedo: signed file is '$(2)'" ;\
+ else \
+ echo "speedo: Signing using key $(AUTHENTICODE_KEY)";\
+ 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 $(1) -out $(2) ;\
+ fi
+endef
+
# Build the installer from the source tarball.
installer-from-source: dist-source
@@ -1265,13 +1334,8 @@ sign-installer:
exefile="$(INST_NAME)-$(INST_VERSION)_$(BUILD_DATESTR).exe" ;\
echo "speedo: /*" ;\
echo "speedo: * Signing installer" ;\
- echo "speedo: * Key: $(AUTHENTICODE_KEY)";\
echo "speedo: */" ;\
- 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" ;\
+ $(call AUTHENTICODE_sign,"PLAY/inst/$$exefile","../../$$exefile");\
exefile="../../$$exefile" ;\
$(call MKSWDB_commands,$${exefile},$${reldate}); \
echo "speedo: /*" ;\
diff --git a/common/Makefile.am b/common/Makefile.am
index fcbe7ea..3dbad0c 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -148,13 +148,13 @@ if MAINTAINER_MODE
audit-events.h: Makefile.am mkstrtable.awk exaudit.awk audit.h
$(AWK) -f $(srcdir)/exaudit.awk $(srcdir)/audit.h \
| $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
- -v namespace=eventstr_ > $(srcdir)/audit-events.h
+ -v pkg_namespace=eventstr_ > $(srcdir)/audit-events.h
# Create the status-codes.h include file from status.h
status-codes.h: Makefile.am mkstrtable.awk exstatus.awk status.h
$(AWK) -f $(srcdir)/exstatus.awk $(srcdir)/status.h \
| $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=3 -v nogettext=1 \
- -v namespace=statusstr_ > $(srcdir)/status-codes.h
+ -v pkg_namespace=statusstr_ > $(srcdir)/status-codes.h
endif
#
diff --git a/common/mkstrtable.awk b/common/mkstrtable.awk
index b5d4ef0..60efce8 100644
--- a/common/mkstrtable.awk
+++ b/common/mkstrtable.awk
@@ -76,7 +76,7 @@
#
# The variable prefix can be used to prepend a string to each message.
#
-# The variable namespace can be used to prepend a string to each
+# The variable pkg_namespace can be used to prepend a string to each
# variable and macro name.
BEGIN {
@@ -101,7 +101,7 @@ header {
print "/* The purpose of this complex string table is to produce";
print " optimal code with a minimum of relocations. */";
print "";
- print "static const char " namespace "msgstr[] = ";
+ print "static const char " pkg_namespace "msgstr[] = ";
header = 0;
}
else
@@ -109,7 +109,7 @@ header {
}
!header {
- sub (/\#.+/, "");
+ sub (/#.+/, "");
sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
if (/^$/)
@@ -149,14 +149,14 @@ END {
else
print " gettext_noop (\"" prefix last_msgstr "\");";
print "";
- print "static const int " namespace "msgidx[] =";
+ print "static const int " pkg_namespace "msgidx[] =";
print " {";
for (i = 0; i < coded_msgs; i++)
print " " pos[i] ",";
print " " pos[coded_msgs];
print " };";
print "";
- print "#define " namespace "msgidxof(code) (0 ? -1 \\";
+ print "#define " pkg_namespace "msgidxof(code) (0 ? -1 \\";
# Gather the ranges.
skip = code[0];
diff --git a/common/userids.c b/common/userids.c
index 01f2cd8..00f26b7 100644
--- a/common/userids.c
+++ b/common/userids.c
@@ -351,8 +351,10 @@ classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc, int openpgp_hack)
}
else if (!hexprefix)
{
- /* The fingerprint in an X.509 listing is often delimited by
- colons, so we try to single this case out. */
+ /* The fingerprint of an X.509 listing is often delimited by
+ * colons, so we try to single this case out. Note that the
+ * OpenPGP bang suffix is not supported here. */
+ desc->exact = 0;
mode = 0;
hexlength = strspn (s, ":0123456789abcdefABCDEF");
if (hexlength == 59 && (!s[hexlength] || spacep (s+hexlength)))
@@ -414,7 +416,6 @@ classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc, int openpgp_hack)
}
if (!mode) /* Default to substring search. */
{
- desc->exact = 0;
desc->u.name = s;
mode = KEYDB_SEARCH_MODE_SUBSTR;
}
diff --git a/configure.ac b/configure.ac
index 7951bd2..86ad506 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], [15])
+m4_define([mym4_micro], [16])
# 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
diff --git a/dirmngr/domaininfo.c b/dirmngr/domaininfo.c
index a2effff..2e55842 100644
--- a/dirmngr/domaininfo.c
+++ b/dirmngr/domaininfo.c
@@ -47,6 +47,7 @@ struct domaininfo_s
unsigned int wkd_not_found:1; /* A WKD query failed. */
unsigned int wkd_supported:1; /* One WKD entry was found. */
unsigned int wkd_not_supported:1; /* Definitely does not support WKD. */
+ unsigned int keepmark:1; /* Private to insert_or_update(). */
char name[1];
};
typedef struct domaininfo_s *domaininfo_t;
@@ -143,7 +144,10 @@ insert_or_update (const char *domain,
{
domaininfo_t di;
domaininfo_t di_new;
- domaininfo_t di_cut;
+ domaininfo_t drop = NULL;
+ domaininfo_t drop_extra = NULL;
+ int nkept = 0;
+ int ndropped = 0;
u32 hash;
int count;
@@ -162,7 +166,6 @@ insert_or_update (const char *domain,
/* Need to do another lookup because the malloc is a system call and
* thus the hash array may have been changed by another thread. */
- di_cut = NULL;
for (count=0, di = domainbuckets[hash]; di; di = di->next, count++)
if (!strcmp (di->name, domain))
{
@@ -172,16 +175,89 @@ insert_or_update (const char *domain,
}
/* Before we insert we need to check whether the chain gets too long. */
- di_cut = NULL;
if (count >= MAX_DOMAINBUCKET_LEN)
{
- for (count=0, di = domainbuckets[hash]; di; di = di->next, count++)
- if (count >= MAX_DOMAINBUCKET_LEN/2)
- {
- di_cut = di->next;
- di->next = NULL;
- break;
- }
+ domaininfo_t bucket;
+ domaininfo_t *array;
+ int narray, idx;
+ domaininfo_t keep = NULL;
+
+ /* Unlink from the global list before doing a syscall. */
+ bucket = domainbuckets[hash];
+ domainbuckets[hash] = NULL;
+
+ array = xtrycalloc (count, sizeof *array);
+ if (!array)
+ {
+ /* That's bad; give up the entire bucket. */
+ log_error ("domaininfo: error allocating helper array: %s\n",
+ gpg_strerror (gpg_err_code_from_syserror ()));
+ drop_extra = bucket;
+ goto leave;
+ }
+ narray = 0;
+
+ /* Move all items into an array for easier processing. */
+ for (di = bucket; di; di = di->next)
+ array[narray++] = di;
+ log_assert (narray == count);
+
+ /* Mark all item in the array which are flagged to support wkd
+ * but not more than half of the maximum. This way we will at
+ * the end drop half of the items. */
+ count = 0;
+ for (idx=0; idx < narray; idx++)
+ {
+ di = array[idx];
+ di->keepmark = 0; /* Clear flag here on the first pass. */
+ if (di->wkd_supported && count < MAX_DOMAINBUCKET_LEN/2)
+ {
+ di->keepmark = 1;
+ count++;
+ }
+ }
+ /* Now mark those which are marked as not found. */
+ /* FIXME: we should use an LRU algorithm here. */
+ for (idx=0; idx < narray; idx++)
+ {
+ di = array[idx];
+ if (!di->keepmark
+ && di->wkd_not_supported && count < MAX_DOMAINBUCKET_LEN/2)
+ {
+ di->keepmark = 1;
+ count++;
+ }
+ }
+
+ /* Build a bucket list and a second list for later freeing the
+ * items (we can't do it directly because a free is a system
+ * call and we want to avoid locks in this module. Note that
+ * the kept items will be reversed order which does not matter. */
+ for (idx=0; idx < narray; idx++)
+ {
+ di = array[idx];
+ if (di->keepmark)
+ {
+ di->next = keep;
+ keep = di;
+ nkept++;
+ }
+ else
+ {
+ di->next = drop;
+ drop = di;
+ ndropped++;
+ }
+ }
+
+ /* In case another thread added new stuff to the domain list we
+ * simply drop them instead all. It would also be possible to
+ * append them to our list but then we can't guarantee that a
+ * bucket list is almost all of the time limited to
+ * MAX_DOMAINBUCKET_LEN. Not sure whether this is really a
+ * sensible strategy. */
+ drop_extra = domainbuckets[hash];
+ domainbuckets[hash] = keep;
}
/* Insert */
@@ -190,17 +266,28 @@ insert_or_update (const char *domain,
di->next = domainbuckets[hash];
domainbuckets[hash] = di;
- /* Remove the rest of the cutted chain. */
- while (di_cut)
+ if (opt.verbose && (nkept || ndropped))
+ log_info ("domaininfo: bucket=%lu kept=%d purged=%d\n",
+ (unsigned long)hash, nkept, ndropped);
+
+ leave:
+ /* Remove the dropped items. */
+ while (drop)
+ {
+ di = drop->next;
+ xfree (drop);
+ drop = di;
+ }
+ while (drop_extra)
{
- di = di_cut->next;
- xfree (di_cut);
- di_cut = di;
+ di = drop_extra->next;
+ xfree (drop_extra);
+ drop_extra = di;
}
}
-/* Helper for domaininfo_set_no_name. */
+/* Helper for domaininfo_set_no_name. May not do any syscalls. */
static void
set_no_name_cb (domaininfo_t di, int insert_mode)
{
@@ -224,7 +311,7 @@ domaininfo_set_no_name (const char *domain)
}
-/* Helper for domaininfo_set_wkd_supported. */
+/* Helper for domaininfo_set_wkd_supported. May not do any syscalls. */
static void
set_wkd_supported_cb (domaininfo_t di, int insert_mode)
{
@@ -245,7 +332,7 @@ domaininfo_set_wkd_supported (const char *domain)
}
-/* Helper for domaininfo_set_wkd_not_supported. */
+/* Helper for domaininfo_set_wkd_not_supported. May not do any syscalls. */
static void
set_wkd_not_supported_cb (domaininfo_t di, int insert_mode)
{
@@ -265,7 +352,7 @@ domaininfo_set_wkd_not_supported (const char *domain)
-/* Helper for domaininfo_set_wkd_not_found. */
+/* Helper for domaininfo_set_wkd_not_found. May not do any syscalls. */
static void
set_wkd_not_found_cb (domaininfo_t di, int insert_mode)
{
diff --git a/dirmngr/http.c b/dirmngr/http.c
index 7fdd06a..384f256 100644
--- a/dirmngr/http.c
+++ b/dirmngr/http.c
@@ -3530,7 +3530,8 @@ same_host_p (parsed_uri_t a, parsed_uri_t b)
{ "protonmail.com", "api.protonmail.com" },
{ NULL, "api.protonmail.ch" },
{ "protonmail.ch", "api.protonmail.com" },
- { NULL, "api.protonmail.ch" }
+ { NULL, "api.protonmail.ch" },
+ { "pm.me", "api.protonmail.ch" }
};
int i;
const char *from;
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c
index 20d29e9..e3c09c2 100644
--- a/dirmngr/ks-engine-hkp.c
+++ b/dirmngr/ks-engine-hkp.c
@@ -1271,6 +1271,10 @@ send_request (ctrl_t ctrl, const char *request, const char *hostportstr,
err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
goto leave;
+ case 413: /* Payload too large */
+ err = gpg_error (GPG_ERR_TOO_LARGE);
+ goto leave;
+
default:
log_error (_("error accessing '%s': http status %u\n"),
request, http_get_status_code (http));
diff --git a/dirmngr/ks-engine-http.c b/dirmngr/ks-engine-http.c
index 1abb350..a9600db 100644
--- a/dirmngr/ks-engine-http.c
+++ b/dirmngr/ks-engine-http.c
@@ -174,6 +174,10 @@ ks_http_fetch (ctrl_t ctrl, const char *url, unsigned int flags,
}
goto once_more;
+ case 413: /* Payload too large */
+ err = gpg_error (GPG_ERR_TOO_LARGE);
+ goto leave;
+
default:
log_error (_("error accessing '%s': http status %u\n"),
url, http_get_status_code (http));
diff --git a/dirmngr/ocsp.c b/dirmngr/ocsp.c
index 2067b7b..13e6120 100644
--- a/dirmngr/ocsp.c
+++ b/dirmngr/ocsp.c
@@ -116,10 +116,15 @@ read_response (estream_t fp, unsigned char **r_buffer, size_t *r_buflen)
/* Construct an OCSP request, send it to the configured OCSP responder
and parse the response. On success the OCSP context may be used to
- further process the response. */
+ further process the response. The signature value and the
+ production date are returned at R_SIGVAL and R_PRODUCED_AT; they
+ may be NULL or an empty string if not available. A new hash
+ context is returned at R_MD. */
static gpg_error_t
-do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
- const char *url, ksba_cert_t cert, ksba_cert_t issuer_cert)
+do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp,
+ const char *url, ksba_cert_t cert, ksba_cert_t issuer_cert,
+ ksba_sexp_t *r_sigval, ksba_isotime_t r_produced_at,
+ gcry_md_hd_t *r_md)
{
gpg_error_t err;
unsigned char *request, *response;
@@ -132,6 +137,10 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
(void)ctrl;
+ *r_sigval = NULL;
+ *r_produced_at = 0;
+ *r_md = NULL;
+
if (dirmngr_use_tor ())
{
/* For now we do not allow OCSP via Tor due to possible privacy
@@ -238,6 +247,10 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
}
break;
+ case 413: /* Payload too large */
+ err = gpg_error (GPG_ERR_TOO_LARGE);
+ break;
+
default:
log_error (_("error accessing '%s': http status %u\n"),
url, http_get_status_code (http));
@@ -259,6 +272,7 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
xfree (free_this);
return err;
}
+ /* log_printhex (response, responselen, "ocsp response"); */
err = ksba_ocsp_parse_response (ocsp, response, responselen,
&response_status);
@@ -286,11 +300,34 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
}
if (response_status == KSBA_OCSP_RSPSTATUS_SUCCESS)
{
+ int hash_algo;
+
if (opt.verbose)
log_info (_("OCSP responder at '%s' status: %s\n"), url, t);
+ /* Get the signature value now because we can all this fucntion
+ * only once. */
+ *r_sigval = ksba_ocsp_get_sig_val (ocsp, r_produced_at);
+
+ hash_algo = hash_algo_from_sigval (*r_sigval);
+ if (!hash_algo)
+ {
+ if (opt.verbose)
+ log_info ("ocsp: using SHA-256 as fallback hash algo.\n");
+ hash_algo = GCRY_MD_SHA256;
+ }
+ err = gcry_md_open (r_md, hash_algo, 0);
+ if (err)
+ {
+ log_error (_("failed to establish a hashing context for OCSP: %s\n"),
+ gpg_strerror (err));
+ goto leave;
+ }
+ if (DBG_HASHING)
+ gcry_md_debug (*r_md, "ocsp");
+
err = ksba_ocsp_hash_response (ocsp, response, responselen,
- HASH_FNC, md);
+ HASH_FNC, *r_md);
if (err)
log_error (_("hashing the OCSP response for '%s' failed: %s\n"),
url, gpg_strerror (err));
@@ -301,8 +338,17 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
err = gpg_error (GPG_ERR_GENERAL);
}
+ leave:
xfree (response);
xfree (free_this);
+ if (err)
+ {
+ xfree (*r_sigval);
+ *r_sigval = NULL;
+ *r_produced_at = 0;
+ gcry_md_close (*r_md);
+ *r_md = NULL;
+ }
return err;
}
@@ -387,7 +433,7 @@ check_signature_core (ctrl_t ctrl, ksba_cert_t cert, gcry_sexp_t s_sig,
/* We simply ignore all errors. */
gcry_sexp_release (s_pkey);
- return -1;
+ return err;
}
@@ -406,18 +452,27 @@ check_signature (ctrl_t ctrl,
int algo, cert_idx;
gcry_sexp_t s_hash;
ksba_cert_t cert;
+ const char *s;
/* Create a suitable S-expression with the hash value of our response. */
gcry_md_final (md);
algo = gcry_md_get_algo (md);
- if (algo != GCRY_MD_SHA1 )
+ s = gcry_md_algo_name (algo);
+ if (algo && s && strlen (s) < 16)
{
- log_error (_("only SHA-1 is supported for OCSP responses\n"));
- return gpg_error (GPG_ERR_DIGEST_ALGO);
+ char hashalgostr[16+1];
+ int i;
+
+ for (i=0; s[i]; i++)
+ hashalgostr[i] = ascii_tolower (s[i]);
+ hashalgostr[i] = 0;
+ err = gcry_sexp_build (&s_hash, NULL, "(data(flags pkcs1)(hash %s %b))",
+ hashalgostr,
+ (int)gcry_md_get_algo_dlen (algo),
+ gcry_md_read (md, algo));
}
- err = gcry_sexp_build (&s_hash, NULL, "(data(flags pkcs1)(hash sha1 %b))",
- gcry_md_get_algo_dlen (algo),
- gcry_md_read (md, algo));
+ else
+ err = gpg_error (GPG_ERR_DIGEST_ALGO);
if (err)
{
log_error (_("creating S-expression failed: %s\n"), gcry_strerror (err));
@@ -461,6 +516,7 @@ check_signature (ctrl_t ctrl,
{
cert_ref_t cref;
+ /* dump_cert ("from ocsp response", cert); */
cref = xtrymalloc (sizeof *cref);
if (!cref)
log_error (_("allocating list item failed: %s\n"),
@@ -496,8 +552,6 @@ check_signature (ctrl_t ctrl,
}
log_printf ("not found\n");
}
- ksba_free (name);
- ksba_free (keyid);
if (cert)
{
@@ -506,10 +560,24 @@ check_signature (ctrl_t ctrl,
ksba_cert_release (cert);
if (!err)
{
+ ksba_free (name);
+ ksba_free (keyid);
gcry_sexp_release (s_hash);
return 0; /* Successfully verified the signature. */
}
+ log_error ("responder certificate ");
+ if (name)
+ log_printf ("'/%s' ", name);
+ if (keyid)
+ {
+ log_printf ("{");
+ dump_serial (keyid);
+ log_printf ("} ");
+ }
+ log_printf ("did not verify: %s\n", gpg_strerror (err));
}
+ ksba_free (name);
+ ksba_free (keyid);
}
gcry_sexp_release (s_hash);
@@ -584,8 +652,6 @@ ocsp_isvalid (ctrl_t ctrl, ksba_cert_t cert, const char *cert_fpr,
goto leave;
}
-
-
/* Figure out the OCSP responder to use.
1. Try to get the reponder from the certificate.
We do only take http and https style URIs into account.
@@ -642,14 +708,8 @@ ocsp_isvalid (ctrl_t ctrl, ksba_cert_t cert, const char *cert_fpr,
}
/* Ask the OCSP responder. */
- err = gcry_md_open (&md, GCRY_MD_SHA1, 0);
- if (err)
- {
- log_error (_("failed to establish a hashing context for OCSP: %s\n"),
- gpg_strerror (err));
- goto leave;
- }
- err = do_ocsp_request (ctrl, ocsp, md, url, cert, issuer_cert);
+ err = do_ocsp_request (ctrl, ocsp, url, cert, issuer_cert,
+ &sigval, produced_at, &md);
if (err)
goto leave;
@@ -681,8 +741,7 @@ ocsp_isvalid (ctrl_t ctrl, ksba_cert_t cert, const char *cert_fpr,
}
/* 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)
+ if (!sigval || !*produced_at || !md)
{
err = gpg_error (GPG_ERR_INV_OBJ);
goto leave;
diff --git a/doc/dirmngr.texi b/doc/dirmngr.texi
index 76be528..4345e36 100644
--- a/doc/dirmngr.texi
+++ b/doc/dirmngr.texi
@@ -251,7 +251,7 @@ The option @option{--use-tor} switches Dirmngr and thus GnuPG into
``Tor mode'' to route all network access via Tor (an anonymity
network). Certain other features are disabled in this mode. The
effect of @option{--use-tor} cannot be overridden by any other command
-or even be reloading gpg-agent. The use of @option{--no-use-tor}
+or even by reloading dirmngr. The use of @option{--no-use-tor}
disables the use of Tor. The default is to use Tor if it is available
on startup or after reloading dirmngr.
@@ -1178,5 +1178,3 @@ as a binary blob.
@c used for this. The first one starts a search and the second one is
@c used to retrieve certificate after certificate.
@c
-
-
diff --git a/doc/gpg.texi b/doc/gpg.texi
index 22813c7..74862e5 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -404,7 +404,10 @@ functionality is also available as the subcommand "passwd" with the
@opindex delete-keys
Remove key from the public keyring. In batch mode either @option{--yes} is
required or the key must be specified by fingerprint. This is a
-safeguard against accidental deletion of multiple keys.
+safeguard against accidental deletion of multiple keys. If the
+exclamation mark syntax is used with the fingerprint of a subkey only
+that subkey is deleted; if the exclamation mark is used with the
+fingerprint of the primary key the entire public key is deleted.
@item --delete-secret-keys @var{name}
@opindex delete-secret-keys
@@ -413,7 +416,10 @@ specified by fingerprint. The option @option{--yes} can be used to
advice gpg-agent not to request a confirmation. This extra
pre-caution is done because @command{@gpgname} can't be sure that the
secret key (as controlled by gpg-agent) is only used for the given
-OpenPGP public key.
+OpenPGP public key. If the exclamation mark syntax is used with the
+fingerprint of a subkey only the secret part of that subkey is
+deleted; if the exclamation mark is used with the fingerprint of the
+primary key only the secret part of the primary key is deleted.
@item --delete-secret-and-public-key @var{name}
@@ -434,9 +440,8 @@ file given with option @option{--output}. Use together with
@item --send-keys @var{keyIDs}
@opindex send-keys
Similar to @option{--export} but sends the keys to a keyserver.
-Fingerprints may be used instead of key IDs. Option
-@option{--keyserver} must be used to give the name of this
-keyserver. Don't send your complete keyring to a keyserver --- select
+Fingerprints may be used instead of key IDs.
+Don't send your complete keyring to a keyserver --- select
only those keys which are new or changed by you. If no @var{keyIDs}
are given, @command{@gpgname} does nothing.
@@ -491,27 +496,25 @@ signatures, user-IDs and subkeys.
@opindex receive-keys
@itemx --recv-keys @var{keyIDs}
@opindex recv-keys
-Import the keys with the given @var{keyIDs} from a keyserver. Option
-@option{--keyserver} must be used to give the name of this keyserver.
+Import the keys with the given @var{keyIDs} from a keyserver.
@item --refresh-keys
@opindex refresh-keys
Request updates from a keyserver for keys that already exist on the
local keyring. This is useful for updating a key with the latest
signatures, user IDs, etc. Calling this with no arguments will refresh
-the entire keyring. Option @option{--keyserver} must be used to give the
-name of the keyserver for all keys that do not have preferred keyservers
-set (see @option{--keyserver-options honor-keyserver-url}).
+the entire keyring.
@item --search-keys @var{names}
@opindex search-keys
-Search the keyserver for the given @var{names}. Multiple names given here will
-be joined together to create the search string for the keyserver.
-Option @option{--keyserver} must be used to give the name of this
-keyserver. Keyservers that support different search methods allow using
-the syntax specified in "How to specify a user ID" below. Note that
-different keyserver types support different search methods. Currently
-only LDAP supports them all.
+Search the keyserver for the given @var{names}. Multiple names given
+here will be joined together to create the search string for the
+keyserver. Note that keyservers search for @var{names} in a different
+and simpler way than gpg does. The best choice is to use a mail
+address. Due to data privacy reasons keyservers may even not even
+allow searching by user id or mail address and thus may only return
+results when being used with the @option{--recv-key} command to
+search by key fingerprint or keyid.
@item --fetch-keys @var{URIs}
@opindex fetch-keys
@@ -1330,8 +1333,8 @@ give the opposite meaning. The options are:
@item show-only-fpr-mbox
@opindex list-options:show-only-fpr-mbox
- For each valid user-id which also has a valid mail address print
- only the fingerprint and the mail address.
+ For each user-id which has a valid mail address print
+ only the fingerprint followed by the mail address.
@end table
@item --verify-options @var{parameters}
@@ -1429,19 +1432,24 @@ viewed (e.g. "f"), "%V" for the calculated validity as a string (e.g.
and "%%" for an actual percent sign. If neither %i or %I are present,
then the photo will be supplied to the viewer on standard input.
-The default viewer is "xloadimage -fork -quiet -title 'KeyID 0x%k'
-STDIN". Note that if your image viewer program is not secure, then
-executing it from GnuPG does not make it secure.
+On Unix the default viewer is
+@code{xloadimage -fork -quiet -title 'KeyID 0x%k' STDIN}
+with a fallback to
+@code{display -title 'KeyID 0x%k' %i}
+and finally to
+@code{xdg-open %i}.
+On Windows
+@code{!ShellExecute 400 %i} is used; here the command is a meta
+command to use that API call followed by a wait time in milliseconds
+which is used to give the viewer time to read the temporary image file
+before gpg deletes it again. Note that if your image viewer program
+is not secure, then executing it from gpg does not make it secure.
@item --exec-path @var{string}
@opindex exec-path
@efindex PATH
-Sets a list of directories to search for photo viewers and keyserver
-helpers. If not provided, keyserver helpers use the compiled-in
-default directory, and photo viewers use the @code{PATH} environment
-variable.
-Note, that on W32 system this value is ignored when searching for
-keyserver helpers.
+Sets a list of directories to search for photo viewers If not provided
+photo viewers use the @code{PATH} environment variable.
@item --keyring @var{file}
@opindex keyring
@@ -1766,12 +1774,11 @@ list. The default is "local,wkd".
PGP Universal method of checking @samp{ldap://keys.(thedomain)}.
@item keyserver
- Locate a key using whatever keyserver is defined using the
- @option{--keyserver} option.
+ Locate a key using a keyserver.
@item keyserver-URL
- In addition, a keyserver URL as used in the @option{--keyserver} option
- may be used here to query that particular keyserver.
+ In addition, a keyserver URL as used in the @command{dirmngr}
+ configuration may be used here to query that particular keyserver.
@item local
Locate the key using the local keyrings. This mechanism allows the user to
@@ -2975,7 +2982,8 @@ to display the message. This option overrides @option{--set-filename}.
@itemx --no-use-embedded-filename
@opindex use-embedded-filename
Try to create a file with a name as embedded in the data. This can be
-a dangerous option as it enables overwriting files. Defaults to no.
+a dangerous option as it enables overwriting files. Defaults to no.
+Note that the option @option{--output} overrides this option.
@item --cipher-algo @var{name}
@opindex cipher-algo
diff --git a/doc/tools.texi b/doc/tools.texi
index 4e09664..dc5ca25 100644
--- a/doc/tools.texi
+++ b/doc/tools.texi
@@ -352,11 +352,12 @@ may use this command to ensure that they are started. Using "all" for
@item --kill [@var{component}]
@opindex kill
-Kill the given component. Components which support killing are
-@command{gpg-agent} and @command{scdaemon}. Components which don't
-support reloading are ignored. Using "all" for @var{component} kills
-all components running as daemons. Note that as of now reload and
-kill have the same effect for @command{scdaemon}.
+Kill the given component that runs as a daemon, including
+@command{gpg-agent}, @command{dirmngr}, and @command{scdaemon}. A
+@command{component} which does not run as a daemon will be ignored.
+Using "all" for @var{component} kills all components running as
+daemons. Note that as of now reload and kill have the same effect for
+@command{scdaemon}.
@item --create-socketdir
@opindex create-socketdir
@@ -392,6 +393,8 @@ extends numerical field values by human-readable descriptions.
@opindex quiet
Try to be as quiet as possible.
+@include opt-homedir.texi
+
@item -n
@itemx --dry-run
Do not actually change anything. This is currently only implemented
diff --git a/g10/armor.c b/g10/armor.c
index cc80968..36215a3 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -1156,10 +1156,10 @@ armor_filter( void *opaque, int control,
}
/* write the comment strings */
- for(s=comment->d;comment;comment=comment->next,s=comment->d)
+ for(;comment;comment=comment->next)
{
iobuf_writestr(a, "Comment: " );
- for( ; *s; s++ )
+ for( s=comment->d; *s; s++ )
{
if( *s == '\n' )
iobuf_writestr(a, "\\n" );
diff --git a/g10/build-packet.c b/g10/build-packet.c
index b83ea84..14e40a1 100644
--- a/g10/build-packet.c
+++ b/g10/build-packet.c
@@ -424,15 +424,21 @@ do_user_id( IOBUF out, int ctb, PKT_user_id *uid )
* Without forcing HDRLEN to 2 in this case an indeterminate length
* packet would be written which is not allowed. Note that we are
* always called with a CTB indicating an old packet header format,
- * so that forcing a 2 octet header works. */
+ * so that forcing a 2 octet header works. We also check for the
+ * maximum allowed packet size by the parser using an arbitrary
+ * extra 10 bytes for header data. */
if (uid->attrib_data)
{
+ if (uid->attrib_len > MAX_ATTR_PACKET_LENGTH - 10)
+ return gpg_error (GPG_ERR_TOO_LARGE);
hdrlen = uid->attrib_len? 0 : 2;
write_header2 (out, ctb, uid->attrib_len, hdrlen);
rc = iobuf_write( out, uid->attrib_data, uid->attrib_len );
}
else
{
+ if (uid->len > MAX_UID_PACKET_LENGTH - 10)
+ return gpg_error (GPG_ERR_TOO_LARGE);
hdrlen = uid->len? 0 : 2;
write_header2 (out, ctb, uid->len, hdrlen);
rc = iobuf_write( out, uid->name, uid->len );
diff --git a/g10/decrypt.c b/g10/decrypt.c
index 4d6734d..9589aff 100644
--- a/g10/decrypt.c
+++ b/g10/decrypt.c
@@ -48,7 +48,6 @@ decrypt_message (ctrl_t ctrl, const char *filename)
armor_filter_context_t *afx = NULL;
progress_filter_context_t *pfx;
int rc;
- int no_out = 0;
pfx = new_progress_context ();
@@ -82,11 +81,13 @@ decrypt_message (ctrl_t ctrl, const char *filename)
if (!opt.outfile)
{
- no_out = 1;
opt.outfile = "-";
+ opt.flags.dummy_outfile = 1;
}
+ else
+ opt.flags.dummy_outfile = 0;
rc = proc_encryption_packets (ctrl, NULL, fp );
- if (no_out)
+ if (opt.flags.dummy_outfile)
opt.outfile = NULL;
iobuf_close (fp);
diff --git a/g10/delkey.c b/g10/delkey.c
index bf8c4e9..e91acb0 100644
--- a/g10/delkey.c
+++ b/g10/delkey.c
@@ -1,7 +1,7 @@
/* delkey.c - delete keys
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004,
* 2005, 2006 Free Software Foundation, Inc.
- * Copyright (C) 2014 Werner Koch
+ * Copyright (C) 2014, 2019 Werner Koch
*
* This file is part of GnuPG.
*
@@ -53,13 +53,15 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
gpg_error_t err;
kbnode_t keyblock = NULL;
kbnode_t node, kbctx;
+ kbnode_t targetnode;
KEYDB_HANDLE hd;
PKT_public_key *pk = NULL;
u32 keyid[2];
int okay=0;
int yes;
KEYDB_SEARCH_DESC desc;
- int exactmatch;
+ int exactmatch; /* True if key was found by fingerprint. */
+ int thiskeyonly; /* 0 = false, 1 = is primary key, 2 = is a subkey. */
*r_sec_avail = 0;
@@ -72,6 +74,7 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
exactmatch = (desc.mode == KEYDB_SEARCH_MODE_FPR
|| desc.mode == KEYDB_SEARCH_MODE_FPR16
|| desc.mode == KEYDB_SEARCH_MODE_FPR20);
+ thiskeyonly = desc.exact;
if (!err)
err = keydb_search (hd, &desc, 1, NULL);
if (err)
@@ -97,7 +100,35 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
err = gpg_error (GPG_ERR_GENERAL);
goto leave;
}
- pk = node->pkt->pkt.public_key;
+
+ /* If an operation only on a subkey is requested, find that subkey
+ * now. */
+ if (thiskeyonly)
+ {
+ kbnode_t tmpnode;
+
+ for (kbctx=NULL; (tmpnode = walk_kbnode (keyblock, &kbctx, 0)); )
+ {
+ if (!(tmpnode->pkt->pkttype == PKT_PUBLIC_KEY
+ || tmpnode->pkt->pkttype == PKT_PUBLIC_SUBKEY))
+ continue;
+ if (exact_subkey_match_p (&desc, tmpnode))
+ break;
+ }
+ if (!tmpnode)
+ {
+ log_error ("Oops; requested subkey not found anymore!\n");
+ err = gpg_error (GPG_ERR_GENERAL);
+ goto leave;
+ }
+ /* Set NODE to this specific subkey or primary key. */
+ thiskeyonly = node == tmpnode? 1 : 2;
+ targetnode = tmpnode;
+ }
+ else
+ targetnode = node;
+
+ pk = targetnode->pkt->pkt.public_key;
keyid_from_pk (pk, keyid);
if (!secret && !force)
@@ -143,6 +174,32 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
print_pubkey_info (ctrl, NULL, pk );
tty_printf( "\n" );
+ if (thiskeyonly == 1 && !secret)
+ {
+ /* We need to delete the entire public key despite the use
+ * of the thiskeyonly request. */
+ tty_printf (_("Note: The public primary key and all its subkeys"
+ " will be deleted.\n"));
+ }
+ else if (thiskeyonly == 2 && !secret)
+ {
+ tty_printf (_("Note: Only the shown public subkey"
+ " will be deleted.\n"));
+ }
+ if (thiskeyonly == 1 && secret)
+ {
+ tty_printf (_("Note: Only the secret part of the shown primary"
+ " key will be deleted.\n"));
+ }
+ else if (thiskeyonly == 2 && secret)
+ {
+ tty_printf (_("Note: Only the secret part of the shown subkey"
+ " will be deleted.\n"));
+ }
+
+ if (thiskeyonly)
+ tty_printf ("\n");
+
yes = cpr_get_answer_is_yes
(secret? "delete_key.secret.okay": "delete_key.okay",
_("Delete this key from the keyring? (y/N) "));
@@ -178,6 +235,9 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
|| node->pkt->pkttype == PKT_PUBLIC_SUBKEY))
continue;
+ if (thiskeyonly && targetnode != node)
+ continue;
+
if (agent_probe_secret_key (NULL, node->pkt->pkt.public_key))
continue; /* No secret key for that public (sub)key. */
@@ -190,7 +250,7 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
* pre-caution is that since 2.1 the secret key may also
* be used for other protocols and thus deleting it from
* the gpg would also delete the key for other tools. */
- if (!err)
+ if (!err && !opt.dry_run)
err = agent_delete_key (NULL, hexgrip, prompt,
opt.answer_yes);
xfree (prompt);
@@ -219,6 +279,35 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
if (firsterr)
goto leave;
}
+ else if (thiskeyonly == 2)
+ {
+ int selected = 0;
+
+ /* Delete the specified public subkey. */
+ for (kbctx=NULL; (node = walk_kbnode (keyblock, &kbctx, 0)); )
+ {
+ if (thiskeyonly && targetnode != node)
+ continue;
+
+ if (node->pkt->pkttype == PKT_PUBLIC_SUBKEY)
+ {
+ selected = targetnode == node;
+ if (selected)
+ delete_kbnode (node);
+ }
+ else if (selected && node->pkt->pkttype == PKT_SIGNATURE)
+ delete_kbnode (node);
+ else
+ selected = 0;
+ }
+ commit_kbnode (&keyblock);
+ err = keydb_update_keyblock (ctrl, hd, keyblock);
+ if (err)
+ {
+ log_error (_("update failed: %s\n"), gpg_strerror (err));
+ goto leave;
+ }
+ }
else
{
err = keydb_delete_keyblock (hd);
@@ -234,7 +323,8 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
revalidation_mark(). This makes sense - only deleting keys
that have ownertrust set should trigger this. */
- if (!secret && pk && clear_ownertrusts (ctrl, pk))
+ if (!secret && pk && !opt.dry_run && thiskeyonly != 2
+ && clear_ownertrusts (ctrl, pk))
{
if (opt.verbose)
log_info (_("ownertrust information cleared\n"));
@@ -247,7 +337,8 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force,
return err;
}
-/****************
+
+/*
* Delete a public or secret key from a keyring.
*/
gpg_error_t
diff --git a/g10/ecdh.c b/g10/ecdh.c
index 6c2a56b..dcb3cde 100644
--- a/g10/ecdh.c
+++ b/g10/ecdh.c
@@ -39,7 +39,7 @@ static const struct
/* Note: Must be sorted by ascending values for QBITS. */
{
{ 256, DIGEST_ALGO_SHA256, CIPHER_ALGO_AES },
- { 384, DIGEST_ALGO_SHA384, CIPHER_ALGO_AES256 },
+ { 384, DIGEST_ALGO_SHA384, CIPHER_ALGO_AES192 },
/* Note: 528 is 521 rounded to the 8 bit boundary */
{ 528, DIGEST_ALGO_SHA512, CIPHER_ALGO_AES256 }
diff --git a/g10/exec.c b/g10/exec.c
index 74a8397..3e5dc27 100644
--- a/g10/exec.c
+++ b/g10/exec.c
@@ -77,37 +77,99 @@ set_exec_path(const char *path) { return GPG_ERR_GENERAL; }
static int
w32_system(const char *command)
{
-#ifdef HAVE_W32CE_SYSTEM
-#warning Change this code to use common/exechelp.c
-#else
- PROCESS_INFORMATION pi;
- STARTUPINFO si;
- char *string;
+ if (!strncmp (command, "!ShellExecute ", 14))
+ {
+ SHELLEXECUTEINFOW see;
+ wchar_t *wname;
+ int waitms;
+
+ command = command + 14;
+ while (spacep (command))
+ command++;
+ waitms = atoi (command);
+ if (waitms < 0)
+ waitms = 0;
+ else if (waitms > 60*1000)
+ waitms = 60000;
+ while (*command && !spacep (command))
+ command++;
+ while (spacep (command))
+ command++;
+
+ wname = utf8_to_wchar (command);
+ if (!wname)
+ return -1;
+
+ memset (&see, 0, sizeof see);
+ see.cbSize = sizeof see;
+ see.fMask = (SEE_MASK_NOCLOSEPROCESS
+ | SEE_MASK_NOASYNC
+ | SEE_MASK_FLAG_NO_UI
+ | SEE_MASK_NO_CONSOLE);
+ see.lpVerb = L"open";
+ see.lpFile = (LPCWSTR)wname;
+ see.nShow = SW_SHOW;
+
+ if (DBG_EXTPROG)
+ log_debug ("running ShellExecuteEx(open,'%s')\n", command);
+ if (!ShellExecuteExW (&see))
+ {
+ if (DBG_EXTPROG)
+ log_debug ("ShellExecuteEx failed: rc=%d\n", (int)GetLastError ());
+ xfree (wname);
+ return -1;
+ }
+ if (DBG_EXTPROG)
+ log_debug ("ShellExecuteEx succeeded (hProcess=%p,hInstApp=%d)\n",
+ see.hProcess, (int)see.hInstApp);
+
+ if (!see.hProcess)
+ {
+ gnupg_usleep (waitms*1000);
+ if (DBG_EXTPROG)
+ log_debug ("ShellExecuteEx ready (wait=%dms)\n", waitms);
+ }
+ else
+ {
+ WaitForSingleObject (see.hProcess, INFINITE);
+ if (DBG_EXTPROG)
+ log_debug ("ShellExecuteEx ready\n");
+ }
+ CloseHandle (see.hProcess);
+
+ xfree (wname);
+ }
+ else
+ {
+ char *string;
+ PROCESS_INFORMATION pi;
+ STARTUPINFO si;
- /* We must use a copy of the command as CreateProcess modifies this
- argument. */
- string=xstrdup(command);
+ /* We must use a copy of the command as CreateProcess modifies
+ * this argument. */
+ string = xstrdup (command);
- memset(&pi,0,sizeof(pi));
- memset(&si,0,sizeof(si));
- si.cb=sizeof(si);
+ memset (&pi, 0, sizeof(pi));
+ memset (&si, 0, sizeof(si));
+ si.cb = sizeof (si);
- if(!CreateProcess(NULL,string,NULL,NULL,FALSE,
- DETACHED_PROCESS,
- NULL,NULL,&si,&pi))
- return -1;
+ if (!CreateProcess (NULL, string, NULL, NULL, FALSE,
+ DETACHED_PROCESS,
+ NULL, NULL, &si, &pi))
+ return -1;
- /* Wait for the child to exit */
- WaitForSingleObject(pi.hProcess,INFINITE);
+ /* Wait for the child to exit */
+ WaitForSingleObject (pi.hProcess, INFINITE);
- CloseHandle(pi.hProcess);
- CloseHandle(pi.hThread);
- xfree(string);
+ CloseHandle (pi.hProcess);
+ CloseHandle (pi.hThread);
+ xfree (string);
+ }
return 0;
-#endif
}
-#endif
+#endif /*_W32*/
+
/* Replaces current $PATH */
int
@@ -508,7 +570,7 @@ exec_read(struct exec_info *info)
if(info->flags.use_temp_files)
{
if(DBG_EXTPROG)
- log_debug("system() command is %s\n",info->command);
+ log_debug ("running command: %s\n",info->command);
#if defined (_WIN32)
info->progreturn=w32_system(info->command);
diff --git a/g10/export.c b/g10/export.c
index e94e959..4216a24 100644
--- a/g10/export.c
+++ b/g10/export.c
@@ -428,8 +428,8 @@ new_subkey_list_item (KBNODE node)
(keyID or fingerprint) and does match the one at NODE. It is
assumed that the packet at NODE is either a public or secret
subkey. */
-static int
-exact_subkey_match_p (KEYDB_SEARCH_DESC *desc, KBNODE node)
+int
+exact_subkey_match_p (KEYDB_SEARCH_DESC *desc, kbnode_t node)
{
u32 kid[2];
byte fpr[MAX_FINGERPRINT_LEN];
@@ -596,7 +596,10 @@ cleartext_secret_key_to_openpgp (gcry_sexp_t s_key, PKT_public_key *pk)
top_list = gcry_sexp_find_token (s_key, "private-key", 0);
if (!top_list)
goto bad_seckey;
- if (gcry_sexp_length(top_list) != 2)
+
+ /* ignore all S-expression after the first sublist -- we assume that
+ they are comments or otherwise irrelevant to OpenPGP */
+ if (gcry_sexp_length(top_list) < 2)
goto bad_seckey;
key = gcry_sexp_nth (top_list, 1);
if (!key)
diff --git a/g10/getkey.c b/g10/getkey.c
index c4afe45..1b699a4 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1495,15 +1495,14 @@ get_best_pubkey_byname (ctrl_t ctrl, GETKEY_CTX *retctx, PKT_public_key *pk,
/* Old key is better. */
release_public_key_parts (&new.key);
free_user_id (new.uid);
- new.uid = NULL;
}
else
{
/* A tie. Keep the old key. */
release_public_key_parts (&new.key);
free_user_id (new.uid);
- new.uid = NULL;
}
+ new.uid = NULL;
}
getkey_end (ctrl, ctx);
ctx = NULL;
diff --git a/g10/import.c b/g10/import.c
index eb3063d..1899f52 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -665,6 +665,18 @@ import (ctrl_t ctrl, IOBUF inp, const char* fname,struct import_stats_s *stats,
if (!(++stats->count % 100) && !opt.quiet)
log_info (_("%lu keys processed so far\n"), stats->count );
+
+ if (origin == KEYORG_WKD && stats->count >= 5)
+ {
+ /* We limit the number of keys _received_ from the WKD to 5.
+ * In fact there should be only one key but some sites want
+ * to store a few expired keys there also. gpg's key
+ * selection will later figure out which key to use. Note
+ * that for WKD we always return the fingerprint of the
+ * first imported key. */
+ log_info ("import from WKD stopped after %d keys\n", 5);
+ break;
+ }
}
stats->v3keys += v3keys;
if (rc == -1)
@@ -2174,14 +2186,19 @@ import_one (ctrl_t ctrl,
fingerprint of the key in all cases. */
if (fpr)
{
- xfree (*fpr);
/* Note that we need to compare against 0 here because
COUNT gets only incremented after returning from this
function. */
if (!stats->count)
- *fpr = fingerprint_from_pk (pk, NULL, fpr_len);
- else
- *fpr = NULL;
+ {
+ xfree (*fpr);
+ *fpr = fingerprint_from_pk (pk, NULL, fpr_len);
+ }
+ else if (origin != KEYORG_WKD)
+ {
+ xfree (*fpr);
+ *fpr = NULL;
+ }
}
}
diff --git a/g10/keydb.c b/g10/keydb.c
index 0475f85..670a8a1 100644
--- a/g10/keydb.c
+++ b/g10/keydb.c
@@ -1249,12 +1249,19 @@ parse_keyblock_image (iobuf_t iobuf, int pk_no, int uid_no,
}
if (err)
{
- if (gpg_err_code (err) != GPG_ERR_UNKNOWN_VERSION)
+ es_fflush (es_stdout);
+ log_error ("parse_keyblock_image: read error: %s\n",
+ gpg_strerror (err));
+ if (gpg_err_code (err) == GPG_ERR_INV_PACKET)
{
- log_error ("parse_keyblock_image: read error: %s\n",
- gpg_strerror (err));
- err = gpg_error (GPG_ERR_INV_KEYRING);
+ free_packet (pkt, &parsectx);
+ init_packet (pkt);
+ continue;
}
+ /* Unknown version maybe due to v5 keys - we treat this
+ * error different. */
+ if (gpg_err_code (err) != GPG_ERR_UNKNOWN_VERSION)
+ err = gpg_error (GPG_ERR_INV_KEYRING);
break;
}
diff --git a/g10/keygen.c b/g10/keygen.c
index ed57d5d..6042226 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -218,18 +218,22 @@ print_status_key_not_created (const char *handle)
-static void
-write_uid( KBNODE root, const char *s )
+static gpg_error_t
+write_uid (kbnode_t root, const char *s)
{
- PACKET *pkt = xmalloc_clear(sizeof *pkt );
- size_t n = strlen(s);
-
- pkt->pkttype = PKT_USER_ID;
- pkt->pkt.user_id = xmalloc_clear (sizeof *pkt->pkt.user_id + n);
- pkt->pkt.user_id->len = n;
- pkt->pkt.user_id->ref = 1;
- strcpy(pkt->pkt.user_id->name, s);
- add_kbnode( root, new_kbnode( pkt ) );
+ PACKET *pkt = xmalloc_clear (sizeof *pkt);
+ size_t n = strlen (s);
+
+ if (n > MAX_UID_PACKET_LENGTH - 10)
+ return gpg_error (GPG_ERR_INV_USER_ID);
+
+ pkt->pkttype = PKT_USER_ID;
+ pkt->pkt.user_id = xmalloc_clear (sizeof *pkt->pkt.user_id + n);
+ pkt->pkt.user_id->len = n;
+ pkt->pkt.user_id->ref = 1;
+ strcpy (pkt->pkt.user_id->name, s);
+ add_kbnode (root, new_kbnode (pkt));
+ return 0;
}
static void
@@ -2356,14 +2360,25 @@ ask_curve (int *algo, int *subkey_algo, const char *current)
else
{
/* If the user selected a signing algorithm and Curve25519
- we need to set the algo to EdDSA and update the curve name. */
- if ((*algo == PUBKEY_ALGO_ECDSA || *algo == PUBKEY_ALGO_EDDSA)
- && curves[idx].eddsa_curve)
+ we need to set the algo to EdDSA and update the curve name.
+ If switching away from EdDSA, we need to set the algo back
+ to ECDSA. */
+ if (*algo == PUBKEY_ALGO_ECDSA || *algo == PUBKEY_ALGO_EDDSA)
{
- if (subkey_algo && *subkey_algo == PUBKEY_ALGO_ECDSA)
- *subkey_algo = PUBKEY_ALGO_EDDSA;
- *algo = PUBKEY_ALGO_EDDSA;
- result = curves[idx].eddsa_curve;
+ if (curves[idx].eddsa_curve)
+ {
+ if (subkey_algo && *subkey_algo == PUBKEY_ALGO_ECDSA)
+ *subkey_algo = PUBKEY_ALGO_EDDSA;
+ *algo = PUBKEY_ALGO_EDDSA;
+ result = curves[idx].eddsa_curve;
+ }
+ else
+ {
+ if (subkey_algo && *subkey_algo == PUBKEY_ALGO_EDDSA)
+ *subkey_algo = PUBKEY_ALGO_ECDSA;
+ *algo = PUBKEY_ALGO_ECDSA;
+ result = curves[idx].name;
+ }
}
else
result = curves[idx].name;
@@ -4740,10 +4755,11 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
if (!err && (s = get_parameter_value (para, pUSERID)))
{
- write_uid (pub_root, s );
- err = write_selfsigs (ctrl, pub_root, pri_psk,
- get_parameter_uint (para, pKEYUSAGE), timestamp,
- cache_nonce);
+ err = write_uid (pub_root, s );
+ if (!err)
+ err = write_selfsigs (ctrl, pub_root, pri_psk,
+ get_parameter_uint (para, pKEYUSAGE), timestamp,
+ cache_nonce);
}
/* Write the auth key to the card before the encryption key. This
diff --git a/g10/keyserver.c b/g10/keyserver.c
index 8509d83..cadb71f 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -1537,9 +1537,7 @@ keyserver_search (ctrl_t ctrl, strlist_t tokens)
log_info (_("key not found on keyserver\n"));
}
- if (gpg_err_code (err) == GPG_ERR_NO_KEYSERVER)
- log_error (_("no keyserver known (use option --keyserver)\n"));
- else if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+ if (gpg_err_code (err) == GPG_ERR_NO_DATA)
err = gpg_error (GPG_ERR_NOT_FOUND);
else if (err)
log_error ("error searching keyserver: %s\n", gpg_strerror (err));
@@ -2072,8 +2070,9 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
int armor_status = opt.no_armor;
import_filter_t save_filt;
- /* Keys returned via WKD are in binary format. */
- opt.no_armor = 1;
+ /* Keys returned via WKD are in binary format. However, we
+ * relax that requirement and allow also for armored data. */
+ opt.no_armor = 0;
save_filt = save_and_clear_import_filter ();
if (!save_filt)
err = gpg_error_from_syserror ();
diff --git a/g10/main.h b/g10/main.h
index e538e07..150aea0 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -394,6 +394,8 @@ void export_print_stats (export_stats_t stats);
int parse_export_options(char *str,unsigned int *options,int noisy);
gpg_error_t parse_and_set_export_filter (const char *string);
+int exact_subkey_match_p (KEYDB_SEARCH_DESC *desc, kbnode_t node);
+
int export_pubkeys (ctrl_t ctrl, strlist_t users, unsigned int options,
export_stats_t stats);
int export_seckeys (ctrl_t ctrl, strlist_t users, unsigned int options,
diff --git a/g10/options.h b/g10/options.h
index 782c0cb..a7677e6 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -241,6 +241,8 @@ struct
unsigned int disable_signer_uid:1;
/* Flag to enable experimental features from RFC4880bis. */
unsigned int rfc4880bis:1;
+ /* Hack: --output is not given but OUTFILE was temporary set to "-". */
+ unsigned int dummy_outfile:1;
} flags;
/* Linked list of ways to find a key if the key isn't on the local
diff --git a/g10/packet.h b/g10/packet.h
index d273bb3..b0431d5 100644
--- a/g10/packet.h
+++ b/g10/packet.h
@@ -33,6 +33,11 @@
#define DEBUG_PARSE_PACKET 1
+/* Maximum length of packets to avoid excessive memory allocation. */
+#define MAX_KEY_PACKET_LENGTH (256 * 1024)
+#define MAX_UID_PACKET_LENGTH ( 2 * 1024)
+#define MAX_COMMENT_PACKET_LENGTH ( 64 * 1024)
+#define MAX_ATTR_PACKET_LENGTH ( 16 * 1024*1024)
/* Constants to allocate static MPI arrays. */
#define PUBKEY_MAX_NPKEY OPENPGP_MAX_NPKEY
diff --git a/g10/parse-packet.c b/g10/parse-packet.c
index 05f63e9..2d6ec92 100644
--- a/g10/parse-packet.c
+++ b/g10/parse-packet.c
@@ -35,14 +35,9 @@
#include "main.h"
#include "../common/i18n.h"
#include "../common/host2net.h"
+#include "../common/mbox-util.h"
-/* Maximum length of packets to avoid excessive memory allocation. */
-#define MAX_KEY_PACKET_LENGTH (256 * 1024)
-#define MAX_UID_PACKET_LENGTH ( 2 * 1024)
-#define MAX_COMMENT_PACKET_LENGTH ( 64 * 1024)
-#define MAX_ATTR_PACKET_LENGTH ( 16 * 1024*1024)
-
static int mpi_print_mode;
static int list_mode;
static estream_t listfp;
@@ -2064,12 +2059,20 @@ parse_signature (IOBUF inp, int pkttype, unsigned long pktlen,
p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_SIGNERS_UID, &len);
if (p && len)
{
+ char *mbox;
+
sig->signers_uid = try_make_printable_string (p, len, 0);
if (!sig->signers_uid)
{
rc = gpg_error_from_syserror ();
goto leave;
}
+ mbox = mailbox_from_userid (sig->signers_uid);
+ if (mbox)
+ {
+ xfree (sig->signers_uid);
+ sig->signers_uid = mbox;
+ }
}
p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_NOTATION, NULL);
diff --git a/g10/photoid.c b/g10/photoid.c
index bcea64f..f9720d3 100644
--- a/g10/photoid.c
+++ b/g10/photoid.c
@@ -262,7 +262,8 @@ char *image_type_to_string(byte type,int style)
}
#if !defined(FIXED_PHOTO_VIEWER) && !defined(DISABLE_PHOTO_VIEWER)
-static const char *get_default_photo_command(void)
+static const char *
+get_default_photo_command(void)
{
#if defined(_WIN32)
OSVERSIONINFO osvi;
@@ -274,14 +275,21 @@ static const char *get_default_photo_command(void)
if(osvi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
return "start /w %i";
else
- return "cmd /c start /w %i";
+ return "!ShellExecute 400 %i";
#elif defined(__APPLE__)
/* OS X. This really needs more than just __APPLE__. */
return "open %I";
#elif defined(__riscos__)
return "Filer_Run %I";
#else
- return "xloadimage -fork -quiet -title 'KeyID 0x%k' stdin";
+ if (!path_access ("xloadimage", X_OK))
+ return "xloadimage -fork -quiet -title 'KeyID 0x%k' stdin";
+ else if (!path_access ("display",X_OK))
+ return "display -title 'KeyID 0x%k' %i";
+ else if (getuid () && !path_access ("xdg-open", X_OK))
+ return "xdg-open %i";
+ else
+ return "/bin/true";
#endif
}
#endif
@@ -312,6 +320,8 @@ show_photos (ctrl_t ctrl, const struct user_attribute *attrs, int count,
if (pk)
keyid_from_pk (pk, kid);
+ es_fflush (es_stdout);
+
for(i=0;i<count;i++)
if(attrs[i].type==ATTRIB_IMAGE &&
parse_image_header(&attrs[i],&args.imagetype,&len))
diff --git a/g10/plaintext.c b/g10/plaintext.c
index c5d1ddb..f9e0a42 100644
--- a/g10/plaintext.c
+++ b/g10/plaintext.c
@@ -70,7 +70,8 @@ get_output_file (const byte *embedded_name, int embedded_namelen,
goto leave;
}
}
- else if (opt.outfile)
+ else if (opt.outfile
+ && !(opt.flags.use_embedded_filename && opt.flags.dummy_outfile))
{
fname = xtrystrdup (opt.outfile);
if (!fname)
diff --git a/g10/sign.c b/g10/sign.c
index 095fa11..92ff361 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -1593,6 +1593,13 @@ update_keysig_packet (ctrl_t ctrl,
if ( opt.cert_digest_algo )
digest_algo = opt.cert_digest_algo;
+ else if (pksk->pubkey_algo == PUBKEY_ALGO_DSA
+ || pksk->pubkey_algo == PUBKEY_ALGO_ECDSA
+ || pksk->pubkey_algo == PUBKEY_ALGO_EDDSA)
+ digest_algo = orig_sig->digest_algo;
+ else if (orig_sig->digest_algo == DIGEST_ALGO_SHA1
+ || orig_sig->digest_algo == DIGEST_ALGO_RMD160)
+ digest_algo = DEFAULT_DIGEST_ALGO;
else
digest_algo = orig_sig->digest_algo;
diff --git a/g10/tofu.c b/g10/tofu.c
index 091d5b0..63f941e 100644
--- a/g10/tofu.c
+++ b/g10/tofu.c
@@ -534,7 +534,7 @@ check_utks (sqlite3 *db)
NULL, NULL, &err);
if (rc)
{
- log_error (_("error creating 'ultimately_trusted_keys' TOFU table: %s\n"),
+ log_error ("error creating 'ultimately_trusted_keys' TOFU table: %s\n",
err);
sqlite3_free (err);
goto out;
@@ -840,7 +840,7 @@ initdb (sqlite3 *db)
NULL, NULL, &err);
if (rc)
{
- log_error (_("error creating 'encryptions' TOFU table: %s\n"),
+ log_error ("error creating 'encryptions' TOFU table: %s\n",
err);
sqlite3_free (err);
}
@@ -870,7 +870,7 @@ initdb (sqlite3 *db)
* safely ignore. */
rc = 0;
else
- log_error (_("adding column effective_policy to bindings DB: %s\n"),
+ log_error ("adding column effective_policy to bindings DB: %s\n",
err);
sqlite3_free (err);
}
@@ -2143,8 +2143,7 @@ build_conflict_set (ctrl_t ctrl, tofu_dbs_t dbs,
rc = keydb_search_reset (hd);
if (rc)
{
- log_error (_("resetting keydb: %s\n"),
- gpg_strerror (rc));
+ log_error ("resetting keydb failed: %s\n", gpg_strerror (rc));
continue;
}
@@ -2610,8 +2609,8 @@ get_policy (ctrl_t ctrl, tofu_dbs_t dbs, PKT_public_key *pk,
if (record_binding (dbs, fingerprint, email, user_id,
policy == TOFU_POLICY_NONE ? TOFU_POLICY_AUTO : policy,
effective_policy, conflict, 1, 0, now) != 0)
- log_error (_("error setting TOFU binding's policy"
- " to %s\n"), tofu_policy_str (policy));
+ log_error ("error setting TOFU binding's policy"
+ " to %s\n", tofu_policy_str (policy));
}
/* If the caller wants the set of conflicts, return it. */
@@ -3148,14 +3147,10 @@ show_statistics (tofu_dbs_t dbs,
es_fprintf (fp, _("%s: Verified 0 signatures."), email);
else
{
- /* TRANSLATORS: The final %s is replaced by a string like
- "7~months". */
+ /* Note: Translation not possible with that wording. */
char *ago_str = time_ago_str (now - signature_first_seen);
es_fprintf
- (fp,
- ngettext("%s: Verified %ld~signature in the past %s.",
- "%s: Verified %ld~signatures in the past %s.",
- signature_count),
+ (fp, "%s: Verified %ld~signatures in the past %s.",
email, signature_count, ago_str);
xfree (ago_str);
}
@@ -3168,12 +3163,9 @@ show_statistics (tofu_dbs_t dbs,
{
char *ago_str = time_ago_str (now - encryption_first_done);
- /* TRANSLATORS: The final %s is replaced by a string like
- "7~months". */
- es_fprintf (fp,
- ngettext("Encrypted %ld~message in the past %s.",
- "Encrypted %ld~messages in the past %s.",
- encryption_count),
+ /* Note: Translation not possible with this kind of
+ * composition. */
+ es_fprintf (fp, "Encrypted %ld~messages in the past %s.",
encryption_count, ago_str);
xfree (ago_str);
}
@@ -3940,7 +3932,7 @@ tofu_set_policy (ctrl_t ctrl, kbnode_t kb, enum tofu_policy policy)
policy, TOFU_POLICY_NONE, NULL, 0, 1, now);
if (err)
{
- log_error (_("error setting policy for key %s, user id \"%s\": %s"),
+ log_error ("error setting policy for key %s, user id \"%s\": %s",
fingerprint, email, gpg_strerror (err));
xfree (email);
break;
diff --git a/kbx/keybox-init.c b/kbx/keybox-init.c
index 6a83f71..6d656f2 100644
--- a/kbx/keybox-init.c
+++ b/kbx/keybox-init.c
@@ -289,18 +289,14 @@ keybox_lock (KEYBOX_HANDLE hd, int yes)
if (!kb->is_locked)
{
#ifdef HAVE_W32_SYSTEM
- /* Under Windows we need to close the file before we try
- * to lock it. This is because another process might have
- * taken the lock and is using keybox_file_rename to
- * rename the base file. How if our dotlock_take below is
- * waiting for the lock but we have the base file still
- * open, keybox_file_rename will never succeed as we are
- * in a deadlock. */
- if (hd->fp)
- {
- fclose (hd->fp);
- hd->fp = NULL;
- }
+ /* Under Windows we need to close the file before we try
+ * to lock it. This is because another process might have
+ * taken the lock and is using keybox_file_rename to
+ * rename the base file. Now if our dotlock_take below is
+ * waiting for the lock but we have the base file still
+ * open, keybox_file_rename will never succeed as we are
+ * in a deadlock. */
+ _keybox_close_file (hd);
#endif /*HAVE_W32_SYSTEM*/
if (dotlock_take (kb->lockhd, -1))
{
diff --git a/kbx/keybox-search.c b/kbx/keybox-search.c
index 1f5dbdf..c07fe81 100644
--- a/kbx/keybox-search.c
+++ b/kbx/keybox-search.c
@@ -844,16 +844,21 @@ keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc, size_t ndesc,
KEYBOXBLOB blob = NULL;
struct sn_array_s *sn_array = NULL;
int pk_no, uid_no;
+ off_t lastfoundoff;
if (!hd)
return gpg_error (GPG_ERR_INV_VALUE);
- /* clear last found result */
+ /* Clear last found result but reord the offset of the last found
+ * blob which we may need later. */
if (hd->found.blob)
{
+ lastfoundoff = _keybox_get_blob_fileoffset (hd->found.blob);
_keybox_release_blob (hd->found.blob);
hd->found.blob = NULL;
}
+ else
+ lastfoundoff = 0;
if (hd->error)
return hd->error; /* still in error state */
@@ -872,6 +877,7 @@ keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc, size_t ndesc,
case KEYDB_SEARCH_MODE_FIRST:
/* always restart the search in this mode */
keybox_search_reset (hd);
+ lastfoundoff = 0;
break;
default:
break;
@@ -896,6 +902,32 @@ keybox_search (KEYBOX_HANDLE hd, KEYBOX_SEARCH_DESC *desc, size_t ndesc,
xfree (sn_array);
return rc;
}
+ /* log_debug ("%s: re-opened file\n", __func__); */
+ if (ndesc && desc[0].mode != KEYDB_SEARCH_MODE_FIRST && lastfoundoff)
+ {
+ /* Search mode is not first and the last search operation
+ * returned a blob which also was not the first one. We now
+ * need to skip over that blob and hope that the file has
+ * not changed. */
+ if (fseeko (hd->fp, lastfoundoff, SEEK_SET))
+ {
+ rc = gpg_error_from_syserror ();
+ log_debug ("%s: seeking to last found offset failed: %s\n",
+ __func__, gpg_strerror (rc));
+ xfree (sn_array);
+ return gpg_error (GPG_ERR_NOTHING_FOUND);
+ }
+ /* log_debug ("%s: re-opened file and sought to last offset\n", */
+ /* __func__); */
+ rc = _keybox_read_blob (NULL, hd->fp, NULL);
+ if (rc)
+ {
+ log_debug ("%s: skipping last found blob failed: %s\n",
+ __func__, gpg_strerror (rc));
+ xfree (sn_array);
+ return gpg_error (GPG_ERR_NOTHING_FOUND);
+ }
+ }
}
/* Kludge: We need to convert an SN given as hexstring to its binary
diff --git a/kbx/keybox-update.c b/kbx/keybox-update.c
index 580330f..e09fefc 100644
--- a/kbx/keybox-update.c
+++ b/kbx/keybox-update.c
@@ -423,7 +423,7 @@ keybox_update_keyblock (KEYBOX_HANDLE hd, const void *image, size_t imagelen)
if (off == (off_t)-1)
return gpg_error (GPG_ERR_GENERAL);
- /* Close this the file so that we do no mess up the position for a
+ /* Close the file so that we do no mess up the position for a
next search. */
_keybox_close_file (hd);
diff --git a/m4/iconv.m4 b/m4/iconv.m4
index 66bc76f..a285e9d 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,5 +1,6 @@
-# iconv.m4 serial AM6 (gettext-0.17)
-dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
+# iconv.m4 serial 21
+dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -30,61 +31,118 @@ AC_DEFUN([AM_ICONV_LINK],
dnl Add $INCICONV to CPPFLAGS before performing the following checks,
dnl because if the user has installed libiconv and not disabled its use
dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
- AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_func_iconv=yes)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
- AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [
- dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
am_save_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
fi
- AC_TRY_RUN([
+ am_cv_func_iconv_works=no
+ for ac_iconv_const in '' 'const'; do
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <iconv.h>
#include <string.h>
-int main ()
-{
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+ ]],
+ [[int result = 0;
/* Test against AIX 5.1 bug: Failures are not distinguishable from successful
returns. */
{
iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
if (cd_utf8_to_88591 != (iconv_t)(-1))
{
- static const char input[] = "\342\202\254"; /* EURO SIGN */
+ static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
char buf[10];
- const char *inptr = input;
+ ICONV_CONST char *inptr = input;
size_t inbytesleft = strlen (input);
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_utf8_to_88591,
- (char **) &inptr, &inbytesleft,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\263";
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ &inptr, &inbytesleft,
&outptr, &outbytesleft);
if (res == 0)
- return 1;
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
}
}
#if 0 /* This bug could be worked around by the caller. */
@@ -93,37 +151,53 @@ int main ()
iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
if (cd_88591_to_utf8 != (iconv_t)(-1))
{
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
char buf[50];
- const char *inptr = input;
+ ICONV_CONST char *inptr = input;
size_t inbytesleft = strlen (input);
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_88591_to_utf8,
- (char **) &inptr, &inbytesleft,
+ &inptr, &inbytesleft,
&outptr, &outbytesleft);
if ((int)res > 0)
- return 1;
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
}
}
#endif
/* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
- return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
- [case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac])
+ {
+ /* Try standardized names. */
+ iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP");
+ /* Try IRIX, OSF/1 names. */
+ iconv_t cd2 = iconv_open ("UTF-8", "eucJP");
+ /* Try AIX names. */
+ iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP");
+ /* Try HP-UX names. */
+ iconv_t cd4 = iconv_open ("utf8", "eucJP");
+ if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1)
+ && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1))
+ result |= 16;
+ if (cd1 != (iconv_t)(-1))
+ iconv_close (cd1);
+ if (cd2 != (iconv_t)(-1))
+ iconv_close (cd2);
+ if (cd3 != (iconv_t)(-1))
+ iconv_close (cd3);
+ if (cd4 != (iconv_t)(-1))
+ iconv_close (cd4);
+ }
+ return result;
+]])],
+ [am_cv_func_iconv_works=yes], ,
+ [case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac])
+ test "$am_cv_func_iconv_works" = no || break
+ done
LIBS="$am_save_LIBS"
])
case "$am_cv_func_iconv_works" in
@@ -134,7 +208,7 @@ int main ()
am_func_iconv=no am_cv_lib_iconv=no
fi
if test "$am_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1,
+ AC_DEFINE([HAVE_ICONV], [1],
[Define if you have the iconv() function and it works.])
fi
if test "$am_cv_lib_iconv" = yes; then
@@ -147,34 +221,68 @@ int main ()
LIBICONV=
LTLIBICONV=
fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
])
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
[
AM_ICONV_LINK
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
- AC_TRY_COMPILE([
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
#include <stdlib.h>
#include <iconv.h>
extern
#ifdef __cplusplus
"C"
#endif
-#if defined(__STDC__) || defined(__cplusplus)
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
#else
size_t iconv();
#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
- [Define as const if the declaration of iconv() needs const.])
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ else
+ dnl When compiling GNU libiconv on a system that does not have iconv yet,
+ dnl pick the POSIX compliant declaration without 'const'.
+ am_cv_proto_iconv_arg1=""
fi
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+ [Define as const if the declaration of iconv() needs const.])
+ dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+ m4_ifdef([gl_ICONV_H_DEFAULTS],
+ [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+ if test -n "$am_cv_proto_iconv_arg1"; then
+ ICONV_CONST="const"
+ fi
+ ])
])
diff --git a/po/ca.po b/po/ca.po
index 458819c..759dae3 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1737,6 +1737,18 @@ msgstr "(a no ser que especifiqueu la clau per la empremta digital)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "no es pot fer això en el mode desatès sense «--yes»\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Voleu esborrar aquesta clau de l'anell? "
@@ -1758,6 +1770,10 @@ msgid "subkey"
msgstr "Clau pública: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "ha fallat l'actualització: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
@@ -3705,10 +3721,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Voleu eixir sense desar? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "ha fallat l'actualització: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "La clau no ha canviat, per tant no cal actualització.\n"
@@ -4758,10 +4770,6 @@ msgstr "no s'ha trobat la clau «%s»: %s\n"
msgid "key not found on keyserver\n"
msgstr "no s'ha trobat la clau «%s»: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "no es coneix cap servidor de claus (useu l'opció \"--keyserver\")\n"
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "s'està sol·licitant la clau %08lX de %s\n"
@@ -6054,10 +6062,6 @@ msgstr ""
"\n"
"Algoritmes suportats:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "error en la creació de la contrasenya: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -6077,14 +6081,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: error en escriure el registre de directoris: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "error mentre s'enviava a «%s»: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "error en la lectura de «%s»: %s\n"
@@ -6237,14 +6233,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "error en la lectura de «%s»: %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "error en la creació de la contrasenya: %s\n"
@@ -6300,24 +6288,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "S'han esborrat %d signatures.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [fitxers]|imprimeix resums de missatges"
-msgstr[1] "|algo [fitxers]|imprimeix resums de missatges"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "xifrat amb %lu contrasenyes\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [fitxers]|imprimeix resums de missatges"
-msgstr[1] "|algo [fitxers]|imprimeix resums de missatges"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Política: "
@@ -6365,11 +6341,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "s'ha produït un error mentre s'escrivia l'anell públic «%s»: %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "«%s» no és un ID de clau llarg vàlid\n"
@@ -8773,6 +8744,10 @@ msgstr "error mentre s'enviava a «%s»: %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "changing permission of `%s' failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -8782,10 +8757,6 @@ msgstr "no s'han pogut canviar els permissos de «%s»: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
@@ -8836,10 +8807,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "Ha fallat el procés de signatura: %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "error en la creació de la contrasenya: %s\n"
@@ -9162,6 +9129,15 @@ msgid "Component not suitable for launching"
msgstr "no s'ha trobat la clau pública"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Useu l'ordre «toggle» abans.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9397,6 +9373,42 @@ msgid ""
"Check a passphrase given on stdin against the patternfile\n"
msgstr ""
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "no es coneix cap servidor de claus (useu l'opció \"--keyserver\")\n"
+
+#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "error en la creació de la contrasenya: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "error mentre s'enviava a «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "error en la lectura de «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [fitxers]|imprimeix resums de missatges"
+#~ msgstr[1] "|algo [fitxers]|imprimeix resums de missatges"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [fitxers]|imprimeix resums de missatges"
+#~ msgstr[1] "|algo [fitxers]|imprimeix resums de missatges"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "s'ha produït un error mentre s'escrivia l'anell públic «%s»: %s\n"
+
#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "error en la lectura de «%s»: %s\n"
diff --git a/po/cs.po b/po/cs.po
index fc0b074..5178b58 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, 2018.
+# Petr Pisar <petr.pisar@atlas.cz>, 2017, 2018, 2019.
#
# 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
@@ -31,13 +31,14 @@
# DP (distribution point (of CRL)) → DP
# load → zavést
# OCSP request → OCSP dotaz
+# token → bezpečnostní zařízení
# validate → ověřit (platnost)
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg2 2.2.10\n"
+"Project-Id-Version: gnupg2 2.2.15\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2018-11-06 11:01+0100\n"
+"PO-Revision-Date: 2019-04-21 06:20+02:00\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <gnupg-i18n@gnupg.org>\n"
"Language: cs\n"
@@ -231,12 +232,10 @@ msgid "Reset Code"
msgstr "Resetační kód"
msgid "Push ACK button on card/token."
-msgstr ""
+msgstr "Potvrďte tlačítkem na kartě nebo bezpečnostním zařízení."
-#, fuzzy
-#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
msgid "Use the reader's pinpad for input."
-msgstr "%s%%0A%%0APro vstup použijte klávesnici čtečky."
+msgstr "Pro vstup použijte klávesnici čtečky."
msgid "Repeat this Reset Code"
msgstr "Zopakujte resetační kód"
@@ -1605,6 +1604,18 @@ msgstr "(dokud neurčíte klíč jeho otiskem)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "bez parametru „--yes“ to nelze v dávkovém režimu provést\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Smazat tento klíč ze souboru klíčů? (a/N) "
@@ -1625,6 +1636,10 @@ msgid "subkey"
msgstr "podklíče"
#, c-format
+msgid "update failed: %s\n"
+msgstr "aktualizace selhala: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "smazání bloku klíče se nezdařilo: %s\n"
@@ -3404,10 +3419,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Ukončit bez uložení? (a/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "aktualizace selhala: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Klíč nebyl změněn, takže není potřeba jej aktualizovat.\n"
@@ -4396,10 +4407,6 @@ msgid "key not found on keyserver\n"
msgstr "klíč nebyl na serveru klíčů nalezen\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "žádný server klíčů není znám (použijte volbu --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "požaduji klíč %s z %s serveru %s\n"
@@ -5637,10 +5644,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "nepodporovaná verze databáze TOFU: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "chyba při vytváření TOFU tabulky „ultimately_trusted_keys“: %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "Chyba databáze TOFU"
@@ -5657,15 +5660,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "chyba při inicializaci databáze TOFU: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "chyba při vytváření TOFU tabulky „encryptions“: %s\n"
-
-# ??? Typo: error adding
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "přidávání sloupce effective_policy do vazeb databáze: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "chyba při otevírání databáze TOFU „%s“: %s\n"
@@ -5827,14 +5821,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Zjištěno poškození databáze TOFU.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "databáze klíčů se resetuje: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "chyba při nastavování politiky vazby TOFU na %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "chyba při měnění politiky TOFU: %s\n"
@@ -5896,25 +5882,10 @@ msgstr "%s: Ověřeno 0~podpisů a zašifrováno 0~zpráv."
msgid "%s: Verified 0 signatures."
msgstr "%s: Ověřeno 0 podpisů."
-# The final %s is replaced by a string like "7~months".
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: Ověřen %ld~podpis za poslední období %s."
-msgstr[1] "%s: Ověřeny %ld~podpisy za poslední období %s."
-msgstr[2] "%s: Ověřeno %ld~podpisů za poslední období %s."
-
msgid "Encrypted 0 messages."
msgstr "Zašifrováno 0 zpráv."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Zašifrována %ld~zpráva za poslední období %s."
-msgstr[1] "Zašifrovány %ld~zprávy za poslední období %s."
-msgstr[2] "Zašifrováno %ld~zpráv za poslední období %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(politika: %s)"
@@ -5982,11 +5953,6 @@ msgstr ""
"POZOR: Šifruje se pro %s, kterýžto nemá neodvolané identity uživatele\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr ""
-"chyba při nastavování politiky pro klíč %s a identitu uživatele „%s“: %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "„%s“ není platný dlouhý keyID\n"
@@ -8188,11 +8154,9 @@ msgstr "URL „%s“ přesměrováno na „%s“ (%u)\n"
msgid "too many redirections\n"
msgstr "příliš mnoho přesměrování\n"
-# g10/import.c:766 g10/openfile.c:261#, c-format
-#, fuzzy, c-format
-#| msgid "writing to '%s'\n"
+#, c-format
msgid "redirection changed to '%s'\n"
-msgstr "zapisuje se do „%s“\n"
+msgstr "přesměrování změněno na „%s“\n"
#, c-format
msgid "error allocating memory: %s\n"
@@ -8303,6 +8267,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "Stav odpovídače OCSP na „%s“: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "nepodařilo se ustanovit hašovací kontext OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "hašování OCSP odpovědi pro „%s“ selhalo: %s\n"
@@ -8311,10 +8279,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "nepodepsáno výchozím OCSP certifikátem podepisovatele"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "v OCSP odpovědích je podporováno jen SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "alokování prvku seznamu selhalo: %s\n"
@@ -8363,10 +8327,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "použije se OCSP odpovídač „%s“\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "nepodařilo se ustanovit hašovací kontext OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "chyba při zjišťování OCSP stavu cílového certifikátu: %s\n"
@@ -8674,6 +8634,16 @@ msgstr "Pole pro heslo"
msgid "Component not suitable for launching"
msgstr "Komponenta není vhodná pro spuštění"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Selhalo externí ověření komponenty %s"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Poznámka: Restartovat je můžete příkazem „%s“.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Selhalo externí ověření komponenty %s"
@@ -8905,6 +8875,45 @@ msgstr ""
"Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n"
"Prověří heslo zadané na vstupu proti souboru se vzory\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "žádný server klíčů není znám (použijte volbu --keyserver)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "chyba při vytváření TOFU tabulky „ultimately_trusted_keys“: %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "chyba při vytváření TOFU tabulky „encryptions“: %s\n"
+
+# ??? Typo: error adding
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "přidávání sloupce effective_policy do vazeb databáze: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "databáze klíčů se resetuje: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "chyba při nastavování politiky vazby TOFU na %s\n"
+
+# The final %s is replaced by a string like "7~months".
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: Ověřen %ld~podpis za poslední období %s."
+#~ msgstr[1] "%s: Ověřeny %ld~podpisy za poslední období %s."
+#~ msgstr[2] "%s: Ověřeno %ld~podpisů za poslední období %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Zašifrována %ld~zpráva za poslední období %s."
+#~ msgstr[1] "Zašifrovány %ld~zprávy za poslední období %s."
+#~ msgstr[2] "Zašifrováno %ld~zpráv za poslední období %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr ""
+#~ "chyba při nastavování politiky pro klíč %s a identitu uživatele „%s“: %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "v OCSP odpovědích je podporováno jen SHA-1\n"
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "volání listen() selhalo: %s\n"
diff --git a/po/da.po b/po/da.po
index 7fe5108..171d362 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1723,6 +1723,18 @@ msgstr "(med mindre du angiver nøglen med fingeraftryk)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "kan ikke udføre dette i jobtilstand uden »--yes«\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Slet denne nøgle fra nøgleringen? (j/N) "
@@ -1743,6 +1755,10 @@ msgid "subkey"
msgstr "Pubkey: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "opdatering mislykkedes: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "sletning af nøgleblok mislykkedes: %s\n"
@@ -3648,10 +3664,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Afslut uden at gemme? (j/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "opdatering mislykkedes: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Nøgle ikke ændret så ingen opdatering krævet.\n"
@@ -4693,10 +4705,6 @@ msgid "key not found on keyserver\n"
msgstr "nøgle blev ikke fundet på nøgleserver\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "ingen kendt nøgleserver (brug tilvalget --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "anmoder om nøgle %s fra %s server %s\n"
@@ -5990,11 +5998,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "ikke understøttet algoritme: %s"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "fejl ved oprettelse af midlertidig fil: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -6015,15 +6018,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: fejl ved skrivning af mappepost: %s\n"
#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "fejl under afsendelse af %s-kommando: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
#| msgid "error opening `%s': %s\n"
msgid "error opening TOFU database '%s': %s\n"
msgstr "fejl ved åbning af »%s«: %s\n"
@@ -6184,16 +6178,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "fejl ved skrivning af nøgle: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error storing flags: %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "fejl ved lagring af flag: %s\n"
-
-#, fuzzy, c-format
#| msgid "error creating a pipe: %s\n"
msgid "error changing TOFU policy: %s\n"
msgstr "fejl ved oprettelse af datakanal: %s\n"
@@ -6249,26 +6233,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Slettede %d underskrifter.\n"
-#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "vis beskedsammendrag"
-msgstr[1] "vis beskedsammendrag"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "krypteret med %lu adgangsfraser\n"
#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "vis beskedsammendrag"
-msgstr[1] "vis beskedsammendrag"
-
-#, fuzzy, c-format
#| msgid "validity: %s"
msgid "(policy: %s)"
msgstr "validitet: %s"
@@ -6317,11 +6287,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "fejl ved skrivning af offentlig nøglering »%s«: %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "»%s« er ikke et gyldigt nøgle-id\n"
@@ -8850,6 +8815,10 @@ msgstr "fejl ved binding af sokkel til »%s«: %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "checking the trust list failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -8859,10 +8828,6 @@ msgstr "kontrol af troværdighedslisten mislykkedes: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "receiving line failed: %s\n"
msgid "allocating list item failed: %s\n"
@@ -8922,10 +8887,6 @@ msgstr "bruger standard-PIN som %s\n"
msgid "using OCSP responder '%s'\n"
msgstr "bruger chiffer %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "error storing certificate: %s\n"
msgid "error getting OCSP status for target certificate: %s\n"
@@ -9273,6 +9234,16 @@ msgstr "Ugyldig adgangsfrase"
msgid "Component not suitable for launching"
msgstr "Komponent blev ikke fundet"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Ekstern verifikation af komponent %s mislykkedes"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Brug venligst kommandoen »toggle« først.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Ekstern verifikation af komponent %s mislykkedes"
@@ -9525,6 +9496,48 @@ msgstr ""
"Syntaks: gpg-check-pattern [tilvalg] mønsterfil\n"
"Kontroller en adgangsfrase angivet på stdin mod mønsterfilen\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "ingen kendt nøgleserver (brug tilvalget --keyserver)\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "fejl ved oprettelse af midlertidig fil: %s\n"
+
+#, fuzzy
+#~| msgid "error sending %s command: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "fejl under afsendelse af %s-kommando: %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "fejl ved skrivning af nøgle: %s\n"
+
+#, fuzzy
+#~| msgid "error storing flags: %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "fejl ved lagring af flag: %s\n"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "vis beskedsammendrag"
+#~ msgstr[1] "vis beskedsammendrag"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "vis beskedsammendrag"
+#~ msgstr[1] "vis beskedsammendrag"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "fejl ved skrivning af offentlig nøglering »%s«: %s\n"
+
#, fuzzy
#~| msgid "waiting %d seconds for the agent to come up\n"
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
diff --git a/po/de.po b/po/de.po
index 2f30259..bf9bf51 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-11-06 10:59+0100\n"
+"PO-Revision-Date: 2019-05-27 12:47+0200\n"
"Last-Translator: Werner Koch <wk@gnupg.org>\n"
"Language-Team: German <de@li.org>\n"
"Language: de\n"
@@ -213,12 +213,10 @@ msgid "Reset Code"
msgstr "Rückstellcode"
msgid "Push ACK button on card/token."
-msgstr ""
+msgstr "Bitte die Bestätigungstaste des Tokens drücken."
-#, fuzzy
-#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
msgid "Use the reader's pinpad for input."
-msgstr "%s%%0A%%0AZur Eingabe die Tastatur des Kartenlesers verwenden."
+msgstr "Zur Eingabe die Tastatur des Kartenlesers verwenden."
msgid "Repeat this Reset Code"
msgstr "Rückstellcode bitte wiederholen"
@@ -1609,6 +1607,24 @@ msgstr "(es sei denn, Sie geben den Schlüssel mittels Fingerprint an)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "dies kann im Batchmodus ohne \"--yes\" nicht durchgeführt werden\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+"Hinweis: Der öffentliche Schlüssel mit allen Unterschlüsseln wird gelöscht.\n"
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+"Hinweis: Nur der angezeigte öffentliche Unterschlüssel wird gelöscht.\n"
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+"Hinweis: Nur der geheime Teil des angezeigten Hauptschlüssels wird "
+"gelöscht.\n"
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+"Hinweis: Nur der geheime Teil des angezeigten Unterschlüssels wird "
+"gelöscht.\n"
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Diesen Schlüssel aus dem Schlüsselbund löschen? (j/N) "
@@ -1626,6 +1642,10 @@ msgid "subkey"
msgstr "Unterschlüssel"
#, c-format
+msgid "update failed: %s\n"
+msgstr "Änderung fehlgeschlagen: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "löschen des Schlüsselblocks fehlgeschlagen: %s\n"
@@ -3445,10 +3465,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Beenden ohne zu speichern? (j/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "Änderung fehlgeschlagen: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n"
@@ -4436,10 +4452,6 @@ msgid "key not found on keyserver\n"
msgstr "Schlüssel wurde auf dem Schlüsselserver nicht gefunden\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "Kein Schlüsselserver bekannt (Option --keyserver verwenden)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "fordere Schlüssel %s von %s-Server %s an\n"
@@ -5724,11 +5736,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "Nicht unterstützte TOFU Datenbank Version: %s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr "TOFU (Trust on First Use) database error"
@@ -5745,15 +5752,6 @@ msgstr "Fehler beim Feststellen der TOFU Datenbank Version: %s\n"
msgid "error initializing TOFU database: %s\n"
msgstr "Fehler beim Initialisieren der TOFU Datenbank: %s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "Fehler beim Öffner der TOFU Datenbank '%s': %s\n"
@@ -5762,36 +5760,28 @@ msgstr "Fehler beim Öffner der TOFU Datenbank '%s': %s\n"
msgid "error updating TOFU database: %s\n"
msgstr "Fehler beim Schreiben der TOFU Datenbank: %s\n"
-#, fuzzy, c-format
-#| msgid "The email address \"%s\" is associated with %d key:\n"
-#| msgid_plural "The email address \"%s\" is associated with %d keys:\n"
+#, c-format
msgid ""
"This is the first time the email address \"%s\" is being used with key %s."
-msgstr "Die Email-Adresse \"%s\" ist mit einem Schlüssel assoziert:\n"
+msgstr ""
+"Die Mail-Adresse \"%s\" wird zum ersten mal mit dem Schlüssel %s verwendet."
-#, fuzzy, c-format
-#| msgid "The email address \"%s\" is associated with %d key:\n"
-#| msgid_plural "The email address \"%s\" is associated with %d keys:\n"
+#, c-format
msgid "The email address \"%s\" is associated with %d key!"
msgid_plural "The email address \"%s\" is associated with %d keys!"
-msgstr[0] "Die Email-Adresse \"%s\" ist mit einem Schlüssel assoziert:\n"
-msgstr[1] "Die Email-Adresse \"%s\" ist mit einem Schlüssel assoziert:\n"
+msgstr[0] "Die Mail-Adresse \"%s\" ist mit %d Schlüssel assoziert!"
+msgstr[1] "Die Mail-Adresse \"%s\" ist mit %d Schlüsseln assoziert!"
-#, fuzzy
-#| msgid ""
-#| "The key with fingerprint %s raised a conflict with the binding %s. Since "
-#| "this binding's policy was 'auto', it was changed to 'ask'."
msgid " Since this binding's policy was 'auto', it has been changed to 'ask'."
-msgstr ""
-"Der Schlüssel mit dem Fingerabdruck %s steht im Konflikt mit der Bindung "
-"(%s). Die Richtlinie dieser Bindung wurde deswegen von 'auto' auf 'ask' "
-"geändert."
+msgstr " Aufgrund der Bindungs-Richtline 'auto' wurde sie auf 'ask' geändert."
#, c-format
msgid ""
"Please indicate whether this email address should be associated with key %s "
"or whether you think someone is impersonating \"%s\"."
msgstr ""
+"Bitte geben Sie an, ob diese Mailadresse mit dem Schlüssel %s\n"
+"verbunden sein soll oder ob jemand anderes sich für \"%s\" ausgibt."
#, c-format
msgid "error gathering other user IDs: %s\n"
@@ -5833,87 +5823,72 @@ msgid_plural "Encrypted %d messages."
msgstr[0] "%d Nachricht wurde verschlüsselt."
msgstr[1] "%d Nachrichten wurden verschlüsselt."
-#, fuzzy, c-format
-#| msgid "%ld message signed in the future."
-#| msgid_plural "%ld messages signed in the future."
+#, c-format
msgid "Verified %d message in the future."
msgid_plural "Verified %d messages in the future."
-msgstr[0] "%ld Nachricht in der Zukunft signiert."
-msgstr[1] "%ld Nachrichten in der Zukunf signiert."
+msgstr[0] "%d Nachricht in der Zukunft signiert."
+msgstr[1] "%d Nachrichten in der Zukunf signiert."
-#, fuzzy, c-format
-#| msgid "%ld message signed in the future."
-#| msgid_plural "%ld messages signed in the future."
+#, c-format
msgid "Encrypted %d message in the future."
msgid_plural "Encrypted %d messages in the future."
-msgstr[0] "%ld Nachricht in der Zukunft signiert."
-msgstr[1] "%ld Nachrichten in der Zukunf signiert."
+msgstr[0] "%d Nachricht in der Zukunft verschlüsselt."
+msgstr[1] "%d Nachrichten in der Zukunft verschlüsselt."
-#, fuzzy, c-format
-#| msgid " over the past %ld day."
-#| msgid_plural " over the past %ld days."
+#, c-format
msgid "Messages verified over the past %d day: %d."
msgid_plural "Messages verified over the past %d days: %d."
-msgstr[0] " innerhalb des letzten Tages."
-msgstr[1] " innerhalb der letzten %ld Tage."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Tages überprüft wurden: %d."
+msgstr[1] "Nachrichten die innerhalb der letzten %d Tage überprüft wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld day."
-#| msgid_plural " over the past %ld days."
+#, c-format
msgid "Messages encrypted over the past %d day: %d."
msgid_plural "Messages encrypted over the past %d days: %d."
-msgstr[0] " innerhalb des letzten Tages."
-msgstr[1] " innerhalb der letzten %ld Tage."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Tages verschlüsselt wurden: %d."
+msgstr[1] ""
+"Nachrichten die innerhalb der letzten %d Tage verschlüsselt wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld month."
-#| msgid_plural " over the past %ld months."
+#, c-format
msgid "Messages verified over the past %d month: %d."
msgid_plural "Messages verified over the past %d months: %d."
-msgstr[0] " innerhalb des letzten Monats."
-msgstr[1] " innerhalb der letzten %ld Monate."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Monats überprüft wurden: %d."
+msgstr[1] ""
+"Nachrichten die innerhalb der letzten %d Monate überprüft wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld month."
-#| msgid_plural " over the past %ld months."
+#, c-format
msgid "Messages encrypted over the past %d month: %d."
msgid_plural "Messages encrypted over the past %d months: %d."
-msgstr[0] " innerhalb des letzten Monats."
-msgstr[1] " innerhalb der letzten %ld Monate."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Monats verschlüsselt wurden: %d."
+msgstr[1] ""
+"Nachrichten die innerhalb der letzten %d Monate verschlüsselt wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld day."
-#| msgid_plural " over the past %ld days."
+#, c-format
msgid "Messages verified over the past %d year: %d."
msgid_plural "Messages verified over the past %d years: %d."
-msgstr[0] " innerhalb des letzten Tages."
-msgstr[1] " innerhalb der letzten %ld Tage."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Jahres überprüft wurden: %d."
+msgstr[1] ""
+"Nachrichten die innerhalb der letzten %d Jahre überprüft wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld day."
-#| msgid_plural " over the past %ld days."
+#, c-format
msgid "Messages encrypted over the past %d year: %d."
msgid_plural "Messages encrypted over the past %d years: %d."
-msgstr[0] " innerhalb des letzten Tages."
-msgstr[1] " innerhalb der letzten %ld Tage."
+msgstr[0] ""
+"Nachrichten die innerhalb des letzten %d Jahres verschlüsselt wurden: %d."
+msgstr[1] ""
+"Nachrichten die innerhalb der letzten %d Jahre verschlüsselt wurden: %d."
-#, fuzzy, c-format
-#| msgid " over the past %ld day."
-#| msgid_plural " over the past %ld days."
+#, c-format
msgid "Messages verified in the past: %d."
-msgstr " innerhalb des letzten Tages."
-
-#, fuzzy, c-format
-#| msgid ""
-#| "Verified %ld message signed by \"%s\"\n"
-#| "in the past %s."
-#| msgid_plural ""
-#| "Verified %ld messages signed by \"%s\"\n"
-#| "in the past %s."
+msgstr "Nachrichten die in der Vergangenheit überprüft wurden: %d."
+
+#, c-format
msgid "Messages encrypted in the past: %d."
-msgstr ""
-"%ld überprüfte Nachricht von \"%s\"\n"
-"in den letzten %s."
+msgstr "Nachricht die in der Vergangenheit verschlüsselt wurden: %d."
#. TRANSLATORS: Please translate the text found in the source
#. * file below. We don't directly internationalize that text so
@@ -5938,21 +5913,11 @@ msgid "(G)ood, (A)ccept once, (U)nknown, (R)eject once, (B)ad? "
msgstr "(G)ut, einmal (A)kzeptieren, (U)nbekannt, einmal ab(L)ehnen, (F)alsch?"
msgid "Defaulting to unknown.\n"
-msgstr ""
+msgstr "Als Voreinstellung wird 'Unbekannt' verwendet.\n"
#, c-format
msgid "TOFU db corruption detected.\n"
-msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "Fehler beim Schreiben des Schlüssels: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error setting TOFU binding's trust level to %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "Fehler beim Setzen der TOFU Binding Vertrauensstufe auf %s\n"
+msgstr "TOFU Datenbank ist defekt.\n"
#, c-format
msgid "error changing TOFU policy: %s\n"
@@ -6000,72 +5965,27 @@ msgid_plural "%lld~seconds"
msgstr[0] "%lld~Sekunde"
msgstr[1] "%lld~Sekunden"
-#, fuzzy, c-format
-#| msgid "TOFU: few signatures %d message %s"
-#| msgid_plural "TOFU: few signatures %d messages %s"
+#, c-format
msgid "%s: Verified 0~signatures and encrypted 0~messages."
-msgstr ""
-"WARNUNG: Falls sie glauben, mehr als %d mit diesem Schlüssel signierte\n"
-"Nachricht erhalten zu haben, so kann es sich bei diesem Schlüssel um\n"
-"eine Fälschung handeln! Prüfen Sie die Email-Adresse genau auf kleine\n"
-"Variationen (z.B. zusätzliche Leerzeichen). Falls Ihnen der Schlüssel\n"
-"suspekt erscheint, so benutzen Sie '%s' um den Schlüssel als Fälschung\n"
-"zu markieren."
+msgstr "%s: 0~Signaturen und 0~Nachrichten verschlüsselt."
-#, fuzzy, c-format
-#| msgid "Deleted %d signatures.\n"
+#, c-format
msgid "%s: Verified 0 signatures."
-msgstr "%d Beglaubigungen entfernt.\n"
-
-#, fuzzy, c-format
-#| msgid ""
-#| "Verified %ld message signed by \"%s\"\n"
-#| "in the past %s."
-#| msgid_plural ""
-#| "Verified %ld messages signed by \"%s\"\n"
-#| "in the past %s."
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] ""
-"%ld überprüfte Nachricht von \"%s\"\n"
-"in den letzten %s."
-msgstr[1] ""
-"%ld überprüfte Nachrichten von \"%s\"\n"
-"in den letzten %s."
+msgstr "%s: 0~Signaturen überprüft."
-#, fuzzy
-#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
-msgstr "Verschlüsselt mit %lu Passphrases\n"
-
-#, fuzzy, c-format
-#| msgid ""
-#| "Verified %ld message signed by \"%s\"\n"
-#| "in the past %s."
-#| msgid_plural ""
-#| "Verified %ld messages signed by \"%s\"\n"
-#| "in the past %s."
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] ""
-"%ld überprüfte Nachricht von \"%s\"\n"
-"in den letzten %s."
-msgstr[1] ""
-"%ld überprüfte Nachrichten von \"%s\"\n"
-"in den letzten %s."
+msgstr "0 Nachrichten verschlüsselt."
-#, fuzzy, c-format
-#| msgid "policy: %s"
+#, c-format
msgid "(policy: %s)"
-msgstr "Richtlinie: %s"
+msgstr "(Richtlinie: %s)"
-#, fuzzy, c-format
-#| msgid "Warning: we've have yet to see a message signed by this key!\n"
+#, c-format
msgid ""
"Warning: we have yet to see a message signed using this key and user id!\n"
msgstr ""
-"WARNUNG: Wir müssen noch eine mit diesem Schlüssel signierte Nachricht "
-"sehen.\n"
+"WARNUNG: Wir müssen noch eine mit diesem Schlüssel und User-ID signierte "
+"Nachricht sehen.\n"
#, c-format
msgid ""
@@ -6074,19 +5994,17 @@ msgstr ""
"WARNUNG: Wir haben nur eine einzige mit diesem Schlüssel signierte Nachricht "
"gesehen.\n"
-#, fuzzy, c-format
-#| msgid "Warning: we've have yet to see a message signed by this key!\n"
+#, c-format
msgid "Warning: you have yet to encrypt a message to this key!\n"
msgstr ""
-"WARNUNG: Wir müssen noch eine mit diesem Schlüssel signierte Nachricht "
-"sehen.\n"
+"WARNUNG: Sie müssen noch eine verschlüselte Nachricht an diesen Schlüssel "
+"senden!\n"
-#, fuzzy, c-format
-#| msgid "Warning: we've only seen a single message signed by this key!\n"
+#, c-format
msgid "Warning: you have only encrypted one message to this key!\n"
msgstr ""
-"WARNUNG: Wir haben nur eine einzige mit diesem Schlüssel signierte Nachricht "
-"gesehen.\n"
+"WARNUNG: Sie haben nur eine verschlüsselte Nachricht an diesen Schlüssel "
+"erstellt!\n"
#, c-format
msgid ""
@@ -6125,11 +6043,7 @@ msgstr "Fehler beim Öffnen der TOFU Datenbank: %s\n"
#, c-format
msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
-
-#, fuzzy, c-format
-#| msgid "error writing public keyring '%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "Fehler beim Schreiben des öff. Schlüsselbundes `%s': %s\n"
+"WARNUNG: Es wird an %s verschlüsselt, welcher nur widerrufene User-IDs hat.\n"
#, c-format
msgid "'%s' is not a valid long keyID\n"
@@ -8376,10 +8290,9 @@ msgstr "URL `%s' nach `%s' umgeleitet (%u)\n"
msgid "too many redirections\n"
msgstr "zu viele verschachtelte Umleitungen\n"
-#, fuzzy, c-format
-#| msgid "writing to '%s'\n"
+#, c-format
msgid "redirection changed to '%s'\n"
-msgstr "Schreiben nach '%s'\n"
+msgstr "\"Redirection\" geändert auf '%s'\n"
#, c-format
msgid "error allocating memory: %s\n"
@@ -8490,6 +8403,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "OCSP Responder `%s' Status: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "Kontext zum Hashen von OCSP kann nicht erzeugt werden: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "Hashen der OCSP Antwort für `%s' fehlgeschlagen: %s\n"
@@ -8498,10 +8415,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "Nicht durch voreingestelltes OCSP \"Signer-Zertifikat\" signiert"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "Lediglich SHA-1 wird bei OCSP Antworten unterstützt\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "malloc() fehlgeschlagen: %s\n"
@@ -8551,10 +8464,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "Der OCSP Responder `%s' wird benutzt\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "Kontext zum Hashen von OCSP kann nicht erzeugt werden: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "Fehler beim Holen des OCSP Status für das Zielzertifikat: %s\n"
@@ -8867,6 +8776,14 @@ msgid "Component not suitable for launching"
msgstr "Komponente unterstützt kein direktes starten"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr "Die Konfigurationsdatei der Komponente %s ist defekt\n"
+
+#, c-format
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Hinweis: Für Details bitte das Kommando \"%s%s\" verwenden.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr "Die externe Überprüfung der Komponente %s war nicht erfolgreich"
@@ -9097,6 +9014,69 @@ msgstr ""
"Syntax: gpg-check-pattern [optionen] Musterdatei\n"
"Die von stdin gelesene Passphrase gegen die Musterdatei prüfen\n"
+#, fuzzy
+#~| msgid "error writing public keyring '%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "Fehler beim Schreiben des öff. Schlüsselbundes `%s': %s\n"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "Lediglich SHA-1 wird bei OCSP Antworten unterstützt\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "Fehler beim Erstellen einer temporären Datei: %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "Fehler beim Schreiben des Schlüssels: %s\n"
+
+#, fuzzy
+#~| msgid "error setting TOFU binding's trust level to %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "Fehler beim Setzen der TOFU Binding Vertrauensstufe auf %s\n"
+
+#, fuzzy
+#~| msgid ""
+#~| "Verified %ld message signed by \"%s\"\n"
+#~| "in the past %s."
+#~| msgid_plural ""
+#~| "Verified %ld messages signed by \"%s\"\n"
+#~| "in the past %s."
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] ""
+#~ "%ld überprüfte Nachricht von \"%s\"\n"
+#~ "in den letzten %s."
+#~ msgstr[1] ""
+#~ "%ld überprüfte Nachrichten von \"%s\"\n"
+#~ "in den letzten %s."
+
+#, fuzzy
+#~| msgid ""
+#~| "Verified %ld message signed by \"%s\"\n"
+#~| "in the past %s."
+#~| msgid_plural ""
+#~| "Verified %ld messages signed by \"%s\"\n"
+#~| "in the past %s."
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] ""
+#~ "%ld überprüfte Nachricht von \"%s\"\n"
+#~ "in den letzten %s."
+#~ msgstr[1] ""
+#~ "%ld überprüfte Nachrichten von \"%s\"\n"
+#~ "in den letzten %s."
+
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "Kein Schlüsselserver bekannt (Option --keyserver verwenden)\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "Warte bis der Dirmngr bereit ist ... (%ds)\n"
diff --git a/po/el.po b/po/el.po
index 2a72d1e..503bb40 100644
--- a/po/el.po
+++ b/po/el.po
@@ -1669,6 +1669,18 @@ msgstr "(εκτός εάν προσδιορίσετε ένα κλειδί από
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "δεν μπορεί να γίνει αυτό σε κατάσταση δέσμης χωρίς το \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Διαγραφή αυτού του κλειδιού από τη κλειδοθήκη; "
@@ -1690,6 +1702,10 @@ msgid "subkey"
msgstr "ΔημοσΚλειδί:"
#, c-format
+msgid "update failed: %s\n"
+msgstr "η ενημέρωση απέτυχε: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
@@ -3612,10 +3628,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Τερματισμός χωρίς αποθήκευση; "
#, c-format
-msgid "update failed: %s\n"
-msgstr "η ενημέρωση απέτυχε: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Το κλειδί δεν άλλαξε οπότε δεν χρειάζεται ενημέρωση.\n"
@@ -4653,10 +4665,6 @@ msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
msgid "key not found on keyserver\n"
msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "αίτηση κλειδιού %08lX από το %s\n"
@@ -5932,10 +5940,6 @@ msgstr ""
"\n"
"Υποστηριζόμενοι αλγόριθμοι:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5955,14 +5959,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: σφάλμα στην εγγραφή της εγγραφής dir : %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
@@ -6115,14 +6111,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
@@ -6177,24 +6165,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Διαγράφηκαν %d υπογραφές.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
-msgstr[1] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "κρυπτογραφημένο με %lu φράσεις κλειδιά\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
-msgstr[1] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Πολιτική: "
@@ -6242,11 +6218,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "αδυναμία εγγραφής δημόσιας κλειδοθήκης `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' δεν είναι έγκυρο μακρύ keyID\n"
@@ -8606,6 +8577,10 @@ msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "απέτυχε ο έλεγχος της υπογραφής που δημιουργήθηκε: %s\n"
@@ -8614,10 +8589,6 @@ msgstr "απέτυχε ο έλεγχος της υπογραφής που δημ
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
@@ -8669,10 +8640,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "χρήση του κρυπταλγόριθμου: %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
@@ -8995,6 +8962,15 @@ msgid "Component not suitable for launching"
msgstr "δεν βρέθηκε το δημόσιο κλειδί"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Παρακαλώ χρησιμοποιείστε την εντολή \"toggle\" πρώτα.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9231,6 +9207,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
+#~ msgstr[1] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
+#~ msgstr[1] "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "αδυναμία εγγραφής δημόσιας κλειδοθήκης `%s': %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
diff --git a/po/eo.po b/po/eo.po
index c3e437b..118f135 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1669,6 +1669,18 @@ msgstr ""
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "ne povas fari tion en neinteraga reĝimo sen \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Ĉu forviŝi ĉi tiun ŝlosilon de la ŝlosilaro? "
@@ -1689,6 +1701,10 @@ msgid "subkey"
msgstr "al"
#, c-format
+msgid "update failed: %s\n"
+msgstr "aktualigo malsukcesis: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
@@ -3585,10 +3601,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Ĉu fini sen skribi ŝanĝojn? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "aktualigo malsukcesis: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Ŝlosilo ne ŝanĝita, do aktualigo ne necesas.\n"
@@ -4616,10 +4628,6 @@ msgstr "ŝlosilo '%s' ne trovita: %s\n"
msgid "key not found on keyserver\n"
msgstr "ŝlosilo '%s' ne trovita: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "neniu ŝlosilservilo konata (uzu la opcion --keyserver)\n"
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
@@ -5857,10 +5865,6 @@ msgstr ""
"\n"
"Realigitaj metodoj:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "eraro dum kreado de pasfrazo: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5880,14 +5884,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: eraro dum skribo de dosieruja registro: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "eraro dum sendo al '%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "eraro dum legado de '%s': %s\n"
@@ -6039,14 +6035,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "eraro dum legado de '%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -6101,23 +6089,11 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Forviŝis %d subskribojn.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
-msgstr[1] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
-
#, fuzzy
msgid "Encrypted 0 messages."
msgstr "Ripetu pasfrazon\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
-msgstr[1] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Gvidlinio: "
@@ -6165,11 +6141,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "eraro dum skribado de publika ŝlosilaro '%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s' ne estas valida longa ŝlosilidentigilo\n"
@@ -8522,6 +8493,10 @@ msgstr "eraro dum sendo al '%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "changing permission of `%s' failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -8531,10 +8506,6 @@ msgstr "ŝanĝo de permesoj de '%s' malsukcesis: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
@@ -8585,10 +8556,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "subskribado malsukcesis: %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -8911,6 +8878,15 @@ msgid "Component not suitable for launching"
msgstr "publika ŝlosilo ne trovita"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Bonvolu uzi la komandon \"toggle\" unue.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9146,6 +9122,42 @@ msgid ""
"Check a passphrase given on stdin against the patternfile\n"
msgstr ""
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "neniu ŝlosilservilo konata (uzu la opcion --keyserver)\n"
+
+#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "eraro dum kreado de pasfrazo: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "eraro dum sendo al '%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "eraro dum legado de '%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
+#~ msgstr[1] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
+#~ msgstr[1] "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "eraro dum skribado de publika ŝlosilaro '%s': %s\n"
+
#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "eraro dum legado de '%s': %s\n"
diff --git a/po/es.po b/po/es.po
index e362816..5569db8 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1607,6 +1607,18 @@ msgstr "(excepto si especifica la clave dando su huella digital)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "imposible hacer esto en modo de proceso por lotes sin \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "¿Eliminar esta clave del anillo? (s/N) "
@@ -1624,6 +1636,10 @@ msgid "subkey"
msgstr "subclave"
#, c-format
+msgid "update failed: %s\n"
+msgstr "actualización fallida: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "borrado de bloque de anillo de claves fallido: %s\n"
@@ -3402,10 +3418,6 @@ msgid "Quit without saving? (y/N) "
msgstr "¿Salir sin grabar? (s/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "actualización fallida: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Clave sin cambios, no se necesita actualización.\n"
@@ -4387,10 +4399,6 @@ msgid "key not found on keyserver\n"
msgstr "clave no encontrada en el servidor\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "no hay servidores de claves conocidos (use opción --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "solicitando clave %s de %s servidor %s\n"
@@ -5636,10 +5644,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "version de base de datos TOFU no soportada: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "error al crear tabla TOFU de 'claves confiadas': %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "Error de la base de datos de TOFU"
@@ -5656,15 +5660,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "error iniciando base de datos TOFU: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "error al crear la tabla TOFU 'encryptions': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-"agregando la columna effective_policy a la base de datos bindings: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "error al abrir base de datos TOFU '%s': %s\n"
@@ -5824,14 +5819,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Detectada corrupción en la base de datos TOFU.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "reiniciando base de datos de claves: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "error al establecer la política de binding TOFU a %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "error al cambiar la política TOFU: %s\n"
@@ -5885,22 +5872,10 @@ msgstr "%s: Verificadas 0~firmas y cifrados 0~mensajes."
msgid "%s: Verified 0 signatures."
msgstr "%s: Verificadas 0 firmas."
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: Verificada %ld~firma en %s."
-msgstr[1] "%s: Verificadas %ld~firmas en %s."
-
msgid "Encrypted 0 messages."
msgstr "Cifrados 0 mensajes."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Cifrado %ld~mensaje en los últimos %s."
-msgstr[1] "Cifrados %ld~mensajes en los últimos %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(política: %s)"
@@ -5965,11 +5940,6 @@ msgstr ""
"no revocado\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr ""
-"error al establecer política para la clave %s, id de usuario \"%s\": %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s' no es un identificador largo de clave válido\n"
@@ -8290,6 +8260,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "status del OCSP responder en '%s': %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "fallo al establecer un contexto de hashing para OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "ha fallado el hashing de la respuesta OCSP para '%s': %s\n"
@@ -8298,10 +8272,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "no firmada por un certificado predeterminado de firma OCSP"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "sólo SHA-1 es compatible para las respuestas OCSP\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "fallo al colocar item en la lista: %s\n"
@@ -8352,10 +8322,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "usar OCSP responder '%s'\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "fallo al establecer un contexto de hashing para OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "error al obtener status OCSP para certificado de destino: %s\n"
@@ -8671,6 +8637,16 @@ msgstr "Frase contraseña"
msgid "Component not suitable for launching"
msgstr "Componente no adecuando para lanzamiento"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Verificación externa del componente %s fallida"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Atención: Usa el comando \"%s\" para reiniciarlos.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Verificación externa del componente %s fallida"
@@ -8908,6 +8884,42 @@ msgstr ""
"Compara frase contraseña dada en entrada estándar con un fichero de "
"patrones\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "no hay servidores de claves conocidos (use opción --keyserver)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "error al crear tabla TOFU de 'claves confiadas': %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "error al crear la tabla TOFU 'encryptions': %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr ""
+#~ "agregando la columna effective_policy a la base de datos bindings: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "reiniciando base de datos de claves: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "error al establecer la política de binding TOFU a %s\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: Verificada %ld~firma en %s."
+#~ msgstr[1] "%s: Verificadas %ld~firmas en %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Cifrado %ld~mensaje en los últimos %s."
+#~ msgstr[1] "Cifrados %ld~mensajes en los últimos %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr ""
+#~ "error al establecer política para la clave %s, id de usuario \"%s\": %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "sólo SHA-1 es compatible para las respuestas OCSP\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "esperando que el dirmngr arranque... ( %ds)\n"
diff --git a/po/et.po b/po/et.po
index fc2f375..697b9b7 100644
--- a/po/et.po
+++ b/po/et.po
@@ -1665,6 +1665,18 @@ msgstr "(kui te just ei määra võtit sõrmejäljega)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "pakettmoodis ei õnnestu seda teha võtmeta \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Kustutan selle võtme võtmehoidlast? "
@@ -1686,6 +1698,10 @@ msgid "subkey"
msgstr "Avalik võti: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "uuendamine ebaõnnestus: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
@@ -3584,10 +3600,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Väljun salvestamata? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "uuendamine ebaõnnestus: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Võtit ei muudetud, seega pole uuendamist vaja.\n"
@@ -4605,10 +4617,6 @@ msgstr "võtit '%s' ei leitud: %s\n"
msgid "key not found on keyserver\n"
msgstr "võtit '%s' ei leitud: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "küsin võtit %08lX võtmeserverist %s\n"
@@ -5856,10 +5864,6 @@ msgstr ""
"\n"
"Toetatud algoritmid:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "viga parooli loomisel: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5879,14 +5883,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: viga kataloogikirje kirjutamisel: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "viga teate saatmisel serverile `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "viga `%s' lugemisel: %s\n"
@@ -6039,14 +6035,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "viga `%s' lugemisel: %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "viga parooli loomisel: %s\n"
@@ -6101,24 +6089,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Kustutatud %d allkirja.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [failid]|trüki teatelühendid"
-msgstr[1] "|algo [failid]|trüki teatelühendid"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "krüpteeritud kasutades %lu parooli\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [failid]|trüki teatelühendid"
-msgstr[1] "|algo [failid]|trüki teatelühendid"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Poliis: "
@@ -6166,11 +6142,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "viga avaliku võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' ei ole kehtiv pikk võtmeID\n"
@@ -8522,6 +8493,10 @@ msgstr "viga teate saatmisel serverile `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
@@ -8530,10 +8505,6 @@ msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
@@ -8585,10 +8556,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "kasutan šiffrit %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "viga parooli loomisel: %s\n"
@@ -8911,6 +8878,15 @@ msgid "Component not suitable for launching"
msgstr "ei leia avalikku võtit"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Palun kasutage kõigepealt käsku \"toggle\".\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9147,6 +9123,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "viga parooli loomisel: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "viga teate saatmisel serverile `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "viga `%s' lugemisel: %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [failid]|trüki teatelühendid"
+#~ msgstr[1] "|algo [failid]|trüki teatelühendid"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [failid]|trüki teatelühendid"
+#~ msgstr[1] "|algo [failid]|trüki teatelühendid"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "viga avaliku võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "viga `%s' lugemisel: %s\n"
diff --git a/po/fi.po b/po/fi.po
index a48c608..75b9452 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1684,6 +1684,18 @@ msgstr "(ellet määritä avainta sormenjäljen perusteella)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "ei onnistu eräajossa ilman \"--yes\"-valitsinta\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Poista tämä avain avainrenkaasta? "
@@ -1705,6 +1717,10 @@ msgid "subkey"
msgstr "JulkAvain: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "päivitys epäonnistui: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "avainlohkojen poisto epäonnistui: %s\n"
@@ -3604,10 +3620,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Lopeta tallentamatta muutoksia?"
#, c-format
-msgid "update failed: %s\n"
-msgstr "päivitys epäonnistui: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Päivitystä ei tarvita, koska avain ei ole muuttunut.\n"
@@ -4635,10 +4647,6 @@ msgstr "avainta \"%s\" ei löydy: %s\n"
msgid "key not found on keyserver\n"
msgstr "avainta \"%s\" ei löydy: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "pyydetään avainta %08lX kohteesta %s\n"
@@ -5913,10 +5921,6 @@ msgstr ""
"\n"
"Tuetut algoritmit:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "virhe luotaessa salasanaa: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5936,14 +5940,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: virhe kirjoitettaessa hakemistotietuetta: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -6096,14 +6092,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "virhe luotaessa salasanaa: %s\n"
@@ -6158,24 +6146,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "%d allekirjoitusta poistettu.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [tiedostot]|tulosta viestien tiivisteet"
-msgstr[1] "|algo [tiedostot]|tulosta viestien tiivisteet"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "salattu %lu salasanalla\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [tiedostot]|tulosta viestien tiivisteet"
-msgstr[1] "|algo [tiedostot]|tulosta viestien tiivisteet"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Käytäntö: "
@@ -6223,11 +6199,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "virhe kirjoitettaessa julkiseen avainrenkaaseen \"%s\": %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "\"%s\" ei kelpaa pitkänä avaintunnuksena\n"
@@ -8584,6 +8555,10 @@ msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
@@ -8592,10 +8567,6 @@ msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "avainlohkojen poisto epäonnistui: %s\n"
@@ -8647,10 +8618,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "käytetään salakirjoitusalgoritmia %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "virhe luotaessa salasanaa: %s\n"
@@ -8973,6 +8940,15 @@ msgid "Component not suitable for launching"
msgstr "julkista avainta ei löydy"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Käytä ensin komentoa \"toggle\".\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9209,6 +9185,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "virhe luotaessa salasanaa: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [tiedostot]|tulosta viestien tiivisteet"
+#~ msgstr[1] "|algo [tiedostot]|tulosta viestien tiivisteet"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [tiedostot]|tulosta viestien tiivisteet"
+#~ msgstr[1] "|algo [tiedostot]|tulosta viestien tiivisteet"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "virhe kirjoitettaessa julkiseen avainrenkaaseen \"%s\": %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
diff --git a/po/fr.po b/po/fr.po
index 6c94cc5..d1c7da2 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1656,6 +1656,18 @@ msgstr "(à moins d'indiquer la clef par son empreinte)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "impossible de faire cela en mode automatique sans « --yes »\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Faut-il supprimer cette clef du porte-clefs ? (o/N) "
@@ -1673,6 +1685,10 @@ msgid "subkey"
msgstr "sous-clef"
#, c-format
+msgid "update failed: %s\n"
+msgstr "échec de la mise à jour : %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "échec de suppression du bloc de clef : %s\n"
@@ -3536,10 +3552,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Faut-il quitter sans enregistrer ? (o/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "échec de la mise à jour : %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "La clef n'a pas été modifiée donc la mise à jour est inutile.\n"
@@ -4574,10 +4586,6 @@ msgid "key not found on keyserver\n"
msgstr "clef introuvable sur le serveur de clefs\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "pas de serveur de clefs connu (utilisez l'option --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "demande de la clef %s sur le serveur %s %s\n"
@@ -5899,11 +5907,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "algorithme non pris en charge : %s"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "erreur de création du fichier temporaire : %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5924,15 +5927,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "erreur d'initialisation de l'objet lecteur : %s\n"
#, fuzzy, c-format
-#| msgid "error sending data: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "erreur d'envoi de données : %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
#| msgid "error opening '%s': %s\n"
msgid "error opening TOFU database '%s': %s\n"
msgstr "erreur d'ouverture de « %s » : %s\n"
@@ -6093,16 +6087,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "erreur d'écriture la clef : %s\n"
-
-#, fuzzy, c-format
-#| msgid "error setting OCSP target: %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "erreur de configuration de la cible OCSP : %s\n"
-
-#, fuzzy, c-format
#| msgid "error creating a pipe: %s\n"
msgid "error changing TOFU policy: %s\n"
msgstr "erreur de création d'un tube : %s\n"
@@ -6158,26 +6142,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "%d signatures supprimées\n"
-#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "indiquer les fonctions de hachage"
-msgstr[1] "indiquer les fonctions de hachage"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "chiffré avec %lu phrases secrètes\n"
#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "indiquer les fonctions de hachage"
-msgstr[1] "indiquer les fonctions de hachage"
-
-#, fuzzy, c-format
#| msgid "validity: %s"
msgid "(policy: %s)"
msgstr "validité : %s"
@@ -6225,11 +6195,6 @@ msgstr "erreur d'envoi de données : %s\n"
msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
-#, fuzzy, c-format
-#| msgid "error writing public keyring '%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "erreur d'écriture du porte-clefs public « %s » : %s\n"
-
#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "« %s » n'est pas un identifiant valable de clef longue\n"
@@ -8652,6 +8617,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "répondeur OCSP à l'état « %s » : %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "échec d'établissement d'un contexte de hachage pour OCSP : %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "échec de hachage de la réponse OCSP pour « %s » : %s\n"
@@ -8660,10 +8629,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "non signée par un certificat de signataire OCSP par défaut"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "seul SHA-1 est pris en charge pour les réponses\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "erreur d'allocation d'élément de liste : %s\n"
@@ -8713,10 +8678,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "utilisation du répondeur OCSP « %s »\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "échec d'établissement d'un contexte de hachage pour OCSP : %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "erreur de lecture de l'état OCSP pour le certificat cible : %s\n"
@@ -9048,6 +9009,16 @@ msgstr "Entrée de code personnel et de phrase secrète"
msgid "Component not suitable for launching"
msgstr "Composant non convenable pour le lancement"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Échec de vérification externe du composant %s"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Veuillez d'abord utiliser la commande « toggle ».\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Échec de vérification externe du composant %s"
@@ -9286,6 +9257,51 @@ msgstr ""
"Vérifier une phrase secrète donnée sur l'entrée standard par rapport à "
"ficmotif\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "pas de serveur de clefs connu (utilisez l'option --keyserver)\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "erreur de création du fichier temporaire : %s\n"
+
+#, fuzzy
+#~| msgid "error sending data: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "erreur d'envoi de données : %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "erreur d'écriture la clef : %s\n"
+
+#, fuzzy
+#~| msgid "error setting OCSP target: %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "erreur de configuration de la cible OCSP : %s\n"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "indiquer les fonctions de hachage"
+#~ msgstr[1] "indiquer les fonctions de hachage"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "indiquer les fonctions de hachage"
+#~ msgstr[1] "indiquer les fonctions de hachage"
+
+#, fuzzy
+#~| msgid "error writing public keyring '%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "erreur d'écriture du porte-clefs public « %s » : %s\n"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "seul SHA-1 est pris en charge pour les réponses\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "attente pour permettre au dirmngr d'arriver… (%d s)\n"
diff --git a/po/gl.po b/po/gl.po
index a3e92a7..c17b798 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1675,6 +1675,18 @@ msgid "can't do this in batch mode without \"--yes\"\n"
msgstr ""
"iso non se pode facer no modo de procesamento por lotes sen \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "¿Borrar esta chave do chaveiro? "
@@ -1696,6 +1708,10 @@ msgid "subkey"
msgstr "Pública: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "a actualización fallou: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "fallou o borrado do bloque de chaves: %s\n"
@@ -3608,10 +3624,6 @@ msgid "Quit without saving? (y/N) "
msgstr "¿Saír sin gardar? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "a actualización fallou: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "A chave non cambiou, polo que non fai falla actualizar.\n"
@@ -4649,11 +4661,6 @@ msgstr "non se atopou a chave `%s': %s\n"
msgid "key not found on keyserver\n"
msgstr "non se atopou a chave `%s': %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-"non hai un servidor de chaves coñecido (empregue a opción --keyserver)\n"
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "solicitando a chave %08lX de %s\n"
@@ -5918,10 +5925,6 @@ msgstr ""
"\n"
"Algoritmos soportados:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "erro ao crea-lo contrasinal: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5941,14 +5944,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: erro ao escribi-lo rexistro de directorios: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "erro ao enviar a `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "erro lendo `%s': %s\n"
@@ -6101,14 +6096,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "erro escribindo no chaveiro `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "erro lendo `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -6163,24 +6150,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Borradas %d sinaturas.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [ficheiros]|visualizar resumos de mensaxes"
-msgstr[1] "|algo [ficheiros]|visualizar resumos de mensaxes"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "cifrado con %lu contrasinais\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [ficheiros]|visualizar resumos de mensaxes"
-msgstr[1] "|algo [ficheiros]|visualizar resumos de mensaxes"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Normativa: "
@@ -6228,11 +6203,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "erro escribindo no chaveiro público `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' non é un ID longo de chave válido\n"
@@ -8601,6 +8571,10 @@ msgstr "erro ao enviar a `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "changing permission of `%s' failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -8610,10 +8584,6 @@ msgstr "o cambio de permisos de `%s' fallou: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "fallou o borrado do bloque de chaves: %s\n"
@@ -8664,10 +8634,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "fallou a sinatura: %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -8991,6 +8957,15 @@ msgid "Component not suitable for launching"
msgstr "non se atopou a chave pública"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Por favor, empregue o comando \"toggle\" antes.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9228,6 +9203,43 @@ msgid ""
"Check a passphrase given on stdin against the patternfile\n"
msgstr ""
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr ""
+#~ "non hai un servidor de chaves coñecido (empregue a opción --keyserver)\n"
+
+#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "erro ao crea-lo contrasinal: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "erro ao enviar a `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "erro escribindo no chaveiro `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "erro lendo `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [ficheiros]|visualizar resumos de mensaxes"
+#~ msgstr[1] "|algo [ficheiros]|visualizar resumos de mensaxes"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [ficheiros]|visualizar resumos de mensaxes"
+#~ msgstr[1] "|algo [ficheiros]|visualizar resumos de mensaxes"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "erro escribindo no chaveiro público `%s': %s\n"
+
#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "erro lendo `%s': %s\n"
diff --git a/po/hu.po b/po/hu.po
index 423997c..c83665f 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1665,6 +1665,18 @@ msgstr "(Kivéve, ha megad egy kulcsot az ujjlenyomatával.)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "Nem tudom ezt megcsinálni kötegelt módban \"--yes\" nélkül.\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Töröljem ezt a kulcsot a kulcskarikáról? "
@@ -1686,6 +1698,10 @@ msgid "subkey"
msgstr "Nyilvános kulcsú (pubkey): "
#, c-format
+msgid "update failed: %s\n"
+msgstr "Frissítés sikertelen: %s.\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "A kulcsblokk törlése sikertelen: %s.\n"
@@ -3583,10 +3599,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Kilépjek mentés nélkül? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "Frissítés sikertelen: %s.\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "A kulcs nem változott, nincs szükség frissítésre.\n"
@@ -4616,10 +4628,6 @@ msgstr "\"%s\" kulcs nem található: %s\n"
msgid "key not found on keyserver\n"
msgstr "\"%s\" kulcs nem található: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
@@ -5884,10 +5892,6 @@ msgstr ""
"\n"
"Támogatott algoritmusok:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "Hiba a jelszó létrehozásakor: %s.\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5907,14 +5911,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: Hiba könyvtárrekord írásakor: %s.\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "Hiba %s-ra/-re küldéskor: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -6067,14 +6063,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "Hiba \"%s\" olvasásakor: %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -6129,24 +6117,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Töröltem %d aláírást.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [fájlok]|üzenet kivonatának kiírása"
-msgstr[1] "|algo [fájlok]|üzenet kivonatának kiírása"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "%lu jelszóval rejtjelezve\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [fájlok]|üzenet kivonatának kiírása"
-msgstr[1] "|algo [fájlok]|üzenet kivonatának kiírása"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Eljárásmód: "
@@ -6194,11 +6170,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "Hiba a(z) \"%s\" nyilvánoskulcs-karika írásakor: %s.\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "\"%s\" nem egy érvényes hosszú kulcsazonosító.\n"
@@ -8552,6 +8523,10 @@ msgstr "Hiba %s-ra/-re küldéskor: %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
@@ -8560,10 +8535,6 @@ msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "A kulcsblokk törlése sikertelen: %s.\n"
@@ -8615,10 +8586,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "%s rejtjelezést használok.\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -8941,6 +8908,15 @@ msgid "Component not suitable for launching"
msgstr "nyilvános kulcs nem található"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Kérem, használja előbb a \"toggle\" parancsot!\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9177,6 +9153,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "Hiba a jelszó létrehozásakor: %s.\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "Hiba %s-ra/-re küldéskor: %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "Hiba \"%s\" olvasásakor: %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [fájlok]|üzenet kivonatának kiírása"
+#~ msgstr[1] "|algo [fájlok]|üzenet kivonatának kiírása"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [fájlok]|üzenet kivonatának kiírása"
+#~ msgstr[1] "|algo [fájlok]|üzenet kivonatának kiírása"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "Hiba a(z) \"%s\" nyilvánoskulcs-karika írásakor: %s.\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "Hiba \"%s\" olvasásakor: %s\n"
diff --git a/po/id.po b/po/id.po
index bcc58d9..aa1d05b 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1671,6 +1671,18 @@ msgstr "(kecuali anda menspesifikasikan kunci dengan fingerprint)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "tidak dapat dilakukan dalam mode batch tanpa \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Menghapus kunci ini dari keyring? "
@@ -1692,6 +1704,10 @@ msgid "subkey"
msgstr "Pubkey: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "gagal memperbarui: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "gagal menghapus keyblok: %s\n"
@@ -3588,10 +3604,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Berhenti tanpa menyimpan? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "gagal memperbarui: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Kunci tidak berubah sehingga tidak perlu pembaharuan.\n"
@@ -4619,10 +4631,6 @@ msgstr "kunci '%s' tidak ditemukan: %s\n"
msgid "key not found on keyserver\n"
msgstr "kunci '%s' tidak ditemukan: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "meminta kunci %08lX dari %s\n"
@@ -5878,10 +5886,6 @@ msgstr ""
"\n"
"Algoritma yang didukung:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "kesalahan penciptaan passphrase: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5901,14 +5905,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: kesalahan menulis dir record: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "kesalahan mengirim ke `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "kesalahan membaca `%s': %s\n"
@@ -6061,14 +6057,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "kesalahan menulis keyring `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "kesalahan membaca `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -6123,24 +6111,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Menghapus %d signature.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [file]|cetak digest pesan"
-msgstr[1] "|algo [file]|cetak digest pesan"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "dienkripsi dengan passphrase %lu\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [file]|cetak digest pesan"
-msgstr[1] "|algo [file]|cetak digest pesan"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Kebijakan: "
@@ -6188,11 +6164,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "kesalahan menulis keyring publik `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s' bukanlah keyID panjang yang valid\n"
@@ -8545,6 +8516,10 @@ msgstr "kesalahan mengirim ke `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "Gagal memeriksa signature yang dibuat: %s\n"
@@ -8553,10 +8528,6 @@ msgstr "Gagal memeriksa signature yang dibuat: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "gagal menghapus keyblok: %s\n"
@@ -8608,10 +8579,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "menggunakan cipher %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -8934,6 +8901,15 @@ msgid "Component not suitable for launching"
msgstr "kunci publik tidak ditemukan"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Silakan gunakan dulu perintah \"toogle\".\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9170,6 +9146,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "kesalahan penciptaan passphrase: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "kesalahan mengirim ke `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "kesalahan menulis keyring `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "kesalahan membaca `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [file]|cetak digest pesan"
+#~ msgstr[1] "|algo [file]|cetak digest pesan"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [file]|cetak digest pesan"
+#~ msgstr[1] "|algo [file]|cetak digest pesan"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "kesalahan menulis keyring publik `%s': %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "kesalahan membaca `%s': %s\n"
diff --git a/po/it.po b/po/it.po
index cb5775e..6d7bf83 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1669,6 +1669,18 @@ msgstr "(a meno che la chiave sia specificata con il fingerprint)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "impossibile fare questo in modo batch senza \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Vuoi cancellare questa chiave dal portachiavi? "
@@ -1690,6 +1702,10 @@ msgid "subkey"
msgstr "A chiave pubblica: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "aggiornamento fallito: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "cancellazione del keyblock fallita: %s\n"
@@ -3595,10 +3611,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Esco senza salvare? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "aggiornamento fallito: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "La chiave non è cambiata quindi non sono necessari aggiornamenti.\n"
@@ -4636,10 +4648,6 @@ msgstr "chiave `%s' non trovata: %s\n"
msgid "key not found on keyserver\n"
msgstr "chiave `%s' non trovata: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "richiedo la chiave %08lX a %s\n"
@@ -5916,10 +5924,6 @@ msgstr ""
"\n"
"Algoritmi gestiti:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "errore nella creazione della passhprase: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5939,14 +5943,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: errore durante la scrittura del dir record: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "errore leggendo `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "errore leggendo `%s': %s\n"
@@ -6099,14 +6095,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "errore scrivendo il portachiavi `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "errore leggendo `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "errore nella creazione della passhprase: %s\n"
@@ -6161,24 +6149,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Cancellate %d firme.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [files]|stampa tutti i message digests"
-msgstr[1] "|algo [files]|stampa tutti i message digests"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "cifratto con %lu passphrase\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [files]|stampa tutti i message digests"
-msgstr[1] "|algo [files]|stampa tutti i message digests"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Policy: "
@@ -6226,11 +6202,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "errore scrivendo il portachiavi pubblico `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' non è un key ID lungo valido\n"
@@ -8586,6 +8557,10 @@ msgstr "errore leggendo `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "controllo della firma creata fallito: %s\n"
@@ -8594,10 +8569,6 @@ msgstr "controllo della firma creata fallito: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "cancellazione del keyblock fallita: %s\n"
@@ -8649,10 +8620,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "uso il cifrario %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "errore nella creazione della passhprase: %s\n"
@@ -8975,6 +8942,15 @@ msgid "Component not suitable for launching"
msgstr "chiave pubblica non trovata"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Per favore usa prima il comando \"toggle\".\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9211,6 +9187,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "errore nella creazione della passhprase: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "errore leggendo `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "errore scrivendo il portachiavi `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "errore leggendo `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [files]|stampa tutti i message digests"
+#~ msgstr[1] "|algo [files]|stampa tutti i message digests"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [files]|stampa tutti i message digests"
+#~ msgstr[1] "|algo [files]|stampa tutti i message digests"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "errore scrivendo il portachiavi pubblico `%s': %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "errore leggendo `%s': %s\n"
diff --git a/po/ja.po b/po/ja.po
index 032d728..4d7cd3e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg 2.2.13\n"
+"Project-Id-Version: gnupg 2.2.15\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2019-02-06 17:14+0900\n"
+"PO-Revision-Date: 2019-04-23 12:54+0900\n"
"Last-Translator: NIIBE Yutaka <gniibe@fsij.org>\n"
"Language-Team: none\n"
"Language: ja\n"
@@ -1567,6 +1567,18 @@ msgstr "(フィンガー・プリントで鍵を指定してない限り)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "\"--yes\"なしでバッチ・モードではできません\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "この鍵を鍵リングから削除しますか? (y/N) "
@@ -1584,6 +1596,10 @@ msgid "subkey"
msgstr "副鍵: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "更新に失敗しました: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "鍵ブロックの削除に失敗しました: %s\n"
@@ -3328,10 +3344,6 @@ msgid "Quit without saving? (y/N) "
msgstr "保存せずに終了しますか? (y/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "更新に失敗しました: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "鍵は無変更なので更新は不要です。\n"
@@ -3371,7 +3383,7 @@ msgstr "'%s'は、有効な有効期限ではありません\n"
#, c-format
msgid "\"%s\" is not a proper fingerprint\n"
-msgstr "\"%s\"はフ正しいィンガープリントではありません\n"
+msgstr "\"%s\"は正しいフィンガープリントではありません\n"
#, c-format
msgid "subkey \"%s\" not found\n"
@@ -4289,10 +4301,6 @@ msgid "key not found on keyserver\n"
msgstr "鍵が鍵サーバに見つかりません\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "既知の鍵サーバがありません (オプション--keyserverを使いましょう)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "鍵%sを%sからサーバ%sに要求\n"
@@ -5493,10 +5501,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "サポートされていないTOFUデータベースバージョン: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "'ultimately_trusted_keys' TOFUテーブル作成エラー: %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "TOFU DBエラー"
@@ -5513,14 +5517,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "TOFUデータベースの初期化エラー: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "'encryptions' TOFUデータベースの作成エラー: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "バインディングDBにカラムeffective_policyを追加: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "TOFUデータベースのオープンでエラー '%s': %s\n"
@@ -5660,14 +5656,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "TOFU dbが壊れていることが検出されました。\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "keydbをリセット: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "TOFUバインディングのポリシーを %s に設定エラー\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "TOFUポリシーの作成エラー: %s\n"
@@ -5714,20 +5702,10 @@ msgstr "%s: 0個の署名を検証、0個のメッセージを暗号化しまし
msgid "%s: Verified 0 signatures."
msgstr "%s: 0個の署名を検証しました。"
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: 署名を%ld個検証しました(これまで %s に)。"
-
msgid "Encrypted 0 messages."
msgstr "0 個のメッセージを暗号化しました。"
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "メッセージを%ld個暗号化しました(これまで %s に)。"
-
-#, c-format
msgid "(policy: %s)"
msgstr "(ポリシー: %s)"
@@ -5779,10 +5757,6 @@ msgstr ""
"*警告*: %s に暗号化します。失効していないユーザIDが一つもないものです\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "鍵%s, ユーザID \"%s\"のポリシーの設定エラー: %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s'は、有効な大型鍵IDでありません\n"
@@ -8063,6 +8037,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "OSCP応答が '%s' でステイタス: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "OCSPのハッシュ・コンテクストを確立するのに失敗しました: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "'%s'に対するOCSP応答のハッシングに失敗しました: %s\n"
@@ -8071,10 +8049,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "デフォルトOCSP署名者の証明で署名されていません"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "SHA-1だけがOCSPレスポンスとしてサポートされています\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "リスト項目の確保に失敗しました: %s\n"
@@ -8123,10 +8097,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "OCSP応答'%s'を使います\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "OCSPのハッシュ・コンテクストを確立するのに失敗しました: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "対象の証明書のOCSPステイタスの取得エラー: %s\n"
@@ -8434,6 +8404,16 @@ msgstr "パスフレーズ入力"
msgid "Component not suitable for launching"
msgstr "コンポーネントが起動するために適切ではありません"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "コンポーネント%sの外部の検証が失敗しました"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "注意: \"%s\"コマンドを使って再起動してください。\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "コンポーネント%sの外部の検証が失敗しました"
@@ -8665,6 +8645,38 @@ msgstr ""
"形式: gpg-check-pattern [オプション] パターンファイル\n"
"パターンファイルに対して標準入力のパスフレーズを確認する\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "既知の鍵サーバがありません (オプション--keyserverを使いましょう)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "'ultimately_trusted_keys' TOFUテーブル作成エラー: %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "'encryptions' TOFUデータベースの作成エラー: %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "バインディングDBにカラムeffective_policyを追加: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "keydbをリセット: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "TOFUバインディングのポリシーを %s に設定エラー\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: 署名を%ld個検証しました(これまで %s に)。"
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "メッセージを%ld個暗号化しました(これまで %s に)。"
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "鍵%s, ユーザID \"%s\"のポリシーの設定エラー: %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "SHA-1だけがOCSPレスポンスとしてサポートされています\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "dirmngrの起動のため、%d秒待ちます\n"
diff --git a/po/nb.po b/po/nb.po
index c7b724a..5353151 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -1589,6 +1589,18 @@ msgstr "(med mindre du oppgir nøkkel ved hjelp av fingeravtrykk)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "du må bruke «--yes» for å gjøre dette i buntmodus\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Vil du slette denne nøkkelen fra nøkkelknippet? (j/N) "
@@ -1607,6 +1619,10 @@ msgid "subkey"
msgstr "undernøkkel"
#, c-format
+msgid "update failed: %s\n"
+msgstr "oppdatering mislyktes: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "sletting av nøkkelblokk mislyktes: %s\n"
@@ -3377,10 +3393,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Vil du avslutte uten å lagre? (j/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "oppdatering mislyktes: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Nøkkelen ble ikke endret, så ingen oppdatering er nødvendig.\n"
@@ -4368,10 +4380,6 @@ msgid "key not found on keyserver\n"
msgstr "fant ikke nøkkelen på nøkkeltjener\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "ingen kjent nøkkeltjener (bruk valget «--keyserver»)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "ber om nøkkelen %s fra %s tjener %s\n"
@@ -5598,10 +5606,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "TOFU-databaseversjon støttes ikke: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "feil under oppretting av TOFU-tabell «ultimately_trusted_keys»: %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "TOFU DB-feil"
@@ -5618,14 +5622,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "feil under oppstart av TOFU-database: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "feil under oppretting av TOFU-tabell «encryptions»: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "legger til kolonne «effective_policy» i tilknytningsdatabase: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "feil under åpning av TOFU-database «%s»: %s\n"
@@ -5775,14 +5771,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Oppdaget ødelagt del av TOFU-database.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "tilbakestiller nøkkeldatabase: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "feil under endring av regel for TOFU-tilknytning til %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "feil under endring av TOFU-regler: %s\n"
@@ -5836,22 +5824,10 @@ msgstr "%s: Bekreftet 0~signaturer og kryptert 0~meldinger."
msgid "%s: Verified 0 signatures."
msgstr "%s: Bekreftet 0 signaturer."
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: Bekreftet %ld~signatur i løpet av siste %s."
-msgstr[1] "%s: Bekreftet %ld~signatur i løpet av siste %s."
-
msgid "Encrypted 0 messages."
msgstr "Kryptert 0 meldinger."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Kryptert %ld~melding i løpet av siste %s."
-msgstr[1] "Kryptert %ld~meldinger i løpet av siste %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(regelsett: %s)"
@@ -5915,10 +5891,6 @@ msgstr ""
"opphevet\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "feil under endring av regel for nøkkel %s, bruker-id «%s»: %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "«%s» er en ugyldig lang nøkkel-ID\n"
@@ -8206,6 +8178,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "Status for OCSP-svartjeneste ved «%s»: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "klarte ikke å sette opp kontrollsum-kontekst for OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "summering av OCSP-svar for «%s» mislyktes: %s\n"
@@ -8214,10 +8190,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "ikke signert av sertifikat som tilhører en forvalgt OCSP-fullmektig"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "OSCP-svar skal bare bruke SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "tildeling av listeelement mislyktes: %s\n"
@@ -8266,10 +8238,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "bruker OCSP-svartjeneste «%s»\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "klarte ikke å sette opp kontrollsum-kontekst for OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "feil under henting av OCSP-status for målsertifikat: %s\n"
@@ -8577,6 +8545,16 @@ msgstr "Skriving av passordfrase"
msgid "Component not suitable for launching"
msgstr "Komponent egner seg ikke for oppstart"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Ekstern bekreftelse av komponent %s mislyktes"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Merk: Bruk kommandoen «%s» for å starte dem på nytt.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Ekstern bekreftelse av komponent %s mislyktes"
@@ -8808,6 +8786,41 @@ msgstr ""
"Syntaks: gpg-check-pattern [valg] mønsterfil\n"
"Kontroller passordfrase oppgitt på standard innkanal mot valgt mønsterfil\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "ingen kjent nøkkeltjener (bruk valget «--keyserver»)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr ""
+#~ "feil under oppretting av TOFU-tabell «ultimately_trusted_keys»: %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "feil under oppretting av TOFU-tabell «encryptions»: %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "legger til kolonne «effective_policy» i tilknytningsdatabase: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "tilbakestiller nøkkeldatabase: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "feil under endring av regel for TOFU-tilknytning til %s\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: Bekreftet %ld~signatur i løpet av siste %s."
+#~ msgstr[1] "%s: Bekreftet %ld~signatur i løpet av siste %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Kryptert %ld~melding i løpet av siste %s."
+#~ msgstr[1] "Kryptert %ld~meldinger i løpet av siste %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "feil under endring av regel for nøkkel %s, bruker-id «%s»: %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "OSCP-svar skal bare bruke SHA-1\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "venter på at dirmngr skal dukke opp … (%ds)\n"
diff --git a/po/pl.po b/po/pl.po
index 491b766..b9c8555 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,9 +6,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg-2.2.12\n"
+"Project-Id-Version: gnupg-2.2.14\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2019-01-09 21:45+0100\n"
+"PO-Revision-Date: 2019-03-24 10:29+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -201,12 +201,10 @@ msgid "Reset Code"
msgstr "Kod resetujący"
msgid "Push ACK button on card/token."
-msgstr ""
+msgstr "Wciśnij przycisk ACK na karcie/tokenie."
-#, fuzzy
-#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
msgid "Use the reader's pinpad for input."
-msgstr "%s%%0A%%0ADo wpisywania należy użyć klawiatury czytnika."
+msgstr "Do wpisywania należy użyć klawiatury czytnika."
msgid "Repeat this Reset Code"
msgstr "Powtórz ten kod resetujący"
@@ -1568,6 +1566,18 @@ msgstr "(chyba, że klucz zostaje wybrany przez podanie odcisku)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "bez opcji ,,--yes'' nie działa w trybie wsadowym\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Usunąć ten klucz ze zbioru? (t/N) "
@@ -1585,6 +1595,10 @@ msgid "subkey"
msgstr "podklucza"
#, c-format
+msgid "update failed: %s\n"
+msgstr "zapis zmian nie powiódł się: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "usunięcie bloku klucza nie powiodło się: %s\n"
@@ -3395,10 +3409,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Wyjść bez zapisania zmian? (t/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "zapis zmian nie powiódł się: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Klucz nie został zmieniony więc zapis zmian nie jest konieczny.\n"
@@ -4404,10 +4414,6 @@ msgid "key not found on keyserver\n"
msgstr "klucz nie został odnaleziony na serwerze kluczy\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "brak znanyk serwerów kluczy (użyj opcji --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "zapytanie o klucz %s z serwera %s %s\n"
@@ -5663,10 +5669,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "nieobsługiwana wersja bazy danych TOFU: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "błąd tworzenia tabeli TOFU ,,ultimately_trusted_keys'': %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "Błąd bazy danych TOFU"
@@ -5683,14 +5685,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "błąd inicjowania bazy danych TOFU: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "błąd tworzenia tabeli TOFU ,,encryptions'': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "dodawanie kolumny effective_policy do bazy danych powiązań: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "błąd otwierania bazy danych TOFU ,,%s'': %s\n"
@@ -5858,14 +5852,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Wykryto uszkodzenie bazy danych TOFU.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "resetowanie bazy danych kluczy: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "błąd ustawiania polityki powiądań TOFU na %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "błąd zmiany polityki TOFU: %s\n"
@@ -5926,24 +5912,10 @@ msgstr "%s: Sprawdzono 0~podpisów i zaszyfrowano 0~wiadomości."
msgid "%s: Verified 0 signatures."
msgstr "%s Sprawdzono 0 podpisów."
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: Sprawdzono %ld~podpis przez %s."
-msgstr[1] "%s: Sprawdzono %ld~podpisy przez %s."
-msgstr[2] "%s: Sprawdzono %ld~podpisów przez %s."
-
msgid "Encrypted 0 messages."
msgstr "Zaszyfrowano 0 wiadomości."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Zaszyfrowano %ld~wiadomość przez %s."
-msgstr[1] "Zaszyfrowano %ld~wiadomości przez %s."
-msgstr[2] "Zaszyfrowano %ld~wiadomości przez %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(polityka: %s)"
@@ -6015,11 +5987,6 @@ msgstr ""
"identyfikatorów użytkownika\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr ""
-"błąd ustawiania polityki dla klucza %s, identyfikator użytkownika ,,%s'': %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr ",,%s'' nie jest poprawnym długim identyfikatorem klucza\n"
@@ -8340,6 +8307,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "status respondera OCSP pod ,,%s'': %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "nie udało się ustanowić kontekstu haszowania dla OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "liczenie skrótu odpowiedzi OCSP dla ,,%s'' nie powiodło się: %s\n"
@@ -8348,10 +8319,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "nie podpisane domyślnym certyfikatem podpisującego OCSP"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "dla odpowiedzi OCSP obsługiwane jest tylko SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "przydzielanie elementu listy nie powiodło się: %s\n"
@@ -8401,10 +8368,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "użycie respondera OCSP ,,%s''\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "nie udało się ustanowić kontekstu haszowania dla OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "błąd pobierania stanu OCSP dla certyfikatu docelowego: %s\n"
@@ -8714,6 +8677,16 @@ msgstr "Wpisywanie hasła"
msgid "Component not suitable for launching"
msgstr "Komponent nie nadaje się do uruchomienia"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Zewnętrzna weryfikacja komponentu %s nie powiodła się"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Uwaga: do restartu ich należy użyć polecenia ,,%s''.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Zewnętrzna weryfikacja komponentu %s nie powiodła się"
@@ -8945,3 +8918,41 @@ msgid ""
msgstr ""
"Składnia: gpg-check-pattern [opcje] plik-wzorców\n"
"Sprawdzanie hasła ze standardowego wejścia względem pliku wzorców\n"
+
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "brak znanyk serwerów kluczy (użyj opcji --keyserver)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "błąd tworzenia tabeli TOFU ,,ultimately_trusted_keys'': %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "błąd tworzenia tabeli TOFU ,,encryptions'': %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "dodawanie kolumny effective_policy do bazy danych powiązań: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "resetowanie bazy danych kluczy: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "błąd ustawiania polityki powiądań TOFU na %s\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: Sprawdzono %ld~podpis przez %s."
+#~ msgstr[1] "%s: Sprawdzono %ld~podpisy przez %s."
+#~ msgstr[2] "%s: Sprawdzono %ld~podpisów przez %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Zaszyfrowano %ld~wiadomość przez %s."
+#~ msgstr[1] "Zaszyfrowano %ld~wiadomości przez %s."
+#~ msgstr[2] "Zaszyfrowano %ld~wiadomości przez %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr ""
+#~ "błąd ustawiania polityki dla klucza %s, identyfikator użytkownika ,,%s'': "
+#~ "%s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "dla odpowiedzi OCSP obsługiwane jest tylko SHA-1\n"
diff --git a/po/pt.po b/po/pt.po
index 5edb9bd..d6b4019 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1670,6 +1670,18 @@ msgstr "(a não ser que escolha a chave pela sua impressão digital)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "impossível fazer isso em modo não-interactivo sem utilizar \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Remover esta chave do porta-chaves?"
@@ -1691,6 +1703,10 @@ msgid "subkey"
msgstr "Chave pública: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "actualização falhou: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "remoção do bloco de chave falhou: %s\n"
@@ -3592,10 +3608,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Sair sem gravar? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "actualização falhou: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Chave não alterada, nenhuma actualização é necessária.\n"
@@ -4622,10 +4634,6 @@ msgstr "chave `%s' não encontrada: %s\n"
msgid "key not found on keyserver\n"
msgstr "chave `%s' não encontrada: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "a pedir a chave %08lX de %s\n"
@@ -5876,10 +5884,6 @@ msgstr ""
"\n"
"Algoritmos suportados:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "erro na criação da frase secreta: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5899,14 +5903,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: erro ao escrever registo de diretório: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "erro ao enviar para `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "erro na leitura de `%s': %s\n"
@@ -6058,14 +6054,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "erro na escrita do porta-chaves `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "erro na leitura de `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "erro na criação da frase secreta: %s\n"
@@ -6120,23 +6108,11 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "%d assinaturas removidas.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
-msgstr[1] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
-
#, fuzzy
msgid "Encrypted 0 messages."
msgstr "Repita a frase secreta\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
-msgstr[1] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Política: "
@@ -6184,11 +6160,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "erro ao escrever no porta-chaves público `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' não é um identificador longo de chave válido\n"
@@ -8546,6 +8517,10 @@ msgstr "erro ao enviar para `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "verificação da assinatura criada falhou: %s\n"
@@ -8554,10 +8529,6 @@ msgstr "verificação da assinatura criada falhou: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "remoção do bloco de chave falhou: %s\n"
@@ -8608,10 +8579,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "assinatura falhou: %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "erro na criação da frase secreta: %s\n"
@@ -8936,6 +8903,15 @@ msgid "Component not suitable for launching"
msgstr "chave pública não encontrada"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Por favor utilize o comando \"toggle\" primeiro.\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9172,6 +9148,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "erro na criação da frase secreta: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "erro ao enviar para `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "erro na escrita do porta-chaves `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "erro na leitura de `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
+#~ msgstr[1] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
+#~ msgstr[1] "|algo [ficheiros]|imprimir \"digests\" de mensagens"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "erro ao escrever no porta-chaves público `%s': %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "erro na leitura de `%s': %s\n"
diff --git a/po/ro.po b/po/ro.po
index e5d44b6..fae7f92 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1681,6 +1681,18 @@ msgstr "(dacă nu specificaţi cheia prin amprentă)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "nu pot face acest lucru în mod batch fără \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Şterge această cheie din inelul de chei? (d/N) "
@@ -1700,6 +1712,10 @@ msgid "subkey"
msgstr "Pubkey: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "actualizarea a eşuat: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "stergere keyblock a eşuat: %s\n"
@@ -3621,10 +3637,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Terminaţi fără a salva? (d/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "actualizarea a eşuat: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Cheia nu a fost schimbată aşa că nici o actualizare a fost necesară.\n"
@@ -4661,10 +4673,6 @@ msgid "key not found on keyserver\n"
msgstr "cheia nu a fost găsită pe serverul de chei\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "nici un server de chei cunoscut (folosiţi opţiunea --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "cer cheia %s de la serverul %s %s\n"
@@ -5950,10 +5958,6 @@ msgstr ""
"\n"
"Algoritmuri suportate:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "eroare la crearea frazei-parolă: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5973,14 +5977,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: eroare scriere înregistrare dir: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "eroare trimitere la `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "eroare în `%s': %s\n"
@@ -6134,14 +6130,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "eroare la scrierea inelului de chei `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "eroare la citire `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "eroare la crearea frazei-parolă: %s\n"
@@ -6196,24 +6184,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Am şters %d semnături.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [fişiere]|afişează rezumate mesaje"
-msgstr[1] "|algo [fişiere]|afişează rezumate mesaje"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "cifrată cu %lu fraze-parolă\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [fişiere]|afişează rezumate mesaje"
-msgstr[1] "|algo [fişiere]|afişează rezumate mesaje"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Politica: "
@@ -6261,11 +6237,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "eroare la scrierea inelului de chei public `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' nu este un ID-cheie de lungime validă\n"
@@ -8659,6 +8630,10 @@ msgstr "eroare trimitere la `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "verificarea semnăturii create a eşuat: %s\n"
@@ -8667,10 +8642,6 @@ msgstr "verificarea semnăturii create a eşuat: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "citirea cheii publice a eşuat: %s\n"
@@ -8723,10 +8694,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "folosesc cifrul %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "eroare la obţinerea numărului serial: %s\n"
@@ -9051,6 +9018,15 @@ msgid "Component not suitable for launching"
msgstr "cheia publică nu a fost găsită"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Vă rugăm folosiţi mai întâi comanda \"toggle\".\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9287,6 +9263,42 @@ msgid ""
"Check a passphrase given on stdin against the patternfile\n"
msgstr ""
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "nici un server de chei cunoscut (folosiţi opţiunea --keyserver)\n"
+
+#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "eroare la crearea frazei-parolă: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "eroare trimitere la `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "eroare la scrierea inelului de chei `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "eroare la citire `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [fişiere]|afişează rezumate mesaje"
+#~ msgstr[1] "|algo [fişiere]|afişează rezumate mesaje"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [fişiere]|afişează rezumate mesaje"
+#~ msgstr[1] "|algo [fişiere]|afişează rezumate mesaje"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "eroare la scrierea inelului de chei public `%s': %s\n"
+
#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "eroare în `%s': %s\n"
diff --git a/po/ru.po b/po/ru.po
index 26b4e97..92c31ca 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1576,6 +1576,18 @@ msgstr "(если только ключ не задан отпечатком)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "не могу выполнить в пакетном режиме без \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Удалить данный ключ из таблицы? (y/N) "
@@ -1593,6 +1605,10 @@ msgid "subkey"
msgstr "подключа"
#, c-format
+msgid "update failed: %s\n"
+msgstr "сбой при обновлении: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "сбой при удалении блока ключа: %s\n"
@@ -3387,10 +3403,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Выйти без сохранения? (y/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "сбой при обновлении: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Ключ не изменялся - обновление не нужно.\n"
@@ -4388,10 +4400,6 @@ msgid "key not found on keyserver\n"
msgstr "ключ не найден на сервере ключей\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "не заданы серверы ключей (используйте --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "запрашиваю ключ %s с сервера %s %s\n"
@@ -5625,10 +5633,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "версия базы данных TOFU (не поддерживается): %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "ошибка создания таблицы TOFU 'ultimately_trusted_keys': %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "ошибка базы данных TOFU"
@@ -5645,14 +5649,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "ошибка инициализации базы данных TOFU: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "ошибка создания таблицы TOFU 'encryptions': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "добавление столбца effective_policy в базу данных привязок: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "ошибка открытия базы данных TOFU '%s': %s\n"
@@ -5821,14 +5817,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Обнаружено повреждение базы данных TOFU.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "сброс базы данных ключей: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "ошибка установки правил привязки TOFU в %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "ошибка при смене правила TOFU: %s\n"
@@ -5889,24 +5877,10 @@ msgstr "%s: Проверено 0~подписей, зашифровано 0~со
msgid "%s: Verified 0 signatures."
msgstr "%s: Проверено 0 подписей."
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: Проверена %ld~подпись за %s."
-msgstr[1] "%s: Проверены %ld~прописи за %s."
-msgstr[2] "%s: Проверено %ld~подписей за %s."
-
msgid "Encrypted 0 messages."
msgstr "Зашифровано 0 сообщений."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Зашифровано %ld~сообщение за %s."
-msgstr[1] "Зашифрованы %ld~сообщения за %s."
-msgstr[2] "Зашифровано %ld~сообщений за %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "правило: %s"
@@ -5977,12 +5951,6 @@ msgstr ""
"идентификаторов пользователя\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr ""
-"ошибка установки правил для ключа %s с идентификатором пользователя \"%s\": "
-"%s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s' не является допустимым длинным идентификатором ключа\n"
@@ -8317,6 +8285,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "статус ответчика OCSP на '%s': %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "сбой при установлении контекста хеша для OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "сбой получения хеша ответа OCSP для '%s': %s\n"
@@ -8325,10 +8297,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "не подписано основным сертификатом подписывающего OCSP"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "для ответов OCSP поддерживается только SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "сбой размещения элемента списка: %s\n"
@@ -8377,10 +8345,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "используется ответчик OCSP '%s'\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "сбой при установлении контекста хеша для OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "ошибка получения статуса OCSP для целевого сертификата: %s\n"
@@ -8692,6 +8656,16 @@ msgstr "Ввод фраз-паролей"
msgid "Component not suitable for launching"
msgstr "Компонент не подходит для запуска"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Внешняя проверка компонента %s не прошла"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Замечание: Для их перезагрузки воспользуйтесь командой \"%s\".\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Внешняя проверка компонента %s не прошла"
@@ -8923,6 +8897,44 @@ msgstr ""
"Синтаксис: gpg-check-pattern [параметры] файл_образцов\n"
"Проверить фразу-пароль, поступающую из stdin, по файлу образцов\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "не заданы серверы ключей (используйте --keyserver)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "ошибка создания таблицы TOFU 'ultimately_trusted_keys': %s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "ошибка создания таблицы TOFU 'encryptions': %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "добавление столбца effective_policy в базу данных привязок: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "сброс базы данных ключей: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "ошибка установки правил привязки TOFU в %s\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: Проверена %ld~подпись за %s."
+#~ msgstr[1] "%s: Проверены %ld~прописи за %s."
+#~ msgstr[2] "%s: Проверено %ld~подписей за %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Зашифровано %ld~сообщение за %s."
+#~ msgstr[1] "Зашифрованы %ld~сообщения за %s."
+#~ msgstr[2] "Зашифровано %ld~сообщений за %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr ""
+#~ "ошибка установки правил для ключа %s с идентификатором пользователя \"%s"
+#~ "\": %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "для ответов OCSP поддерживается только SHA-1\n"
+
#~ msgid "using \"http\" instead of \"https\"\n"
#~ msgstr "используется \"http\" вместо \"https\"\n"
diff --git a/po/sk.po b/po/sk.po
index 00abf36..ef0afee 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -1671,6 +1671,18 @@ msgstr "(pokiaľ neurčíte kľúč jeho fingerprintom)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "bez parametra \"--yes\" to nemožno v dávkovom móde previesť\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
#, fuzzy
msgid "Delete this key from the keyring? (y/N) "
msgstr "Zmazať tento kľúč zo súboru kľúčov? "
@@ -1692,6 +1704,10 @@ msgid "subkey"
msgstr "Verejné kľúče: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "aktualizácia zlyhala: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "zmazanie bloku kľúča sa nepodarilo: %s\n"
@@ -3607,10 +3623,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Ukončiť bez uloženia? "
#, c-format
-msgid "update failed: %s\n"
-msgstr "aktualizácia zlyhala: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "kľúč nebol zmenený, takže nie je potrebné ho aktualizovať.\n"
@@ -4631,10 +4643,6 @@ msgstr "kľúč `%s' nebol nájdený: %s\n"
msgid "key not found on keyserver\n"
msgstr "kľúč `%s' nebol nájdený: %s\n"
-#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "požadujem kľúč %08lX z %s\n"
@@ -5904,10 +5912,6 @@ msgstr ""
"\n"
"Podporované algoritmy:\n"
-#, fuzzy, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "chyba pri vytváraní hesla: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5927,14 +5931,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: chyba pri zápise adresárového záznamu: %s\n"
#, fuzzy, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "chyba pri posielaní na `%s': %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "chyba pri čítaní `%s': %s\n"
@@ -6087,14 +6083,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-msgid "resetting keydb: %s\n"
-msgstr "chyba pri zápise súboru kľúčov (keyring) `%s': %s\n"
-
-#, fuzzy, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "chyba pri čítaní `%s': %s\n"
-
-#, fuzzy, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "chyba pri vytváraní hesla: %s\n"
@@ -6149,24 +6137,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Zmazaných %d podpisov.\n"
-#, fuzzy, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "|algo [súbory]|vypíš hash"
-msgstr[1] "|algo [súbory]|vypíš hash"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "zašifrované s %lu heslami\n"
#, fuzzy, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "|algo [súbory]|vypíš hash"
-msgstr[1] "|algo [súbory]|vypíš hash"
-
-#, fuzzy, c-format
#| msgid "Policy: "
msgid "(policy: %s)"
msgstr "Politika: "
@@ -6214,11 +6190,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "chyba pri zápise do súboru verejných kľúčov `%s': %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' nie je platné dlhé keyID\n"
@@ -8576,6 +8547,10 @@ msgstr "chyba pri posielaní na `%s': %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
@@ -8584,10 +8559,6 @@ msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "allocating list item failed: %s\n"
msgstr "zmazanie bloku kľúča sa nepodarilo: %s\n"
@@ -8639,10 +8610,6 @@ msgstr ""
msgid "using OCSP responder '%s'\n"
msgstr "použitá šifra %s\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "chyba pri vytváraní hesla: %s\n"
@@ -8965,6 +8932,15 @@ msgid "Component not suitable for launching"
msgstr "verejný kľúč nenájdený"
#, c-format
+msgid "Configuration file of component %s is broken\n"
+msgstr ""
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Prosím, najskôr použite príkaz \"toggle\" (prepnúť).\n"
+
+#, c-format
msgid "External verification of component %s failed"
msgstr ""
@@ -9201,6 +9177,39 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "chyba pri vytváraní hesla: %s\n"
+
+#, fuzzy
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "chyba pri posielaní na `%s': %s\n"
+
+#, fuzzy
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "chyba pri zápise súboru kľúčov (keyring) `%s': %s\n"
+
+#, fuzzy
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "chyba pri čítaní `%s': %s\n"
+
+#, fuzzy
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "|algo [súbory]|vypíš hash"
+#~ msgstr[1] "|algo [súbory]|vypíš hash"
+
+#, fuzzy
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "|algo [súbory]|vypíš hash"
+#~ msgstr[1] "|algo [súbory]|vypíš hash"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "chyba pri zápise do súboru verejných kľúčov `%s': %s\n"
+
+#, fuzzy
#~ msgid "error looking up: %s\n"
#~ msgstr "chyba pri čítaní `%s': %s\n"
diff --git a/po/sv.po b/po/sv.po
index 696914e..1c23061 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1759,6 +1759,18 @@ msgstr "(om du inte anger nyckeln med hjälp av fingeravtrycket)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "kan inte göra så i satsläge utan \"--yes\"\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Ta bort denna nyckel från nyckelringen? (j/N) "
@@ -1779,6 +1791,10 @@ msgid "subkey"
msgstr "Publik nyckel: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "uppdateringen misslyckades: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "misslyckades med att radera nyckelblock: %s\n"
@@ -3714,10 +3730,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Avsluta utan att spara? (j/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "uppdateringen misslyckades: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Nyckeln är oförändrad så det behövs ingen uppdatering.\n"
@@ -4772,10 +4784,6 @@ msgid "key not found on keyserver\n"
msgstr "nyckeln hittades inte på nyckelservern\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "ingen nyckelserver är känd (använd flaggan --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "begär nyckeln %s från %s-servern %s\n"
@@ -6093,11 +6101,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "algoritmen stöds inte: %s"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "fel när temporärfil skapades: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -6118,15 +6121,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: fel vid läsning av katalogpost: %s\n"
#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "fel vid sändning av %s-kommando: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
#| msgid "error opening `%s': %s\n"
msgid "error opening TOFU database '%s': %s\n"
msgstr "fel vid öppnandet av \"%s\": %s\n"
@@ -6287,16 +6281,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "fel vid skrivning av nyckel: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error storing flags: %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "fel vid lagring av flaggor: %s\n"
-
-#, fuzzy, c-format
#| msgid "error creating a pipe: %s\n"
msgid "error changing TOFU policy: %s\n"
msgstr "fel när ett rör skapades: %s\n"
@@ -6352,26 +6336,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "Raderade %d signaturer.\n"
-#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "skriv ut kontrollsummor"
-msgstr[1] "skriv ut kontrollsummor"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "krypterad med %lu lösenfraser\n"
#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "skriv ut kontrollsummor"
-msgstr[1] "skriv ut kontrollsummor"
-
-#, fuzzy, c-format
#| msgid "validity: %s"
msgid "(policy: %s)"
msgstr "giltighet: %s"
@@ -6420,11 +6390,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "fel vid skrivning av publika nyckelringen \"%s\": %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "\"%s\" är inget giltigt långt nyckel-id\n"
@@ -8991,6 +8956,10 @@ msgstr "fel när \"%s\" bands till uttag: %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "checking the trust list failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -9000,10 +8969,6 @@ msgstr "kontroll mot tillitslistan misslyckades: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "receiving line failed: %s\n"
msgid "allocating list item failed: %s\n"
@@ -9063,10 +9028,6 @@ msgstr "använder standard-PIN som %s\n"
msgid "using OCSP responder '%s'\n"
msgstr "använder %s-chiffer\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "error storing certificate: %s\n"
msgid "error getting OCSP status for target certificate: %s\n"
@@ -9415,6 +9376,16 @@ msgstr "Felaktig lösenfras"
msgid "Component not suitable for launching"
msgstr "Komponenten hittades inte"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Extern validering av komponenten %s misslyckades"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Använd kommandot \"toggle\" först.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Extern validering av komponenten %s misslyckades"
@@ -9669,6 +9640,48 @@ msgstr ""
"Syntax: gpg-check-pattern [flaggor] mönsterfil\n"
"Kontrollera en lösenfras angiven på standard in mot mönsterfilen\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "ingen nyckelserver är känd (använd flaggan --keyserver)\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "fel när temporärfil skapades: %s\n"
+
+#, fuzzy
+#~| msgid "error sending %s command: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "fel vid sändning av %s-kommando: %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "fel vid skrivning av nyckel: %s\n"
+
+#, fuzzy
+#~| msgid "error storing flags: %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "fel vid lagring av flaggor: %s\n"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "skriv ut kontrollsummor"
+#~ msgstr[1] "skriv ut kontrollsummor"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "skriv ut kontrollsummor"
+#~ msgstr[1] "skriv ut kontrollsummor"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "fel vid skrivning av publika nyckelringen \"%s\": %s\n"
+
#, fuzzy
#~| msgid "waiting %d seconds for the agent to come up\n"
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
diff --git a/po/tr.po b/po/tr.po
index 90ddc6f..f24019b 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1706,6 +1706,18 @@ msgstr "(anahtarı parmak izi ile belirtmedikçe)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "betik kipinde \"--yes\" olmaksızın bu yapılamaz\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Bu anahtar, anahtar zincirinden silinsin mi? (e/H ya da y/N) "
@@ -1726,6 +1738,10 @@ msgid "subkey"
msgstr "GenAnah: "
#, c-format
+msgid "update failed: %s\n"
+msgstr "güncelleme başarısız: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "anahtar bloğu silinemedi: %s\n"
@@ -3657,10 +3673,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Kaydetmeden çıkılsın mı? (e/H ya da y/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "güncelleme başarısız: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Güncelleme gereği olmadığından anahtar değişmedi.\n"
@@ -4720,10 +4732,6 @@ msgid "key not found on keyserver\n"
msgstr "anahtar, anahtar sunucusunda yok\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "bilinen bir anahtar sunucusu yok (--keyserver seçeneğini kullanın)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "%1$s anahtarı %3$s sunucusunun %2$s adresinden isteniyor\n"
@@ -6018,11 +6026,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "desteklenmeyen algoritma: %s"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "geçici dosya oluşturulurken hata: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -6043,15 +6046,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "%s: dizin kaydını yazma hatası: %s\n"
#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "%s komutu gönderilirken hata: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
#| msgid "error opening `%s': %s\n"
msgid "error opening TOFU database '%s': %s\n"
msgstr "'%s' açılırken hata: %s\n"
@@ -6212,16 +6206,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "anahtarı yazarken hata: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error storing flags: %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "bayraklar saklanırken hata: %s\n"
-
-#, fuzzy, c-format
#| msgid "error creating a pipe: %s\n"
msgid "error changing TOFU policy: %s\n"
msgstr "boru oluşturulurken hata: %s\n"
@@ -6277,26 +6261,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "%d imza silindi.\n"
-#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "ileti özetlerini gösterir"
-msgstr[1] "ileti özetlerini gösterir"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "%lu anahtar parolası ile şifrelenmiş\n"
#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "ileti özetlerini gösterir"
-msgstr[1] "ileti özetlerini gösterir"
-
-#, fuzzy, c-format
#| msgid "validity: %s"
msgid "(policy: %s)"
msgstr "geçerliliği: %s"
@@ -6345,11 +6315,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "`%s' genel anahtarlığa yazılırken hata oluştu: %s\n"
-
-#, fuzzy, c-format
#| msgid "`%s' is not a valid long keyID\n"
msgid "'%s' is not a valid long keyID\n"
msgstr "`%s' geçerli bir anahtar kimliği değil\n"
@@ -8891,6 +8856,10 @@ msgstr "soket `%s'e bağlanırken hata: %s\n"
msgid "OCSP responder at '%s' status: %s\n"
msgstr ""
+#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr ""
+
#, fuzzy, c-format
#| msgid "checking the trust list failed: %s\n"
msgid "hashing the OCSP response for '%s' failed: %s\n"
@@ -8900,10 +8869,6 @@ msgstr "güvence listesinin sınanması başarısız: %s\n"
msgid "not signed by a default OCSP signer's certificate"
msgstr ""
-#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "receiving line failed: %s\n"
msgid "allocating list item failed: %s\n"
@@ -8963,10 +8928,6 @@ msgstr "%s olarak öntanımlı PIN kullanılıyor\n"
msgid "using OCSP responder '%s'\n"
msgstr "%s şifrelemesi kullanılıyor\n"
-#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
-
#, fuzzy, c-format
#| msgid "error storing certificate: %s\n"
msgid "error getting OCSP status for target certificate: %s\n"
@@ -9317,6 +9278,16 @@ msgstr "Anahtar Parolası hatalı"
msgid "Component not suitable for launching"
msgstr "Bileşen yok"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "%s bileşeninin harici doğrulaması başarısız oldu"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "lütfen önce \"seçmece\" komutunu kullanın.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "%s bileşeninin harici doğrulaması başarısız oldu"
@@ -9571,6 +9542,49 @@ msgstr ""
"Standart girdiden verilen anahtar parolasını örüntü dosyasıyla "
"karşılaştırır\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr ""
+#~ "bilinen bir anahtar sunucusu yok (--keyserver seçeneğini kullanın)\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "geçici dosya oluşturulurken hata: %s\n"
+
+#, fuzzy
+#~| msgid "error sending %s command: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "%s komutu gönderilirken hata: %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "anahtarı yazarken hata: %s\n"
+
+#, fuzzy
+#~| msgid "error storing flags: %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "bayraklar saklanırken hata: %s\n"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "ileti özetlerini gösterir"
+#~ msgstr[1] "ileti özetlerini gösterir"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "ileti özetlerini gösterir"
+#~ msgstr[1] "ileti özetlerini gösterir"
+
+#, fuzzy
+#~| msgid "error writing public keyring `%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "`%s' genel anahtarlığa yazılırken hata oluştu: %s\n"
+
#, fuzzy
#~| msgid "error closing %s: %s\n"
#~ msgid "error looking up: %s\n"
diff --git a/po/uk.po b/po/uk.po
index 745cd29..e76f92d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1606,6 +1606,18 @@ msgstr "(якщо ключ не задано відбитком)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "цього не можна робити у пакетному режимі без «--yes»\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "Вилучити цей ключ зі сховища? (y/N або т/Н) "
@@ -1623,6 +1635,10 @@ msgid "subkey"
msgstr "підключ"
#, c-format
+msgid "update failed: %s\n"
+msgstr "помилка оновлення: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "не вдалося вилучити блокування ключа: %s\n"
@@ -3453,10 +3469,6 @@ msgid "Quit without saving? (y/N) "
msgstr "Вийти без збереження? (y/N або т/Н) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "помилка оновлення: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "Ключ не змінено, отже оновлення непотрібне.\n"
@@ -4474,11 +4486,6 @@ msgid "key not found on keyserver\n"
msgstr "ключ не знайдено на сервері ключів\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr ""
-"не вказано жодного сервера ключів (скористайтеся параметром --keyserver)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "надсилаємо запит щодо ключа %s до %s сервера %s\n"
@@ -5741,11 +5748,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "непідтримувана версія бази даних TOFU: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr ""
-"помилка під час спроби створити таблицю TOFU «ultimately_trusted_keys»: %s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "помилка бази даних TOFU"
@@ -5762,14 +5764,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "помилка під час спроби ініціалізації бази даних TOFU: %s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "помилка під час спроби створити таблицю TOFU «encryptions»: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "додаємо стовпчик effective_policy до бази даних прив’язок: %s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "помилка під час спроби відкрити бази даних TOFU «%s»: %s\n"
@@ -5943,14 +5937,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "Виявлено пошкодження бази даних TOFU.\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "скидаємо базу даних ключів: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "помилка під час спроби встановлення правил прив’язки TOFU до %s\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "помилка під час спроби змінити правила TOFU: %s\n"
@@ -6011,24 +5997,10 @@ msgstr "%s: перевірено 0~підписів і зашифровано 0~
msgid "%s: Verified 0 signatures."
msgstr "%s: перевірено 0 підписів."
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s: перевірено %ld~підпис протягом останнього %s."
-msgstr[1] "%s: перевірено %ld~підписи протягом останнього %s."
-msgstr[2] "%s: перевірено %ld~підписів протягом останнього %s."
-
msgid "Encrypted 0 messages."
msgstr "Зашифровано 0 повідомлень."
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "Зашифровано %ld~повідомлення протягом останнього %s."
-msgstr[1] "Зашифровано %ld~повідомлення протягом останнього %s."
-msgstr[2] "Зашифровано %ld~повідомлень протягом останнього %s."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(правило: %s)"
@@ -6101,12 +6073,6 @@ msgstr ""
"ідентифікаторів користувача.\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr ""
-"помилка під час спроби встановити правила для ключа %s, ідентифікатор "
-"користувача «%s»: %s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "«%s» не є коректним довгим ідентифікатором ключа\n"
@@ -8449,6 +8415,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "Відповідач OCSP перебуває у стані «%s»: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "не вдалося встановити контекст хешування для OCSP: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "спроба хешування відповіді OCSP для «%s» зазнала невдачі: %s\n"
@@ -8457,10 +8427,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "не підписано типовим сертифікатом підписувальника OCSP"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "для відповідей за OCSP передбачено підтримку лише SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "спроба розміщення пункту списку у пам’яті зазнала невдачі: %s\n"
@@ -8509,10 +8475,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "використовуємо відповідач за OCSP «%s»\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "не вдалося встановити контекст хешування для OCSP: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "помилка під час отримання стану OCSP для сертифіката призначення: %s\n"
@@ -8823,6 +8785,16 @@ msgstr "Введення пароля"
msgid "Component not suitable for launching"
msgstr "Компонент не є придатним до запуску"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "Помилка зовнішньої перевірки компонента %s"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "Скористайтеся спочатку командою «toggle».\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "Помилка зовнішньої перевірки компонента %s"
@@ -9055,6 +9027,47 @@ msgstr ""
"Синтаксис: gpg-check-pattern [параметри] файл_шаблонів\n"
"Перевірити пароль, вказаний у stdin, за допомогою файла_шаблонів\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr ""
+#~ "не вказано жодного сервера ключів (скористайтеся параметром --keyserver)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr ""
+#~ "помилка під час спроби створити таблицю TOFU «ultimately_trusted_keys»: "
+#~ "%s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "помилка під час спроби створити таблицю TOFU «encryptions»: %s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "додаємо стовпчик effective_policy до бази даних прив’язок: %s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "скидаємо базу даних ключів: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "помилка під час спроби встановлення правил прив’язки TOFU до %s\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s: перевірено %ld~підпис протягом останнього %s."
+#~ msgstr[1] "%s: перевірено %ld~підписи протягом останнього %s."
+#~ msgstr[2] "%s: перевірено %ld~підписів протягом останнього %s."
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "Зашифровано %ld~повідомлення протягом останнього %s."
+#~ msgstr[1] "Зашифровано %ld~повідомлення протягом останнього %s."
+#~ msgstr[2] "Зашифровано %ld~повідомлень протягом останнього %s."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr ""
+#~ "помилка під час спроби встановити правила для ключа %s, ідентифікатор "
+#~ "користувача «%s»: %s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "для відповідей за OCSP передбачено підтримку лише SHA-1\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "очікування на працездатність dirmngr… (%d с)\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 2ab2739..4f766ba 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1565,6 +1565,18 @@ msgstr "(除非您用指纹指定密钥)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "无法于批处理模式中在没有“--yes”的情况下完成此操作\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "要从钥匙环里删除这个密钥吗?(y/N) "
@@ -1582,6 +1594,10 @@ msgid "subkey"
msgstr "子密钥"
#, c-format
+msgid "update failed: %s\n"
+msgstr "更新失败:%s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "删除密钥块时失败:%s\n"
@@ -3313,10 +3329,6 @@ msgid "Quit without saving? (y/N) "
msgstr "要不保存而退出吗?(y/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "更新失败:%s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "密钥没有变更所以不需要更新。\n"
@@ -4267,10 +4279,6 @@ msgid "key not found on keyserver\n"
msgstr "在公钥服务器上找不到密钥\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "无已知的公钥服务器(使用 --keyserver 选项)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "正在请求密钥 %s 从 %s 服务器 %s\n"
@@ -5458,10 +5466,6 @@ msgid "unsupported TOFU database version: %s\n"
msgstr "不支持的 TOFU 数据库版本: %s\n"
#, c-format
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "创建名为‘ultimately_trusted_keys’的TOFU 表时出现错误:%s\n"
-
-#, c-format
msgid "TOFU DB error"
msgstr "TOFU DB 错误"
@@ -5478,14 +5482,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "初始化 TOFU 数据库时出现错误:%s\n"
#, c-format
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "创建名为‘encryptions’的TOFU 表时出现错误:%s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr "添加列 effective_policy 到绑定的 DB:%s\n"
-
-#, c-format
msgid "error opening TOFU database '%s': %s\n"
msgstr "打开 TOFU 数据库’%s’时出现错误:%s\n"
@@ -5621,14 +5617,6 @@ msgid "TOFU db corruption detected.\n"
msgstr "检测到 TOFU 数据库出错。\n"
#, c-format
-msgid "resetting keydb: %s\n"
-msgstr "正在重置 keydb: %s\n"
-
-#, c-format
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "设置 TOFU 绑定的策略至 %s 时出现错误\n"
-
-#, c-format
msgid "error changing TOFU policy: %s\n"
msgstr "变更 TOFU 策略时出现错误:%s\n"
@@ -5675,20 +5663,10 @@ msgstr "%s: 已验证 0~签名并加密 0~消息。"
msgid "%s: Verified 0 signatures."
msgstr "%s:已验证 0 签名。"
-#, c-format
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "%s:已验证 %ld~在过去的 %s 的签名。"
-
msgid "Encrypted 0 messages."
msgstr "已加密 0 信息。"
#, c-format
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "已加密 %ld~个过去 %s 的信息."
-
-#, c-format
msgid "(policy: %s)"
msgstr "(策略: %s)"
@@ -5738,10 +5716,6 @@ msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr "警告:正在加密给 %s,其不具有不可吊销的用户标识。\n"
#, c-format
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "设置密钥 %s 的策略时出现错误, 用户标识 “%s”:%s"
-
-#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "‘%s’不是一个有效的长格式 keyID\n"
@@ -8008,6 +7982,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "‘%s’处的 OCSP 响应者状态:%s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "为 OCSP 创建散列上下文失败:%s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "计算‘%s’的 OCSP 请求的散列时失败:%s\n"
@@ -8016,10 +7994,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "并非由一个默认的 OCSP 签名者的证书签名"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "对于 OCSP 响应只有 SHA-1 被支持\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "分配列表项时失败:%s\n"
@@ -8068,10 +8042,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "正在使用 OCSP 响应者‘%s’\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "为 OCSP 创建散列上下文失败:%s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "获取目标证书的 OCSP 状态时出现错误:%s\n"
@@ -8378,6 +8348,16 @@ msgstr "密码条目"
msgid "Component not suitable for launching"
msgstr "组件不适合启动"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "组件 %s 的外部验证失败"
+
+#, fuzzy, c-format
+#| msgid "Note: Use the command \"%s\" to restart them.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "注意: 使用 “%s” 来重启他们。\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "组件 %s 的外部验证失败"
@@ -8610,6 +8590,38 @@ msgstr ""
"语法:gpg-check-pattern [选项] patternfile\n"
"按照 patternfile 检查一个由标准输入(stdin)给定的密码\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "无已知的公钥服务器(使用 --keyserver 选项)\n"
+
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "创建名为‘ultimately_trusted_keys’的TOFU 表时出现错误:%s\n"
+
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "创建名为‘encryptions’的TOFU 表时出现错误:%s\n"
+
+#~ msgid "adding column effective_policy to bindings DB: %s\n"
+#~ msgstr "添加列 effective_policy 到绑定的 DB:%s\n"
+
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "正在重置 keydb: %s\n"
+
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "设置 TOFU 绑定的策略至 %s 时出现错误\n"
+
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "%s:已验证 %ld~在过去的 %s 的签名。"
+
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "已加密 %ld~个过去 %s 的信息."
+
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "设置密钥 %s 的策略时出现错误, 用户标识 “%s”:%s"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "对于 OCSP 响应只有 SHA-1 被支持\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "等待 dirmngr 启动 ... (%ds)\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index cff51b8..de7b52b 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1603,6 +1603,18 @@ msgstr "(除非你用指紋指定了金鑰)\n"
msgid "can't do this in batch mode without \"--yes\"\n"
msgstr "沒有 \"--yes\" 就沒辦法在批次模式中這麼做\n"
+msgid "Note: The public primary key and all its subkeys will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the shown public subkey will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
+msgstr ""
+
+msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
+msgstr ""
+
msgid "Delete this key from the keyring? (y/N) "
msgstr "要從鑰匙圈裡刪除這把金鑰嗎? (y/N) "
@@ -1620,6 +1632,10 @@ msgid "subkey"
msgstr "子鑰"
#, c-format
+msgid "update failed: %s\n"
+msgstr "更新失敗: %s\n"
+
+#, c-format
msgid "deleting keyblock failed: %s\n"
msgstr "刪除金鑰區塊時失敗: %s\n"
@@ -3403,10 +3419,6 @@ msgid "Quit without saving? (y/N) "
msgstr "要不儲存就離開嗎? (y/N) "
#, c-format
-msgid "update failed: %s\n"
-msgstr "更新失敗: %s\n"
-
-#, c-format
msgid "Key not changed so no update needed.\n"
msgstr "金鑰沒有變更所以不需要更新.\n"
@@ -4393,10 +4405,6 @@ msgid "key not found on keyserver\n"
msgstr "在金鑰伺服器上找不到金鑰\n"
#, c-format
-msgid "no keyserver known (use option --keyserver)\n"
-msgstr "沒有已知的金鑰伺服器 (使用 --keyserver 選項)\n"
-
-#, c-format
msgid "requesting key %s from %s server %s\n"
msgstr "正在請求金鑰 %s 自 %s 伺服器 %s\n"
@@ -5624,11 +5632,6 @@ msgstr ""
msgid "unsupported TOFU database version: %s\n"
msgstr "未支援的演算法: %s"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
-msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "建立暫存檔時出錯: %s\n"
-
#, c-format
msgid "TOFU DB error"
msgstr ""
@@ -5649,15 +5652,6 @@ msgid "error initializing TOFU database: %s\n"
msgstr "啟始讀取程式物件時出錯: %s\n"
#, fuzzy, c-format
-#| msgid "error sending data: %s\n"
-msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "送出資料時出錯: %s\n"
-
-#, c-format
-msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
-
-#, fuzzy, c-format
#| msgid "error opening '%s': %s\n"
msgid "error opening TOFU database '%s': %s\n"
msgstr "開啟 '%s' 時出錯: %s\n"
@@ -5806,16 +5800,6 @@ msgid "TOFU db corruption detected.\n"
msgstr ""
#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
-msgid "resetting keydb: %s\n"
-msgstr "寫入金鑰時出錯: %s\n"
-
-#, fuzzy, c-format
-#| msgid "error setting OCSP target: %s\n"
-msgid "error setting TOFU binding's policy to %s\n"
-msgstr "設定 OCSP 目標時出錯: %s\n"
-
-#, fuzzy, c-format
#| msgid "error creating a pipe: %s\n"
msgid "error changing TOFU policy: %s\n"
msgstr "建立管道時出錯: %s\n"
@@ -5864,24 +5848,12 @@ msgstr ""
msgid "%s: Verified 0 signatures."
msgstr "已經刪除了 %d 份簽章.\n"
-#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "%s: Verified %ld~signature in the past %s."
-msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "印出訊息摘要"
-
#, fuzzy
#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
msgstr "已用 %lu 個密語加密了\n"
#, fuzzy, c-format
-#| msgid "print message digests"
-msgid "Encrypted %ld~message in the past %s."
-msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "印出訊息摘要"
-
-#, fuzzy, c-format
#| msgid "validity: %s"
msgid "(policy: %s)"
msgstr "有效性: %s"
@@ -5928,11 +5900,6 @@ msgstr "送出資料時出錯: %s\n"
msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
-#, fuzzy, c-format
-#| msgid "error writing public keyring '%s': %s\n"
-msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "寫入公鑰鑰匙圈 '%s' 時出錯: %s\n"
-
#, c-format
msgid "'%s' is not a valid long keyID\n"
msgstr "'%s' 不是有效的長式金鑰 ID\n"
@@ -8209,6 +8176,10 @@ msgid "OCSP responder at '%s' status: %s\n"
msgstr "位於 '%s' 的 OSCP 回應程式狀態: %s\n"
#, c-format
+msgid "failed to establish a hashing context for OCSP: %s\n"
+msgstr "對 OCSP 建立雜湊脈絡失敗: %s\n"
+
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
msgstr "計算 '%s' OSCP 回應雜湊時失敗: %s\n"
@@ -8217,10 +8188,6 @@ msgid "not signed by a default OCSP signer's certificate"
msgstr "並未由預設 OCSP 簽署者的憑證所簽署"
#, c-format
-msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr "OCSP 回應僅支援 SHA-1\n"
-
-#, c-format
msgid "allocating list item failed: %s\n"
msgstr "配置清單項目時失敗: %s\n"
@@ -8269,10 +8236,6 @@ msgid "using OCSP responder '%s'\n"
msgstr "正在使用 %s OCSP 回應程式\n"
#, c-format
-msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr "對 OCSP 建立雜湊脈絡失敗: %s\n"
-
-#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
msgstr "取得目標憑證 OCSP 狀態時出錯: %s\n"
@@ -8591,6 +8554,16 @@ msgstr "個人識別碼及密語項目"
msgid "Component not suitable for launching"
msgstr "元件不適合啟動"
+#, fuzzy, c-format
+#| msgid "External verification of component %s failed"
+msgid "Configuration file of component %s is broken\n"
+msgstr "元件 %s 的外部驗證失敗"
+
+#, fuzzy, c-format
+#| msgid "Please use the command \"toggle\" first.\n"
+msgid "Note: Use the command \"%s%s\" to get details.\n"
+msgstr "請先使用 \"toggle\" 指令.\n"
+
#, c-format
msgid "External verification of component %s failed"
msgstr "元件 %s 的外部驗證失敗"
@@ -8828,6 +8801,49 @@ msgstr ""
"語法: gpg-check-pattern [選項] 樣式檔案\n"
"用樣式檔案來檢查由標準輸入給定的密語\n"
+#~ msgid "no keyserver known (use option --keyserver)\n"
+#~ msgstr "沒有已知的金鑰伺服器 (使用 --keyserver 選項)\n"
+
+#, fuzzy
+#~| msgid "error creating temporary file: %s\n"
+#~ msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
+#~ msgstr "建立暫存檔時出錯: %s\n"
+
+#, fuzzy
+#~| msgid "error sending data: %s\n"
+#~ msgid "error creating 'encryptions' TOFU table: %s\n"
+#~ msgstr "送出資料時出錯: %s\n"
+
+#, fuzzy
+#~| msgid "error writing key: %s\n"
+#~ msgid "resetting keydb: %s\n"
+#~ msgstr "寫入金鑰時出錯: %s\n"
+
+#, fuzzy
+#~| msgid "error setting OCSP target: %s\n"
+#~ msgid "error setting TOFU binding's policy to %s\n"
+#~ msgstr "設定 OCSP 目標時出錯: %s\n"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "%s: Verified %ld~signature in the past %s."
+#~ msgid_plural "%s: Verified %ld~signatures in the past %s."
+#~ msgstr[0] "印出訊息摘要"
+
+#, fuzzy
+#~| msgid "print message digests"
+#~ msgid "Encrypted %ld~message in the past %s."
+#~ msgid_plural "Encrypted %ld~messages in the past %s."
+#~ msgstr[0] "印出訊息摘要"
+
+#, fuzzy
+#~| msgid "error writing public keyring '%s': %s\n"
+#~ msgid "error setting policy for key %s, user id \"%s\": %s"
+#~ msgstr "寫入公鑰鑰匙圈 '%s' 時出錯: %s\n"
+
+#~ msgid "only SHA-1 is supported for OCSP responses\n"
+#~ msgstr "OCSP 回應僅支援 SHA-1\n"
+
#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
#~ msgstr "正在等候 dirmngr 出現 ... (%d 秒)\n"
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index 4d00705..6c01f3a 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -1442,8 +1442,8 @@ ecdh_params (const char *curve)
/* See RFC-6637 for those constants.
0x03: Number of bytes
0x01: Version for this parameter format
- KDF algo
- KEK algo
+ KDF hash algo
+ KEK symmetric cipher algo
*/
if (nbits <= 256)
return (const unsigned char*)"\x03\x01\x08\x07";
diff --git a/scd/scdaemon.c b/scd/scdaemon.c
index 8f8a026..8cbd0ee 100644
--- a/scd/scdaemon.c
+++ b/scd/scdaemon.c
@@ -99,7 +99,9 @@ enum cmd_and_opt_values
oDenyAdmin,
oDisableApplication,
oEnablePinpadVarlen,
- oListenBacklog
+ oListenBacklog,
+
+ oNoop
};
@@ -159,6 +161,9 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_s (oHomedir, "homedir", "@"),
ARGPARSE_s_i (oListenBacklog, "listen-backlog", "@"),
+ /* Stubs for options which are implemented by 2.3 or later. */
+ ARGPARSE_s_s (oNoop, "application-priority", "@"),
+
ARGPARSE_end ()
};
@@ -622,6 +627,8 @@ main (int argc, char **argv )
listen_backlog = pargs.r.ret_int;
break;
+ case oNoop: break;
+
default:
pargs.err = configfp? ARGPARSE_PRINT_WARNING:ARGPARSE_PRINT_ERROR;
break;
diff --git a/sm/certdump.c b/sm/certdump.c
index edee76f..ede1210 100644
--- a/sm/certdump.c
+++ b/sm/certdump.c
@@ -658,6 +658,9 @@ format_name_writer (void *cookie, const void *buffer, size_t size)
struct format_name_cookie *c = cookie;
char *p;
+ if (!buffer) /* Flush. */
+ return 0; /* (Actually we could use SIZE because that should be 0 too.) */
+
if (!c->buffer)
{
p = xtrymalloc (size + 1 + 1);
diff --git a/sm/certlist.c b/sm/certlist.c
index c9e275e..c3e4e82 100644
--- a/sm/certlist.c
+++ b/sm/certlist.c
@@ -48,7 +48,7 @@ static const char oid_kp_ocspSigning[] = "1.3.6.1.5.5.7.3.9";
debugging). MODE 4 is for certificate signing, MODE for COSP
response signing. */
static int
-cert_usage_p (ksba_cert_t cert, int mode)
+cert_usage_p (ksba_cert_t cert, int mode, int silent)
{
gpg_error_t err;
unsigned int use;
@@ -118,7 +118,7 @@ cert_usage_p (ksba_cert_t cert, int mode)
if (gpg_err_code (err) == GPG_ERR_NO_DATA)
{
err = 0;
- if (opt.verbose && mode < 2)
+ if (opt.verbose && mode < 2 && !silent)
log_info (_("no key usage specified - assuming all usages\n"));
use = ~0;
}
@@ -139,8 +139,9 @@ cert_usage_p (ksba_cert_t cert, int mode)
{
if ((use & (KSBA_KEYUSAGE_KEY_CERT_SIGN)))
return 0;
- log_info (_("certificate should not have "
- "been used for certification\n"));
+ if (!silent)
+ log_info (_("certificate should not have "
+ "been used for certification\n"));
return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
}
@@ -151,8 +152,9 @@ cert_usage_p (ksba_cert_t cert, int mode)
|| (use & (KSBA_KEYUSAGE_KEY_CERT_SIGN
|KSBA_KEYUSAGE_CRL_SIGN))))
return 0;
- log_info (_("certificate should not have "
- "been used for OCSP response signing\n"));
+ if (!silent)
+ log_info (_("certificate should not have "
+ "been used for OCSP response signing\n"));
return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
}
@@ -162,19 +164,22 @@ cert_usage_p (ksba_cert_t cert, int mode)
)
return 0;
- log_info (mode==3? _("certificate should not have been used for encryption\n"):
- mode==2? _("certificate should not have been used for signing\n"):
- mode==1? _("certificate is not usable for encryption\n"):
- _("certificate is not usable for signing\n"));
+ if (!silent)
+ log_info
+ (mode==3? _("certificate should not have been used for encryption\n"):
+ mode==2? _("certificate should not have been used for signing\n"):
+ mode==1? _("certificate is not usable for encryption\n"):
+ /**/ _("certificate is not usable for signing\n"));
+
return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
}
/* Return 0 if the cert is usable for signing */
int
-gpgsm_cert_use_sign_p (ksba_cert_t cert)
+gpgsm_cert_use_sign_p (ksba_cert_t cert, int silent)
{
- return cert_usage_p (cert, 0);
+ return cert_usage_p (cert, 0, silent);
}
@@ -182,31 +187,31 @@ gpgsm_cert_use_sign_p (ksba_cert_t cert)
int
gpgsm_cert_use_encrypt_p (ksba_cert_t cert)
{
- return cert_usage_p (cert, 1);
+ return cert_usage_p (cert, 1, 0);
}
int
gpgsm_cert_use_verify_p (ksba_cert_t cert)
{
- return cert_usage_p (cert, 2);
+ return cert_usage_p (cert, 2, 0);
}
int
gpgsm_cert_use_decrypt_p (ksba_cert_t cert)
{
- return cert_usage_p (cert, 3);
+ return cert_usage_p (cert, 3, 0);
}
int
gpgsm_cert_use_cert_p (ksba_cert_t cert)
{
- return cert_usage_p (cert, 4);
+ return cert_usage_p (cert, 4, 0);
}
int
gpgsm_cert_use_ocsp_p (ksba_cert_t cert)
{
- return cert_usage_p (cert, 5);
+ return cert_usage_p (cert, 5, 0);
}
@@ -341,7 +346,7 @@ gpgsm_add_to_certlist (ctrl_t ctrl, const char *name, int secret,
first_subject = ksba_cert_get_subject (cert, 0);
first_issuer = ksba_cert_get_issuer (cert, 0);
}
- rc = secret? gpgsm_cert_use_sign_p (cert)
+ rc = secret? gpgsm_cert_use_sign_p (cert, 0)
: gpgsm_cert_use_encrypt_p (cert);
if (gpg_err_code (rc) == GPG_ERR_WRONG_KEY_USAGE)
{
@@ -403,8 +408,8 @@ gpgsm_add_to_certlist (ctrl_t ctrl, const char *name, int secret,
first_issuer,
cert2)
&& ((gpg_err_code (
- secret? gpgsm_cert_use_sign_p (cert2)
- : gpgsm_cert_use_encrypt_p (cert2)
+ secret? gpgsm_cert_use_sign_p (cert2,0)
+ : gpgsm_cert_use_encrypt_p (cert2)
)
) == GPG_ERR_WRONG_KEY_USAGE));
if (tmp)
diff --git a/sm/gpgsm.h b/sm/gpgsm.h
index 325948a..0ce96ff 100644
--- a/sm/gpgsm.h
+++ b/sm/gpgsm.h
@@ -315,7 +315,7 @@ int gpgsm_validate_chain (ctrl_t ctrl, ksba_cert_t cert,
int gpgsm_basic_cert_check (ctrl_t ctrl, ksba_cert_t cert);
/*-- certlist.c --*/
-int gpgsm_cert_use_sign_p (ksba_cert_t cert);
+int gpgsm_cert_use_sign_p (ksba_cert_t cert, int silent);
int gpgsm_cert_use_encrypt_p (ksba_cert_t cert);
int gpgsm_cert_use_verify_p (ksba_cert_t cert);
int gpgsm_cert_use_decrypt_p (ksba_cert_t cert);
diff --git a/sm/sign.c b/sm/sign.c
index 24ecad3..fd6ebe0 100644
--- a/sm/sign.c
+++ b/sm/sign.c
@@ -161,7 +161,7 @@ gpgsm_get_default_cert (ctrl_t ctrl, ksba_cert_t *r_cert)
return rc;
}
- if (!gpgsm_cert_use_sign_p (cert))
+ if (!gpgsm_cert_use_sign_p (cert, 1))
{
p = gpgsm_get_keygrip_hexstring (cert);
if (p)
@@ -404,7 +404,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
/* Although we don't check for ambiguous specification we will
check that the signer's certificate is usable and valid. */
- rc = gpgsm_cert_use_sign_p (cert);
+ rc = gpgsm_cert_use_sign_p (cert, 0);
if (!rc)
rc = gpgsm_validate_chain (ctrl, cert, "", NULL, 0, NULL, 0, NULL);
if (rc)
@@ -513,7 +513,7 @@ gpgsm_sign (ctrl_t ctrl, certlist_t signerlist,
/* Gather certificates of signers and store them in the CMS object. */
for (cl=signerlist; cl; cl = cl->next)
{
- rc = gpgsm_cert_use_sign_p (cl->cert);
+ rc = gpgsm_cert_use_sign_p (cl->cert, 0);
if (rc)
goto leave;
diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c
index 79a7489..d4b3ebd 100644
--- a/tools/gpgconf-comp.c
+++ b/tools/gpgconf-comp.c
@@ -1152,12 +1152,8 @@ gpg_agent_runtime_change (int killflag)
pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT);
if (!gnupg_default_homedir_p ())
{
- abs_homedir = make_absfilename_try (gnupg_homedir (), NULL);
- if (!abs_homedir)
- err = gpg_error_from_syserror ();
-
argv[i++] = "--homedir";
- argv[i++] = abs_homedir;
+ argv[i++] = gnupg_homedir ();
}
argv[i++] = "--no-autostart";
argv[i++] = killflag? "KILLAGENT" : "RELOADAGENT";
@@ -1195,12 +1191,8 @@ scdaemon_runtime_change (int killflag)
pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT);
if (!gnupg_default_homedir_p ())
{
- abs_homedir = make_absfilename_try (gnupg_homedir (), NULL);
- if (!abs_homedir)
- err = gpg_error_from_syserror ();
-
argv[i++] = "--homedir";
- argv[i++] = abs_homedir;
+ argv[i++] = gnupg_homedir ();
}
argv[i++] = "-s";
argv[i++] = "--no-autostart";
@@ -1239,12 +1231,8 @@ dirmngr_runtime_change (int killflag)
argv[3] = NULL;
else
{
- abs_homedir = make_absfilename_try (gnupg_homedir (), NULL);
- if (!abs_homedir)
- err = gpg_error_from_syserror ();
-
argv[3] = "--homedir";
- argv[4] = abs_homedir;
+ argv[4] = gnupg_homedir ();
argv[5] = NULL;
}
@@ -1266,7 +1254,7 @@ gc_component_launch (int component)
{
gpg_error_t err;
const char *pgmname;
- const char *argv[3];
+ const char *argv[5];
int i;
pid_t pid;
@@ -1281,13 +1269,27 @@ gc_component_launch (int component)
if (!(component == GC_COMPONENT_GPG_AGENT
|| component == GC_COMPONENT_DIRMNGR))
{
- es_fputs (_("Component not suitable for launching"), es_stderr);
- es_putc ('\n', es_stderr);
+ log_error ("%s\n", _("Component not suitable for launching"));
+ gpgconf_failure (0);
+ }
+
+ if (gc_component_check_options (component, NULL, NULL))
+ {
+ log_error (_("Configuration file of component %s is broken\n"),
+ gc_component[component].name);
+ if (!opt.quiet)
+ log_info (_("Note: Use the command \"%s%s\" to get details.\n"),
+ "gpgconf --check-options ", gc_component[component].name);
gpgconf_failure (0);
}
pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT);
i = 0;
+ if (!gnupg_default_homedir_p ())
+ {
+ argv[i++] = "--homedir";
+ argv[i++] = gnupg_homedir ();
+ }
if (component == GC_COMPONENT_DIRMNGR)
argv[i++] = "--dirmngr";
argv[i++] = "NOP";
@@ -1688,8 +1690,9 @@ collect_error_output (estream_t fp, const char *tag)
}
-/* Check the options of a single component. Returns 0 if everything
- is OK. */
+/* Check the options of a single component. If CONF_FILE is NULL the
+ * standard config file is used. If OUT is not NULL the output is
+ * written to that stream. Returns 0 if everything is OK. */
int
gc_component_check_options (int component, estream_t out, const char *conf_file)
{
diff --git a/tools/gpgconf.c b/tools/gpgconf.c
index 4cd0505..d9ee4a9 100644
--- a/tools/gpgconf.c
+++ b/tools/gpgconf.c
@@ -900,6 +900,7 @@ main (int argc, char **argv)
void
gpgconf_failure (gpg_error_t err)
{
+ log_flush ();
if (!err)
err = gpg_error (GPG_ERR_GENERAL);
gpgconf_write_status