summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 16:00:42 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-02-09 16:00:42 +0900
commit18a6a2390beac1918a783d9139c111c2813a6862 (patch)
tree555a32f352b83abfa299e84edfa90bf8095e132b
parent0b02a3fcea1ca6f54c1148c08e983b0de24af8bf (diff)
downloadgpg2-18a6a2390beac1918a783d9139c111c2813a6862.tar.gz
gpg2-18a6a2390beac1918a783d9139c111c2813a6862.tar.bz2
gpg2-18a6a2390beac1918a783d9139c111c2813a6862.zip
Imported Upstream version 2.2.13upstream/2.2.13
-rw-r--r--AUTHORS6
-rw-r--r--NEWS27
-rw-r--r--README4
-rw-r--r--agent/agent.h11
-rw-r--r--agent/call-pinentry.c37
-rw-r--r--agent/command-ssh.c138
-rw-r--r--agent/divert-scd.c46
-rw-r--r--agent/findkey.c12
-rw-r--r--common/argparse.c2
-rw-r--r--common/openpgp-oid.c87
-rw-r--r--common/openpgpdefs.h6
-rw-r--r--common/server-help.c50
-rw-r--r--common/server-help.h8
-rw-r--r--common/sexputil.c58
-rw-r--r--common/stringhelp.c13
-rw-r--r--common/stringhelp.h1
-rw-r--r--common/t-openpgp-oid.c10
-rw-r--r--common/util.h4
-rw-r--r--common/w32info-rc.h.in2
-rw-r--r--configure.ac6
-rw-r--r--dirmngr/dirmngr.c2
-rw-r--r--dirmngr/dns.c17
-rw-r--r--doc/gpg.texi30
-rw-r--r--doc/specify-user-id.texi5
-rw-r--r--doc/wks.texi2
-rw-r--r--g10/gpg.c6
-rw-r--r--g10/keylist.c1
-rw-r--r--g10/misc.c8
-rw-r--r--g10/packet.h10
-rw-r--r--kbx/kbxutil.c18
-rw-r--r--kbx/keybox-defs.h3
-rw-r--r--kbx/keybox-openpgp.c145
-rw-r--r--kbx/keybox-search.c57
-rw-r--r--po/Makevars1
-rw-r--r--po/ca.po6
-rw-r--r--po/cs.po8
-rw-r--r--po/da.po8
-rw-r--r--po/de.po8
-rw-r--r--po/el.po6
-rw-r--r--po/eo.po6
-rw-r--r--po/es.po8
-rw-r--r--po/et.po6
-rw-r--r--po/fi.po6
-rw-r--r--po/fr.po8
-rw-r--r--po/gl.po6
-rw-r--r--po/hu.po6
-rw-r--r--po/id.po6
-rw-r--r--po/it.po6
-rw-r--r--po/ja.po17
-rw-r--r--po/nb.po8
-rw-r--r--po/pl.po4084
-rw-r--r--po/pt.po6
-rw-r--r--po/ro.po6
-rw-r--r--po/ru.po8
-rw-r--r--po/sk.po6
-rw-r--r--po/sv.po7
-rw-r--r--po/tr.po8
-rw-r--r--po/uk.po8
-rw-r--r--po/zh_CN.po10
-rw-r--r--po/zh_TW.po8
-rw-r--r--scd/apdu.c64
-rw-r--r--scd/apdu.h3
-rw-r--r--scd/app-common.h22
-rw-r--r--scd/app-nks.c7
-rw-r--r--scd/app-openpgp.c27
-rw-r--r--scd/app.c16
-rw-r--r--scd/ccid-driver.c33
-rw-r--r--scd/ccid-driver.h2
-rw-r--r--scd/command.c70
-rw-r--r--scd/iso7816.c78
-rw-r--r--scd/iso7816.h17
-rw-r--r--scd/scdaemon.h4
-rw-r--r--sm/certreqgen-ui.c22
-rw-r--r--tests/gpgscm/scheme.c12
-rw-r--r--tools/gpg-wks-client.c1
-rw-r--r--tools/gpg-wks-server.c1
76 files changed, 2428 insertions, 3054 deletions
diff --git a/AUTHORS b/AUTHORS
index 473b94c..32766a6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -15,9 +15,9 @@ copyrightable year that would otherwise be listed individually.
List of Copyright holders
=========================
- Copyright (C) 1997-2018 Werner Koch
- Copyright (C) 1994-2018 Free Software Foundation, Inc.
- Copyright (C) 2003-2013,2015-2018 g10 Code GmbH
+ Copyright (C) 1997-2019 Werner Koch
+ Copyright (C) 1994-2019 Free Software Foundation, Inc.
+ Copyright (C) 2003-2013,2015-2019 g10 Code GmbH
Copyright (C) 2002 Klarälvdalens Datakonsult AB
Copyright (C) 1995-1997, 2000-2007 Ulrich Drepper <drepper@gnu.ai.mit.edu>
Copyright (C) 1994 X Consortium
diff --git a/NEWS b/NEWS
index 294709d..fb40a74 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,30 @@
+Noteworthy changes in version 2.2.13 (2019-02-12)
+-------------------------------------------------
+
+ * gpg: Implement key lookup via keygrip (using the & prefix).
+
+ * gpg: Allow generating Ed25519 key from existing key.
+
+ * gpg: Emit an ERROR status line if no key was found with -k.
+
+ * gpg: Stop early when trying to create a primary Elgamal key. [#4329]
+
+ * gpgsm: Print the card's key algorithms along with their keygrips
+ in interactive key generation.
+
+ * agent: Clear bogus pinentry cache in the error case. [#4348]
+
+ * scd: Support "acknowledge button" feature.
+
+ * scd: Fix for USB INTERRUPT transfer. [#4308]
+
+ * wks: Do no use compression for the the encrypted challenge and
+ response.
+
+ Release-info: https://dev.gnupg.org/T4290
+ See-also: gnupg-announce/2019q1/000434.html
+
+
Noteworthy changes in version 2.2.12 (2018-12-14)
-------------------------------------------------
diff --git a/README b/README
index 4580a39..85639a4 100644
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
=========================
Version 2.2
- Copyright 1997-2018 Werner Koch
- Copyright 1998-2018 Free Software Foundation, Inc.
+ Copyright 1997-2019 Werner Koch
+ Copyright 1998-2019 Free Software Foundation, Inc.
* INTRODUCTION
diff --git a/agent/agent.h b/agent/agent.h
index 2b045f8..58dd7df 100644
--- a/agent/agent.h
+++ b/agent/agent.h
@@ -265,6 +265,14 @@ struct server_control_s
};
+/* Status of pinentry. */
+enum
+ {
+ PINENTRY_STATUS_CLOSE_BUTTON = 1 << 0,
+ PINENTRY_STATUS_PIN_REPEATED = 1 << 8,
+ PINENTRY_STATUS_PASSWORD_FROM_CACHE = 1 << 9
+ };
+
/* Information pertaining to pinentry requests. */
struct pin_entry_info_s
{
@@ -274,7 +282,8 @@ struct pin_entry_info_s
int failed_tries; /* Number of tries so far failed. */
int with_qualitybar; /* Set if the quality bar should be displayed. */
int with_repeat; /* Request repetition of the passphrase. */
- int repeat_okay; /* Repetition worked. */
+ int repeat_okay; /* Repetition worked. */
+ unsigned int status; /* Status. */
gpg_error_t (*check_cb)(struct pin_entry_info_s *); /* CB used to check
the PIN */
void *check_cb_arg; /* optional argument which might be of use in the CB */
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c
index b68d0a8..1f3bd52 100644
--- a/agent/call-pinentry.c
+++ b/agent/call-pinentry.c
@@ -891,13 +891,6 @@ setup_qualitybar (ctrl_t ctrl)
return 0;
}
-enum
- {
- PINENTRY_STATUS_CLOSE_BUTTON = 1 << 0,
- PINENTRY_STATUS_PIN_REPEATED = 1 << 8,
- PINENTRY_STATUS_PASSWORD_FROM_CACHE = 1 << 9
- };
-
/* Check the button_info line for a close action. Also check for the
PIN_REPEATED flag. */
static gpg_error_t
@@ -962,7 +955,6 @@ agent_askpin (ctrl_t ctrl,
const char *errtext = NULL;
int is_pin = 0;
int saveflag;
- unsigned int pinentry_status;
if (opt.batch)
return 0; /* fixme: we should return BAD PIN */
@@ -1073,6 +1065,7 @@ agent_askpin (ctrl_t ctrl,
pininfo->with_repeat = 0; /* Pinentry does not support it. */
}
pininfo->repeat_okay = 0;
+ pininfo->status = 0;
for (;pininfo->failed_tries < pininfo->max_tries; pininfo->failed_tries++)
{
@@ -1106,10 +1099,9 @@ agent_askpin (ctrl_t ctrl,
saveflag = assuan_get_flag (entry_ctx, ASSUAN_CONFIDENTIAL);
assuan_begin_confidential (entry_ctx);
- pinentry_status = 0;
rc = assuan_transact (entry_ctx, "GETPIN", getpin_cb, &parm,
inq_quality, entry_ctx,
- pinentry_status_cb, &pinentry_status);
+ pinentry_status_cb, &pininfo->status);
assuan_set_flag (entry_ctx, ASSUAN_CONFIDENTIAL, saveflag);
/* Most pinentries out in the wild return the old Assuan error code
for canceled which gets translated to an assuan Cancel error and
@@ -1121,7 +1113,7 @@ agent_askpin (ctrl_t ctrl,
/* Change error code in case the window close button was clicked
to cancel the operation. */
- if ((pinentry_status & PINENTRY_STATUS_CLOSE_BUTTON)
+ if ((pininfo->status & PINENTRY_STATUS_CLOSE_BUTTON)
&& gpg_err_code (rc) == GPG_ERR_CANCELED)
rc = gpg_err_make (gpg_err_source (rc), GPG_ERR_FULLY_CANCELED);
@@ -1148,12 +1140,19 @@ agent_askpin (ctrl_t ctrl,
/* More checks by utilizing the optional callback. */
pininfo->cb_errtext = NULL;
rc = pininfo->check_cb (pininfo);
- if (gpg_err_code (rc) == GPG_ERR_BAD_PASSPHRASE
- && pininfo->cb_errtext)
- errtext = pininfo->cb_errtext;
- else if (gpg_err_code (rc) == GPG_ERR_BAD_PASSPHRASE
- || gpg_err_code (rc) == GPG_ERR_BAD_PIN)
- errtext = (is_pin? L_("Bad PIN") : L_("Bad Passphrase"));
+ /* When pinentry cache causes an error, return now. */
+ if (rc
+ && (pininfo->status & PINENTRY_STATUS_PASSWORD_FROM_CACHE))
+ return unlock_pinentry (ctrl, rc);
+
+ if (gpg_err_code (rc) == GPG_ERR_BAD_PASSPHRASE)
+ {
+ if (pininfo->cb_errtext)
+ errtext = pininfo->cb_errtext;
+ else if (gpg_err_code (rc) == GPG_ERR_BAD_PASSPHRASE
+ || gpg_err_code (rc) == GPG_ERR_BAD_PIN)
+ errtext = (is_pin? L_("Bad PIN") : L_("Bad Passphrase"));
+ }
else if (rc)
return unlock_pinentry (ctrl, rc);
}
@@ -1161,12 +1160,12 @@ agent_askpin (ctrl_t ctrl,
if (!errtext)
{
if (pininfo->with_repeat
- && (pinentry_status & PINENTRY_STATUS_PIN_REPEATED))
+ && (pininfo->status & PINENTRY_STATUS_PIN_REPEATED))
pininfo->repeat_okay = 1;
return unlock_pinentry (ctrl, 0); /* okay, got a PIN or passphrase */
}
- if ((pinentry_status & PINENTRY_STATUS_PASSWORD_FROM_CACHE))
+ if ((pininfo->status & PINENTRY_STATUS_PASSWORD_FROM_CACHE))
/* The password was read from the cache. Don't count this
against the retry count. */
pininfo->failed_tries --;
diff --git a/agent/command-ssh.c b/agent/command-ssh.c
index 9255830..3cfd8aa 100644
--- a/agent/command-ssh.c
+++ b/agent/command-ssh.c
@@ -195,9 +195,14 @@ struct ssh_key_type_spec
algorithm. */
ssh_signature_encoder_t signature_encoder;
- /* The name of the ECC curve or NULL. */
+ /* The name of the ECC curve or NULL for non-ECC algos. This is the
+ * canonical name for the curve as specified by RFC-5656. */
const char *curve_name;
+ /* An alias for curve_name or NULL. Actually this is Libcgrypt's
+ * primary name of the curve. */
+ const char *alt_curve_name;
+
/* The hash algorithm to be used with this key. 0 for using the
default. */
int hash_algo;
@@ -292,68 +297,71 @@ static const ssh_key_type_spec_t ssh_key_types[] =
{
"ssh-ed25519", "Ed25519", GCRY_PK_EDDSA, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_eddsa,
- "Ed25519", 0, SPEC_FLAG_IS_EdDSA
+ "Ed25519", NULL, 0, SPEC_FLAG_IS_EdDSA
},
{
"ssh-rsa", "RSA", GCRY_PK_RSA, "nedupq", "en", "s", "nedpqu",
ssh_key_modifier_rsa, ssh_signature_encoder_rsa,
- NULL, 0, SPEC_FLAG_USE_PKCS1V2
+ NULL, NULL, 0, SPEC_FLAG_USE_PKCS1V2
},
{
"ssh-dss", "DSA", GCRY_PK_DSA, "pqgyx", "pqgy", "rs", "pqgyx",
NULL, ssh_signature_encoder_dsa,
- NULL, 0, 0
+ NULL, NULL, 0, 0
},
{
"ecdsa-sha2-nistp256", "ECDSA", GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp256", GCRY_MD_SHA256, SPEC_FLAG_IS_ECDSA
+ "nistp256", "NIST P-256", GCRY_MD_SHA256, SPEC_FLAG_IS_ECDSA
},
{
"ecdsa-sha2-nistp384", "ECDSA", GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp384", GCRY_MD_SHA384, SPEC_FLAG_IS_ECDSA
+ "nistp384", "NIST P-384", GCRY_MD_SHA384, SPEC_FLAG_IS_ECDSA
},
{
"ecdsa-sha2-nistp521", "ECDSA", GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp521", GCRY_MD_SHA512, SPEC_FLAG_IS_ECDSA
+ "nistp521", "NIST P-521", GCRY_MD_SHA512, SPEC_FLAG_IS_ECDSA
},
{
"ssh-ed25519-cert-v01@openssh.com", "Ed25519",
GCRY_PK_EDDSA, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_eddsa,
- "Ed25519", 0, SPEC_FLAG_IS_EdDSA | SPEC_FLAG_WITH_CERT
+ "Ed25519", NULL, 0, SPEC_FLAG_IS_EdDSA | SPEC_FLAG_WITH_CERT
},
{
"ssh-rsa-cert-v01@openssh.com", "RSA",
GCRY_PK_RSA, "nedupq", "en", "s", "nedpqu",
ssh_key_modifier_rsa, ssh_signature_encoder_rsa,
- NULL, 0, SPEC_FLAG_USE_PKCS1V2 | SPEC_FLAG_WITH_CERT
+ NULL, NULL, 0, SPEC_FLAG_USE_PKCS1V2 | SPEC_FLAG_WITH_CERT
},
{
"ssh-dss-cert-v01@openssh.com", "DSA",
GCRY_PK_DSA, "pqgyx", "pqgy", "rs", "pqgyx",
NULL, ssh_signature_encoder_dsa,
- NULL, 0, SPEC_FLAG_WITH_CERT | SPEC_FLAG_WITH_CERT
+ NULL, NULL, 0, SPEC_FLAG_WITH_CERT | SPEC_FLAG_WITH_CERT
},
{
"ecdsa-sha2-nistp256-cert-v01@openssh.com", "ECDSA",
GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp256", GCRY_MD_SHA256, SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
+ "nistp256", "NIST P-256", GCRY_MD_SHA256,
+ SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
},
{
"ecdsa-sha2-nistp384-cert-v01@openssh.com", "ECDSA",
GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp384", GCRY_MD_SHA384, SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
+ "nistp384", "NIST P-384", GCRY_MD_SHA384,
+ SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
},
{
"ecdsa-sha2-nistp521-cert-v01@openssh.com", "ECDSA",
GCRY_PK_ECC, "qd", "q", "rs", "qd",
NULL, ssh_signature_encoder_ecdsa,
- "nistp521", GCRY_MD_SHA512, SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
+ "nistp521", "NIST P-521", GCRY_MD_SHA512,
+ SPEC_FLAG_IS_ECDSA | SPEC_FLAG_WITH_CERT
}
};
@@ -384,16 +392,24 @@ realloc_secure (void *a, size_t n)
/* Lookup the ssh-identifier for the ECC curve CURVE_NAME. Returns
- NULL if not found. */
+ * NULL if not found. If found the ssh indetifier is returned and a
+ * pointer to the canonical curve name as specified for ssh is stored
+ * at R_CANON_NAME. */
static const char *
-ssh_identifier_from_curve_name (const char *curve_name)
+ssh_identifier_from_curve_name (const char *curve_name,
+ const char **r_canon_name)
{
int i;
for (i = 0; i < DIM (ssh_key_types); i++)
if (ssh_key_types[i].curve_name
- && !strcmp (ssh_key_types[i].curve_name, curve_name))
- return ssh_key_types[i].ssh_identifier;
+ && (!strcmp (ssh_key_types[i].curve_name, curve_name)
+ || (ssh_key_types[i].alt_curve_name
+ && !strcmp (ssh_key_types[i].alt_curve_name, curve_name))))
+ {
+ *r_canon_name = ssh_key_types[i].curve_name;
+ return ssh_key_types[i].ssh_identifier;
+ }
return NULL;
}
@@ -1844,7 +1860,6 @@ ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,
gpg_error_t err = 0;
gcry_sexp_t value_list = NULL;
gcry_sexp_t value_pair = NULL;
- char *curve_name = NULL;
estream_t stream = NULL;
void *blob = NULL;
size_t blob_size;
@@ -1862,7 +1877,7 @@ ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,
goto out;
}
- /* Get the type of the key extpression. */
+ /* Get the type of the key expression. */
data = gcry_sexp_nth_data (sexp, 0, &datalen);
if (!data)
{
@@ -1893,49 +1908,17 @@ ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,
/* Write the ssh algorithm identifier. */
if ((key_spec.flags & SPEC_FLAG_IS_ECDSA))
{
- /* Parse the "curve" parameter. We currently expect the curve
- name for ECC and not the parameters of the curve. This can
- easily be changed but then we need to find the curve name
- from the parameters using gcry_pk_get_curve. */
- const char *mapped;
- const char *sshname;
-
- gcry_sexp_release (value_pair);
- value_pair = gcry_sexp_find_token (value_list, "curve", 5);
- if (!value_pair)
- {
- err = gpg_error (GPG_ERR_INV_CURVE);
- goto out;
- }
- curve_name = gcry_sexp_nth_string (value_pair, 1);
- if (!curve_name)
- {
- err = gpg_error (GPG_ERR_INV_CURVE); /* (Or out of core.) */
- goto out;
- }
+ /* Map the curve name to the ssh name. */
+ const char *name, *sshname, *canon_name;
- /* Fixme: The mapping should be done by using gcry_pk_get_curve
- et al to iterate over all name aliases. */
- if (!strcmp (curve_name, "NIST P-256"))
- mapped = "nistp256";
- else if (!strcmp (curve_name, "NIST P-384"))
- mapped = "nistp384";
- else if (!strcmp (curve_name, "NIST P-521"))
- mapped = "nistp521";
- else
- mapped = NULL;
- if (mapped)
+ name = gcry_pk_get_curve (sexp, 0, NULL);
+ if (!name)
{
- xfree (curve_name);
- curve_name = xtrystrdup (mapped);
- if (!curve_name)
- {
- err = gpg_error_from_syserror ();
- goto out;
- }
+ err = gpg_error (GPG_ERR_INV_CURVE);
+ goto out;
}
- sshname = ssh_identifier_from_curve_name (curve_name);
+ sshname = ssh_identifier_from_curve_name (name, &canon_name);
if (!sshname)
{
err = gpg_error (GPG_ERR_UNKNOWN_CURVE);
@@ -1944,7 +1927,7 @@ ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,
err = stream_write_cstring (stream, sshname);
if (err)
goto out;
- err = stream_write_cstring (stream, curve_name);
+ err = stream_write_cstring (stream, canon_name);
if (err)
goto out;
}
@@ -2017,7 +2000,6 @@ ssh_key_to_blob (gcry_sexp_t sexp, int with_secret,
out:
gcry_sexp_release (value_list);
gcry_sexp_release (value_pair);
- xfree (curve_name);
es_fclose (stream);
es_free (blob);
@@ -2076,7 +2058,7 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
ssh_key_type_spec_t spec;
gcry_mpi_t *mpi_list = NULL;
const char *elems;
- char *curve_name = NULL;
+ const char *curve_name = NULL;
err = stream_read_cstring (stream, &key_type);
@@ -2199,34 +2181,19 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
* certificate.
*/
unsigned char *buffer;
- const char *mapped;
err = stream_read_string (cert? cert : stream, 0, &buffer, NULL);
if (err)
goto out;
- curve_name = buffer;
- /* Fixme: Check that curve_name matches the keytype. */
- /* Because Libgcrypt < 1.6 has no support for the "nistpNNN"
- curve names, we need to translate them here to Libgcrypt's
- native names. */
- if (!strcmp (curve_name, "nistp256"))
- mapped = "NIST P-256";
- else if (!strcmp (curve_name, "nistp384"))
- mapped = "NIST P-384";
- else if (!strcmp (curve_name, "nistp521"))
- mapped = "NIST P-521";
- else
- mapped = NULL;
- if (mapped)
+ /* Get the canonical name. Should be the same as the read
+ * string but we use this mapping to validate that name. */
+ if (!ssh_identifier_from_curve_name (buffer, &curve_name))
{
- xfree (curve_name);
- curve_name = xtrystrdup (mapped);
- if (!curve_name)
- {
- err = gpg_error_from_syserror ();
- goto out;
- }
+ err = gpg_error (GPG_ERR_UNKNOWN_CURVE);
+ xfree (buffer);
+ goto out;
}
+ xfree (buffer);
err = ssh_receive_mpint_list (stream, secret, &spec, cert, &mpi_list);
if (err)
@@ -2294,7 +2261,6 @@ ssh_receive_key (estream_t stream, gcry_sexp_t *key_new, int secret,
out:
es_fclose (cert);
mpint_list_free (mpi_list);
- xfree (curve_name);
xfree (key_type);
xfree (comment);
@@ -2642,6 +2608,8 @@ ssh_handler_request_identities (ctrl_t ctrl,
continue;
err = ssh_send_key_public (key_blobs, key_public, cardsn);
+ if (err && opt.verbose)
+ gcry_log_debugsxp ("pubkey", key_public);
gcry_sexp_release (key_public);
key_public = NULL;
xfree (cardsn);
@@ -2717,6 +2685,8 @@ ssh_handler_request_identities (ctrl_t ctrl,
}
else
{
+ log_error ("ssh request identities failed: %s <%s>\n",
+ gpg_strerror (err), gpg_strsource (err));
ret_err = stream_write_byte (response, SSH_RESPONSE_FAILURE);
}
diff --git a/agent/divert-scd.c b/agent/divert-scd.c
index 88b35cd..d933779 100644
--- a/agent/divert-scd.c
+++ b/agent/divert-scd.c
@@ -278,25 +278,47 @@ getpin_cb (void *opaque, const char *desc_text, const char *info,
{
if (info)
{
- char *desc, *desc2;
+ char *desc;
+ const char *desc2;
- if ( asprintf (&desc,
- L_("%s%%0A%%0AUse the reader's pinpad for input."),
- info) < 0 )
- rc = gpg_error_from_syserror ();
+ if (!strcmp (info, "--ack"))
+ {
+ desc2 = L_("Push ACK button on card/token.");
+
+ if (desc_text)
+ {
+ desc = strconcat (desc_text,
+ has_percent0A_suffix (desc_text)
+ ? "%0A" : "%0A%0A",
+ desc2, NULL);
+ desc2 = NULL;
+ }
+ else
+ desc = NULL;
+ }
else
{
- /* Prepend DESC_TEXT to INFO. */
+ desc2 = NULL;
+
if (desc_text)
- desc2 = strconcat (desc_text,
- has_percent0A_suffix (desc_text)
- ? "%0A" : "%0A%0A",
- desc, NULL);
+ desc = strconcat (desc_text,
+ has_percent0A_suffix (desc_text)
+ ? "%0A" : "%0A%0A",
+ info, "%0A%0A",
+ L_("Use the reader's pinpad for input."),
+ NULL);
else
- desc2 = NULL;
+ desc = strconcat (info, "%0A%0A",
+ L_("Use the reader's pinpad for input."),
+ NULL);
+ }
+
+ if (!desc2 && !desc)
+ rc = gpg_error_from_syserror ();
+ else
+ {
rc = agent_popup_message_start (ctrl,
desc2? desc2:desc, NULL);
- xfree (desc2);
xfree (desc);
}
}
diff --git a/agent/findkey.c b/agent/findkey.c
index 78c3b1a..89a18fa 100644
--- a/agent/findkey.c
+++ b/agent/findkey.c
@@ -632,7 +632,17 @@ unprotect (ctrl_t ctrl, const char *cache_nonce, const char *desc_text,
pi->check_cb_arg = &arg;
rc = agent_askpin (ctrl, desc_text, NULL, NULL, pi, hexgrip, cache_mode);
- if (!rc)
+ if (rc)
+ {
+ if ((pi->status & PINENTRY_STATUS_PASSWORD_FROM_CACHE))
+ {
+ log_error ("Clearing pinentry cache which caused error %s\n",
+ gpg_strerror (rc));
+
+ agent_clear_passphrase (ctrl, hexgrip, cache_mode);
+ }
+ }
+ else
{
assert (arg.unprotected_key);
if (arg.change_required)
diff --git a/common/argparse.c b/common/argparse.c
index 90d0ff7..8f2c711 100644
--- a/common/argparse.c
+++ b/common/argparse.c
@@ -71,7 +71,7 @@
#else /* Used by GnuPG */
# define ARGPARSE_GPL_VERSION 3
-# define ARGPARSE_CRIGHT_STR "Copyright (C) 2018 Free Software Foundation, Inc."
+# define ARGPARSE_CRIGHT_STR "Copyright (C) 2019 Free Software Foundation, Inc."
#endif /*GNUPG_MAJOR_VERSION*/
diff --git a/common/openpgp-oid.c b/common/openpgp-oid.c
index d800e7d..18c5710 100644
--- a/common/openpgp-oid.c
+++ b/common/openpgp-oid.c
@@ -184,48 +184,36 @@ openpgp_oid_from_str (const char *string, gcry_mpi_t *r_mpi)
}
-/* Return a malloced string represenation of the OID in the opaque MPI
- A. In case of an error NULL is returned and ERRNO is set. */
+/* Return a malloced string representation of the OID in the buffer
+ * (BUF,LEN). In case of an error NULL is returned and ERRNO is set.
+ * As per OpenPGP spec the first byte of the buffer is the length of
+ * the rest; the function performs a consistency check. */
char *
-openpgp_oid_to_str (gcry_mpi_t a)
+openpgp_oidbuf_to_str (const unsigned char *buf, size_t len)
{
- const unsigned char *buf;
- size_t length;
- unsigned int lengthi;
char *string, *p;
int n = 0;
unsigned long val, valmask;
valmask = (unsigned long)0xfe << (8 * (sizeof (valmask) - 1));
-
- if (!a
- || !gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE)
- || !(buf = gcry_mpi_get_opaque (a, &lengthi)))
- {
- gpg_err_set_errno (EINVAL);
- return NULL;
- }
-
- buf = gcry_mpi_get_opaque (a, &lengthi);
- length = (lengthi+7)/8;
-
/* The first bytes gives the length; check consistency. */
- if (!length || buf[0] != length -1)
+
+ if (!len || buf[0] != len -1)
{
gpg_err_set_errno (EINVAL);
return NULL;
}
/* Skip length byte. */
- length--;
+ len--;
buf++;
/* To calculate the length of the string we can safely assume an
upper limit of 3 decimal characters per byte. Two extra bytes
account for the special first octect */
- string = p = xtrymalloc (length*(1+3)+2+1);
+ string = p = xtrymalloc (len*(1+3)+2+1);
if (!string)
return NULL;
- if (!length)
+ if (!len)
{
*p = 0;
return string;
@@ -237,7 +225,7 @@ openpgp_oid_to_str (gcry_mpi_t a)
p += sprintf (p, "1.%d", buf[n]-40);
else {
val = buf[n] & 0x7f;
- while ( (buf[n]&0x80) && ++n < length )
+ while ( (buf[n]&0x80) && ++n < len )
{
if ( (val & valmask) )
goto badoid; /* Overflow. */
@@ -250,10 +238,10 @@ openpgp_oid_to_str (gcry_mpi_t a)
sprintf (p, "2.%lu", val);
p += strlen (p);
}
- for (n++; n < length; n++)
+ for (n++; n < len; n++)
{
val = buf[n] & 0x7f;
- while ( (buf[n]&0x80) && ++n < length )
+ while ( (buf[n]&0x80) && ++n < len )
{
if ( (val & valmask) )
goto badoid; /* Overflow. */
@@ -278,6 +266,35 @@ openpgp_oid_to_str (gcry_mpi_t a)
}
+/* Return a malloced string representation of the OID in the opaque
+ * MPI A. In case of an error NULL is returned and ERRNO is set. */
+char *
+openpgp_oid_to_str (gcry_mpi_t a)
+{
+ const unsigned char *buf;
+ unsigned int lengthi;
+
+ if (!a
+ || !gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE)
+ || !(buf = gcry_mpi_get_opaque (a, &lengthi)))
+ {
+ gpg_err_set_errno (EINVAL);
+ return NULL;
+ }
+
+ buf = gcry_mpi_get_opaque (a, &lengthi);
+ return openpgp_oidbuf_to_str (buf, (lengthi+7)/8);
+}
+
+
+/* Return true if (BUF,LEN) represents the OID for Ed25519. */
+int
+openpgp_oidbuf_is_ed25519 (const void *buf, size_t len)
+{
+ return (buf && len == DIM (oid_ed25519)
+ && !memcmp (buf, oid_ed25519, DIM (oid_ed25519)));
+}
+
/* Return true if A represents the OID for Ed25519. */
int
@@ -285,32 +302,36 @@ openpgp_oid_is_ed25519 (gcry_mpi_t a)
{
const unsigned char *buf;
unsigned int nbits;
- size_t n;
if (!a || !gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE))
return 0;
buf = gcry_mpi_get_opaque (a, &nbits);
- n = (nbits+7)/8;
- return (n == DIM (oid_ed25519)
- && !memcmp (buf, oid_ed25519, DIM (oid_ed25519)));
+ return openpgp_oidbuf_is_ed25519 (buf, (nbits+7)/8);
}
+/* Return true if (BUF,LEN) represents the OID for Curve25519. */
+int
+openpgp_oidbuf_is_cv25519 (const void *buf, size_t len)
+{
+ return (buf && len == DIM (oid_cv25519)
+ && !memcmp (buf, oid_cv25519, DIM (oid_cv25519)));
+}
+
+
+/* Return true if the MPI A represents the OID for Curve25519. */
int
openpgp_oid_is_cv25519 (gcry_mpi_t a)
{
const unsigned char *buf;
unsigned int nbits;
- size_t n;
if (!a || !gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE))
return 0;
buf = gcry_mpi_get_opaque (a, &nbits);
- n = (nbits+7)/8;
- return (n == DIM (oid_cv25519)
- && !memcmp (buf, oid_cv25519, DIM (oid_cv25519)));
+ return openpgp_oidbuf_is_cv25519 (buf, (nbits+7)/8);
}
diff --git a/common/openpgpdefs.h b/common/openpgpdefs.h
index 85a4251..73776b3 100644
--- a/common/openpgpdefs.h
+++ b/common/openpgpdefs.h
@@ -184,5 +184,11 @@ typedef enum
}
compress_algo_t;
+/* Limits to be used for static arrays. */
+#define OPENPGP_MAX_NPKEY 5 /* Maximum number of public key parameters. */
+#define OPENPGP_MAX_NSKEY 7 /* Maximum number of secret key parameters. */
+#define OPENPGP_MAX_NSIG 2 /* Maximum number of signature parameters. */
+#define OPENPGP_MAX_NENC 2 /* Maximum number of encryption parameters. */
+
#endif /*GNUPG_COMMON_OPENPGPDEFS_H*/
diff --git a/common/server-help.c b/common/server-help.c
index 53a888a..e5a69e0 100644
--- a/common/server-help.c
+++ b/common/server-help.c
@@ -30,8 +30,22 @@
#include <config.h>
#include <string.h>
-#include "server-help.h"
#include "util.h"
+#include "server-help.h"
+
+
+static GPGRT_INLINE gpg_error_t
+my_error (int e)
+{
+ return gpg_err_make (default_errsource, (e));
+}
+
+static GPGRT_INLINE gpg_error_t
+my_error_from_syserror (void)
+{
+ return gpg_err_make (default_errsource, gpg_err_code_from_syserror ());
+}
+
/* Skip over options in LINE.
@@ -114,6 +128,40 @@ has_option_name (const char *line, const char *name)
}
+/* Parse an option with the format "--NAME=VALUE" which must occur in
+ * LINE before a double-dash. LINE is written to but not modified by
+ * this function. If the option is found and has a value the value is
+ * stored as a malloced string at R_VALUE. If the option was not
+ * found or an error occurred NULL is stored there. Note that
+ * currently the value must be a string without any space; we may
+ * eventually update this function to allow for a quoted value. */
+gpg_error_t
+get_option_value (char *line, const char *name, char **r_value)
+{
+ char *p, *pend;
+ int c;
+
+ *r_value = NULL;
+
+ p = (char*)has_option_name (line, name);
+ if (!p || p >= skip_options (line))
+ return 0;
+
+ if (*p != '=' || !p[1] || spacep (p+1))
+ return my_error (GPG_ERR_INV_ARG);
+ p++;
+ for (pend = p; *pend && !spacep (pend); pend++)
+ ;
+ c = *pend;
+ *pend = 0;
+ *r_value = xtrystrdup (p);
+ *pend = c;
+ if (!p)
+ return my_error_from_syserror ();
+ return 0;
+}
+
+
/* Return a pointer to the argument of the option with NAME. If such
an option is not given, NULL is returned. */
char *
diff --git a/common/server-help.h b/common/server-help.h
index 9e3d7ad..9d2f4cf 100644
--- a/common/server-help.h
+++ b/common/server-help.h
@@ -55,6 +55,14 @@ int has_leading_option (const char *line, const char *name);
or a space. */
const char *has_option_name (const char *line, const char *name);
+/* Same as has_option_name but ignores all options after a "--" and
+ * does not return a const char ptr. */
+char *has_leading_option_name (char *line, const char *name);
+
+/* Parse an option with the format "--NAME=VALUE" and return the value
+ * as a malloced string. */
+gpg_error_t get_option_value (char *line, const char *name, char **r_value);
+
/* Return a pointer to the argument of the option with NAME. If such
an option is not given, NULL is returned. */
char *option_value (const char *line, const char *name);
diff --git a/common/sexputil.c b/common/sexputil.c
index f30790a..5e51f68 100644
--- a/common/sexputil.c
+++ b/common/sexputil.c
@@ -577,3 +577,61 @@ get_pk_algo_from_canon_sexp (const unsigned char *keydata, size_t keydatalen)
gcry_sexp_release (sexp);
return algo;
}
+
+
+/* Given the public key S_PKEY, return a new buffer with a descriptive
+ * string for its algorithm. This function may return NULL on memory
+ * error. */
+char *
+pubkey_algo_string (gcry_sexp_t s_pkey)
+{
+ const char *prefix;
+ gcry_sexp_t l1;
+ char *algoname;
+ int algo;
+ char *result;
+
+ l1 = gcry_sexp_find_token (s_pkey, "public-key", 0);
+ if (!l1)
+ return xtrystrdup ("E_no_key");
+ {
+ gcry_sexp_t l_tmp = gcry_sexp_cadr (l1);
+ gcry_sexp_release (l1);
+ l1 = l_tmp;
+ }
+ algoname = gcry_sexp_nth_string (l1, 0);
+ gcry_sexp_release (l1);
+ if (!algoname)
+ return xtrystrdup ("E_no_algo");
+
+ algo = gcry_pk_map_name (algoname);
+ switch (algo)
+ {
+ case GCRY_PK_RSA: prefix = "rsa"; break;
+ case GCRY_PK_ELG: prefix = "elg"; break;
+ case GCRY_PK_DSA: prefix = "dsa"; break;
+ case GCRY_PK_ECC: prefix = ""; break;
+ default: prefix = NULL; break;
+ }
+
+ if (prefix && *prefix)
+ result = xtryasprintf ("%s%u", prefix, gcry_pk_get_nbits (s_pkey));
+ else if (prefix)
+ {
+ const char *curve = gcry_pk_get_curve (s_pkey, 0, NULL);
+ const char *name = openpgp_oid_to_curve
+ (openpgp_curve_to_oid (curve, NULL), 0);
+
+ if (name)
+ result = xtrystrdup (name);
+ else if (curve)
+ result = xtryasprintf ("X_%s", curve);
+ else
+ result = xtrystrdup ("E_unknown");
+ }
+ else
+ result = xtryasprintf ("X_algo_%d", algo);
+
+ xfree (algoname);
+ return result;
+}
diff --git a/common/stringhelp.c b/common/stringhelp.c
index 0abac8a..68fe997 100644
--- a/common/stringhelp.c
+++ b/common/stringhelp.c
@@ -810,6 +810,19 @@ ascii_strlwr (char *s)
return s;
}
+/* Upcase all ASCII characters in S. */
+char *
+ascii_strupr (char *s)
+{
+ char *p = s;
+
+ for (p=s; *p; p++ )
+ if (isascii (*p) && *p >= 'a' && *p <= 'z')
+ *p &= ~0x20;
+
+ return s;
+}
+
int
ascii_strcasecmp( const char *a, const char *b )
{
diff --git a/common/stringhelp.h b/common/stringhelp.h
index 5b07af9..7df6c76 100644
--- a/common/stringhelp.h
+++ b/common/stringhelp.h
@@ -76,6 +76,7 @@ int ascii_islower (int c);
int ascii_toupper (int c);
int ascii_tolower (int c);
char *ascii_strlwr (char *s);
+char *ascii_strupr (char *s);
int ascii_strcasecmp( const char *a, const char *b );
int ascii_strncasecmp (const char *a, const char *b, size_t n);
int ascii_memcasecmp( const void *a, const void *b, size_t n );
diff --git a/common/t-openpgp-oid.c b/common/t-openpgp-oid.c
index cb5709d..fd9de5d 100644
--- a/common/t-openpgp-oid.c
+++ b/common/t-openpgp-oid.c
@@ -142,7 +142,15 @@ test_openpgp_oid_to_str (void)
fail (idx, 0);
xfree (string);
gcry_mpi_release (a);
- }
+
+ /* Again using the buffer variant. */
+ string = openpgp_oidbuf_to_str (samples[idx].der, samples[idx].der[0]+1);
+ if (!string)
+ fail (idx, gpg_error_from_syserror ());
+ if (strcmp (string, samples[idx].string))
+ fail (idx, 0);
+ xfree (string);
+}
}
diff --git a/common/util.h b/common/util.h
index c6d19c6..27f565b 100644
--- a/common/util.h
+++ b/common/util.h
@@ -199,6 +199,7 @@ gpg_error_t get_rsa_pk_from_canon_sexp (const unsigned char *keydata,
int get_pk_algo_from_key (gcry_sexp_t key);
int get_pk_algo_from_canon_sexp (const unsigned char *keydata,
size_t keydatalen);
+char *pubkey_algo_string (gcry_sexp_t s_pkey);
/*-- convert.c --*/
int hex2bin (const char *string, void *buffer, size_t length);
@@ -219,8 +220,11 @@ size_t percent_unescape_inplace (char *string, int nulrepl);
/*-- openpgp-oid.c --*/
gpg_error_t openpgp_oid_from_str (const char *string, gcry_mpi_t *r_mpi);
+char *openpgp_oidbuf_to_str (const unsigned char *buf, size_t len);
char *openpgp_oid_to_str (gcry_mpi_t a);
+int openpgp_oidbuf_is_ed25519 (const void *buf, size_t len);
int openpgp_oid_is_ed25519 (gcry_mpi_t a);
+int openpgp_oidbuf_is_cv25519 (const void *buf, size_t len);
int openpgp_oid_is_cv25519 (gcry_mpi_t a);
const char *openpgp_curve_to_oid (const char *name, unsigned int *r_nbits);
const char *openpgp_oid_to_curve (const char *oid, int canon);
diff --git a/common/w32info-rc.h.in b/common/w32info-rc.h.in
index 2ff6863..ea9d463 100644
--- a/common/w32info-rc.h.in
+++ b/common/w32info-rc.h.in
@@ -29,4 +29,4 @@ built on @BUILD_HOSTNAME@ at @BUILD_TIMESTAMP@\0"
#define W32INFO_PRODUCTVERSION "@VERSION@\0"
#define W32INFO_LEGALCOPYRIGHT "Copyright \xa9 \
-2018 Free Software Foundation, Inc.\0"
+2019 Free Software Foundation, Inc.\0"
diff --git a/configure.ac b/configure.ac
index 919ab31..f0e06b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# configure.ac - for GnuPG 2.1
-# Copyright (C) 1998-2018 Free Software Foundation, Inc.
-# Copyright (C) 1998-2018 Werner Koch
+# Copyright (C) 1998-2019 Free Software Foundation, Inc.
+# Copyright (C) 1998-2019 Werner Koch
#
# This file is part of GnuPG.
#
@@ -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], [12])
+m4_define([mym4_micro], [13])
# 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/dirmngr.c b/dirmngr/dirmngr.c
index 55c7a49..667308c 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -802,6 +802,7 @@ static void
thread_init (void)
{
npth_init ();
+ assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
gpgrt_set_syscall_clamp (npth_unprotect, npth_protect);
/* Now with NPth running we can set the logging callback. Our
@@ -877,7 +878,6 @@ main (int argc, char **argv)
assuan_set_malloc_hooks (&malloc_hooks);
assuan_set_assuan_log_prefix (log_get_prefix (NULL));
assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT);
- assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH);
assuan_sock_init ();
setup_libassuan_logging (&opt.debug, dirmngr_assuan_log_monitor);
diff --git a/dirmngr/dns.c b/dirmngr/dns.c
index 77f83f4..968fc3d 100644
--- a/dirmngr/dns.c
+++ b/dirmngr/dns.c
@@ -77,6 +77,7 @@ typedef int socket_fd_t;
#include <netdb.h> /* struct addrinfo */
#endif
+#include "gpgrt.h" /* For GGPRT_GCC_VERSION */
#include "dns.h"
@@ -7521,9 +7522,13 @@ static unsigned char *dns_so_tcp_recv_buffer(struct dns_socket *so) {
}
-#if defined __clang__
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Warray-bounds"
+
+#if GPGRT_GCC_VERSION >= 80000
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Warray-bounds"
+#elif defined __clang__
+# pragma clang diagnostic push
+# pragma clang diagnostic ignored "-Warray-bounds"
#endif
static int dns_so_tcp_send(struct dns_socket *so) {
@@ -7589,8 +7594,10 @@ static int dns_so_tcp_recv(struct dns_socket *so) {
return 0;
} /* dns_so_tcp_recv() */
-#if __clang__
-#pragma clang diagnostic pop
+#if GPGRT_GCC_VERSION >= 80000
+# pragma GCC diagnostic pop
+#elif __clang__
+# pragma clang diagnostic pop
#endif
diff --git a/doc/gpg.texi b/doc/gpg.texi
index 1eed9fa..1597f9e 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -1895,32 +1895,12 @@ are available for all keyserver types, some common options are:
retrieving keys by subkey id.
@item timeout
- Tell the keyserver helper program how long (in seconds) to try and
- perform a keyserver action before giving up. Note that performing
- multiple actions at the same time uses this timeout value per action.
- For example, when retrieving multiple keys via @option{--receive-keys}, the
- timeout applies separately to each key retrieval, and not to the
- @option{--receive-keys} command as a whole. Defaults to 30 seconds.
-
- @item http-proxy=@var{value}
- This option is deprecated.
- Set the proxy to use for HTTP and HKP keyservers.
- This overrides any proxy defined in @file{dirmngr.conf}.
-
- @item verbose
- This option has no more function since GnuPG 2.1. Use the
- @code{dirmngr} configuration options instead.
-
- @item debug
- This option has no more function since GnuPG 2.1. Use the
- @code{dirmngr} configuration options instead.
-
- @item check-cert
- This option has no more function since GnuPG 2.1. Use the
- @code{dirmngr} configuration options instead.
-
+ @itemx http-proxy=@var{value}
+ @itemx verbose
+ @itemx debug
+ @itemx check-cert
@item ca-cert-file
- This option has no more function since GnuPG 2.1. Use the
+ These options have no more function since GnuPG 2.1. Use the
@code{dirmngr} configuration options instead.
@end table
diff --git a/doc/specify-user-id.texi b/doc/specify-user-id.texi
index b363c2a..64e354b 100644
--- a/doc/specify-user-id.texi
+++ b/doc/specify-user-id.texi
@@ -135,7 +135,7 @@ RFC-2253 encoded DN of the issuer. See note above.
@item By keygrip.
This is indicated by an ampersand followed by the 40 hex digits of a
keygrip. @command{gpgsm} prints the keygrip when using the command
-@option{--dump-cert}. It does not yet work for OpenPGP keys.
+@option{--dump-cert}.
@cartouche
@example
@@ -171,6 +171,3 @@ Using the RFC-2253 format of DNs has the drawback that it is not
possible to map them back to the original encoding, however we don't
have to do this because our key database stores this encoding as meta
data.
-
-
-
diff --git a/doc/wks.texi b/doc/wks.texi
index d6798b1..7a19e75 100644
--- a/doc/wks.texi
+++ b/doc/wks.texi
@@ -124,7 +124,7 @@ Requires installation of that command.
@item --with-colons
@opindex with-colons
This option has currently only an effect on the @option{--supported}
-command. If it is used all arguimenst on the command line are taken
+command. If it is used all arguments on the command line are taken
as domain names and tested for WKD support. The output format is one
line per domain with colon delimited fields. The currently specified
fields are (future versions may specify additional fields):
diff --git a/g10/gpg.c b/g10/gpg.c
index 0e98c1a..a8f42e0 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1,7 +1,7 @@
/* gpg.c - The GnuPG utility (main for gpg)
- * Copyright (C) 1998-2011 Free Software Foundation, Inc.
- * Copyright (C) 1997-2017 Werner Koch
- * Copyright (C) 2015-2017 g10 Code GmbH
+ * Copyright (C) 1998-2019 Free Software Foundation, Inc.
+ * Copyright (C) 1997-2019 Werner Koch
+ * Copyright (C) 2015-2019 g10 Code GmbH
*
* This file is part of GnuPG.
*
diff --git a/g10/keylist.c b/g10/keylist.c
index 66b03bb..262ea8d 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -610,6 +610,7 @@ list_one (ctrl_t ctrl, strlist_t names, int secret, int mark_secret)
{
log_error ("error reading key: %s\n", gpg_strerror (rc));
getkey_end (ctrl, ctx);
+ write_status_error ("keylist.getkey", rc);
return;
}
diff --git a/g10/misc.c b/g10/misc.c
index 9780969..6d525a8 100644
--- a/g10/misc.c
+++ b/g10/misc.c
@@ -508,6 +508,7 @@ map_pk_gcry_to_openpgp (enum gcry_pk_algos algo)
{
switch (algo)
{
+ case GCRY_PK_EDDSA: return PUBKEY_ALGO_EDDSA;
case GCRY_PK_ECDSA: return PUBKEY_ALGO_ECDSA;
case GCRY_PK_ECDH: return PUBKEY_ALGO_ECDH;
default: return algo < 110 ? (pubkey_algo_t)algo : 0;
@@ -644,6 +645,13 @@ openpgp_pk_test_algo2 (pubkey_algo_t algo, unsigned int use)
if (!ga)
return gpg_error (GPG_ERR_PUBKEY_ALGO);
+ /* Elgamal in OpenPGP used to support signing and Libgcrypt still
+ * does. However, we removed the signing capability from gpg ages
+ * ago. This function should reflect this so that errors are thrown
+ * early and not only when we try to sign using Elgamal. */
+ if (ga == GCRY_PK_ELG && (use & (PUBKEY_USAGE_CERT | PUBKEY_USAGE_SIG)))
+ return gpg_error (GPG_ERR_WRONG_PUBKEY_ALGO);
+
/* Now check whether Libgcrypt has support for the algorithm. */
return gcry_pk_algo_info (ga, GCRYCTL_TEST_ALGO, NULL, &use_buf);
}
diff --git a/g10/packet.h b/g10/packet.h
index 6d01b10..d273bb3 100644
--- a/g10/packet.h
+++ b/g10/packet.h
@@ -34,11 +34,11 @@
#define DEBUG_PARSE_PACKET 1
-/* Constants to allocate static MPI arrays. */
-#define PUBKEY_MAX_NPKEY 5
-#define PUBKEY_MAX_NSKEY 7
-#define PUBKEY_MAX_NSIG 2
-#define PUBKEY_MAX_NENC 2
+/* Constants to allocate static MPI arrays. */
+#define PUBKEY_MAX_NPKEY OPENPGP_MAX_NPKEY
+#define PUBKEY_MAX_NSKEY OPENPGP_MAX_NSKEY
+#define PUBKEY_MAX_NSIG OPENPGP_MAX_NSIG
+#define PUBKEY_MAX_NENC OPENPGP_MAX_NENC
/* Usage flags */
#define PUBKEY_USAGE_SIG GCRY_PK_USAGE_SIGN /* Good for signatures. */
diff --git a/kbx/kbxutil.c b/kbx/kbxutil.c
index 07774f2..f156122 100644
--- a/kbx/kbxutil.c
+++ b/kbx/kbxutil.c
@@ -330,6 +330,18 @@ dump_fpr (const unsigned char *buffer, size_t len)
static void
+dump_grip (const unsigned char *buffer, size_t len)
+{
+ int i;
+
+ for (i=0; i < len; i++, buffer++)
+ {
+ printf ("%02X", buffer[0]);
+ }
+}
+
+
+static void
dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
{
printf ("pub %2d %02X%02X%02X%02X",
@@ -338,6 +350,9 @@ dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
info->primary.keyid[6], info->primary.keyid[7] );
dump_fpr (info->primary.fpr, info->primary.fprlen);
putchar ('\n');
+ fputs ("grp ", stdout);
+ dump_grip (info->primary.grip, 20);
+ putchar ('\n');
if (info->nsubkeys)
{
struct _keybox_openpgp_key_info *k;
@@ -351,6 +366,9 @@ dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
k->keyid[6], k->keyid[7] );
dump_fpr (k->fpr, k->fprlen);
putchar ('\n');
+ fputs ("grp ", stdout);
+ dump_grip (k->grip, 20);
+ putchar ('\n');
k = k->next;
}
while (k);
diff --git a/kbx/keybox-defs.h b/kbx/keybox-defs.h
index be2dd72..d2b79ba 100644
--- a/kbx/keybox-defs.h
+++ b/kbx/keybox-defs.h
@@ -94,11 +94,12 @@ struct keybox_handle {
};
-/* Openpgp helper structures. */
+/* OpenPGP helper structures. */
struct _keybox_openpgp_key_info
{
struct _keybox_openpgp_key_info *next;
int algo;
+ unsigned char grip[20];
unsigned char keyid[8];
int fprlen; /* Either 16 or 20 */
unsigned char fpr[20];
diff --git a/kbx/keybox-openpgp.c b/kbx/keybox-openpgp.c
index 0ba0b9a..6d6ed77 100644
--- a/kbx/keybox-openpgp.c
+++ b/kbx/keybox-openpgp.c
@@ -38,6 +38,13 @@
#include "../common/openpgpdefs.h"
#include "../common/host2net.h"
+struct keyparm_s
+{
+ const char *mpi;
+ int len; /* int to avoid a cast in gcry_sexp_build. */
+};
+
+
/* Assume a valid OpenPGP packet at the address pointed to by BUFBTR
which has a maximum length as stored at BUFLEN. Return the header
information of that packet and advance the pointer stored at BUFPTR
@@ -165,6 +172,86 @@ next_packet (unsigned char const **bufptr, size_t *buflen,
}
+/* Take a list of key parameters KP for the OpenPGP ALGO and compute
+ * the keygrip which will be stored at GRIP. GRIP needs to be a
+ * buffer of 20 bytes. */
+static gpg_error_t
+keygrip_from_keyparm (int algo, struct keyparm_s *kp, unsigned char *grip)
+{
+ gpg_error_t err;
+ gcry_sexp_t s_pkey = NULL;
+
+ switch (algo)
+ {
+ case PUBKEY_ALGO_DSA:
+ err = gcry_sexp_build (&s_pkey, NULL,
+ "(public-key(dsa(p%b)(q%b)(g%b)(y%b)))",
+ kp[0].len, kp[0].mpi,
+ kp[1].len, kp[1].mpi,
+ kp[2].len, kp[2].mpi,
+ kp[3].len, kp[3].mpi);
+ break;
+
+ case PUBKEY_ALGO_ELGAMAL:
+ case PUBKEY_ALGO_ELGAMAL_E:
+ err = gcry_sexp_build (&s_pkey, NULL,
+ "(public-key(elg(p%b)(g%b)(y%b)))",
+ kp[0].len, kp[0].mpi,
+ kp[1].len, kp[1].mpi,
+ kp[2].len, kp[2].mpi);
+ break;
+
+ case PUBKEY_ALGO_RSA:
+ case PUBKEY_ALGO_RSA_S:
+ case PUBKEY_ALGO_RSA_E:
+ err = gcry_sexp_build (&s_pkey, NULL,
+ "(public-key(rsa(n%b)(e%b)))",
+ kp[0].len, kp[0].mpi,
+ kp[1].len, kp[1].mpi);
+ break;
+
+ case PUBKEY_ALGO_EDDSA:
+ case PUBKEY_ALGO_ECDSA:
+ case PUBKEY_ALGO_ECDH:
+ {
+ char *curve = openpgp_oidbuf_to_str (kp[0].mpi, kp[0].len);
+ if (!curve)
+ err = gpg_error_from_syserror ();
+ else
+ {
+ err = gcry_sexp_build
+ (&s_pkey, NULL,
+ (algo == PUBKEY_ALGO_EDDSA)?
+ "(public-key(ecc(curve%s)(flags eddsa)(q%b)))":
+ (algo == PUBKEY_ALGO_ECDH
+ && openpgp_oidbuf_is_cv25519 (kp[0].mpi, kp[0].len))?
+ "(public-key(ecc(curve%s)(flags djb-tweak)(q%b)))":
+ "(public-key(ecc(curve%s)(q%b)))",
+ curve, kp[1].len, kp[1].mpi);
+ xfree (curve);
+ }
+ }
+ break;
+
+ default:
+ err = gpg_error (GPG_ERR_PUBKEY_ALGO);
+ break;
+ }
+
+ if (!err && !gcry_pk_get_keygrip (s_pkey, grip))
+ {
+ log_info ("kbx: error computing keygrip\n");
+ err = gpg_error (GPG_ERR_GENERAL);
+ }
+
+ gcry_sexp_release (s_pkey);
+
+ if (err)
+ memset (grip, 0, 20);
+ return err;
+}
+
+
/* Parse a key packet and store the information in KI. */
static gpg_error_t
parse_key (const unsigned char *data, size_t datalen,
@@ -176,10 +263,10 @@ parse_key (const unsigned char *data, size_t datalen,
size_t n;
int npkey;
unsigned char hashbuffer[768];
- const unsigned char *mpi_n = NULL;
- size_t mpi_n_len = 0, mpi_e_len = 0;
gcry_md_hd_t md;
int is_ecc = 0;
+ struct keyparm_s keyparm[OPENPGP_MAX_NPKEY];
+ unsigned char *helpmpibuf[OPENPGP_MAX_NPKEY] = { NULL };
if (datalen < 5)
return gpg_error (GPG_ERR_INV_PACKET);
@@ -245,6 +332,9 @@ parse_key (const unsigned char *data, size_t datalen,
nbytes++; /* The size byte itself. */
if (datalen < nbytes)
return gpg_error (GPG_ERR_INV_PACKET);
+
+ keyparm[i].mpi = data;
+ keyparm[i].len = nbytes;
}
else
{
@@ -254,21 +344,40 @@ parse_key (const unsigned char *data, size_t datalen,
nbytes = (nbits+7) / 8;
if (datalen < nbytes)
return gpg_error (GPG_ERR_INV_PACKET);
- /* For use by v3 fingerprint calculation we need to know the RSA
- modulus and exponent. */
- if (i==0)
- {
- mpi_n = data;
- mpi_n_len = nbytes;
- }
- else if (i==1)
- mpi_e_len = nbytes;
+
+ keyparm[i].mpi = data;
+ keyparm[i].len = nbytes;
}
data += nbytes; datalen -= nbytes;
}
n = data - data_start;
+
+ /* Note: Starting here we need to jump to leave on error. */
+
+ /* Make sure the MPIs are unsigned. */
+ for (i=0; i < npkey; i++)
+ {
+ if (!keyparm[i].len || (keyparm[i].mpi[0] & 0x80))
+ {
+ helpmpibuf[i] = xtrymalloc (1+keyparm[i].len);
+ if (!helpmpibuf[i])
+ {
+ err = gpg_error_from_syserror ();
+ goto leave;
+ }
+ helpmpibuf[i][0] = 0;
+ memcpy (helpmpibuf[i]+1, keyparm[i].mpi, keyparm[i].len);
+ keyparm[i].mpi = helpmpibuf[i];
+ keyparm[i].len++;
+ }
+ }
+
+ err = keygrip_from_keyparm (algorithm, keyparm, ki->grip);
+ if (err)
+ goto leave;
+
if (version < 4)
{
/* We do not support any other algorithm than RSA in v3
@@ -279,20 +388,20 @@ parse_key (const unsigned char *data, size_t datalen,
err = gcry_md_open (&md, GCRY_MD_MD5, 0);
if (err)
return err; /* Oops */
- gcry_md_write (md, mpi_n, mpi_n_len);
- gcry_md_write (md, mpi_n+mpi_n_len+2, mpi_e_len);
+ gcry_md_write (md, keyparm[0].mpi, keyparm[0].len);
+ gcry_md_write (md, keyparm[1].mpi, keyparm[1].len);
memcpy (ki->fpr, gcry_md_read (md, 0), 16);
gcry_md_close (md);
ki->fprlen = 16;
- if (mpi_n_len < 8)
+ if (keyparm[0].len < 8)
{
/* Moduli less than 64 bit are out of the specs scope. Zero
them out because this is what gpg does too. */
memset (ki->keyid, 0, 8);
}
else
- memcpy (ki->keyid, mpi_n + mpi_n_len - 8, 8);
+ memcpy (ki->keyid, keyparm[0].mpi + keyparm[0].len - 8, 8);
}
else
{
@@ -327,7 +436,11 @@ parse_key (const unsigned char *data, size_t datalen,
memcpy (ki->keyid, ki->fpr+12, 8);
}
- return 0;
+ leave:
+ for (i=0; i < npkey; i++)
+ xfree (helpmpibuf[i]);
+
+ return err;
}
diff --git a/kbx/keybox-search.c b/kbx/keybox-search.c
index e309cce..1f5dbdf 100644
--- a/kbx/keybox-search.c
+++ b/kbx/keybox-search.c
@@ -497,6 +497,58 @@ blob_cmp_mail (KEYBOXBLOB blob, const char *name, size_t namelen, int substr,
}
+/* Return true if the key in BLOB matches the 20 bytes keygrip GRIP.
+ * We don't have the keygrips as meta data, thus we need to parse the
+ * certificate. Fixme: We might want to return proper error codes
+ * instead of failing a search for invalid certificates etc. */
+static int
+blob_openpgp_has_grip (KEYBOXBLOB blob, const unsigned char *grip)
+{
+ int rc = 0;
+ const unsigned char *buffer;
+ size_t length;
+ size_t cert_off, cert_len;
+ struct _keybox_openpgp_info info;
+ struct _keybox_openpgp_key_info *k;
+
+ buffer = _keybox_get_blob_image (blob, &length);
+ if (length < 40)
+ return 0; /* Too short. */
+ cert_off = get32 (buffer+8);
+ cert_len = get32 (buffer+12);
+ if ((uint64_t)cert_off+(uint64_t)cert_len > (uint64_t)length)
+ return 0; /* Too short. */
+
+ if (_keybox_parse_openpgp (buffer + cert_off, cert_len, NULL, &info))
+ return 0; /* Parse error. */
+
+ if (!memcmp (info.primary.grip, grip, 20))
+ {
+ rc = 1;
+ goto leave;
+ }
+
+ if (info.nsubkeys)
+ {
+ k = &info.subkeys;
+ do
+ {
+ if (!memcmp (k->grip, grip, 20))
+ {
+ rc = 1;
+ goto leave;
+ }
+ k = k->next;
+ }
+ while (k);
+ }
+
+ leave:
+ _keybox_destroy_openpgp_info (&info);
+ return rc;
+}
+
+
#ifdef KEYBOX_WITH_X509
/* Return true if the key in BLOB matches the 20 bytes keygrip GRIP.
We don't have the keygrips as meta data, thus we need to parse the
@@ -606,12 +658,11 @@ has_fingerprint (KEYBOXBLOB blob, const unsigned char *fpr)
static inline int
has_keygrip (KEYBOXBLOB blob, const unsigned char *grip)
{
+ if (blob_get_type (blob) == KEYBOX_BLOBTYPE_PGP)
+ return blob_openpgp_has_grip (blob, grip);
#ifdef KEYBOX_WITH_X509
if (blob_get_type (blob) == KEYBOX_BLOBTYPE_X509)
return blob_x509_has_grip (blob, grip);
-#else
- (void)blob;
- (void)grip;
#endif
return 0;
}
diff --git a/po/Makevars b/po/Makevars
index b538f19..270ac59 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -62,6 +62,7 @@ XGETTEXT_OPTIONS = \
--flag=print_further_info:1:c-format \
--flag=write_status_printf:2:c-format \
--flag=gpgconf_write_status:2:c-format \
+ --flag=send_status_printf:3:c-format \
--flag=wks_write_status:2:c-format
# This is the copyright holder that gets inserted into the header of the
diff --git a/po/ca.po b/po/ca.po
index ad6d235..19ad09c 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -228,8 +228,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/cs.po b/po/cs.po
index 24ada94..e3cc7ef 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -230,8 +230,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Resetační kód"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, 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."
msgid "Repeat this Reset Code"
diff --git a/po/da.po b/po/da.po
index 36cc3d7..e2ace1a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -226,8 +226,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Nulstillingskode"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0ABrug læserens numeriske tastatur for indtastning."
msgid "Repeat this Reset Code"
diff --git a/po/de.po b/po/de.po
index ac4d77d..17d1cbe 100644
--- a/po/de.po
+++ b/po/de.po
@@ -212,8 +212,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Rückstellcode"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, 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."
msgid "Repeat this Reset Code"
diff --git a/po/el.po b/po/el.po
index fc25941..920954e 100644
--- a/po/el.po
+++ b/po/el.po
@@ -206,8 +206,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/eo.po b/po/eo.po
index 8626ebc..4fabaa7 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -207,8 +207,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/es.po b/po/es.po
index c0e05fb..8e6ba70 100644
--- a/po/es.po
+++ b/po/es.po
@@ -222,8 +222,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Código de Reinicio"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0A Use el teclado del lector como entrada."
msgid "Repeat this Reset Code"
diff --git a/po/et.po b/po/et.po
index 8b12acc..c3e541a 100644
--- a/po/et.po
+++ b/po/et.po
@@ -203,8 +203,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/fi.po b/po/fi.po
index 14b94c2..3ee250d 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -219,8 +219,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/fr.po b/po/fr.po
index a8e618f..21684c7 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -215,8 +215,12 @@ msgstr "CDP"
msgid "Reset Code"
msgstr "Code de réinitialisation"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0AUtilisez le pavé numérique du lecteur en entrée."
msgid "Repeat this Reset Code"
diff --git a/po/gl.po b/po/gl.po
index 61942eb..295322d 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -205,8 +205,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/hu.po b/po/hu.po
index c45dac1..c0c3d70 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -203,8 +203,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/id.po b/po/id.po
index 00d416a..59f2c3e 100644
--- a/po/id.po
+++ b/po/id.po
@@ -208,8 +208,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/it.po b/po/it.po
index 42fdee3..fd88478 100644
--- a/po/it.po
+++ b/po/it.po
@@ -203,8 +203,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/ja.po b/po/ja.po
index cde684b..baee865 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg 2.2.9\n"
+"Project-Id-Version: gnupg 2.2.13\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2018-09-18 09:58+0900\n"
+"PO-Revision-Date: 2019-02-06 17:14+0900\n"
"Last-Translator: NIIBE Yutaka <gniibe@fsij.org>\n"
"Language-Team: none\n"
"Language: ja\n"
@@ -203,9 +203,11 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "リセット・コード"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
-msgstr "%s%%0A%%0Aリーダーのピンパッドを入力に使ってください。"
+msgid "Push ACK button on card/token."
+msgstr "カード/トークンのACKボタンを押してください。"
+
+msgid "Use the reader's pinpad for input."
+msgstr "リーダーのピンパッドを入力に使ってください。"
msgid "Repeat this Reset Code"
msgstr "このリセット・コードをもう一度入力してください"
@@ -7950,10 +7952,9 @@ msgstr "URL'%s' は '%s' (%u) へリダイレクトされました\n"
msgid "too many redirections\n"
msgstr "リダイレクトが多すぎます\n"
-#, fuzzy, c-format
-#| msgid "writing to '%s'\n"
+#, c-format
msgid "redirection changed to '%s'\n"
-msgstr "'%s'への書き込み\n"
+msgstr "リダイレクトが'%s'に変更されました\n"
#, c-format
msgid "error allocating memory: %s\n"
diff --git a/po/nb.po b/po/nb.po
index 159349f..225d400 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -207,8 +207,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Tilbakestillingskode"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0ABruk leserens kodeplate til å skrive."
msgid "Repeat this Reset Code"
diff --git a/po/pl.po b/po/pl.po
index 4b775d4..9339511 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -2,13 +2,13 @@
# Copyright (C) 1998, 1999, 2000, 2001, 2002,
# 2007 Free Software Foundation, Inc.
# Janusz A. Urbanowicz <alex@bofh.net.pl>, 1999, 2000, 2001, 2002, 2003-2004
-# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2013.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2019.
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg-2.0.20\n"
+"Project-Id-Version: gnupg-2.2.12\n"
"Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"PO-Revision-Date: 2017-11-02 17:41+0100\n"
+"PO-Revision-Date: 2019-01-09 21:45+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -34,36 +34,26 @@ msgstr "|pinentry-label|_OK"
msgid "|pinentry-label|_Cancel"
msgstr "|pinentry-label|_Anuluj"
-#, fuzzy
-#| msgid "|pinentry-label|_OK"
msgid "|pinentry-label|_Yes"
-msgstr "|pinentry-label|_OK"
+msgstr "|pinentry-label|_Tak"
-#, fuzzy
-#| msgid "|pinentry-label|_OK"
msgid "|pinentry-label|_No"
-msgstr "|pinentry-label|_OK"
+msgstr "|pinentry-label|_Nie"
msgid "|pinentry-label|PIN:"
msgstr "|pinentry-label|PIN:"
-#, fuzzy
-#| msgid "|pinentry-label|_Cancel"
msgid "|pinentry-label|_Save in password manager"
-msgstr "|pinentry-label|_Anuluj"
+msgstr "|pinentry-label|_Zapisz w zarządcy haseł"
-#, fuzzy
-#| msgid "Do you really want to delete the selected keys? (y/N) "
msgid "Do you really want to make your passphrase visible on the screen?"
-msgstr "Czy na pewno chcesz usunąć wybrane klucze? (t/N) "
+msgstr "Czy na pewno pokazać hasło na ekranie?"
msgid "|pinentry-tt|Make passphrase visible"
-msgstr ""
+msgstr "|pinentry-tt|Pokazanie hasła"
-#, fuzzy
-#| msgid "Enter new passphrase"
msgid "|pinentry-tt|Hide passphrase"
-msgstr "Wprowadź nowe hasło"
+msgstr "|pinentry-tt|Ukrycie hasła"
#. TRANSLATORS: This string is displayed by Pinentry as the label
#. for the quality bar.
@@ -93,7 +83,7 @@ msgstr ""
"Proszę wprowadzić swoje hasło, żeby odblokować klucz tajny dla tej sesji"
msgid "PIN:"
-msgstr ""
+msgstr "PIN:"
msgid "Passphrase:"
msgstr "Hasło:"
@@ -109,7 +99,7 @@ msgid "SETERROR %s (try %d of %d)"
msgstr "SETERROR %s (próba %d z %d)"
msgid "Repeat:"
-msgstr ""
+msgstr "Powtórzenie:"
msgid "PIN too long"
msgstr "PIN zbyt długi"
@@ -133,13 +123,11 @@ msgstr "Niepoprawne hasło"
msgid "ssh keys greater than %d bits are not supported\n"
msgstr "klucze ssh większe niż %d bitów nie są obsługiwane\n"
-#, fuzzy, c-format
-#| msgid "can't create `%s': %s\n"
+#, c-format
msgid "can't create '%s': %s\n"
msgstr "nie można utworzyć ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "can't open `%s': %s\n"
+#, c-format
msgid "can't open '%s': %s\n"
msgstr "nie można otworzyć ,,%s'': %s\n"
@@ -151,19 +139,17 @@ msgstr "błąd pobierania numeru seryjnego karty: %s\n"
msgid "detected card with S/N: %s\n"
msgstr "wykryto kartę o numerze seryjnym: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting default authentication keyID of card: %s\n"
+#, c-format
msgid "no authentication key for ssh on card: %s\n"
-msgstr "błąd pobierania domyślnego keyID uwierzytelnienia karty: %s\n"
+msgstr "nie znaleziono klucza uwierzytelniającego dla ssh na karcie: %s\n"
#, c-format
msgid "no suitable card key found: %s\n"
msgstr "nie znaleziono pasującego klucza karty: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting stored flags: %s\n"
+#, c-format
msgid "error getting list of cards: %s\n"
-msgstr "błąd pobierania zapisanych flag: %s\n"
+msgstr "błąd pobierania listy kart: %s\n"
#, c-format
msgid ""
@@ -214,8 +200,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Kod resetujący"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, 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."
msgid "Repeat this Reset Code"
@@ -270,54 +260,29 @@ msgstr ""
msgid "Yes, protection is not needed"
msgstr "Tak, ochrona nie jest potrzebna"
-#, fuzzy, c-format
-#| msgid "Name must be at least 5 characters long\n"
+#, c-format
msgid "A passphrase should be at least %u character long."
msgid_plural "A passphrase should be at least %u characters long."
-msgstr[0] "Imię i nazwisko muszą mieć co najmniej 5 znaków długości.\n"
-msgstr[1] "Imię i nazwisko muszą mieć co najmniej 5 znaków długości.\n"
-msgstr[2] "Imię i nazwisko muszą mieć co najmniej 5 znaków długości.\n"
-
-#, fuzzy, c-format
-#| msgid ""
-#| "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
-#| "contain at least %u digit or%%0Aspecial character."
-#| msgid_plural ""
-#| "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
-#| "contain at least %u digits or%%0Aspecial characters."
+msgstr[0] "Hasło musi mieć co najmniej %u znak długości."
+msgstr[1] "Hasło musi mieć co najmniej %u znaki długości."
+msgstr[2] "Hasło musi mieć co najmniej %u znaków długości."
+
+#, c-format
msgid "A passphrase should contain at least %u digit or%%0Aspecial character."
msgid_plural ""
"A passphrase should contain at least %u digits or%%0Aspecial characters."
-msgstr[0] ""
-"Uwaga: Wprowadzono hasło, które nie jest bezpieczne.%%0AHasło powinno mieć "
-"przynajmniej %u cyfrę lub%%0Aznak specjalny."
+msgstr[0] "Hasło powinno zawierać przynajmniej %u cyfrę lub%%0Aznak specjalny."
msgstr[1] ""
-"Uwaga: Wprowadzono hasło, które nie jest bezpieczne.%%0AHasło powinno mieć "
-"przynajmniej %u cyfry lub%%0Aznaki specjalne."
+"Hasło powinno zawierać przynajmniej %u cyfry lub%%0Aznaki specjalne."
msgstr[2] ""
-"Uwaga: Wprowadzono hasło, które nie jest bezpieczne.%%0AHasło powinno mieć "
-"przynajmniej %u cyfr lub%%0Aznaków specjalnych."
+"Hasło powinno zawierać przynajmniej %u cyfr lub%%0Aznaków specjalnych."
-#, fuzzy, c-format
-#| msgid ""
-#| "Warning: You have entered an insecure passphrase.%%0AA passphrase may not "
-#| "be a known term or match%%0Acertain pattern."
+#, c-format
msgid "A passphrase may not be a known term or match%%0Acertain pattern."
-msgstr ""
-"Uwaga: Wprowadzono hasło, które nie jest bezpieczne.%%0AHasło nie może być "
-"znanym słowem ani pasować%%0Ado określonego wzorca."
+msgstr "Hasło nie może być znanym słowem ani pasować%%0Ado określonego wzorca."
-#, fuzzy
-#| msgid ""
-#| "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
-#| "be at least %u character long."
-#| msgid_plural ""
-#| "Warning: You have entered an insecure passphrase.%%0AA passphrase should "
-#| "be at least %u characters long."
msgid "Warning: You have entered an insecure passphrase."
-msgstr ""
-"Uwaga: Wprowadzono hasło, które nie jest bezpieczne.%%0AHasło powinno mieć "
-"przynajmniej %u znak długości."
+msgstr "Ostrzeżenie: Wprowadzono hasło, które nie jest bezpieczne."
#, c-format
msgid "Please enter the passphrase to%0Aprotect your new key"
@@ -339,13 +304,11 @@ msgstr "uruchomienie w trybie demona (w tle)"
msgid "run in server mode (foreground)"
msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
-#, fuzzy
-#| msgid "run in server mode"
msgid "run in supervised mode"
-msgstr "uruchomienie w trybie serwera"
+msgstr "uruchomienie w trybie dozorowanym"
msgid "verbose"
-msgstr "z dodatkowymi informacjami"
+msgstr "więcej komunikatów"
msgid "be somewhat more quiet"
msgstr "mniej komunikatów"
@@ -360,7 +323,7 @@ msgid "|FILE|read options from FILE"
msgstr "|PLIK|odczyt opcji z PLIKU"
msgid "do not detach from the console"
-msgstr "nie odczepianie od konsoli"
+msgstr "bez odłączania od konsoli"
msgid "use a log file for the server"
msgstr "użycie pliku loga dla serwera"
@@ -372,12 +335,10 @@ msgid "|PGM|use PGM as the SCdaemon program"
msgstr "|PGM|użycie PGM jako programu SCdaemon"
msgid "do not use the SCdaemon"
-msgstr "nie używanie SCdaemona"
+msgstr "nieużywanie SCdaemona"
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
msgid "|NAME|accept some commands via NAME"
-msgstr "|NAZWA|połączenie z gniazdem Assuan o tej nazwie"
+msgstr "|NAZWA|przyjęcie poleceń poprzez NAZWĘ"
msgid "ignore requests to change the TTY"
msgstr "ignorowanie żądań zmiany TTY"
@@ -389,35 +350,31 @@ msgid "|N|expire cached PINs after N seconds"
msgstr "|N|przedawnienie pamiętanych PIN-ów po N sekundach"
msgid "do not use the PIN cache when signing"
-msgstr "nie używanie pamięci PIN-ów przy podpisywaniu"
+msgstr "nieużywanie pamięci PIN-ów przy podpisywaniu"
-#, fuzzy
-#| msgid "do not allow the reuse of old passphrases"
msgid "disallow the use of an external password cache"
-msgstr "nie zezwalanie na ponowne użycie starych haseł"
+msgstr "niezezwalanie na użycie zewnętrznej pamięci podręcznej haseł"
-#, fuzzy
-#| msgid "allow clients to mark keys as \"trusted\""
msgid "disallow clients to mark keys as \"trusted\""
-msgstr "zezwolenie klientom na oznaczanie kluczy jako \"zaufanych\""
+msgstr "niezezwalanie klientom na oznaczanie kluczy jako ,,zaufanych''"
msgid "allow presetting passphrase"
msgstr "zezwolenie na predefiniowane hasło"
msgid "disallow caller to override the pinentry"
-msgstr ""
+msgstr "niezezwalanie wywołującym na nadpisywanie pinentry"
msgid "allow passphrase to be prompted through Emacs"
-msgstr ""
+msgstr "zezwolenie na pytanie o hasło poprzez Emacsa"
msgid "enable ssh support"
-msgstr ""
+msgstr "włączenie obsługi ssh"
msgid "|ALGO|use ALGO to show ssh fingerprints"
-msgstr ""
+msgstr "|ALGO|użycie ALGO do wyświetlania odcisków ssh"
msgid "enable putty support"
-msgstr ""
+msgstr "włączenie obsługi putty"
#. TRANSLATORS: @EMAIL@ will get replaced by the actual bug
#. reporting address. This is so that we can change the
@@ -425,24 +382,17 @@ msgstr ""
msgid "Please report bugs to <@EMAIL@>.\n"
msgstr "Błędy prosimy zgłaszać na adres <@EMAIL@>.\n"
-#, fuzzy
-#| msgid "Usage: gpgconf [options] (-h for help)"
msgid "Usage: @GPG_AGENT@ [options] (-h for help)"
-msgstr "Wywołanie: gpgconf [opcje] (-h podaje pomoc)"
+msgstr "Składnia: @GPG_AGENT@ [opcje] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpg-agent [options] [command [args]]\n"
-#| "Secret key management for GnuPG\n"
msgid ""
"Syntax: @GPG_AGENT@ [options] [command [args]]\n"
"Secret key management for @GNUPG@\n"
msgstr ""
-"Składnia: gpg-agent [opcje] [polecenie [argumenty]]\n"
-"Zarządzanie kluczem tajnym dla GnuPG\n"
+"Składnia: @GPG_AGENT@ [opcje] [polecenie [argumenty]]\n"
+"Zarządzanie kluczem tajnym dla @GNUPG@\n"
-#, fuzzy, c-format
-#| msgid "invalid debug-level `%s' given\n"
+#, c-format
msgid "invalid debug-level '%s' given\n"
msgstr "podano błędny poziom diagnostyki ,,%s''\n"
@@ -450,75 +400,63 @@ msgstr "podano błędny poziom diagnostyki ,,%s''\n"
msgid "selected digest algorithm is invalid\n"
msgstr "wybrany algorytm skrótów wiadomości jest niepoprawny\n"
-#, fuzzy, c-format
-#| msgid "NOTE: no default option file `%s'\n"
+#, c-format
msgid "Note: no default option file '%s'\n"
-msgstr "UWAGA: brak domyślnego pliku opcji ,,%s''\n"
+msgstr "Uwaga: brak domyślnego pliku opcji ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "option file `%s': %s\n"
+#, c-format
msgid "option file '%s': %s\n"
msgstr "plik opcji ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "reading options from `%s'\n"
+#, c-format
msgid "reading options from '%s'\n"
msgstr "odczyt opcji z ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: \"%s\" is a deprecated option\n"
+#, c-format
msgid "Note: '%s' is not considered an option\n"
-msgstr "OSTRZEŻENIE: ,,%s'' jest przestarzałą opcją.\n"
+msgstr "Uwaga: ,,%s'' nie jest uznane za opcję\n"
#, c-format
msgid "can't create socket: %s\n"
msgstr "nie można utworzyć gniazda: %s\n"
-#, fuzzy, c-format
-#| msgid "socket name `%s' is too long\n"
+#, c-format
msgid "socket name '%s' is too long\n"
-msgstr "nazwa gniazda `%s' zbyt długa\n"
+msgstr "nazwa gniazda ,,%s'' zbyt długa\n"
#, c-format
msgid "a gpg-agent is already running - not starting a new one\n"
-msgstr "gpg-agent już działa - nie uruchamianie nowego\n"
+msgstr "gpg-agent już działa - nieuruchamianie nowego\n"
#, c-format
msgid "error getting nonce for the socket\n"
msgstr "błąd podczas pobierania nonce z gniazda\n"
-#, fuzzy, c-format
-#| msgid "error binding socket to `%s': %s\n"
+#, c-format
msgid "error binding socket to '%s': %s\n"
msgstr "błąd podczas przypisywania gniazda do ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "Warning: unsafe permissions on %s \"%s\"\n"
+#, c-format
msgid "can't set permissions of '%s': %s\n"
-msgstr "Ostrzeżenie: niebezpieczne prawa dostępu do %s ,,%s''\n"
+msgstr "nie można ustawić praw dostępu do ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "listening on socket `%s'\n"
+#, c-format
msgid "listening on socket '%s'\n"
msgstr "nasłuchiwanie na gnieździe ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "can't create directory `%s': %s\n"
+#, c-format
msgid "can't create directory '%s': %s\n"
msgstr "nie można utworzyć katalogu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "directory `%s' created\n"
+#, c-format
msgid "directory '%s' created\n"
msgstr "katalog ,,%s'' utworzony\n"
-#, fuzzy, c-format
-#| msgid "stat() failed for `%s': %s\n"
+#, c-format
msgid "stat() failed for '%s': %s\n"
msgstr "stat() nie powiodło się dla ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "can't use `%s' as home directory\n"
+#, c-format
msgid "can't use '%s' as home directory\n"
msgstr "nie można użyć ,,%s'' jako katalogu domowego\n"
@@ -542,10 +480,9 @@ msgstr "obsługa ssh 0x%lx dla fd %d uruchomiona\n"
msgid "ssh handler 0x%lx for fd %d terminated\n"
msgstr "obsługa ssh 0x%lx dla fd %d zakończona\n"
-#, fuzzy, c-format
-#| msgid "pth_select failed: %s - waiting 1s\n"
+#, c-format
msgid "npth_pselect failed: %s - waiting 1s\n"
-msgstr "pth_select nie powiodło się: %s - czekanie 1s\n"
+msgstr "npth_pselect nie powiodło się: %s - czekanie 1s\n"
#, c-format
msgid "%s %s stopped\n"
@@ -557,7 +494,7 @@ msgstr "brak działającego gpg-agenta w tej sesji\n"
msgid "Usage: gpg-preset-passphrase [options] KEYGRIP (-h for help)\n"
msgstr ""
-"Wywołanie: gpg-preset-passphrase [opcje] UCHWYT_KLUCZA (-h podaje pomoc)\n"
+"Składnia: gpg-preset-passphrase [opcje] UCHWYT_KLUCZA (-h wyświetla pomoc)\n"
msgid ""
"Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
@@ -583,7 +520,7 @@ msgstr ""
" "
msgid "Usage: gpg-protect-tool [options] (-h for help)\n"
-msgstr "Wywołanie: gpg-protect-tool [opcje] (-h podaje pomoc)\n"
+msgstr "Składnia: gpg-protect-tool [opcje] (-h wyświetla pomoc)\n"
msgid ""
"Syntax: gpg-protect-tool [options] [args]\n"
@@ -619,38 +556,31 @@ msgstr "anulowano\n"
msgid "error while asking for the passphrase: %s\n"
msgstr "błąd podczas pytania o hasło: %s\n"
-#, fuzzy, c-format
-#| msgid "error opening `%s': %s\n"
+#, c-format
msgid "error opening '%s': %s\n"
msgstr "błąd podczas otwierania ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "file `%s', line %d: %s\n"
+#, c-format
msgid "file '%s', line %d: %s\n"
msgstr "plik ,,%s'', linia %d: %s\n"
-#, fuzzy, c-format
-#| msgid "statement \"%s\" ignored in `%s', line %d\n"
+#, c-format
msgid "statement \"%s\" ignored in '%s', line %d\n"
msgstr "instrukcja \"%s\" zignorowana w ,,%s'', w linii %d\n"
-#, fuzzy, c-format
-#| msgid "system trustlist `%s' not available\n"
+#, c-format
msgid "system trustlist '%s' not available\n"
msgstr "systemowa lista zaufania ,,%s'' niedostępna\n"
-#, fuzzy, c-format
-#| msgid "bad fingerprint in `%s', line %d\n"
+#, c-format
msgid "bad fingerprint in '%s', line %d\n"
msgstr "błędny odcisk w ,,%s'', w linii %d\n"
-#, fuzzy, c-format
-#| msgid "invalid keyflag in `%s', line %d\n"
+#, c-format
msgid "invalid keyflag in '%s', line %d\n"
msgstr "nieprawidłowa flaga klucza w ,,%s'', w linii %d\n"
-#, fuzzy, c-format
-#| msgid "error reading `%s', line %d: %s\n"
+#, c-format
msgid "error reading '%s', line %d: %s\n"
msgstr "błąd odczytu ,,%s'', w linii %d: %s\n"
@@ -722,22 +652,22 @@ msgstr "Zmiana hasła"
msgid "I'll change it later"
msgstr "Zmienię je później"
-#, fuzzy, c-format
-#| msgid "Do you really want to delete the selected keys? (y/N) "
+#, c-format
msgid ""
"Do you really want to delete the key identified by keygrip%%0A %s%%0A %%C"
"%%0A?"
-msgstr "Czy na pewno chcesz usunąć wybrane klucze? (t/N) "
+msgstr ""
+"Czy na pewno usunąć klucz identyfikowany przez uchwyt%%0A %s%%0A %%C%%0A?"
-#, fuzzy
-#| msgid "enable key"
msgid "Delete key"
-msgstr "włączenie klucza do użycia"
+msgstr "Usuń klucz"
msgid ""
"Warning: This key is also listed for use with SSH!\n"
"Deleting the key might remove your ability to access remote machines."
msgstr ""
+"Ostrzeżenie: ten klucz jest wymieniony także do użycia z SSH!\n"
+"Usunięcie klucza może uniemożliwić dostęp do zdalnych maszyn."
#, c-format
msgid "DSA requires the hash length to be a multiple of 8 bits\n"
@@ -747,10 +677,9 @@ msgstr "DSA wymaga długości skrótu będącego wielokrotnością 8 bitów\n"
msgid "%s key uses an unsafe (%u bit) hash\n"
msgstr "Klucz %s używa niebezpiecznego (%u-bitowego) skrótu\n"
-#, fuzzy, c-format
-#| msgid "a %u bit hash is not valid for a %u bit %s key\n"
+#, c-format
msgid "a %zu bit hash is not valid for a %u bit %s key\n"
-msgstr "skrót %u-bitowy nie jest poprawny dla %u-bitowego klucza %s\n"
+msgstr "skrót %zu-bitowy nie jest poprawny dla %u-bitowego klucza %s\n"
#, c-format
msgid "checking created signature failed: %s\n"
@@ -760,29 +689,25 @@ msgstr "sprawdzenie złożonego podpisu nie powiodło się: %s\n"
msgid "secret key parts are not available\n"
msgstr "tajne części klucza są niedostępne\n"
-#, fuzzy, c-format
-#| msgid "protection algorithm %d%s is not supported\n"
+#, c-format
msgid "public key algorithm %d (%s) is not supported\n"
-msgstr "algorytm ochrony %d%s nie jest obsługiwany\n"
+msgstr "algorytm klucza publicznego %d (%s) nie jest obsługiwany\n"
-#, fuzzy, c-format
-#| msgid "protection algorithm %d%s is not supported\n"
+#, c-format
msgid "protection algorithm %d (%s) is not supported\n"
-msgstr "algorytm ochrony %d%s nie jest obsługiwany\n"
+msgstr "algorytm ochrony %d (%s) nie jest obsługiwany\n"
-#, fuzzy, c-format
-#| msgid "protection algorithm %d%s is not supported\n"
+#, c-format
msgid "protection hash algorithm %d (%s) is not supported\n"
-msgstr "algorytm ochrony %d%s nie jest obsługiwany\n"
+msgstr "algorytm hasza ochrony %d (%s) nie jest obsługiwany\n"
#, c-format
msgid "error creating a pipe: %s\n"
msgstr "błąd tworzenia potoku: %s\n"
-#, fuzzy, c-format
-#| msgid "error creating a pipe: %s\n"
+#, c-format
msgid "error creating a stream for a pipe: %s\n"
-msgstr "błąd tworzenia potoku: %s\n"
+msgstr "błąd tworzenia strumienia dla potoku: %s\n"
#, c-format
msgid "error forking process: %s\n"
@@ -792,32 +717,27 @@ msgstr "błąd podczas tworzenia procesu: %s\n"
msgid "waiting for process %d to terminate failed: %s\n"
msgstr "oczekiwanie na zakończenie procesu %d nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "error running `%s': probably not installed\n"
+#, c-format
msgid "error running '%s': probably not installed\n"
msgstr "błąd uruchamiania ,,%s'': prawdopodobnie nie zainstalowany\n"
-#, fuzzy, c-format
-#| msgid "error running `%s': exit status %d\n"
+#, c-format
msgid "error running '%s': exit status %d\n"
msgstr "błąd uruchamiania ,,%s'': kod wyjścia %d\n"
-#, fuzzy, c-format
-#| msgid "error running `%s': terminated\n"
+#, c-format
msgid "error running '%s': terminated\n"
msgstr "błąd uruchamiania ,,%s'': zakończono\n"
-#, fuzzy, c-format
-#| msgid "waiting for process %d to terminate failed: %s\n"
+#, c-format
msgid "waiting for processes to terminate failed: %s\n"
-msgstr "oczekiwanie na zakończenie procesu %d nie powiodło się: %s\n"
+msgstr "oczekiwanie na zakończenie procesów nie powiodło się: %s\n"
#, c-format
msgid "error getting exit code of process %d: %s\n"
msgstr "błąd odczytu kodu zakończenia procesu %d: %s\n"
-#, fuzzy, c-format
-#| msgid "can't connect to `%s': %s\n"
+#, c-format
msgid "can't connect to '%s': %s\n"
msgstr "nie można się połączyć z ,,%s'': %s\n"
@@ -837,13 +757,11 @@ msgstr "Ostrzeżenie: niebezpieczne prawa własności do %s ,,%s''\n"
msgid "Warning: unsafe permissions on %s \"%s\"\n"
msgstr "Ostrzeżenie: niebezpieczne prawa dostępu do %s ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "waiting %d seconds for the agent to come up\n"
+#, c-format
msgid "waiting for file '%s' to become accessible ...\n"
-msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
+msgstr "oczekiwanie aż plik ,,%s'' stanie się dostępny...\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "renaming '%s' to '%s' failed: %s\n"
msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
@@ -898,39 +816,33 @@ msgstr "błąd przydzielania wystarczającej ilości pamięci: %s\n"
msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
msgstr "%s:%u: przestarzała opcja ,,%s'' - nie ma efektu\n"
-#, fuzzy, c-format
-#| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
+#, c-format
msgid "WARNING: \"%s%s\" is an obsolete option - it has no effect\n"
-msgstr "OSTRZEŻENIE: ,,%s'' jest przestarzałą opcją - nie ma efektu\n"
+msgstr "OSTRZEŻENIE: ,,%s%s'' jest przestarzałą opcją - nie ma efektu\n"
#, c-format
msgid "unknown debug flag '%s' ignored\n"
-msgstr ""
+msgstr "nieznana flaga diagnostyczna ,,%s'' zignorowana\n"
-#, fuzzy, c-format
-#| msgid "waiting %d seconds for the agent to come up\n"
+#, c-format
msgid "waiting for the %s to come up ... (%ds)\n"
-msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
+msgstr "oczekiwanie na uruchomienie procesu %s... (%ds)\n"
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
+#, c-format
msgid "connection to %s established\n"
-msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
+msgstr "ustanowiono połączenie z procesem %s\n"
-#, fuzzy, c-format
-#| msgid "no running gpg-agent - starting one\n"
+#, c-format
msgid "no running gpg-agent - starting '%s'\n"
-msgstr "gpg-agent nie działa - uruchamianie\n"
+msgstr "gpg-agent nie działa - uruchamianie ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "can't connect to the dirmngr - trying fall back\n"
+#, c-format
msgid "connection to agent is in restricted mode\n"
-msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
+msgstr "połączenie z agentem jest w trybie ograniczonym\n"
-#, fuzzy, c-format
-#| msgid "no running dirmngr - starting `%s'\n"
+#, c-format
msgid "no running Dirmngr - starting '%s'\n"
-msgstr "dirmngr nie działa - uruchamianie ,,%s''\n"
+msgstr "Dirmngr nie działa - uruchamianie ,,%s''\n"
#. TRANSLATORS: Copy the prefix between the vertical bars
#. verbatim. It will not be printed.
@@ -1065,8 +977,7 @@ msgstr "Gpg-Agent sprawny"
msgid "Dirmngr usable"
msgstr "Dirmngr sprawny"
-#, fuzzy, c-format
-#| msgid "No help available for `%s'."
+#, c-format
msgid "No help available for '%s'."
msgstr "Brak pomocy dla ,,%s''."
@@ -1092,10 +1003,8 @@ msgstr "słowo kluczowe zbyt długie"
msgid "missing argument"
msgstr "brak argumentu"
-#, fuzzy
-#| msgid "invalid value\n"
msgid "invalid argument"
-msgstr "niepoprawna wartość\n"
+msgstr "niepoprawny argument"
msgid "invalid command"
msgstr "błędne polecenie"
@@ -1113,10 +1022,9 @@ msgstr "błędna opcja"
msgid "missing argument for option \"%.50s\"\n"
msgstr "brak argumentu dla opcji ,,%.50s''\n"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
+#, c-format
msgid "invalid argument for option \"%.50s\"\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
+msgstr "błędny argument dla opcji ,,%.50s''\n"
#, c-format
msgid "option \"%.50s\" does not expect an argument\n"
@@ -1142,8 +1050,7 @@ msgstr "brak pamięci\n"
msgid "invalid option \"%.50s\"\n"
msgstr "błędna opcja ,,%.50s''\n"
-#, fuzzy, c-format
-#| msgid "conversion from `%s' to `%s' not available\n"
+#, c-format
msgid "conversion from '%s' to '%s' not available\n"
msgstr "konwersja z ,,%s'' do ,,%s'' niedostępna\n"
@@ -1151,18 +1058,15 @@ msgstr "konwersja z ,,%s'' do ,,%s'' niedostępna\n"
msgid "iconv_open failed: %s\n"
msgstr "iconv_open nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "conversion from `%s' to `%s' failed: %s\n"
+#, c-format
msgid "conversion from '%s' to '%s' failed: %s\n"
msgstr "konwersja z ,,%s'' do ,,%s'' nie powiodła się: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to create temporary file `%s': %s\n"
+#, c-format
msgid "failed to create temporary file '%s': %s\n"
msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error writing to `%s': %s\n"
+#, c-format
msgid "error writing to '%s': %s\n"
msgstr "błąd zapisu do ,,%s'': %s\n"
@@ -1177,8 +1081,7 @@ msgstr "oczekiwanie na blokadę (trzymaną przez %d%s) %s...\n"
msgid "(deadlock?) "
msgstr "(zakleszczenie?) "
-#, fuzzy, c-format
-#| msgid "lock `%s' not made: %s\n"
+#, c-format
msgid "lock '%s' not made: %s\n"
msgstr "blokada ,,%s'' nie założona: %s\n"
@@ -1188,7 +1091,7 @@ msgstr "oczekiwanie na blokadę %s...\n"
#, c-format
msgid "%s is too old (need %s, have %s)\n"
-msgstr "biblioteka %s jest zbyt stara (potrzebna %s, zainstalowana %s)\n"
+msgstr "biblioteka %s jest zbyt stara (wymagana %s, zainstalowana %s)\n"
#, c-format
msgid "armor: %s\n"
@@ -1265,10 +1168,9 @@ msgstr ""
"znak kodowania quoted-printable w opakowaniu ASCII - prawdopodobnie\n"
"przekłamanie wprowadzone przez serwer pocztowy\n"
-#, fuzzy, c-format
-#| msgid "not human readable"
+#, c-format
msgid "[ not human readable (%zu bytes: %s%s) ]"
-msgstr "nieczytelne dla człowieka"
+msgstr "[ nieczytelne dla człowieka (%zu bajtów: %s%s) ]"
#, c-format
msgid ""
@@ -1290,19 +1192,13 @@ msgstr "nazwa adnotacjinie może zawierać więcej niż jednego znaku ,,@''\n"
msgid "a notation value must not use any control characters\n"
msgstr "wartość adnotacji nie może zawierać żadnych znaków sterujących\n"
-#, fuzzy, c-format
-#| msgid "a notation name must not contain more than one '@' character\n"
+#, c-format
msgid "a notation name may not contain an '=' character\n"
-msgstr "nazwa adnotacjinie może zawierać więcej niż jednego znaku ,,@''\n"
+msgstr "nazwa adnotacji nie może zawierać znaku ,,=''\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "a notation name must have only printable characters or spaces, and end "
-#| "with an '='\n"
+#, c-format
msgid "a notation name must have only printable characters or spaces\n"
-msgstr ""
-"nazwa adnotacji musi zawierać tylko znaki drukowalne lub spacje i kończyć "
-"się znakiem ,,=''\n"
+msgstr "nazwa adnotacji musi zawierać tylko znaki drukowalne lub spacje\n"
#, c-format
msgid "WARNING: invalid notation data found\n"
@@ -1312,38 +1208,33 @@ msgstr "OSTRZEŻENIE: napotkano błędne dane adnotacji\n"
msgid "failed to proxy %s inquiry to client\n"
msgstr "nie udało się przekazać zapytania %s do klienta\n"
-#, fuzzy
-#| msgid "Enter passphrase\n"
msgid "Enter passphrase: "
-msgstr "Hasło\n"
+msgstr "Hasło: "
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
+#, c-format
msgid "error getting version from '%s': %s\n"
-msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
+msgstr "błąd pobierania wersji z ,,%s'': %s\n"
#, c-format
msgid "server '%s' is older than us (%s < %s)"
-msgstr ""
+msgstr "serwer ,,%s'' jest starszy niż nasz (%s < %s)"
-#, fuzzy, c-format
-#| msgid "WARNING: %s overrides %s\n"
+#, c-format
msgid "WARNING: %s\n"
-msgstr "OSTRZEŻENIE: %s powoduje obejście %s\n"
+msgstr "OSTRZEŻENIE: %s\n"
#, c-format
msgid "Note: Outdated servers may lack important security fixes.\n"
msgstr ""
+"Uwaga: przestarzałe serwery mogą nie mieć ważnych poprawek bezpieczeństwa.\n"
-#, fuzzy, c-format
-#| msgid "Please use the command \"toggle\" first.\n"
+#, c-format
msgid "Note: Use the command \"%s\" to restart them.\n"
-msgstr "Najpierw trzeba użyć polecenia \"przeł\".\n"
+msgstr "Uwaga: do restartu ich należy użyć polecenia ,,%s''.\n"
-#, fuzzy, c-format
-#| msgid "%s does not yet work with %s\n"
+#, c-format
msgid "%s is not compliant with %s mode\n"
-msgstr "%s jeszcze nie działa z %s!\n"
+msgstr "%s nie jest zgodny z trybem %s\n"
#, c-format
msgid "OpenPGP card not available: %s\n"
@@ -1408,13 +1299,11 @@ msgstr "Błąd: pełne personalia zbyt długie (limit to %d znaków).\n"
msgid "URL to retrieve public key: "
msgstr "URL do odczytania klucza publicznego: "
-#, fuzzy, c-format
-#| msgid "error reading `%s': %s\n"
+#, c-format
msgid "error reading '%s': %s\n"
msgstr "błąd odczytu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error writing `%s': %s\n"
+#, c-format
msgid "error writing '%s': %s\n"
msgstr "błąd zapisu ,,%s'': %s\n"
@@ -1464,7 +1353,7 @@ msgid ""
" If the key generation does not succeed, please check the\n"
" documentation of your card to see what sizes are allowed.\n"
msgstr ""
-"UWAGA: Nie ma gwarancji, że karta obsługuje żądany rozmiar.\n"
+"Uwaga: Nie ma gwarancji, że karta obsługuje żądany rozmiar.\n"
" Jeśli tworzenie klucza nie powiedzie się, proszę sprawdzić\n"
" dokumentację karty, aby poznać dozwolone rozmiary.\n"
@@ -1481,22 +1370,16 @@ msgid "%s keysizes must be in the range %u-%u\n"
msgstr "Rozmiary kluczy %s muszą być z przedziału %u-%u\n"
msgid "Changing card key attribute for: "
-msgstr ""
+msgstr "Zmiana atrybutu klucza karty dla: "
-#, fuzzy
-#| msgid " (1) Signature key\n"
msgid "Signature key\n"
-msgstr " (1) Klucz do podpisów\n"
+msgstr "Klucz do podpisów\n"
-#, fuzzy
-#| msgid " (2) Encryption key\n"
msgid "Encryption key\n"
-msgstr " (2) Klucz do szyfrowania\n"
+msgstr "Klucz do szyfrowania\n"
-#, fuzzy
-#| msgid " (3) Authentication key\n"
msgid "Authentication key\n"
-msgstr " (3) Klucz do uwierzytelniania\n"
+msgstr "Klucz do uwierzytelniania\n"
msgid "Please select what kind of key you want:\n"
msgstr "Proszę wybrać rodzaj klucza:\n"
@@ -1505,10 +1388,9 @@ msgstr "Proszę wybrać rodzaj klucza:\n"
msgid " (%d) RSA\n"
msgstr " (%d) RSA\n"
-#, fuzzy, c-format
-#| msgid " (%d) DSA and Elgamal\n"
+#, c-format
msgid " (%d) ECC\n"
-msgstr " (%d) DSA i Elgamala\n"
+msgstr " (%d) ECC\n"
msgid "Invalid selection.\n"
msgstr "Niewłaściwy wybór.\n"
@@ -1517,42 +1399,33 @@ msgstr "Niewłaściwy wybór.\n"
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+#, c-format
msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
+msgstr "Karta zostanie przekonfigurowana do tworzenia klucza typu: %s\n"
-#, fuzzy, c-format
-#| msgid "error changing size of key %d to %u bits: %s\n"
+#, c-format
msgid "error changing key attribute for key %d: %s\n"
-msgstr "błąd podczas zmiany rozmiaru klucza %d na %u bitów: %s\n"
+msgstr "błąd podczas zmiany atrybutu klucza %d: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting current key info: %s\n"
+#, c-format
msgid "error getting card info: %s\n"
-msgstr "błąd podczas odczytu aktualnych informacji o kluczu: %s\n"
+msgstr "błąd podczas pobierania informacji o karcie: %s\n"
-#, fuzzy, c-format
-#| msgid "This command is not allowed while in %s mode.\n"
+#, c-format
msgid "This command is not supported by this card\n"
-msgstr "To polecenie nie jest dostępne w trybie %s.\n"
+msgstr "To polecenie nie jest obsługiwane przez tę kartę\n"
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Stworzyć poza kartą kopię zapasową klucza szyfrującego? (T/n) "
-#, fuzzy, c-format
-#| msgid "NOTE: keys are already stored on the card!\n"
+#, c-format
msgid "Note: keys are already stored on the card!\n"
-msgstr "UWAGA: klucze są już zapisane na karcie!\n"
+msgstr "Uwaga: klucze są już zapisane na karcie!\n"
msgid "Replace existing keys? (y/N) "
msgstr "Zastąpić istniejące klucze? (t/N) "
-#, fuzzy, c-format
-#| msgid ""
-#| "Please note that the factory settings of the PINs are\n"
-#| " PIN = `%s' Admin PIN = `%s'\n"
-#| "You should change them using the command --change-pin\n"
+#, c-format
msgid ""
"Please note that the factory settings of the PINs are\n"
" PIN = '%s' Admin PIN = '%s'\n"
@@ -1577,28 +1450,23 @@ msgstr " (3) Klucz do uwierzytelniania\n"
msgid "Please select where to store the key:\n"
msgstr "Proszę wybrać gdzie zapisać klucz:\n"
-#, fuzzy, c-format
-#| msgid "read failed: %s\n"
+#, c-format
msgid "KEYTOCARD failed: %s\n"
-msgstr "odczyt nie powiódł się: %s\n"
+msgstr "KEYTOCARD nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "NOTE: keys are already stored on the card!\n"
+#, c-format
msgid "Note: This command destroys all keys stored on the card!\n"
-msgstr "UWAGA: klucze są już zapisane na karcie!\n"
+msgstr "Uwaga: to polecenie niszczy wszystkie klucze zapisane na karcie!\n"
-#, fuzzy
-#| msgid "Sign it? (y/N) "
msgid "Continue? (y/N) "
-msgstr "Podpisać go? (t/N) "
+msgstr "Kontynuować? (t/N) "
msgid "Really do a factory reset? (enter \"yes\") "
-msgstr ""
+msgstr "Naprawdę przywrócić stan fabryczny? (proszę wpisać ,,yes'') "
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
+#, c-format
msgid "error for setup KDF: %s\n"
-msgstr "błąd zamykania %s: %s\n"
+msgstr "błąd przy ustawianiu KDF: %s\n"
msgid "quit this menu"
msgstr "wyjście z tego menu"
@@ -1649,15 +1517,13 @@ msgid "unblock the PIN using a Reset Code"
msgstr "odblokowanie PIN-u przy użyciu kodu resetującego"
msgid "destroy all keys and data"
-msgstr ""
+msgstr "zniszczenie wszystkich kluczy i danych"
msgid "setup KDF for PIN authentication"
-msgstr ""
+msgstr "ustawienie KDF do uwierzytelniania PIN-em"
-#, fuzzy
-#| msgid "change the ownertrust"
msgid "change the key attribute"
-msgstr "zmiana zaufania właściciela"
+msgstr "zmiana atrybutu klucza"
msgid "gpg/card> "
msgstr "gpg/karta> "
@@ -1678,8 +1544,7 @@ msgstr "Niepoprawne polecenie (spróbuj ,,help'')\n"
msgid "--output doesn't work for this command\n"
msgstr "opcja --output nie działa z tym poleceniem\n"
-#, fuzzy, c-format
-#| msgid "can't open `%s'\n"
+#, c-format
msgid "can't open '%s'\n"
msgstr "nie można otworzyć ,,%s''\n"
@@ -1691,10 +1556,9 @@ msgstr "klucz ,,%s'' nie został odnaleziony: %s\n"
msgid "error reading keyblock: %s\n"
msgstr "błąd odczytu bloku kluczy: %s\n"
-#, fuzzy, c-format
-#| msgid "key \"%s\" not found: %s\n"
+#, c-format
msgid "key \"%s\" not found\n"
-msgstr "klucz ,,%s'' nie został odnaleziony: %s\n"
+msgstr "klucz ,,%s'' nie został odnaleziony\n"
#, c-format
msgid "(unless you specify the key by fingerprint)\n"
@@ -1710,18 +1574,15 @@ msgstr "Usunąć ten klucz ze zbioru? (t/N) "
msgid "This is a secret key! - really delete? (y/N) "
msgstr "To jest klucz tajny! - czy na pewno go usunąć? (t/N) "
-#, fuzzy, c-format
-#| msgid "deleting certificate \"%s\" failed: %s\n"
+#, c-format
msgid "deleting secret %s failed: %s\n"
-msgstr "usunięcie certyfikatu ,,%s'' nie powiodło się: %s\n"
+msgstr "usunięcie %s tajnego nie powiodło się: %s\n"
msgid "key"
-msgstr ""
+msgstr "klucza"
-#, fuzzy
-#| msgid "Pubkey: "
msgid "subkey"
-msgstr "Asymetryczne: "
+msgstr "podklucza"
#, c-format
msgid "deleting keyblock failed: %s\n"
@@ -1752,18 +1613,15 @@ msgstr ""
msgid "using cipher %s\n"
msgstr "szyfrem %s\n"
-#, fuzzy, c-format
-#| msgid "`%s' already compressed\n"
+#, c-format
msgid "'%s' already compressed\n"
msgstr ",,%s'' już jest skompresowany\n"
-#, fuzzy, c-format
-#| msgid "WARNING: `%s' is an empty file\n"
+#, c-format
msgid "WARNING: '%s' is an empty file\n"
msgstr "OSTRZEŻENIE: plik ,,%s'' jest pusty\n"
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
+#, c-format
msgid "reading from '%s'\n"
msgstr "odczyt z ,,%s''\n"
@@ -1774,15 +1632,13 @@ msgstr ""
"OSTRZEŻENIE: wymuszone użycie szyfru %s (%d) kłóci się z ustawieniami "
"adresata\n"
-#, fuzzy, c-format
-#| msgid "you may not use cipher algorithm `%s' while in %s mode\n"
+#, c-format
msgid "cipher algorithm '%s' may not be used in %s mode\n"
-msgstr "szyfr ,,%s'' nie jest dostępny w trybie %s\n"
+msgstr "szyfr ,,%s'' nie może być używany w trybie %s\n"
-#, fuzzy, c-format
-#| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
+#, c-format
msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
-msgstr "OSTRZEŻENIE: ,,%s'' jest przestarzałą opcją - nie ma efektu\n"
+msgstr "OSTRZEŻENIE: klucz %s nie nadaje się do szyfrowania w trybie %s\n"
#, c-format
msgid ""
@@ -1800,10 +1656,9 @@ msgstr "wymuszone użycie szyfru %s (%d) kłóci się z ustawieniami adresata\n"
msgid "%s/%s encrypted for: \"%s\"\n"
msgstr "%s/%s zaszyfrowany dla: ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "you may not use %s while in %s mode\n"
+#, c-format
msgid "option '%s' may not be used in %s mode\n"
-msgstr "%s nie jest dostępne w trybie %s\n"
+msgstr "opcja ,,%s'' nie może być używana w trybie %s\n"
#, c-format
msgid "%s encrypted data\n"
@@ -1839,13 +1694,11 @@ msgstr ""
"platforma wymaga użycia plików tymczasowych do wołania zewnętrznych "
"programów\n"
-#, fuzzy, c-format
-#| msgid "unable to execute program `%s': %s\n"
+#, c-format
msgid "unable to execute program '%s': %s\n"
msgstr "nie można uruchomić programu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "unable to execute shell `%s': %s\n"
+#, c-format
msgid "unable to execute shell '%s': %s\n"
msgstr "nie można uruchomić powłoki ,,%s'': %s\n"
@@ -1865,15 +1718,13 @@ msgstr "nie można uruchomić zewnętrznego programu\n"
msgid "unable to read external program response: %s\n"
msgstr "nie można odczytać odpowiedzi programu zewnętrznego: %s\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
+#, c-format
msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
-msgstr "OSTRZEŻENIE: nie można skasować pliku tymczasowego (%s) ,,%s'': %s.\n"
+msgstr "OSTRZEŻENIE: nie można skasować pliku tymczasowego (%s) ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unable to remove temp directory `%s': %s\n"
+#, c-format
msgid "WARNING: unable to remove temp directory '%s': %s\n"
-msgstr "OSTRZEŻENIE: nie można skasować tymczasowego katalogu ,,%s'': %s.\n"
+msgstr "OSTRZEŻENIE: nie można skasować tymczasowego katalogu ,,%s'': %s\n"
msgid "export signatures that are marked as local-only"
msgstr "eksport podpisów oznaczonych jako tylko lokalne"
@@ -1891,15 +1742,12 @@ msgid "remove as much as possible from key during export"
msgstr "usunięcie jak największej części klucza przy eksporcie"
msgid "use the GnuPG key backup format"
-msgstr ""
+msgstr "użycie formatu kopii zapasowej klucza GnuPG"
-#, fuzzy
-#| msgid "%s: skipped: %s\n"
msgid " - skipped"
-msgstr "%s: pominięty: %s\n"
+msgstr " - pominięty"
-#, fuzzy, c-format
-#| msgid "writing to `%s'\n"
+#, c-format
msgid "writing to '%s'\n"
msgstr "zapis do ,,%s''\n"
@@ -1919,67 +1767,61 @@ msgstr "klucz %s: klucz PGP 2.x - pominięty\n"
msgid "WARNING: nothing exported\n"
msgstr "OSTRZEŻENIE: nic nie zostało wyeksportowane!\n"
-#, fuzzy, c-format
-#| msgid "error creating `%s': %s\n"
+#, c-format
msgid "error creating '%s': %s\n"
msgstr "błąd tworzenia ,,%s'': %s\n"
msgid "[User ID not found]"
msgstr "[brak identyfikatora użytkownika]"
-#, fuzzy, c-format
-#| msgid "automatically retrieved `%s' via %s\n"
+#, c-format
msgid "automatically retrieved '%s' via %s\n"
-msgstr "automatycznie pobrano `%s' poprzez %s\n"
+msgstr "automatycznie pobrano ,,%s'' poprzez %s\n"
-#, fuzzy, c-format
-#| msgid "error retrieving `%s' via %s: %s\n"
+#, c-format
msgid "error retrieving '%s' via %s: %s\n"
-msgstr "błąd odtwarzania ,,%s'' poprzez %s: %s\n"
+msgstr "błąd pobierania ,,%s'' poprzez %s: %s\n"
msgid "No fingerprint"
msgstr "Brak odcisku"
#, c-format
msgid "checking for a fresh copy of an expired key via %s\n"
-msgstr ""
+msgstr "szukanie świeżej kopii wygasłego klucza poprzez %s\n"
#, c-format
msgid "secret key \"%s\" not found: %s\n"
msgstr "klucz prywatny ,,%s'' nie został odnaleziony: %s\n"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
+#, c-format
msgid "(check argument of option '%s')\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
+msgstr "(sprawdzić argument opcji ,,%s'')\n"
-#, fuzzy, c-format
-#| msgid "|NAME|use NAME as default secret key"
+#, c-format
msgid "Warning: not using '%s' as default key: %s\n"
-msgstr "|NAZWA|użycie NAZWY jako domyślnego klucza tajnego"
+msgstr "Ostrzeżenie: ,,%s'' nie jest użyty jako domyślny klucz: %s\n"
-#, fuzzy, c-format
-#| msgid "|NAME|use NAME as default secret key"
+#, c-format
msgid "using \"%s\" as default secret key for signing\n"
-msgstr "|NAZWA|użycie NAZWY jako domyślnego klucza tajnego"
+msgstr "użycie ,,%s'' jako domyślnego klucza tajnego do podpisywania\n"
#, c-format
msgid "all values passed to '%s' ignored\n"
-msgstr ""
+msgstr "wszystkie wartości przekazane do ,,%s'' zostały zignorowane\n"
#, c-format
msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
msgstr ""
-"Opcja --allow-non-selfsigned-uid wymusiła uznanie za poprawny klucza %s.\n"
+"Opcja --allow-non-selfsigned-uid wymusiła uznanie za poprawny niepoprawnego "
+"klucza %s.\n"
#, c-format
msgid "using subkey %s instead of primary key %s\n"
msgstr "używany jest podklucz %s zamiast klucza głównego %s\n"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
+#, c-format
msgid "valid values for option '%s':\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
+msgstr "poprawne argimenty dla opcji ,,%s'':\n"
msgid "make a signature"
msgstr "złożenie podpisu"
@@ -2018,30 +1860,22 @@ msgid "list secret keys"
msgstr "lista kluczy prywatnych"
msgid "generate a new key pair"
-msgstr "generacja nowej pary kluczy"
+msgstr "wygenerowanie nowej pary kluczy"
-#, fuzzy
-#| msgid "generate a new key pair"
msgid "quickly generate a new key pair"
-msgstr "generacja nowej pary kluczy"
+msgstr "szybkie wygenerowanie nowej pary kluczy"
-#, fuzzy
-#| msgid "generate a new key pair"
msgid "quickly add a new user-id"
-msgstr "generacja nowej pary kluczy"
+msgstr "szybkie dodanie nowego identyfikatora użytkownika"
-#, fuzzy
-#| msgid "generate a new key pair"
msgid "quickly revoke a user-id"
-msgstr "generacja nowej pary kluczy"
+msgstr "szybkie unieważnienie identyfikatora użytkownika"
-#, fuzzy
-#| msgid "generate a new key pair"
msgid "quickly set a new expiration date"
-msgstr "generacja nowej pary kluczy"
+msgstr "szybkie ustawienie nowej daty wygaśnięcia"
msgid "full featured key pair generation"
-msgstr ""
+msgstr "wygenerowanie pary kluczy z pełną funkcjonalnością"
msgid "generate a revocation certificate"
msgstr "tworzenie certyfikatu unieważnienia klucza"
@@ -2052,15 +1886,11 @@ msgstr "usunięcie klucza ze zbioru kluczy publicznych"
msgid "remove keys from the secret keyring"
msgstr "usunięcie klucza ze zbioru kluczy prywatnych"
-#, fuzzy
-#| msgid "sign a key"
msgid "quickly sign a key"
-msgstr "złożenie podpisu na kluczu"
+msgstr "szybkie złożenie podpisu na kluczu"
-#, fuzzy
-#| msgid "sign a key locally"
msgid "quickly sign a key locally"
-msgstr "złożenie prywatnego podpisu na kluczu"
+msgstr "szybkie złożenie prywatnego podpisu na kluczu"
msgid "sign a key"
msgstr "złożenie podpisu na kluczu"
@@ -2111,7 +1941,7 @@ msgid "run in server mode"
msgstr "uruchomienie w trybie serwera"
msgid "|VALUE|set the TOFU policy for a key"
-msgstr ""
+msgstr "|WARTOŚĆ|ustawienie polityki TOFU dla klucza"
msgid "create ascii armored output"
msgstr "opakowanie ASCII pliku wynikowego"
@@ -2149,16 +1979,6 @@ msgstr ""
"@\n"
"(Pełną listę poleceń i opcji można znaleźć w podręczniku systemowym.)\n"
-#, fuzzy
-#| msgid ""
-#| "@\n"
-#| "Examples:\n"
-#| "\n"
-#| " -se -r Bob [file] sign and encrypt for user Bob\n"
-#| " --clear-sign [file] make a clear text signature\n"
-#| " --detach-sign [file] make a detached signature\n"
-#| " --list-keys [names] show keys\n"
-#| " --fingerprint [names] show fingerprints\n"
msgid ""
"@\n"
"Examples:\n"
@@ -2173,29 +1993,22 @@ msgstr ""
"Przykłady:\n"
"\n"
" -se -r Bob [plik] podpisanie i zaszyfrowanie kluczem Boba\n"
-" --clear-sign [plik] podpisanie z pozostawieniem czytelności "
+" --clear-sign [plik] podpisanie z pozostawieniem czytelności "
"dokumentu\n"
" --detach-sign [plik] podpisanie z umieszczeniem podpisu w osobnym "
"pliku\n"
-" --list-keys [nazwy] pokazanie klucze\n"
+" --list-keys [nazwy] pokazanie kluczy\n"
" --fingerprint [nazwy] pokazanie odcisków kluczy\n"
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
msgid "Usage: @GPG@ [options] [files] (-h for help)"
-msgstr "Wywołanie: gpg [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Składnia: @GPG@ [opcje] [pliki] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpg [options] [files]\n"
-#| "Sign, check, encrypt or decrypt\n"
-#| "Default operation depends on the input data\n"
msgid ""
"Syntax: @GPG@ [options] [files]\n"
"Sign, check, encrypt or decrypt\n"
"Default operation depends on the input data\n"
msgstr ""
-"Składnia: gpg [opcje] [pliki]\n"
+"Składnia: @GPG@ [opcje] [pliki]\n"
"Podpisywanie, sprawdzanie podpisów, szyfrowanie, rozszyfrowywanie\n"
"Domyślnie wykonywana operacja zależy od danych wejściowych\n"
@@ -2218,112 +2031,92 @@ msgstr "Skrótów: "
msgid "Compression: "
msgstr "Kompresji: "
-#, fuzzy, c-format
-#| msgid "usage: gpgsm [options] "
+#, c-format
msgid "usage: %s [options] %s\n"
-msgstr "wywołanie: gpgsm [opcje]"
+msgstr "składnia: %s [opcje] %s\n"
#, c-format
msgid "conflicting commands\n"
msgstr "sprzeczne polecenia\n"
-#, fuzzy, c-format
-#| msgid "no = sign found in group definition `%s'\n"
+#, c-format
msgid "no = sign found in group definition '%s'\n"
msgstr "w definicji grupy ,,%s'' brak znaku ,,=''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe ownership on homedir `%s'\n"
+#, c-format
msgid "WARNING: unsafe ownership on homedir '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa własności do katalogu domowego ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe ownership on configuration file `%s'\n"
+#, c-format
msgid "WARNING: unsafe ownership on configuration file '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa własności do pliku konfiguracyjnego ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe ownership on extension `%s'\n"
+#, c-format
msgid "WARNING: unsafe ownership on extension '%s'\n"
msgstr "OSTRZEŻENIE: niebezpieczne prawa własności do rozszerzenia ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe permissions on homedir `%s'\n"
+#, c-format
msgid "WARNING: unsafe permissions on homedir '%s'\n"
msgstr "OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu domowego ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe permissions on configuration file `%s'\n"
+#, c-format
msgid "WARNING: unsafe permissions on configuration file '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa dostępu do pliku konfiguracyjnego ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe permissions on extension `%s'\n"
+#, c-format
msgid "WARNING: unsafe permissions on extension '%s'\n"
msgstr "OSTRZEŻENIE: niebezpieczne prawa dostępu do rozszerzenia ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
+#, c-format
msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego katalog "
"domowy ,,%s''\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
+#, c-format
msgid ""
"WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego plik "
"konfiguracyjny ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
+#, c-format
msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego "
"rozszerzenie ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
+#, c-format
msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego katalog "
"domowy ,,%s''\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "WARNING: unsafe enclosing directory permissions on configuration file `"
-#| "%s'\n"
+#, c-format
msgid ""
"WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego plik "
"konfiguracyjny ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
+#, c-format
msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
msgstr ""
"OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego "
"rozszerzenie ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "unknown configuration item `%s'\n"
+#, c-format
msgid "unknown configuration item '%s'\n"
msgstr "nieznana opcja konfiguracyjna ,,%s''\n"
msgid "display photo IDs during key listings"
msgstr "wyświetlenie ID zdjęć przy wypisywaniu kluczy"
-#, fuzzy
-#| msgid "show user ID validity during key listings"
msgid "show key usage information during key listings"
-msgstr "pokazywanie poprawności ID użytkownika przy wypisywaniu kluczy"
+msgstr "pokazywanie informacji o zastosowaniu klucza przy wypisywaniu kluczy"
msgid "show policy URLs during signature listings"
msgstr "pokazywanie URL-i polityk przy wypisywaniu podpisów"
@@ -2357,47 +2150,39 @@ msgstr "pokazywanie nazwy zbioru kluczy na listach kluczy"
msgid "show expiration dates during signature listings"
msgstr "pokazywanie dat wygaśnięcia przy wypisywaniu podpisów"
-#, fuzzy, c-format
-#| msgid "unknown option `%s'\n"
+#, c-format
msgid "unknown TOFU policy '%s'\n"
-msgstr "nieznana opcja ,,%s''\n"
+msgstr "nieznana polityka TOFU ,,%s''\n"
#, c-format
msgid "(use \"help\" to list choices)\n"
-msgstr ""
+msgstr "(,,help'' wyświetli listę wyborów)\n"
-#, fuzzy, c-format
-#| msgid "NOTE: old default options file `%s' ignored\n"
+#, c-format
msgid "Note: old default options file '%s' ignored\n"
-msgstr "UWAGA: stary domyślny plik opcji ,,%s'' został zignorowany\n"
+msgstr "Uwaga: stary domyślny plik opcji ,,%s'' został zignorowany\n"
-#, fuzzy, c-format
-#| msgid "NOTE: %s is not for normal use!\n"
+#, c-format
msgid "Note: %s is not for normal use!\n"
-msgstr "UWAGA: %s nie jest do normalnego użytku!\n"
+msgstr "Uwaga: %s nie jest do normalnego użytku!\n"
-#, fuzzy, c-format
-#| msgid "`%s' is not a valid signature expiration\n"
+#, c-format
msgid "'%s' is not a valid signature expiration\n"
msgstr ",,%s'' nie jest poprawnym czasem wygaśnięcia podpisu\n"
-#, fuzzy, c-format
-#| msgid "line %d: not a valid email address\n"
+#, c-format
msgid "\"%s\" is not a proper mail address\n"
-msgstr "linia %d: niepoprawny adres e-mail\n"
+msgstr ",,%s'' nie jest niepoprawnym adresem e-mail\n"
-#, fuzzy, c-format
-#| msgid "invalid country code in `%s', line %d\n"
+#, c-format
msgid "invalid pinentry mode '%s'\n"
-msgstr "niewłaściwy kod kraju w ,,%s'', w linii %d\n"
+msgstr "błędny tryb pinentry ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
+#, c-format
msgid "invalid request origin '%s'\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
+msgstr "błędne źródło żądania ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "`%s' is not a valid character set\n"
+#, c-format
msgid "'%s' is not a valid character set\n"
msgstr ",,%s'' nie jest poprawną nazwą zestawu znaków\n"
@@ -2421,10 +2206,9 @@ msgstr "%s:%d: niepoprawne opcje wczytania kluczy\n"
msgid "invalid import options\n"
msgstr "niepoprawne opcje wczytania kluczy\n"
-#, fuzzy, c-format
-#| msgid "invalid list options\n"
+#, c-format
msgid "invalid filter option: %s\n"
-msgstr "niepoprawne opcje wypisywania\n"
+msgstr "niepoprawne opcje filtrowania: %s\n"
#, c-format
msgid "%s:%d: invalid export options\n"
@@ -2556,10 +2340,9 @@ msgid "invalid min-cert-level; must be 1, 2, or 3\n"
msgstr ""
"niewłaściwy minimalny poziom sprawdzania; musi mieć wartość 0, 1, 2 lub 3\n"
-#, fuzzy, c-format
-#| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
+#, c-format
msgid "Note: simple S2K mode (0) is strongly discouraged\n"
-msgstr "UWAGA: prosty tryb S2K (0) jest stanowczo odradzany\n"
+msgstr "Uwaga: prosty tryb S2K (0) jest stanowczo odradzany\n"
#, c-format
msgid "invalid S2K mode; must be 0, 1 or 3\n"
@@ -2585,15 +2368,13 @@ msgstr "niewłaściwe ustawienia algorytmów kompresji\n"
msgid "%s does not yet work with %s\n"
msgstr "%s jeszcze nie działa z %s!\n"
-#, fuzzy, c-format
-#| msgid "you may not use digest algorithm `%s' while in %s mode\n"
+#, c-format
msgid "digest algorithm '%s' may not be used in %s mode\n"
-msgstr "skrót ,,%s'' nie jest dostępny w trybie %s\n"
+msgstr "algorytm skrótu ,,%s'' nie może być używany w trybie %s\n"
-#, fuzzy, c-format
-#| msgid "you may not use compression algorithm `%s' while in %s mode\n"
+#, c-format
msgid "compression algorithm '%s' may not be used in %s mode\n"
-msgstr "kompresja ,,%s'' nie jest dostępna w trybie %s\n"
+msgstr "algorytm kompresji ,,%s'' nie może być używany w trybie %s\n"
#, c-format
msgid "failed to initialize the TrustDB: %s\n"
@@ -2603,8 +2384,7 @@ msgstr "inicjowanie Bazy Zaufania nie powiodło się: %s\n"
msgid "WARNING: recipients (-r) given without using public key encryption\n"
msgstr "OSTRZEŻENIE: podano adresatów (-r) w działaniu które ich nie dotyczy\n"
-#, fuzzy, c-format
-#| msgid "symmetric encryption of `%s' failed: %s\n"
+#, c-format
msgid "symmetric encryption of '%s' failed: %s\n"
msgstr "szyfrowanie symetryczne ,,%s'' nie powiodło się: %s\n"
@@ -2612,8 +2392,7 @@ msgstr "szyfrowanie symetryczne ,,%s'' nie powiodło się: %s\n"
msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
msgstr "nie można użyć --symmetric --encrypt wraz z --s2k-mode 0\n"
-#, fuzzy, c-format
-#| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
+#, c-format
msgid "you cannot use --symmetric --encrypt in %s mode\n"
msgstr "nie można użyć --symmetric --encrypt w trybie %s\n"
@@ -2621,8 +2400,7 @@ msgstr "nie można użyć --symmetric --encrypt w trybie %s\n"
msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
msgstr "nie można użyć --symmetric --sign --encrypt wraz z --s2k-mode 0\n"
-#, fuzzy, c-format
-#| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
+#, c-format
msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
msgstr "nie można użyć --symmetric --sign --encrypt w trybie %s\n"
@@ -2638,10 +2416,9 @@ msgstr "odbiór z serwera kluczy nie powiódł się: %s\n"
msgid "key export failed: %s\n"
msgstr "eksport kluczy nie powiódł się: %s\n"
-#, fuzzy, c-format
-#| msgid "key export failed: %s\n"
+#, c-format
msgid "export as ssh key failed: %s\n"
-msgstr "eksport kluczy nie powiódł się: %s\n"
+msgstr "eksport do klucza ssh powiódł się: %s\n"
#, c-format
msgid "keyserver search failed: %s\n"
@@ -2659,23 +2436,22 @@ msgstr "zdjęcie opakowania ASCII nie powiodło się: %s\n"
msgid "enarmoring failed: %s\n"
msgstr "opakowywanie ASCII nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "invalid hash algorithm `%s'\n"
+#, c-format
msgid "invalid hash algorithm '%s'\n"
msgstr "niewłaściwy algorytm skrótu ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error parsing key specification '%s': %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd analizy specyfikacji klucza ,,%s'': %s\n"
#, c-format
msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
msgstr ""
+",,%s'' nie wygląda na prawidłowy identyfikator, odcisk ani uchwyt klucza\n"
#, c-format
msgid "WARNING: no command supplied. Trying to guess what you mean ...\n"
-msgstr ""
+msgstr "OSTRZEŻENIE: nie podano polecenia. Próba odgadnięcia zamiaru...\n"
#, c-format
msgid "Go ahead and type your message ...\n"
@@ -2703,10 +2479,10 @@ msgid "|FD|write status info to this FD"
msgstr "|FD|pisanie opisu stanu do deskryptora FD"
msgid "|ALGO|reject signatures made with ALGO"
-msgstr ""
+msgstr "|ALGO|odrzucanie podpisów wykonanych podanym ALGOrytmem"
msgid "Usage: gpgv [options] [files] (-h for help)"
-msgstr "Wywołanie: gpgv [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Składnia: gpgv [opcje] [pliki] (-h wyświetla pomoc)"
msgid ""
"Syntax: gpgv [options] [files]\n"
@@ -2718,8 +2494,7 @@ msgstr ""
msgid "No help available"
msgstr "Pomoc niedostępna"
-#, fuzzy, c-format
-#| msgid "No help available for `%s'"
+#, c-format
msgid "No help available for '%s'"
msgstr "Brak pomocy o ,,%s''"
@@ -2729,18 +2504,14 @@ msgstr "import podpisów oznaczonych jako tylko lokalne"
msgid "repair damage from the pks keyserver during import"
msgstr "naprawienie uszkodzeń z serwera pks przy imporcie"
-#, fuzzy
-#| msgid "do not update the trustdb after import"
msgid "do not clear the ownertrust values during import"
-msgstr "nie uaktualnianie bazy zaufania po imporcie"
+msgstr "nieczyszczenie wartości zaufania podczas importu"
msgid "do not update the trustdb after import"
-msgstr "nie uaktualnianie bazy zaufania po imporcie"
+msgstr "nieuaktualnianie bazy zaufania po imporcie"
-#, fuzzy
-#| msgid "show key fingerprint"
msgid "show key during import"
-msgstr "okazanie odcisku klucza"
+msgstr "okazanie klucza podczas importu"
msgid "only accept updates to existing keys"
msgstr "przyjmowanie tylko uaktualnień istniejących kluczy"
@@ -2752,17 +2523,13 @@ msgid "remove as much as possible from key after import"
msgstr "usuwanie jak największej części kluczy po imporcie"
msgid "run import filters and export key immediately"
-msgstr ""
+msgstr "natychmiastowe uruchomienie filtrów importu i eksport klucza"
-#, fuzzy
-#| msgid "assume input is in binary format"
msgid "assume the GnuPG key backup format"
-msgstr "przyjęcie wejścia w formacie binarnym"
+msgstr "przyjęcie wejścia w formacie kopii zapasowej klucza GnuPG"
-#, fuzzy
-#| msgid "show key fingerprint"
msgid "repair keys on import"
-msgstr "okazanie odcisku klucza"
+msgstr "naprawienie kluczy przy imporcie"
#, c-format
msgid "skipping block of type %d\n"
@@ -2776,10 +2543,9 @@ msgstr "%lu kluczy przetworzonych do tej chwili\n"
msgid "Total number processed: %lu\n"
msgstr "Ogółem przetworzonych kluczy: %lu\n"
-#, fuzzy, c-format
-#| msgid " skipped new keys: %lu\n"
+#, c-format
msgid " skipped PGP-2 keys: %lu\n"
-msgstr " pominiętych nowych kluczy: %lu\n"
+msgstr " pominiętych kluczy PGP-2: %lu\n"
#, c-format
msgid " skipped new keys: %lu\n"
@@ -2874,13 +2640,12 @@ msgstr ""
msgid "key %s: no user ID\n"
msgstr "klucz %s: brak identyfikatora użytkownika\n"
-#, fuzzy, c-format
-#| msgid "skipped \"%s\": %s\n"
+#, c-format
msgid "key %s: %s\n"
-msgstr "pominięty ,,%s'': %s\n"
+msgstr "klucz %s: %s\n"
msgid "rejected by import screener"
-msgstr ""
+msgstr "odrzucony przez filtr importu"
#, c-format
msgid "key %s: PKS subkey corruption repaired\n"
@@ -2910,8 +2675,7 @@ msgstr "klucz %s: nowy klucz - pominięty\n"
msgid "no writable keyring found: %s\n"
msgstr "brak zapisywalnego zbioru kluczy: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing keyring `%s': %s\n"
+#, c-format
msgid "error writing keyring '%s': %s\n"
msgstr "błąd zapisu zbioru kluczy ,,%s'': %s\n"
@@ -2971,20 +2735,17 @@ msgstr "klucz %s: ,,%s'' bez zmian\n"
msgid "key %s: secret key imported\n"
msgstr "klucz %s: klucz tajny wczytany do zbioru\n"
-#, fuzzy, c-format
-#| msgid "skipped: secret key already present\n"
+#, c-format
msgid "key %s: secret key already exists\n"
-msgstr "pominięty: klucz prywatny jest już wpisany\n"
+msgstr "klucz %s: klucz prywatny już istnieje\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "key %s: error sending to agent: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "klucz %s: błąd wysyłania do agenta: %s\n"
-#, fuzzy, c-format
-#| msgid "secret key \"%s\" not found: %s\n"
+#, c-format
msgid "secret key %s: %s\n"
-msgstr "klucz prywatny ,,%s'' nie został odnaleziony: %s\n"
+msgstr "klucz prywatny %s: %s\n"
#, c-format
msgid "importing secret keys not allowed\n"
@@ -3007,6 +2768,7 @@ msgstr "klucz %s: klucz tajny z błędnym szyfrem %d - pominięty\n"
#, c-format
msgid "To migrate '%s', with each smartcard, run: %s\n"
msgstr ""
+"Aby zmigrować ,,%s'', dla każdej karty procesorowej należy uruchomić: %s\n"
msgid "No reason specified"
msgstr "nie podano przyczyny"
@@ -3034,7 +2796,7 @@ msgstr "komentarz do unieważnienia: "
#, c-format
msgid "key %s: no public key - can't apply revocation certificate\n"
msgstr ""
-"klucz %s: brak klucza publicznego którego dotyczy wczytany certyfikat\n"
+"klucz %s: brak klucza publicznego, którego dotyczy wczytany certyfikat\n"
" unieważnienia\n"
#, c-format
@@ -3151,35 +2913,29 @@ msgstr "klucz %s: ,,%s'' dodany certyfikat unieważnienia\n"
msgid "key %s: direct key signature added\n"
msgstr "klucz %s: dodano bezpośredni podpis\n"
-#, fuzzy, c-format
-#| msgid "error creating keybox `%s': %s\n"
+#, c-format
msgid "error creating keybox '%s': %s\n"
msgstr "błąd tworzenia keyboksa ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
+#, c-format
msgid "error creating keyring '%s': %s\n"
-msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
+msgstr "błąd tworzenia zbioru kluczy ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "keybox `%s' created\n"
+#, c-format
msgid "keybox '%s' created\n"
msgstr "keybox ,,%s'' utworzony\n"
-#, fuzzy, c-format
-#| msgid "keyring `%s' created\n"
+#, c-format
msgid "keyring '%s' created\n"
msgstr "zbiór kluczy ,,%s'' został utworzony\n"
-#, fuzzy, c-format
-#| msgid "keyblock resource `%s': %s\n"
+#, c-format
msgid "keyblock resource '%s': %s\n"
-msgstr "zasób bloku klucza `%s': %s\n"
+msgstr "zasób bloku klucza ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error opening `%s': %s\n"
+#, c-format
msgid "error opening key DB: %s\n"
-msgstr "błąd podczas otwierania ,,%s'': %s\n"
+msgstr "błąd podczas otwierania bazy kluczy: %s\n"
#, c-format
msgid "failed to rebuild keyring cache: %s\n"
@@ -3224,6 +2980,8 @@ msgstr "Proszę wpisać domenę ograniczającą ten podpis lub Enter dla żadnej
#, c-format
msgid "Skipping user ID \"%s\", which is not a text ID.\n"
msgstr ""
+"Pominięto identyfikator użytkownika ,,%s'' nie będący identyfikatorem "
+"tekstowym.\n"
#, c-format
msgid "User ID \"%s\" is revoked."
@@ -3334,10 +3092,8 @@ msgstr " (2) Pobieżnie.%s\n"
msgid " (3) I have done very careful checking.%s\n"
msgstr " (3) Bardzo dokładnie.%s\n"
-#, fuzzy
-#| msgid "Your selection? (enter `?' for more information): "
msgid "Your selection? (enter '?' for more information): "
-msgstr "Twój wybór (,,?'' podaje więcej informacji): "
+msgstr "Wybór (,,?'' podaje więcej informacji): "
#, c-format
msgid ""
@@ -3386,10 +3142,9 @@ msgid "Key has only stub or on-card key items - no passphrase to change.\n"
msgstr ""
"Klucz ma tylko zaślepkę albo elementy na karcie - nie ma hasła do zmiany.\n"
-#, fuzzy, c-format
-#| msgid "error creating passphrase: %s\n"
+#, c-format
msgid "key %s: error changing passphrase: %s\n"
-msgstr "błąd podczas tworzenia hasła: %s\n"
+msgstr "klucz %s: błąd podczas zmiany hasła: %s\n"
msgid "save and quit"
msgstr "zapis zmian i wyjście"
@@ -3397,10 +3152,8 @@ msgstr "zapis zmian i wyjście"
msgid "show key fingerprint"
msgstr "okazanie odcisku klucza"
-#, fuzzy
-#| msgid "Enter the keygrip: "
msgid "show the keygrip"
-msgstr "Uchwyt klucza: "
+msgstr "okazanie uchwytu klucza"
msgid "list key and user IDs"
msgstr "lista kluczy i identyfikatorów użytkownika"
@@ -3522,28 +3275,19 @@ msgstr ""
msgid "Secret key is available.\n"
msgstr "Dostępny jest klucz tajny.\n"
-#, fuzzy
-#| msgid "Secret key is available.\n"
msgid "Secret subkeys are available.\n"
-msgstr "Dostępny jest klucz tajny.\n"
+msgstr "Dostępne są podklucze tajne.\n"
msgid "Need the secret key to do this.\n"
msgstr "Do wykonania tej operacji potrzebny jest klucz tajny.\n"
-#, fuzzy
-#| msgid ""
-#| "* The `sign' command may be prefixed with an `l' for local signatures "
-#| "(lsign),\n"
-#| " a `t' for trust signatures (tsign), an `nr' for non-revocable "
-#| "signatures\n"
-#| " (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
msgid ""
"* The 'sign' command may be prefixed with an 'l' for local signatures "
"(lsign),\n"
" a 't' for trust signatures (tsign), an 'nr' for non-revocable signatures\n"
" (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
msgstr ""
-"* Polecenie `sign' można poprzedzić ,,l'' dla lokalnych sygnatur (lsign),\n"
+"* Polecenie ,,sign'' można poprzedzić ,,l'' dla lokalnych sygnatur (lsign),\n"
" ,,t'' dla sygnatur zaufania (tsign) albo ,,nr'' dla sygnatur nie\n"
" podlegających unieważnieniu (nrsign), albo dowolną ich kombinacją "
"(ltsign,\n"
@@ -3552,10 +3296,9 @@ msgstr ""
msgid "Key is revoked."
msgstr "Klucz unieważniony."
-#, fuzzy
-#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
-msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
+msgstr ""
+"Czy na pewno podpisać wszystkie tekstowe identyfikatory użytkownika? (t/N) "
msgid "Really sign all user IDs? (y/N) "
msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
@@ -3563,8 +3306,7 @@ msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
msgid "Hint: Select the user IDs to sign\n"
msgstr "Podpowiedź: wybierz identyfikatory użytkownika do podpisania.\n"
-#, fuzzy, c-format
-#| msgid "Unknown signature type `%s'\n"
+#, c-format
msgid "Unknown signature type '%s'\n"
msgstr "Nieznany rodzaj podpisu ,,%s''\n"
@@ -3577,7 +3319,7 @@ msgstr "Musisz wybrać co najmniej jeden identyfikator użytkownika.\n"
#, c-format
msgid "(Use the '%s' command.)\n"
-msgstr ""
+msgstr "(Należy użyć polecenia ,,%s''.)\n"
msgid "You can't delete the last user ID!\n"
msgstr "Nie możesz usunąć ostatniego identyfikatora użytkownika!\n"
@@ -3600,15 +3342,13 @@ msgstr "Musisz wybrać dokładnie jeden klucz.\n"
msgid "Command expects a filename argument\n"
msgstr "Polecenie oczekuje argumentu będącego nazwą pliku\n"
-#, fuzzy, c-format
-#| msgid "Can't open `%s': %s\n"
+#, c-format
msgid "Can't open '%s': %s\n"
msgstr "Nie można otworzyć ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "Error reading backup key from `%s': %s\n"
+#, c-format
msgid "Error reading backup key from '%s': %s\n"
-msgstr "Błąd podczas odczytu klucza zapasowego z `%s': %s\n"
+msgstr "Błąd podczas odczytu klucza zapasowego z ,,%s'': %s\n"
msgid "You must select at least one key.\n"
msgstr "Musisz wybrać co najmniej jeden klucz.\n"
@@ -3664,60 +3404,47 @@ msgstr "zapis zmian nie powiódł się: %s\n"
msgid "Key not changed so no update needed.\n"
msgstr "Klucz nie został zmieniony więc zapis zmian nie jest konieczny.\n"
-#, fuzzy, c-format
-#| msgid "You can't delete the last user ID!\n"
+#, c-format
msgid "cannot revoke the last valid user ID.\n"
-msgstr "Nie możesz usunąć ostatniego identyfikatora użytkownika!\n"
+msgstr "nie można unieważnić ostatniego identyfikatora użytkownika.\n"
-#, fuzzy, c-format
-#| msgid "checking the trust list failed: %s\n"
+#, c-format
msgid "revoking the user ID failed: %s\n"
-msgstr "sprawdzenie listy zaufania nie powiodło się: %s\n"
+msgstr "unieważnienie identyfikatora użytkownika nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "checking the trust list failed: %s\n"
+#, c-format
msgid "setting the primary user ID failed: %s\n"
-msgstr "sprawdzenie listy zaufania nie powiodło się: %s\n"
+msgstr "ustawienie głównego identyfikatora użytkownika nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "invalid fingerprint"
+#, c-format
msgid "\"%s\" is not a fingerprint\n"
-msgstr "niewłaściwy odcisk"
+msgstr ",,%s'' nie jest odciskiem\n"
-#, fuzzy, c-format
-#| msgid "failed to get the fingerprint\n"
+#, c-format
msgid "\"%s\" is not the primary fingerprint\n"
-msgstr "nie udało się pobrać odcisku\n"
+msgstr ",,%s'' nie jest głównym odciskiem\n"
-#, fuzzy, c-format
-#| msgid "invalid value\n"
+#, c-format
msgid "Invalid user ID '%s': %s\n"
-msgstr "niepoprawna wartość\n"
+msgstr "Błędny identyfikator użytkownika ,,%s'': %s\n"
-#, fuzzy
-#| msgid "No such user ID.\n"
msgid "No matching user IDs."
-msgstr "Brak takiego identyfikatora użytkownika.\n"
+msgstr "Brak pasującego identyfikatora użytkownika."
-#, fuzzy
-#| msgid "Nothing to sign with key %s\n"
msgid "Nothing to sign.\n"
-msgstr "Nie ma nic do podpisania kluczem %s\n"
+msgstr "Nie ma nic do podpisania.\n"
-#, fuzzy, c-format
-#| msgid "`%s' is not a valid signature expiration\n"
+#, c-format
msgid "'%s' is not a valid expiration time\n"
-msgstr ",,%s'' nie jest poprawnym czasem wygaśnięcia podpisu\n"
+msgstr ",,%s'' nie jest poprawnym czasem wygaśnięcia\n"
-#, fuzzy, c-format
-#| msgid "invalid fingerprint"
+#, c-format
msgid "\"%s\" is not a proper fingerprint\n"
-msgstr "niewłaściwy odcisk"
+msgstr ",,%s'' nie jest właściwym odciskiem\n"
-#, fuzzy, c-format
-#| msgid "key \"%s\" not found: %s\n"
+#, c-format
msgid "subkey \"%s\" not found\n"
-msgstr "klucz ,,%s'' nie został odnaleziony: %s\n"
+msgstr "podklucz ,,%s'' nie został odnaleziony\n"
msgid "Digest: "
msgstr "Skrót: "
@@ -3806,12 +3533,11 @@ msgstr ""
#, c-format
msgid "WARNING: Your encryption subkey expires soon.\n"
-msgstr ""
+msgstr "OSTRZEŻENIE: podklucz do szyfrowania wkrótce wygaśnie.\n"
-#, fuzzy, c-format
-#| msgid "You can't change the expiration date of a v3 key\n"
+#, c-format
msgid "You may want to change its expiration date too.\n"
-msgstr "Nie można zmienić daty ważności klucza w wersji 3.\n"
+msgstr "Może warto także zmienić jego datę ważności.\n"
msgid ""
"WARNING: This is a PGP2-style key. Adding a photo ID may cause some "
@@ -3842,13 +3568,12 @@ msgstr "Usunąć ten nieznany podpis? (t/N/w) "
msgid "Really delete this self-signature? (y/N)"
msgstr "Na pewno usunąć ten podpis klucza nim samym? (t/N) "
-#, fuzzy, c-format
-#| msgid "Deleted %d signature.\n"
+#, c-format
msgid "Deleted %d signature.\n"
msgid_plural "Deleted %d signatures.\n"
msgstr[0] "%d podpis usunięty.\n"
-msgstr[1] "%d podpis usunięty.\n"
-msgstr[2] "%d podpis usunięty.\n"
+msgstr[1] "%d podpisy usunięte.\n"
+msgstr[2] "%d podpisów usuniętych.\n"
msgid "Nothing deleted.\n"
msgstr "Nic nie zostało usunięte.\n"
@@ -3860,13 +3585,12 @@ msgstr "niepoprawny"
msgid "User ID \"%s\" compacted: %s\n"
msgstr "Identyfikator użytkownika ,,%s'' upakowany: %s\n"
-#, fuzzy, c-format
-#| msgid "User ID \"%s\": %d signature removed\n"
+#, c-format
msgid "User ID \"%s\": %d signature removed\n"
msgid_plural "User ID \"%s\": %d signatures removed\n"
-msgstr[0] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
-msgstr[1] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
-msgstr[2] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
+msgstr[0] "Identyfikator użytkownika ,,%s'': %d podpis usunięty\n"
+msgstr[1] "Identyfikator użytkownika ,,%s'': %d podpisy usunięte\n"
+msgstr[2] "Identyfikator użytkownika ,,%s'': %d podpisów usuniętych\n"
#, c-format
msgid "User ID \"%s\": already minimized\n"
@@ -3911,13 +3635,10 @@ msgid ""
"Are you sure you want to appoint this key as a designated revoker? (y/N) "
msgstr "Czy na pewno chcesz wyznaczyć ten klucz jako unieważniający? (t/N) "
-#, fuzzy
-#| msgid ""
-#| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
msgid ""
"Are you sure you want to change the expiration time for multiple subkeys? (y/"
"N) "
-msgstr "Czy na pewno chcesz wyznaczyć ten klucz jako unieważniający? (t/N) "
+msgstr "Czy na pewno zmienić datę ważności dla wielu podkluczy? (t/N) "
msgid "Changing expiration time for a subkey.\n"
msgstr "Zmiana daty ważności podklucza.\n"
@@ -3929,15 +3650,11 @@ msgstr "Zmiana daty ważności głównego klucza.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nie można zmienić daty ważności klucza w wersji 3.\n"
-#, fuzzy
-#| msgid "Changing expiration time for a subkey.\n"
msgid "Changing usage of a subkey.\n"
-msgstr "Zmiana daty ważności podklucza.\n"
+msgstr "Zmiana zastosowań podklucza.\n"
-#, fuzzy
-#| msgid "Changing expiration time for the primary key.\n"
msgid "Changing usage of the primary key.\n"
-msgstr "Zmiana daty ważności głównego klucza.\n"
+msgstr "Zmiana zastosowań klucza głównego.\n"
#, c-format
msgid "signing subkey %s is already cross-certified\n"
@@ -3978,10 +3695,9 @@ msgstr "Brak identyfikatora użytkownika o numerze %d.\n"
msgid "No user ID with hash %s\n"
msgstr "Brak identyfikatora użytkownika o skrócie %s\n"
-#, fuzzy, c-format
-#| msgid "No subkey with index %d\n"
+#, c-format
msgid "No subkey with key ID '%s'.\n"
-msgstr "Brak podklucza o numerze %d.\n"
+msgstr "Brak podklucza o identyfikatorze ,,%s''.\n"
#, c-format
msgid "No subkey with index %d\n"
@@ -4035,6 +3751,7 @@ msgstr "brak klucza tajnego\n"
#, c-format
msgid "tried to revoke a non-user ID: %s\n"
msgstr ""
+"próba unieważnienia identyfikatora nie odnoszącego się do użytkownika: %s\n"
#, c-format
msgid "user ID \"%s\" is already revoked\n"
@@ -4046,10 +3763,10 @@ msgstr ""
"OSTRZEŻENIE: identyfikator użytkownika podpisany za %d sekund (w "
"przyszłości)\n"
-#, fuzzy, c-format
-#| msgid "You can't delete the last user ID!\n"
+#, c-format
msgid "Cannot revoke the last valid user ID.\n"
-msgstr "Nie możesz usunąć ostatniego identyfikatora użytkownika!\n"
+msgstr ""
+"Nie można unieważnić ostatniego poprawnego identyfikatora użytkownika.\n"
#, c-format
msgid "Key %s is already revoked.\n"
@@ -4065,13 +3782,11 @@ msgstr ""
"Wyświetlanie zdjęcia w formacie %s o rozmiarze %ld bajtów dla klucza %s (id "
"%d).\n"
-#, fuzzy, c-format
-#| msgid "missing argument for option \"%.50s\"\n"
+#, c-format
msgid "invalid value for option '%s'\n"
-msgstr "brak argumentu dla opcji ,,%.50s''\n"
+msgstr "błędna wartość dla opcji ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "preference `%s' duplicated\n"
+#, c-format
msgid "preference '%s' duplicated\n"
msgstr "ustawienie ,,%s'' powtarza się\n"
@@ -4087,10 +3802,9 @@ msgstr "zbyt wiele ustawień funkcji skrótu\n"
msgid "too many compression preferences\n"
msgstr "zbyt wiele ustawień kompresji\n"
-#, fuzzy, c-format
-#| msgid "invalid item `%s' in preference string\n"
+#, c-format
msgid "invalid item '%s' in preference string\n"
-msgstr "niewłaściwy element `%s' w tekście ustawień\n"
+msgstr "niewłaściwy element ,,%s'' w tekście ustawień\n"
#, c-format
msgid "writing direct signature\n"
@@ -4199,28 +3913,23 @@ msgstr " (%d) DSA (możliwości do ustawienia)\n"
msgid " (%d) RSA (set your own capabilities)\n"
msgstr " (%d) RSA (możliwości do ustawienia)\n"
-#, fuzzy, c-format
-#| msgid " (%d) DSA and Elgamal\n"
+#, c-format
msgid " (%d) ECC and ECC\n"
-msgstr " (%d) DSA i Elgamala\n"
+msgstr " (%d) ECC i ECC\n"
-#, fuzzy, c-format
-#| msgid " (%d) DSA (sign only)\n"
+#, c-format
msgid " (%d) ECC (sign only)\n"
-msgstr " (%d) DSA (tylko do podpisywania)\n"
+msgstr " (%d) ECC (tylko do podpisywania)\n"
-#, fuzzy, c-format
-#| msgid " (%d) DSA (set your own capabilities)\n"
+#, c-format
msgid " (%d) ECC (set your own capabilities)\n"
-msgstr " (%d) DSA (możliwości do ustawienia)\n"
+msgstr " (%d) ECC (możliwości do ustawienia)\n"
-#, fuzzy, c-format
-#| msgid " (%d) RSA (encrypt only)\n"
+#, c-format
msgid " (%d) ECC (encrypt only)\n"
-msgstr " (%d) RSA (tylko do szyfrowania)\n"
+msgstr " (%d) ECC (tylko do szyfrowania)\n"
-#, fuzzy, c-format
-#| msgid " (%d) Existing key\n"
+#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Istniejący klucz\n"
@@ -4233,8 +3942,7 @@ msgstr "Nieprawidłowy uchwyt klucza (oczekiwano 40 cyfr szesnastkowych)\n"
msgid "No key with this keygrip\n"
msgstr "Brak klucza o tym uchwycie\n"
-#, fuzzy, c-format
-#| msgid "rounded up to %u bits\n"
+#, c-format
msgid "rounded to %u bits\n"
msgstr "zaokrąglono do %u bitów\n"
@@ -4250,10 +3958,8 @@ msgstr "Jakiej długości podklucz wygenerować? (%u) "
msgid "Requested keysize is %u bits\n"
msgstr "Żądana długość klucza to %u bitów.\n"
-#, fuzzy
-#| msgid "Please select what kind of key you want:\n"
msgid "Please select which elliptic curve you want:\n"
-msgstr "Proszę wybrać rodzaj klucza:\n"
+msgstr "Proszę wybrać rodzaj krzywej eliptycznej:\n"
msgid ""
"Please specify how long the key should be valid.\n"
@@ -4341,8 +4047,8 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Musisz podać identyfikator użytkownika aby można było rozpoznać twój klucz;\n"
-"program złoży go z twojego imienia i nazwiska, komentarza i adresu poczty\n"
+"Należy podać identyfikator użytkownika, aby można było rozpoznać klucz;\n"
+"program złoży go z podanego imienia i nazwiska, komentarza i adresu poczty\n"
"elektronicznej. Będzie on miał, na przykład, taką postać:\n"
" \"Tadeusz Żeleński (Boy) <tzb@ziemianska.pl>\"\n"
"\n"
@@ -4355,7 +4061,7 @@ msgstr "Niewłaściwy znak w imieniu lub nazwisku\n"
#, c-format
msgid "The characters '%s' and '%s' may not appear in name\n"
-msgstr ""
+msgstr "Znaki ,,%s'' i ,,%s'' nie mogą występować w inieniu ani nazwisku\n"
msgid "Name may not start with a digit\n"
msgstr "Imię lub nazwisko nie może zaczynać się od cyfry\n"
@@ -4375,10 +4081,9 @@ msgstr "Komentarz: "
msgid "Invalid character in comment\n"
msgstr "Niewłaściwy znak w komentarzu\n"
-#, fuzzy, c-format
-#| msgid "You are using the `%s' character set.\n"
+#, c-format
msgid "You are using the '%s' character set.\n"
-msgstr "Używasz zestawu znaków %s.\n"
+msgstr "Używany zestaw znaków: ,,%s''.\n"
#, c-format
msgid ""
@@ -4453,54 +4158,51 @@ msgid ""
" \"%s\"\n"
"\n"
msgstr ""
+"Będzie tworzony klucz dla:\n"
+" ,,%s''\n"
+"\n"
msgid "Continue? (Y/n) "
-msgstr ""
+msgstr "Kontynuować? (T/n) "
-#, fuzzy, c-format
-#| msgid "key already exists\n"
+#, c-format
msgid "A key for \"%s\" already exists\n"
-msgstr "klucz już istnieje\n"
+msgstr "klucz dla ,,%s'' już istnieje\n"
-#, fuzzy
-#| msgid "Use this key anyway? (y/N) "
msgid "Create anyway? (y/N) "
-msgstr "Użyć tego klucza pomimo to? (t/N) "
+msgstr "Utworzyć klucz mimo to? (t/N) "
-#, fuzzy, c-format
-#| msgid "generating new key\n"
+#, c-format
msgid "creating anyway\n"
-msgstr "generowanie nowego klucza\n"
+msgstr "tworzenie mimo to\n"
#, c-format
msgid "Note: Use \"%s %s\" for a full featured key generation dialog.\n"
msgstr ""
+"Uwaga: pełną funkcjonalność generowania klucza można uzyskać przez ,,%s "
+"%s''.\n"
#, c-format
msgid "Key generation canceled.\n"
msgstr "Procedura generacji klucza została anulowana.\n"
-#, fuzzy, c-format
-#| msgid "can't create backup file `%s': %s\n"
+#, c-format
msgid "can't create backup file '%s': %s\n"
msgstr "nie można utworzyć pliku kopii zapasowej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "NOTE: backup of card key saved to `%s'\n"
+#, c-format
msgid "Note: backup of card key saved to '%s'\n"
-msgstr "UWAGA: kopia zapasowa klucza karty zapisana do ,,%s''\n"
+msgstr "Uwaga: kopia zapasowa klucza karty zapisana do ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "writing public key to `%s'\n"
+#, c-format
msgid "writing public key to '%s'\n"
-msgstr "zapisuję klucz publiczny w ,,%s''\n"
+msgstr "zapis klucza publicznego w ,,%s''\n"
#, c-format
msgid "no writable public keyring found: %s\n"
msgstr "brak zapisywalnego zbioru kluczy publicznych: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
+#, c-format
msgid "error writing public keyring '%s': %s\n"
msgstr "błąd podczas zapisu zbioru kluczy publicznych ,,%s'': %s\n"
@@ -4528,11 +4230,10 @@ msgstr ""
"klucz został stworzony %lu sekund w przyszłości (zaburzenia\n"
"czasoprzestrzeni, lub źle ustawiony zegar systemowy)\n"
-#, fuzzy, c-format
-#| msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
+#, c-format
msgid "Note: creating subkeys for v3 keys is not OpenPGP compliant\n"
msgstr ""
-"UWAGA: tworzenie podkluczy dla kluczy wersji 3 jest niezgodne z OpenPGP.\n"
+"Uwaga: tworzenie podkluczy dla kluczy wersji 3 jest niezgodne z OpenPGP.\n"
#, c-format
msgid "Secret parts of primary key are not available.\n"
@@ -4563,44 +4264,40 @@ msgstr "Krytyczne adnotacje podpisu: "
msgid "Signature notation: "
msgstr "Adnotacje podpisu: "
-#, fuzzy, c-format
-#| msgid "%d bad signatures\n"
+#, c-format
msgid "%d good signature\n"
msgid_plural "%d good signatures\n"
-msgstr[0] "%d niepoprawnych podpisów\n"
-msgstr[1] "%d niepoprawnych podpisów\n"
-msgstr[2] "%d niepoprawnych podpisów\n"
+msgstr[0] "%d poprawny podpis\n"
+msgstr[1] "%d poprawne podpisy\n"
+msgstr[2] "%d poprawnych podpisów\n"
-#, fuzzy, c-format
-#| msgid "%d bad signatures\n"
+#, c-format
msgid "%d bad signature\n"
msgid_plural "%d bad signatures\n"
-msgstr[0] "%d niepoprawnych podpisów\n"
-msgstr[1] "%d niepoprawnych podpisów\n"
+msgstr[0] "%d niepoprawny podpis\n"
+msgstr[1] "%d niepoprawne podpisy\n"
msgstr[2] "%d niepoprawnych podpisów\n"
-#, fuzzy, c-format
-#| msgid "1 signature not checked due to a missing key\n"
+#, c-format
msgid "%d signature not checked due to a missing key\n"
msgid_plural "%d signatures not checked due to missing keys\n"
-msgstr[0] "1 podpis nie został sprawdzony z powodu braku klucza\n"
-msgstr[1] "1 podpis nie został sprawdzony z powodu braku klucza\n"
-msgstr[2] "1 podpis nie został sprawdzony z powodu braku klucza\n"
+msgstr[0] "%d podpis nie został sprawdzony z powodu braku klucza\n"
+msgstr[1] "%d podpisy nie zostały sprawdzone z powodu braku klucza\n"
+msgstr[2] "%d podpisów nie zostało sprawdzonych z powodu braku klucza\n"
-#, fuzzy, c-format
-#| msgid "1 signature not checked due to an error\n"
+#, c-format
msgid "%d signature not checked due to an error\n"
msgid_plural "%d signatures not checked due to errors\n"
-msgstr[0] "1 podpis nie został sprawdzony z powodu błędu\n"
-msgstr[1] "1 podpis nie został sprawdzony z powodu błędu\n"
-msgstr[2] "1 podpis nie został sprawdzony z powodu błędu\n"
+msgstr[0] "%d podpis nie został sprawdzony z powodu błędu\n"
+msgstr[1] "%d podpisy nie został sprawdzone z powodu błędu\n"
+msgstr[2] "%d podpisów nie zostało sprawdzonych z powodu błędu\n"
#, c-format
msgid "Warning: %lu key skipped due to its large size\n"
msgid_plural "Warning: %lu keys skipped due to their large sizes\n"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Ostrzeżenie: %lu klucz pominięto z powodu dużego rozmiaru\n"
+msgstr[1] "Ostrzeżenie: %lu klucze pominięto z powodu dużego rozmiaru\n"
+msgstr[2] "Ostrzeżenie: %lu kluczy pominięto z powodu dużego rozmiaru\n"
msgid "Keyring"
msgstr "Zbiór kluczy"
@@ -4625,40 +4322,37 @@ msgstr " Odcisk klucza ="
msgid " Card serial no. ="
msgstr " Nr seryjny karty ="
-#, fuzzy, c-format
-#| msgid "caching keyring `%s'\n"
+#, c-format
msgid "caching keyring '%s'\n"
msgstr "buforowanie zbioru kluczy ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "%lu keys cached so far (%lu signatures)\n"
+#, c-format
msgid "%lu keys cached so far (%lu signature)\n"
msgid_plural "%lu keys cached so far (%lu signatures)\n"
-msgstr[0] "%lu kluczy zbuforowano do tej pory (%lu podpisów)\n"
-msgstr[1] "%lu kluczy zbuforowano do tej pory (%lu podpisów)\n"
+msgstr[0] "%lu kluczy zbuforowano do tej pory (%lu podpis)\n"
+msgstr[1] "%lu kluczy zbuforowano do tej pory (%lu podpisy)\n"
msgstr[2] "%lu kluczy zbuforowano do tej pory (%lu podpisów)\n"
#, c-format
msgid "%lu key cached"
msgid_plural "%lu keys cached"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "%lu klucz zbuforowany"
+msgstr[1] "%lu klucze zbuforowane"
+msgstr[2] "%lu kluczy zbuforowanych"
-#, fuzzy, c-format
-#| msgid "1 bad signature\n"
+#, c-format
msgid " (%lu signature)\n"
msgid_plural " (%lu signatures)\n"
-msgstr[0] "1 niepoprawny podpis\n"
-msgstr[1] "1 niepoprawny podpis\n"
-msgstr[2] "1 niepoprawny podpis\n"
+msgstr[0] " (%lu podpis)\n"
+msgstr[1] " (%lu podpisy)\n"
+msgstr[2] " (%lu podpisów)\n"
#, c-format
msgid "%s: keyring created\n"
msgstr "%s: zbiór kluczy utworzony\n"
msgid "override proxy options set for dirmngr"
-msgstr ""
+msgstr "nadpisanie zbioru opcji proxy dla dirmngr"
msgid "include revoked keys in search results"
msgstr "włączenie unieważnionych kluczy do wyników wyszukiwania"
@@ -4667,7 +4361,7 @@ msgid "include subkeys when searching by key ID"
msgstr "włączenie podkluczy przy poszukiwaniu po ID klucza"
msgid "override timeout options set for dirmngr"
-msgstr ""
+msgstr "nadpisanie zbioru opcji limitu czasu dla dirmngr"
msgid "automatically retrieve keys when verifying signatures"
msgstr "automatyczne pobieranie kluczy przy sprawdzaniu podpisów"
@@ -4692,11 +4386,10 @@ msgstr "niepoprawny protokół serwera kluczy (nasz %d != moduł obsługi %d)\n"
msgid "\"%s\" not a key ID: skipping\n"
msgstr ",,%s'' nie jest identyfikatorem klucza - pominięto\n"
-#, fuzzy, c-format
-#| msgid "refreshing %d keys from %s\n"
+#, c-format
msgid "refreshing %d key from %s\n"
msgid_plural "refreshing %d keys from %s\n"
-msgstr[0] "odświeżanie %d kluczy z %s\n"
+msgstr[0] "odświeżanie %d klucza z %s\n"
msgstr[1] "odświeżanie %d kluczy z %s\n"
msgstr[2] "odświeżanie %d kluczy z %s\n"
@@ -4724,10 +4417,9 @@ msgstr "zapytanie o klucz %s z serwera %s %s\n"
msgid "requesting key %s from %s\n"
msgstr "zapytanie o klucz %s z %s\n"
-#, fuzzy, c-format
-#| msgid "no keyserver action!\n"
+#, c-format
msgid "no keyserver known\n"
-msgstr "brak akcji serwera kluczy!\n"
+msgstr "brak znanego serwera kluczy\n"
#, c-format
msgid "skipped \"%s\": %s\n"
@@ -4737,10 +4429,9 @@ msgstr "pominięty ,,%s'': %s\n"
msgid "sending key %s to %s\n"
msgstr "wysyłanie klucza %s na %s\n"
-#, fuzzy, c-format
-#| msgid "requesting key %s from %s\n"
+#, c-format
msgid "requesting key from '%s'\n"
-msgstr "zapytanie o klucz %s z %s\n"
+msgstr "zapytanie o klucz z ,,%s''\n"
#, c-format
msgid "WARNING: unable to fetch URI %s: %s\n"
@@ -4812,15 +4503,17 @@ msgid ""
"likely that this message is legitimate. This is because back\n"
"then integrity protection was not widely used.\n"
msgstr ""
+"Podpowiedź: jeśli ta wiadomość była utworzona przed rokiem 2003, jest\n"
+"prawdopodobne, że jest ona prawdziwa. Jest tak dlatego, że w tamtych\n"
+"czasach ochrona integralności nie była szeroko stosowana.\n"
#, c-format
msgid "Use the option '%s' to decrypt anyway.\n"
-msgstr ""
+msgstr "Użycie mimo to opcji ,,%s'' do odszyfrowania.\n"
-#, fuzzy, c-format
-#| msgid "decryption failed: %s\n"
+#, c-format
msgid "decryption forced to fail!\n"
-msgstr "błąd odszyfrowywania: %s\n"
+msgstr "wymuszono błąd odszyfrowywania!\n"
#, c-format
msgid "decryption okay\n"
@@ -4834,10 +4527,9 @@ msgstr "OSTRZEŻENIE: zaszyfrowana wiadomość była manipulowana!\n"
msgid "decryption failed: %s\n"
msgstr "błąd odszyfrowywania: %s\n"
-#, fuzzy, c-format
-#| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
+#, c-format
msgid "Note: sender requested \"for-your-eyes-only\"\n"
-msgstr "UWAGA: nadawca zaznaczył że wiadomość nie powinna być zapisywana\n"
+msgstr "Uwaga: nadawca zaznaczył, że wiadomość nie powinna być zapisywana\n"
#, c-format
msgid "original file name='%.*s'\n"
@@ -4884,10 +4576,9 @@ msgstr " przy użyciu klucza %s %s\n"
msgid "Signature made %s using %s key ID %s\n"
msgstr "Podpisano w %s kluczem %s o numerze %s\n"
-#, fuzzy, c-format
-#| msgid " aka \"%s\""
+#, c-format
msgid " issuer \"%s\"\n"
-msgstr " alias ,,%s''"
+msgstr " wystawca ,,%s''\n"
#, c-format
msgid "Key available at: "
@@ -4900,10 +4591,9 @@ msgstr "[niepewne]"
msgid " aka \"%s\""
msgstr " alias ,,%s''"
-#, fuzzy, c-format
-#| msgid "WARNING: This key is not certified with a trusted signature!\n"
+#, c-format
msgid "WARNING: This key is not suitable for signing in %s mode\n"
-msgstr "OSTRZEŻENIE: Ten klucz nie jest poświadczony zaufanym podpisem!\n"
+msgstr "OSTRZEŻENIE: ten klucz nie nadaje się do podpisywania w trybie %s\n"
#, c-format
msgid "Signature expired %s\n"
@@ -4913,10 +4603,9 @@ msgstr "Ważność podpisu wygasła %s.\n"
msgid "Signature expires %s\n"
msgstr "Ważność podpisu wygasa %s.\n"
-#, fuzzy, c-format
-#| msgid "%s signature, digest algorithm %s\n"
+#, c-format
msgid "%s signature, digest algorithm %s%s%s\n"
-msgstr "podpis %s, skrót %s\n"
+msgstr "podpis %s, algorytm skrótu %s%s%s\n"
msgid "binary"
msgstr "binarny"
@@ -4927,14 +4616,14 @@ msgstr "tekstowy"
msgid "unknown"
msgstr "nieznany"
-#, fuzzy
-#| msgid "algorithm: %s"
msgid ", key algorithm "
-msgstr "algorytm: %s"
+msgstr ", algorytm klucza "
#, c-format
msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
msgstr ""
+"OSTRZEŻENIE: to nie jest oddzielony podpis; plik ,,%s'' NIE został "
+"zweryfikowany!\n"
#, c-format
msgid "Can't check signature: %s\n"
@@ -4958,8 +4647,7 @@ msgstr "oddzielony podpis klasy 0x%02x.\n"
msgid "old style (PGP 2.x) signature\n"
msgstr "podpis starego typu (PGP 2.x).\n"
-#, fuzzy, c-format
-#| msgid "fstat of `%s' failed in %s: %s\n"
+#, c-format
msgid "fstat of '%s' failed in %s: %s\n"
msgstr "fstat na ,,%s'' nie powiodło się w %s: %s\n"
@@ -4989,28 +4677,25 @@ msgstr "OSTRZEŻENIE: użycie eksperymentalnego algorytmu skrótu %s\n"
msgid "WARNING: digest algorithm %s is deprecated\n"
msgstr "OSTRZEŻENIE: algorytm skrótu %s jest odradzany\n"
-#, fuzzy, c-format
-#| msgid "%s signature, digest algorithm %s\n"
+#, c-format
msgid "Note: signatures using the %s algorithm are rejected\n"
-msgstr "podpis %s, skrót %s\n"
+msgstr "Uwaga: podpisy wykorzystujące algorytm %s są odrzucane\n"
-#, fuzzy, c-format
-#| msgid "read error in `%s': %s\n"
+#, c-format
msgid "(reported error: %s)\n"
-msgstr "błąd odczytu w ,,%s'': %s\n"
+msgstr "(zgłoszony błąd: %s)\n"
-#, fuzzy, c-format
-#| msgid "read error in `%s': %s\n"
+#, c-format
msgid "(reported error: %s <%s>)\n"
-msgstr "błąd odczytu w ,,%s'': %s\n"
+msgstr "(zgłoszony błąd: %s <%s>)\n"
#, c-format
msgid "(further info: "
-msgstr ""
+msgstr "(dalsze informacje: "
#, c-format
msgid "%s:%d: deprecated option \"%s\"\n"
-msgstr "%s:%d jest przestarzałą opcją ,,%s''\n"
+msgstr "%s:%d: przestarzała opcja ,,%s''\n"
#, c-format
msgid "WARNING: \"%s\" is a deprecated option\n"
@@ -5025,16 +4710,17 @@ msgid "WARNING: \"%s\" is a deprecated command - do not use it\n"
msgstr ""
"OSTRZEŻENIE: ,,%s'' jest przestarzałym poleceniem - nie należy go używać\n"
-#, fuzzy, c-format
-#| msgid "%s:%u: obsolete option \"%s\" - it has no effect\n"
+#, c-format
msgid "%s:%u: \"%s\" is obsolete in this file - it only has effect in %s\n"
-msgstr "%s:%u: przestarzała opcja ,,%s'' - nie ma efektu\n"
+msgstr ""
+"%s:%u: ,,%s'' jest przestarzałe w tym pliku - ma znaczenie tylko w %s\n"
-#, fuzzy, c-format
-#| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
+#, c-format
msgid ""
"WARNING: \"%s%s\" is an obsolete option - it has no effect except on %s\n"
-msgstr "OSTRZEŻENIE: ,,%s'' jest przestarzałą opcją - nie ma efektu\n"
+msgstr ""
+"OSTRZEŻENIE: ,,%s%s'' jest przestarzałą opcją - nie ma efektu z wyjątkiem "
+"%s\n"
msgid "Uncompressed"
msgstr "Nieskompresowany"
@@ -5047,30 +4733,26 @@ msgstr "nieskompresowany|brak"
msgid "this message may not be usable by %s\n"
msgstr "ta wiadomość może nie dać się odczytać za pomocą %s\n"
-#, fuzzy, c-format
-#| msgid "ambiguous option `%s'\n"
+#, c-format
msgid "ambiguous option '%s'\n"
msgstr "niejednoznaczna opcja ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "unknown option `%s'\n"
+#, c-format
msgid "unknown option '%s'\n"
msgstr "nieznana opcja ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "DSA requires the hash length to be a multiple of 8 bits\n"
+#, c-format
msgid "ECDSA public key is expected to be in SEC encoding multiple of 8 bits\n"
-msgstr "DSA wymaga długości skrótu będącego wielokrotnością 8 bitów\n"
+msgstr ""
+"klucz publiczny ECDSA powinien być w kodowaniu SEC wielokrotnością 8 bitów\n"
-#, fuzzy, c-format
-#| msgid "Unknown signature type `%s'\n"
+#, c-format
msgid "unknown weak digest '%s'\n"
-msgstr "Nieznany rodzaj podpisu ,,%s''\n"
+msgstr "nieznany słaby skrót ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "File `%s' exists. "
+#, c-format
msgid "File '%s' exists. "
-msgstr "Plik ,,%s'' już istnieje. "
+msgstr "Plik ,,%s'' istnieje. "
msgid "Overwrite? (y/N) "
msgstr "Nadpisać? (t/N) "
@@ -5086,8 +4768,7 @@ msgstr "Nazwa pliku"
msgid "writing to stdout\n"
msgstr "zapisywanie na wyjście standardowe\n"
-#, fuzzy, c-format
-#| msgid "assuming signed data in `%s'\n"
+#, c-format
msgid "assuming signed data in '%s'\n"
msgstr "przyjęto obecność podpisanych danych w '%s'\n"
@@ -5101,10 +4782,9 @@ msgstr ""
"OSTRZEŻENIE: symetrycznie zaszyfrowany klucz sesyjny może nie być "
"bezpieczny\n"
-#, fuzzy, c-format
-#| msgid "Critical signature notation: "
+#, c-format
msgid "Unknown critical signature notation: "
-msgstr "Krytyczne adnotacje podpisu: "
+msgstr "Nieznane krytyczne adnotacje podpisu: "
#, c-format
msgid "subpacket of type %d has critical bit set\n"
@@ -5125,45 +4805,38 @@ msgstr "anulowano przez użytkownika\n"
msgid " (main key ID %s)"
msgstr " (ID głównego klucza %s)"
-#, fuzzy
-#| msgid "Please enter the passphrase to unprotect the PKCS#12 object."
msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
-msgstr "Proszę wprowadzić hasło do odbezpieczenia obiektu PKCS#12."
+msgstr "Proszę wprowadzić hasło do odbezpieczenia klucza prywatnego OpenPGP:"
-#, fuzzy
-#| msgid "Please enter the passphrase to protect the new PKCS#12 object."
msgid "Please enter the passphrase to import the OpenPGP secret key:"
-msgstr "Proszę wprowadzić hasło do zabezpieczenia obiektu PKCS#12."
+msgstr "Proszę wprowadzić hasło do zaimportowania klucza prywatnego OpenPGP:"
-#, fuzzy
-#| msgid "Please enter the passphrase to protect the new PKCS#12 object."
msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
-msgstr "Proszę wprowadzić hasło do zabezpieczenia obiektu PKCS#12."
+msgstr ""
+"Proszę wprowadzić hasło do wyeksportowania podklucza prywatnego OpenPGP:"
-#, fuzzy
-#| msgid "Please enter the passphrase to protect the new PKCS#12 object."
msgid "Please enter the passphrase to export the OpenPGP secret key:"
-msgstr "Proszę wprowadzić hasło do zabezpieczenia obiektu PKCS#12."
+msgstr "Proszę wprowadzić hasło do wyeksportowania klucza prywatnego OpenPGP:"
-#, fuzzy
-#| msgid "Do you really want to delete the selected keys? (y/N) "
msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
-msgstr "Czy na pewno chcesz usunąć wybrane klucze? (t/N) "
+msgstr "Czy na pewno trwale usunąć podklucz prywatny OpenPGP:"
-#, fuzzy
-#| msgid "Do you really want to delete the selected keys? (y/N) "
msgid "Do you really want to permanently delete the OpenPGP secret key:"
-msgstr "Czy na pewno chcesz usunąć wybrane klucze? (t/N) "
+msgstr "Czy na pewno trwale usunąć klucz prywatny OpenPGP:"
-#, fuzzy, c-format
-#| msgid "%u-bit %s key, ID %s, created %s"
+#, c-format
msgid ""
"%s\n"
"\"%.*s\"\n"
"%u-bit %s key, ID %s,\n"
"created %s%s.\n"
"%s"
-msgstr "długość %u bitów, typ %s, numer %s, stworzony %s"
+msgstr ""
+"%s\n"
+",,%.*s''\n"
+"klucz %u-bitowy %s, ID %s,\n"
+"utworzony %s%s.\n"
+"%s"
msgid ""
"\n"
@@ -5181,8 +4854,7 @@ msgstr ""
msgid "Enter JPEG filename for photo ID: "
msgstr "Nazwa pliku ze zdjęciem w formacie JPEG: "
-#, fuzzy, c-format
-#| msgid "unable to open JPEG file `%s': %s\n"
+#, c-format
msgid "unable to open JPEG file '%s': %s\n"
msgstr "nie można otworzyć pliku JPEG ,,%s'': %s\n"
@@ -5193,8 +4865,7 @@ msgstr "Ten JPEG jest naprawdę duży (%d bajtów)!\n"
msgid "Are you sure you want to use it? (y/N) "
msgstr "Czy na pewno chcesz go użyć? (t/N) "
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
+#, c-format
msgid "'%s' is not a JPEG file\n"
msgstr ",,%s'' nie jest plikiem JPEG\n"
@@ -5259,7 +4930,7 @@ msgstr ""
"\n"
msgid "Your decision? "
-msgstr "Twoja decyzja? "
+msgstr "Decyzja? "
msgid "Do you really want to set this key to ultimate trust? (y/N) "
msgstr "Czy na pewno chcesz przypisać absolutne zaufanie temu kluczowi? (t/N) "
@@ -5283,24 +4954,18 @@ msgstr "Ten klucz prawdopodobnie należy do tej osoby\n"
msgid "This key belongs to us\n"
msgstr "Ten klucz należy do nas\n"
-#, fuzzy, c-format
-#| msgid "root certificate has now been marked as trusted\n"
+#, c-format
msgid "%s: This key is bad! It has been marked as untrusted!\n"
-msgstr "główny certyfikat nie został oznaczony jako zaufany\n"
+msgstr "%s: Ten klucz jest niedobry! Został oznaczony jako niezaufany!\n"
-#, fuzzy
-#| msgid ""
-#| "It is NOT certain that the key belongs to the person named\n"
-#| "in the user ID. If you *really* know what you are doing,\n"
-#| "you may answer the next question with yes.\n"
msgid ""
"This key is bad! It has been marked as untrusted! If you\n"
"*really* know what you are doing, you may answer the next\n"
"question with yes.\n"
msgstr ""
-"NIE MA pewności, czy klucz należy do osoby wymienionej w identyfikatorze.\n"
-"Jeśli nie masz co do tego żadnych wątpliwości i *naprawdę* wiesz co robisz,\n"
-"możesz odpowiedzieć ,,tak'' na następne pytanie.\n"
+"Ten klucz jest niedobry! Został oznaczony jako niezaufany!\n"
+"Jeżeli *naprawdę* wiesz, co robisz, możesz odpowiedzieć ,,tak'' na\n"
+"następne pytanie.\n"
msgid ""
"It is NOT certain that the key belongs to the person named\n"
@@ -5344,15 +5009,13 @@ msgstr "OSTRZEŻENIE: Ten podklucz został unieważniony przez właściciela!\n"
msgid "Note: This key has been disabled.\n"
msgstr "Uwaga: Ten klucz został wyłączony z użytku.\n"
-#, fuzzy, c-format
-#| msgid "Note: Verified signer's address is `%s'\n"
+#, c-format
msgid "Note: Verified signer's address is '%s'\n"
-msgstr "Uwaga: Sprawdzony adres pospisującego to `%s'\n"
+msgstr "Uwaga: Sprawdzony adres pospisującego to ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "Note: Signer's address `%s' does not match DNS entry\n"
+#, c-format
msgid "Note: Signer's address '%s' does not match DNS entry\n"
-msgstr "Uwaga: Adres podpisującego `%s' nie pasuje do wpisu DNS\n"
+msgstr "Uwaga: Adres podpisującego ,,%s'' nie pasuje do wpisu DNS\n"
#, c-format
msgid "trustlevel adjusted to FULL due to valid PKA info\n"
@@ -5410,20 +5073,17 @@ msgstr "%s: pominięty: klucz publiczny wyłączony z użytku\n"
msgid "%s: skipped: public key already present\n"
msgstr "%s: pominięty: został już wybrany w innej opcji\n"
-#, fuzzy, c-format
-#| msgid "can't connect to `%s': %s\n"
+#, c-format
msgid "can't encrypt to '%s'\n"
-msgstr "nie można się połączyć z ,,%s'': %s\n"
+msgstr "nie można zaszyfrować do ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "option '%s' given, but no valid default keys given\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "podano opcję ,,%s'', ale nie podano poprawnych kluczy domyślnych\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "option '%s' given, but option '%s' not given\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "podano opcję ,,%s'', ale nie podano opcji ,,%s''\n"
msgid "You did not specify a user ID. (you may use \"-r\")\n"
msgstr "Nie został podany identyfikator użytkownika (np. za pomocą ,,-r'')\n"
@@ -5487,8 +5147,7 @@ msgstr "czytam strumień standardowego wejścia\n"
msgid "no signed data\n"
msgstr "brak podpisanych danych\n"
-#, fuzzy, c-format
-#| msgid "can't open signed data `%s'\n"
+#, c-format
msgid "can't open signed data '%s'\n"
msgstr "nie można otworzyć podpisanego pliku ,,%s''\n"
@@ -5496,10 +5155,9 @@ msgstr "nie można otworzyć podpisanego pliku ,,%s''\n"
msgid "can't open signed data fd=%d: %s\n"
msgstr "nie można otworzyć podpisanych danych z fd=%d: %s\n"
-#, fuzzy, c-format
-#| msgid "certificate is not usable for encryption\n"
+#, c-format
msgid "key %s is not suitable for decryption in %s mode\n"
-msgstr "certyfikat nie nadaje się do szyfrowania\n"
+msgstr "klucz %s nie nadaje się do odszyfrowywania w trybie %s\n"
#, c-format
msgid "anonymous recipient; trying secret key %s ...\n"
@@ -5521,15 +5179,13 @@ msgstr "algorytm szyfrujący %d%s jest nieznany lub został wyłączony\n"
msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
msgstr "OSTRZEŻENIE: brak algorytmu szyfrującego %s w ustawieniach odbiorcy\n"
-#, fuzzy, c-format
-#| msgid "NOTE: secret key %s expired at %s\n"
+#, c-format
msgid "Note: secret key %s expired at %s\n"
-msgstr "UWAGA: ważność klucza tajnego %s wygasła %s\n"
+msgstr "Uwaga: ważność klucza tajnego %s wygasła %s\n"
-#, fuzzy, c-format
-#| msgid "NOTE: key has been revoked"
+#, c-format
msgid "Note: key has been revoked"
-msgstr "UWAGA: klucz został unieważniony"
+msgstr "Uwaga: klucz został unieważniony"
#, c-format
msgid "build_packet failed: %s\n"
@@ -5545,10 +5201,8 @@ msgstr "Zostanie unieważniony przez:\n"
msgid "(This is a sensitive revocation key)\n"
msgstr "(to jest czuły klucz unieważniający)\n"
-#, fuzzy
-#| msgid "Secret key is available.\n"
msgid "Secret key is not available.\n"
-msgstr "Dostępny jest klucz tajny.\n"
+msgstr "Klucz tajny nie jest dostępny.\n"
msgid "Create a designated revocation certificate for this key? (y/N) "
msgstr "Stworzyć certyfikat unieważnienia tego klucza? (t/N) "
@@ -5567,16 +5221,18 @@ msgstr "Certyfikat unieważnienia został utworzony.\n"
msgid "no revocation keys found for \"%s\"\n"
msgstr "brak kluczy unieważniających dla ,,%s''\n"
-#, fuzzy
-#| msgid "Create a revocation certificate for this key? (y/N) "
msgid "This is a revocation certificate for the OpenPGP key:"
-msgstr "Stworzyć certyfikat unieważnienia tego klucza? (t/N) "
+msgstr "To certyfikat unieważnienia dla klucza OpenPGP:"
msgid ""
"A revocation certificate is a kind of \"kill switch\" to publicly\n"
"declare that a key shall not anymore be used. It is not possible\n"
"to retract such a revocation certificate once it has been published."
msgstr ""
+"Certyfikat unieważnienia to rodzaj ,,wyłącznika awaryjnego,, do\n"
+"publicznego zadeklarowania, że klucz nie powinien być już więcej\n"
+"używany. Po opublikowaniu takiego certyfikatu nie jest już możliwe\n"
+"wycofanie go."
msgid ""
"Use it to revoke this key in case of a compromise or loss of\n"
@@ -5585,34 +5241,40 @@ msgid ""
"a reason for the revocation. For details see the description of\n"
"of the gpg command \"--generate-revocation\" in the GnuPG manual."
msgstr ""
+"Możliwość tę należy wykorzystać w przypadku kompromitacji lub utraty\n"
+"klucza tajnego. Co więcej, jeśli klucz tajny jest nadal dostępny,\n"
+"lepiej wygenerować nowy certyfikat unieważnienia i podać powód\n"
+"unieważnienia. Więcej szczegółów w opisie polecenia gpg\n"
+",,--generate-revocation'' w podręczniku do GnuPG."
msgid ""
"To avoid an accidental use of this file, a colon has been inserted\n"
"before the 5 dashes below. Remove this colon with a text editor\n"
"before importing and publishing this revocation certificate."
msgstr ""
+"Aby zapobiec przypadkowemu użyciu tego pliku, poniżej przed 5 kreskami\n"
+"został umieszczony dwukropek. Należy go usunąć przy użyciu edytora\n"
+"tekstu przed zaimportowaniem i opublikowaniem tego certyfikatu\n"
+"unieważnienia."
-#, fuzzy, c-format
-#| msgid "Revocation certificate created.\n"
+#, c-format
msgid "revocation certificate stored as '%s.rev'\n"
-msgstr "Certyfikat unieważnienia został utworzony.\n"
+msgstr "certyfikat unieważnienia został zapisany jako ,,%s.rev''\n"
-#, fuzzy, c-format
-#| msgid "secret key \"%s\" not found: %s\n"
+#, c-format
msgid "secret key \"%s\" not found\n"
-msgstr "klucz prywatny ,,%s'' nie został odnaleziony: %s\n"
+msgstr "klucz prywatny ,,%s'' nie został odnaleziony\n"
#. TRANSLATORS: The %s prints a key specification which
#. for example has been given at the command line. Several lines
#. lines with secret key infos are printed after this message.
#, c-format
msgid "'%s' matches multiple secret keys:\n"
-msgstr ""
+msgstr ",,%s'' pasuje do wielu kluczy tajnych:\n"
-#, fuzzy, c-format
-#| msgid "error creating keyring `%s': %s\n"
+#, c-format
msgid "error searching the keyring: %s\n"
-msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
+msgstr "błąd przeszukiwania zbioru kluczy: %s\n"
msgid "Create a revocation certificate for this key? (y/N) "
msgstr "Stworzyć certyfikat unieważnienia tego klucza? (t/N) "
@@ -5673,24 +5335,21 @@ msgstr ""
"brak możliwości generacji dobrego klucza dla szyfru symetrycznego;\n"
"operacja była powtarzana %d razy!\n"
-#, fuzzy, c-format
-#| msgid "%s key uses an unsafe (%u bit) hash\n"
+#, c-format
msgid "%s key %s uses an unsafe (%zu bit) hash\n"
-msgstr "Klucz %s używa niebezpiecznego (%u-bitowego) skrótu\n"
+msgstr "klucz %s %s używa niebezpiecznego (%zu-bitowego) skrótu\n"
-#, fuzzy, c-format
-#| msgid "DSA key %s requires a %u bit or larger hash\n"
+#, c-format
msgid "%s key %s requires a %zu bit or larger hash (hash is %s)\n"
-msgstr "Klucz DSA %s wymaga %u-bitowego lub większego skrótu\n"
+msgstr "klucz %s %s wymaga skrótu %zu-bitowego lub większego (skrót to %s)\n"
#, c-format
msgid "WARNING: signature digest conflict in message\n"
msgstr "OSTRZEŻENIE: konflikt skrótów podpisów w wiadomości\n"
-#, fuzzy, c-format
-#| msgid "you may not use %s while in %s mode\n"
+#, c-format
msgid "key %s may not be used for signing in %s mode\n"
-msgstr "%s nie jest dostępne w trybie %s\n"
+msgstr "klucz %s nie może być używany do podpisów w trybie %s\n"
#, c-format
msgid "WARNING: signing subkey %s is not cross-certified\n"
@@ -5705,25 +5364,21 @@ msgid "WARNING: signing subkey %s has an invalid cross-certification\n"
msgstr ""
"OSTRZEŻENIE: podklucz podpisujący %s jest niepoprawnie skrośnie podpisany\n"
-#, fuzzy, c-format
-#| msgid "public key %s is %lu second newer than the signature\n"
+#, c-format
msgid "public key %s is %lu second newer than the signature\n"
msgid_plural "public key %s is %lu seconds newer than the signature\n"
msgstr[0] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
-msgstr[1] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
-msgstr[2] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
+msgstr[1] "klucz publiczny %s jest o %lu sekundy młodszy od podpisu\n"
+msgstr[2] "klucz publiczny %s jest o %lu sekund młodszy od podpisu\n"
-#, fuzzy, c-format
-#| msgid "public key %s is %lu second newer than the signature\n"
+#, c-format
msgid "public key %s is %lu day newer than the signature\n"
msgid_plural "public key %s is %lu days newer than the signature\n"
-msgstr[0] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
-msgstr[1] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
-msgstr[2] "klucz publiczny %s jest o %lu sekundę młodszy od podpisu\n"
+msgstr[0] "klucz publiczny %s jest o %lu dzień młodszy od podpisu\n"
+msgstr[1] "klucz publiczny %s jest o %lu dni młodszy od podpisu\n"
+msgstr[2] "klucz publiczny %s jest o %lu dni młodszy od podpisu\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "key %s was created %lu second in the future (time warp or clock problem)\n"
+#, c-format
msgid ""
"key %s was created %lu second in the future (time warp or clock problem)\n"
msgid_plural ""
@@ -5732,47 +5387,41 @@ msgstr[0] ""
"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
msgstr[1] ""
-"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
+"klucz %s został stworzony %lu sekundy w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
msgstr[2] ""
-"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
+"klucz %s został stworzony %lu sekund w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "key %s was created %lu second in the future (time warp or clock problem)\n"
+#, c-format
msgid "key %s was created %lu day in the future (time warp or clock problem)\n"
msgid_plural ""
"key %s was created %lu days in the future (time warp or clock problem)\n"
msgstr[0] ""
-"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
+"klucz %s został stworzony %lu dzień w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
msgstr[1] ""
-"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
+"klucz %s został stworzony %lu dni w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
msgstr[2] ""
-"klucz %s został stworzony %lu sekundę w przyszłości (zaburzenia\n"
+"klucz %s został stworzony %lu dni w przyszłości (zaburzenia\n"
"czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
-#, fuzzy, c-format
-#| msgid "NOTE: signature key %s expired %s\n"
+#, c-format
msgid "Note: signature key %s expired %s\n"
-msgstr "UWAGA: klucz podpisujący %s przekroczył datę ważności %s\n"
+msgstr "Uwaga: klucz podpisujący %s przekroczył datę ważności %s\n"
-#, fuzzy, c-format
-#| msgid "NOTE: signature key %s has been revoked\n"
+#, c-format
msgid "Note: signature key %s has been revoked\n"
-msgstr "UWAGA: klucz podpisujący %s został unieważniony\n"
+msgstr "Uwaga: klucz podpisujący %s został unieważniony\n"
-#, fuzzy, c-format
-#| msgid "standalone signature of class 0x%02x\n"
+#, c-format
msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
-msgstr "oddzielony podpis klasy 0x%02x.\n"
+msgstr "błędny podpis klucza wykonany kluczem %s: %s (0x%02x, 0x%x)\n"
-#, fuzzy, c-format
-#| msgid "standalone signature of class 0x%02x\n"
+#, c-format
msgid "bad data signature from key %s: %s (0x%02x, 0x%x)\n"
-msgstr "oddzielony podpis klasy 0x%02x.\n"
+msgstr "błędny podpis danych wykonany kluczem %s: %s (0x%02x, 0x%x)\n"
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
@@ -5859,8 +5508,7 @@ msgstr ""
"# Lista przypisanych wartości zaufania, stworzona %s\n"
"# (użyj \"gpg --import-ownertrust\" aby ją przywrócić)\n"
-#, fuzzy, c-format
-#| msgid "error in `%s': %s\n"
+#, c-format
msgid "error in '%s': %s\n"
msgstr "błąd w ,,%s'': %s\n"
@@ -5876,13 +5524,11 @@ msgstr "niewłaściwy odcisk"
msgid "ownertrust value missing"
msgstr "brak wartości zaufania właściciela"
-#, fuzzy, c-format
-#| msgid "error finding trust record in `%s': %s\n"
+#, c-format
msgid "error finding trust record in '%s': %s\n"
msgstr "błąd podczas szukania zapisu wartości zaufania w ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "read error in `%s': %s\n"
+#, c-format
msgid "read error in '%s': %s\n"
msgstr "błąd odczytu w ,,%s'': %s\n"
@@ -5890,13 +5536,11 @@ msgstr "błąd odczytu w ,,%s'': %s\n"
msgid "trustdb: sync failed: %s\n"
msgstr "baza zaufania: synchronizacja nie powiodła się %s\n"
-#, fuzzy, c-format
-#| msgid "can't create lock for `%s'\n"
+#, c-format
msgid "can't create lock for '%s'\n"
msgstr "nie można utworzyć blokady dla ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "can't lock `%s'\n"
+#, c-format
msgid "can't lock '%s'\n"
msgstr "nie można zablokować ,,%s''\n"
@@ -5916,8 +5560,7 @@ msgstr "zbyt duże zlecenie dla bazy zaufania\n"
msgid "%s: directory does not exist!\n"
msgstr "%s: katalog nie istnieje!\n"
-#, fuzzy, c-format
-#| msgid "can't access `%s': %s\n"
+#, c-format
msgid "can't access '%s': %s\n"
msgstr "nie można dostać się do ,,%s'': %s\n"
@@ -5933,10 +5576,9 @@ msgstr "%s: stworzony niepoprawny plik bazy zaufania\n"
msgid "%s: trustdb created\n"
msgstr "%s: baza zaufania utworzona\n"
-#, fuzzy, c-format
-#| msgid "NOTE: trustdb not writable\n"
+#, c-format
msgid "Note: trustdb not writable\n"
-msgstr "UWAGA: nie można zapisywać bazy zaufania\n"
+msgstr "Uwaga: nie można zapisywać bazy zaufania\n"
#, c-format
msgid "%s: invalid trustdb\n"
@@ -6006,345 +5648,328 @@ msgstr "nie można obsłużyć linii tekstu dłuższej niż %d znaków\n"
msgid "input line longer than %d characters\n"
msgstr "linia dłuższa niż %d znaków\n"
-#, fuzzy, c-format
-#| msgid "error sending standard options: %s\n"
+#, c-format
msgid "error beginning transaction on TOFU database: %s\n"
-msgstr "błąd wysyłania standardowych opcji: %s\n"
+msgstr "błąd rozpoczynania transakcji w bazie danych TOFU: %s\n"
#, c-format
msgid "error committing transaction on TOFU database: %s\n"
-msgstr ""
+msgstr "błąd zatwierdzania transakcji w bazie danych TOFU: %s\n"
#, c-format
msgid "error rolling back transaction on TOFU database: %s\n"
-msgstr ""
+msgstr "błąd wycofywania transakcji w bazie danych TOFU: %s\n"
-#, fuzzy, c-format
-#| msgid "unsupported algorithm: %s"
+#, c-format
msgid "unsupported TOFU database version: %s\n"
-msgstr "nieobsługiwany algorytm: %s"
+msgstr "nieobsługiwana wersja bazy danych TOFU: %s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
+#, c-format
msgid "error creating 'ultimately_trusted_keys' TOFU table: %s\n"
-msgstr "błąd tworzenia pliku tymczasowego: %s\n"
+msgstr "błąd tworzenia tabeli TOFU ,,ultimately_trusted_keys'': %s\n"
#, c-format
msgid "TOFU DB error"
-msgstr ""
+msgstr "Błąd bazy danych TOFU"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error reading TOFU database: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd odczytu bazy danych TOFU: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing secret keyring `%s': %s\n"
+#, c-format
msgid "error determining TOFU database's version: %s\n"
-msgstr "błąd podczas zapisu zbioru kluczy tajnych ,,%s'': %s\n"
+msgstr "błąd określania wersji bazy danych TOFU: %s\n"
-#, fuzzy, c-format
-#| msgid "%s: error writing dir record: %s\n"
+#, c-format
msgid "error initializing TOFU database: %s\n"
-msgstr "%s: błąd zapisu wpisu katalogowego: %s\n"
+msgstr "błąd inicjowania bazy danych TOFU: %s\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error creating 'encryptions' TOFU table: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd tworzenia tabeli TOFU ,,encryptions'': %s\n"
#, c-format
msgid "adding column effective_policy to bindings DB: %s\n"
-msgstr ""
+msgstr "dodawanie kolumny effective_policy do bazy danych powiązań: %s\n"
-#, fuzzy, c-format
-#| msgid "error opening `%s': %s\n"
+#, c-format
msgid "error opening TOFU database '%s': %s\n"
-msgstr "błąd podczas otwierania ,,%s'': %s\n"
+msgstr "błąd otwierania bazy danych TOFU ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error updating TOFU database: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd uaktualniania bazy danych TOFU: %s\n"
#, c-format
msgid ""
"This is the first time the email address \"%s\" is being used with key %s."
-msgstr ""
+msgstr "To pierwsze użycie adresu e-mail ,,%s'' z kluczem %s."
#, 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] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Adres e-mail ,,%s'' jest powiązany z %d kluczem!"
+msgstr[1] "Adres e-mail ,,%s'' jest powiązany z %d kluczami!"
+msgstr[2] "Adres e-mail ,,%s'' jest powiązany z %d kluczami!"
msgid " Since this binding's policy was 'auto', it has been changed to 'ask'."
msgstr ""
+" Ponieważ polityką tego powiązania było ,,auto'', została zmieniona na ,,"
+"ask''."
#, c-format
msgid ""
"Please indicate whether this email address should be associated with key %s "
"or whether you think someone is impersonating \"%s\"."
msgstr ""
+"Proszę zdecydować, czy ten adres e-mail powinien być powiązany z kluczem %s, "
+"czy raczej ktoś się podszywa za ,,%s''."
-#, fuzzy, c-format
-#| msgid "error getting new PIN: %s\n"
+#, c-format
msgid "error gathering other user IDs: %s\n"
-msgstr "błąd podczas odczytu nowego PIN-u: %s\n"
+msgstr "błąd zbierania ID innych użytkowników: %s\n"
-#, fuzzy
-#| msgid "list key and user IDs"
msgid "This key's user IDs:\n"
-msgstr "lista kluczy i identyfikatorów użytkownika"
+msgstr "ID użytkowników tego klucza:\n"
-#, fuzzy, c-format
-#| msgid "validity: %s"
+#, c-format
msgid "policy: %s"
-msgstr "poprawność: %s"
+msgstr "polityka: %s"
-#, fuzzy, c-format
-#| msgid "error getting stored flags: %s\n"
+#, c-format
msgid "error gathering signature stats: %s\n"
-msgstr "błąd pobierania zapisanych flag: %s\n"
+msgstr "błąd zbierania statystyk podpisów: %s\n"
#, 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"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Adres e-mail ,,%s'' jest powiązany z %d kluczem:\n"
+msgstr[1] "Adres e-mail ,,%s'' jest powiązany z %d kluczami:\n"
+msgstr[2] "Adres e-mail ,,%s'' jest powiązany z %d kluczami:\n"
#, c-format
msgid "Statistics for keys with the email address \"%s\":\n"
-msgstr ""
+msgstr "Statystyki dla kluczy o adresie e-mail ,,%s'':\n"
-#, fuzzy
-#| msgid "list keys"
msgid "this key"
-msgstr "lista kluczy"
+msgstr "ten klucz"
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "Verified %d message."
msgid_plural "Verified %d messages."
-msgstr[0] "wypisanie skrótów wiadomości"
-msgstr[1] "wypisanie skrótów wiadomości"
-msgstr[2] "wypisanie skrótów wiadomości"
+msgstr[0] "Sprawdzono %d wiadomość."
+msgstr[1] "Sprawdzono %d wiadomości."
+msgstr[2] "Sprawdzono %d wiadomości."
-#, fuzzy, c-format
-#| msgid "encrypted with %lu passphrases\n"
+#, c-format
msgid "Encrypted %d message."
msgid_plural "Encrypted %d messages."
-msgstr[0] "zaszyfrowane za pomocą %lu haseł\n"
-msgstr[1] "zaszyfrowane za pomocą %lu haseł\n"
-msgstr[2] "zaszyfrowane za pomocą %lu haseł\n"
+msgstr[0] "Zaszyfrowano %d wiadomość."
+msgstr[1] "Zaszyfrowano %d wiadomości."
+msgstr[2] "Zaszyfrowano %d wiadomości."
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "Verified %d message in the future."
msgid_plural "Verified %d messages in the future."
-msgstr[0] "wypisanie skrótów wiadomości"
-msgstr[1] "wypisanie skrótów wiadomości"
-msgstr[2] "wypisanie skrótów wiadomości"
+msgstr[0] "Sprawdzono %d wiadomość w przyszłości."
+msgstr[1] "Sprawdzono %d wiadomości w przyszłości."
+msgstr[2] "Sprawdzono %d wiadomości w przyszłości."
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "Encrypted %d message in the future."
msgid_plural "Encrypted %d messages in the future."
-msgstr[0] "wypisanie skrótów wiadomości"
-msgstr[1] "wypisanie skrótów wiadomości"
-msgstr[2] "wypisanie skrótów wiadomości"
+msgstr[0] "Zaszyfrowano %d wiadomość w przyszłości."
+msgstr[1] "Zaszyfrowano %d wiadomości w przyszłości."
+msgstr[2] "Zaszyfrowano %d wiadomości w przyszłości."
#, c-format
msgid "Messages verified over the past %d day: %d."
msgid_plural "Messages verified over the past %d days: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości sprawdzonych przez ostatni %d dzień: %d."
+msgstr[1] "Wiadomości sprawdzonych przez ostatnie %d dni: %d."
+msgstr[2] "Wiadomości sprawdzonych przez ostatnie %d dni: %d."
#, c-format
msgid "Messages encrypted over the past %d day: %d."
msgid_plural "Messages encrypted over the past %d days: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości zaszyfrowanych przez ostatni %d dzień: %d."
+msgstr[1] "Wiadomości zaszyfrowanych przez ostatnie %d dni: %d."
+msgstr[2] "Wiadomości zaszyfrowanych przez ostatnie %d dni: %d."
#, c-format
msgid "Messages verified over the past %d month: %d."
msgid_plural "Messages verified over the past %d months: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości sprawdzonych przez ostatni %d miesiąc: %d."
+msgstr[1] "Wiadomości sprawdzonych przez ostatnie %d miesiące: %d."
+msgstr[2] "Wiadomości sprawdzonych przez ostatnie %d miesięcy: %d."
#, c-format
msgid "Messages encrypted over the past %d month: %d."
msgid_plural "Messages encrypted over the past %d months: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości zaszyfrowanych przez ostatni %d miesiąc: %d."
+msgstr[1] "Wiadomości zaszyfrowanych przez ostatnie %d miesiące: %d."
+msgstr[2] "Wiadomości zaszyfrowanych przez ostatnie %d miesięcy: %d."
#, c-format
msgid "Messages verified over the past %d year: %d."
msgid_plural "Messages verified over the past %d years: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości sprawdzonych przez ostatni %d rok: %d."
+msgstr[1] "Wiadomości sprawdzonych przez ostatnie %d lata: %d."
+msgstr[2] "Wiadomości sprawdzonych przez ostatnie %d lat: %d."
#, c-format
msgid "Messages encrypted over the past %d year: %d."
msgid_plural "Messages encrypted over the past %d years: %d."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Wiadomości zaszyfrowanych przez ostatni %d rok: %d."
+msgstr[1] "Wiadomości zaszyfrowanych przez ostatnie %d lata: %d."
+msgstr[2] "Wiadomości zaszyfrowanych przez ostatnie %d lat: %d."
#, c-format
msgid "Messages verified in the past: %d."
-msgstr ""
+msgstr "Wiadomości sprawdzonych w przeszłości: %d."
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "Messages encrypted in the past: %d."
-msgstr "wypisanie skrótów wiadomości"
+msgstr "Wiadomości zaszyfrowanych w przeszłości: %d."
#. TRANSLATORS: Please translate the text found in the source
#. * file below. We don't directly internationalize that text so
#. * that we can tweak it without breaking translations.
msgid "TOFU detected a binding conflict"
msgstr ""
+"Zwykle adres e-mail jest powiązany z pojedynczym kluczem. Jednak ludzie "
+"czasem generują nowy klucz, jeśli poprzedni jest zbyt stary, albo myślą, że "
+"uległ kompromitacji. Ale nowy klucz może oznaczać też atak man-in-the-"
+"middle! Przed akceptacją tego powiązania należy skontaktować się z daną "
+"osobą i upewnić się, że nowy klucz jest legalny."
#. TRANSLATORS: Two letters (normally the lower and upper case
#. * version of the hotkey) for each of the five choices. If
#. * there is only one choice in your language, repeat it.
msgid "gGaAuUrRbB"
-msgstr ""
+msgstr "dDaAnNoOzZ"
msgid "(G)ood, (A)ccept once, (U)nknown, (R)eject once, (B)ad? "
-msgstr ""
+msgstr "(D)obry, (A)kceptuj raz, (N)ieznany, (O)drzuć raz, (Z)ły? "
msgid "Defaulting to unknown.\n"
-msgstr ""
+msgstr "Domyślnie nieznany.\n"
#, c-format
msgid "TOFU db corruption detected.\n"
-msgstr ""
+msgstr "Wykryto uszkodzenie bazy danych TOFU.\n"
-#, fuzzy, c-format
-#| msgid "error writing key: %s\n"
+#, c-format
msgid "resetting keydb: %s\n"
-msgstr "błąd zapisu klucza: %s\n"
+msgstr "resetowanie bazy danych kluczy: %s\n"
-#, fuzzy, c-format
-#| msgid "error storing flags: %s\n"
+#, c-format
msgid "error setting TOFU binding's policy to %s\n"
-msgstr "błąd zapisywania flag: %s\n"
+msgstr "błąd ustawiania polityki powiądań TOFU na %s\n"
-#, fuzzy, c-format
-#| msgid "error creating a pipe: %s\n"
+#, c-format
msgid "error changing TOFU policy: %s\n"
-msgstr "błąd tworzenia potoku: %s\n"
+msgstr "błąd zmiany polityki TOFU: %s\n"
#, c-format
msgid "%lld~year"
msgid_plural "%lld~years"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatni %lld~rok"
+msgstr[1] "ostatnie %lld~lata"
+msgstr[2] "ostatnie %lld~lat"
#, c-format
msgid "%lld~month"
msgid_plural "%lld~months"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatni %lld~miesiąc"
+msgstr[1] "ostatnie %lld~miesiące"
+msgstr[2] "ostatnie %lld~miesięcy"
#, c-format
msgid "%lld~week"
msgid_plural "%lld~weeks"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatni %lld~tydzień"
+msgstr[1] "ostatnie %lld~tygodnie"
+msgstr[2] "ostatnie %lld~tygodni"
#, c-format
msgid "%lld~day"
msgid_plural "%lld~days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatni %lld~dzień"
+msgstr[1] "ostatnie %lld~dni"
+msgstr[2] "ostatnie %lld~dni"
#, c-format
msgid "%lld~hour"
msgid_plural "%lld~hours"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatnią %lld~godzinę"
+msgstr[1] "ostatnie %lld~godziny"
+msgstr[2] "ostatnie %lld~godzin"
#, c-format
msgid "%lld~minute"
msgid_plural "%lld~minutes"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatnią %lld~minutę"
+msgstr[1] "ostatnie %lld~minuty"
+msgstr[2] "ostatnie %lld~minut"
#, c-format
msgid "%lld~second"
msgid_plural "%lld~seconds"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "ostatnią %lld~sekundę"
+msgstr[1] "ostatnie %lld~sekundy"
+msgstr[2] "ostatnie %lld~sekund"
#, c-format
msgid "%s: Verified 0~signatures and encrypted 0~messages."
-msgstr ""
+msgstr "%s: Sprawdzono 0~podpisów i zaszyfrowano 0~wiadomości."
-#, fuzzy, c-format
-#| msgid "Deleted %d signatures.\n"
+#, c-format
msgid "%s: Verified 0 signatures."
-msgstr "%d podpisów usuniętych.\n"
+msgstr "%s Sprawdzono 0 podpisów."
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "%s: Verified %ld~signature in the past %s."
msgid_plural "%s: Verified %ld~signatures in the past %s."
-msgstr[0] "wypisanie skrótów wiadomości"
-msgstr[1] "wypisanie skrótów wiadomości"
-msgstr[2] "wypisanie skrótów wiadomości"
+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."
-#, fuzzy
-#| msgid "encrypted with %lu passphrases\n"
msgid "Encrypted 0 messages."
-msgstr "zaszyfrowane za pomocą %lu haseł\n"
+msgstr "Zaszyfrowano 0 wiadomości."
-#, fuzzy, c-format
-#| msgid "print message digests"
+#, c-format
msgid "Encrypted %ld~message in the past %s."
msgid_plural "Encrypted %ld~messages in the past %s."
-msgstr[0] "wypisanie skrótów wiadomości"
-msgstr[1] "wypisanie skrótów wiadomości"
-msgstr[2] "wypisanie skrótów wiadomości"
+msgstr[0] "Zaszyfrowano %ld~wiadomość przez %s."
+msgstr[1] "Zaszyfrowano %ld~wiadomości przez %s."
+msgstr[2] "Zaszyfrowano %ld~wiadomości przez %s."
-#, fuzzy, c-format
-#| msgid "validity: %s"
+#, c-format
msgid "(policy: %s)"
-msgstr "poprawność: %s"
+msgstr "(polityka: %s)"
#, c-format
msgid ""
"Warning: we have yet to see a message signed using this key and user id!\n"
msgstr ""
+"Ostrzeżenie: jeszcze nie widzieliśmy wiadomości podpisanej tym kluczem i "
+"identyfikatorem użytkownika!\n"
#, c-format
msgid ""
"Warning: we've only seen one message signed using this key and user id!\n"
msgstr ""
+"Ostrzeżenie: widzieliśmy tylko jedną wiadomość podpisaną tym kluczem i "
+"identyfikatorem użytkownika!\n"
#, c-format
msgid "Warning: you have yet to encrypt a message to this key!\n"
-msgstr ""
+msgstr "Ostrzeżenie: jeszcze nie zaszyfrowano wiadomości tym kluczem!\n"
#, c-format
msgid "Warning: you have only encrypted one message to this key!\n"
-msgstr ""
+msgstr "Ostrzeżenie: zaszyfrowano tylko jedną wiadomość tym kluczem!\n"
#, c-format
msgid ""
@@ -6360,27 +5985,45 @@ msgid_plural ""
" %s\n"
"to mark it as being bad.\n"
msgstr[0] ""
+"Ostrzeżenie: jeżeli zauważono więcej podpisów wykonanych tym kluczem i "
+"identyfikatorem użytkownika, oznacza to, że ten klucz może być podrobiony! "
+"Należy uważnie sprawdzić adres e-mail pod kątem małych modyfikacji. Jeśli "
+"klucz jest podejrzany, należy użyć:\n"
+" %s\n"
+"aby oznaczyć go jako zły.\n"
msgstr[1] ""
+"Ostrzeżenie: jeżeli zauważono więcej podpisów wykonanych tym kluczem i "
+"identyfikatorami użytkownika, oznacza to, że ten klucz może być podrobiony! "
+"Należy uważnie sprawdzić adres e-mail pod kątem małych modyfikacji. Jeśli "
+"klucz jest podejrzany, należy użyć:\n"
+" %s\n"
+"aby oznaczyć go jako zły.\n"
msgstr[2] ""
+"Ostrzeżenie: jeżeli zauważono więcej podpisów wykonanych tym kluczem i "
+"identyfikatorami użytkownika, oznacza to, że ten klucz może być podrobiony! "
+"Należy uważnie sprawdzić adres e-mail pod kątem małych modyfikacji. Jeśli "
+"klucz jest podejrzany, należy użyć:\n"
+" %s\n"
+"aby oznaczyć go jako zły.\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error opening TOFU database: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd otwierania bazy danych TOFU: %s\n"
#, c-format
msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n"
msgstr ""
+"OSTRZEŻENIE: szyfrowanie kluczem %s, który nie ma unieważnionych "
+"identyfikatorów użytkownika\n"
-#, fuzzy, c-format
-#| msgid "error writing public keyring `%s': %s\n"
+#, c-format
msgid "error setting policy for key %s, user id \"%s\": %s"
-msgstr "błąd podczas zapisu zbioru kluczy publicznych ,,%s'': %s\n"
+msgstr ""
+"błąd ustawiania polityki dla klucza %s, identyfikator użytkownika ,,%s'': %s"
-#, fuzzy, c-format
-#| msgid "`%s' is not a valid long keyID\n"
+#, c-format
msgid "'%s' is not a valid long keyID\n"
-msgstr ",,%s'' nie jest poprawnym długim numerem klucza\n"
+msgstr ",,%s'' nie jest poprawnym długim identyfikatorem klucza\n"
#, c-format
msgid "key %s: accepted as trusted key\n"
@@ -6431,15 +6074,13 @@ msgstr "sprawdzanie bazy jest niepotrzebne\n"
msgid "next trustdb check due at %s\n"
msgstr "następne sprawdzanie bazy odbędzie się %s\n"
-#, fuzzy, c-format
-#| msgid "no need for a trustdb check with `%s' trust model\n"
+#, c-format
msgid "no need for a trustdb check with '%s' trust model\n"
-msgstr "sprawdzanie bazy jest niepotrzebne przy modelu zaufania ,,%s''\n"
+msgstr "nie ma potrzeby sprawdzania trustdb przy modelu zaufania ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "no need for a trustdb update with `%s' trust model\n"
+#, c-format
msgid "no need for a trustdb update with '%s' trust model\n"
-msgstr "aktualizacja bazy jest niepotrzebna przy modelu zaufania ,,%s''\n"
+msgstr "nie ma potrzeby uaktualniania trustdb przy modelu zaufania ,,%s''\n"
#, c-format
msgid "public key %s not found: %s\n"
@@ -6453,21 +6094,19 @@ msgstr "należy uruchomić gpg z opcją ,,--check-trustdb''\n"
msgid "checking the trustdb\n"
msgstr "sprawdzanie bazy zaufania\n"
-#, fuzzy, c-format
-#| msgid "%lu keys processed so far\n"
+#, c-format
msgid "%d key processed"
msgid_plural "%d keys processed"
-msgstr[0] "%lu kluczy przetworzonych do tej chwili\n"
-msgstr[1] "%lu kluczy przetworzonych do tej chwili\n"
-msgstr[2] "%lu kluczy przetworzonych do tej chwili\n"
+msgstr[0] "przetworzono %d klucz"
+msgstr[1] "przetworzono %d klucze"
+msgstr[2] "przetworzono %d kluczy"
-#, fuzzy, c-format
-#| msgid "%d keys processed (%d validity counts cleared)\n"
+#, c-format
msgid " (%d validity count cleared)\n"
msgid_plural " (%d validity counts cleared)\n"
-msgstr[0] "przetworzono %d kluczy (rozwiązano %d przeliczeń zaufania)\n"
-msgstr[1] "przetworzono %d kluczy (rozwiązano %d przeliczeń zaufania)\n"
-msgstr[2] "przetworzono %d kluczy (rozwiązano %d przeliczeń zaufania)\n"
+msgstr[0] " (skasowano %d licznik zaufania)\n"
+msgstr[1] " (skasowano %d liczniki zaufania)\n"
+msgstr[2] " (skasowano %d liczników zaufania)\n"
#, c-format
msgid "no ultimately trusted keys found\n"
@@ -6513,8 +6152,6 @@ msgstr "absolutne"
#. It gets passed to atoi() so everything after the number is
#. essentially a comment and need not be translated. Either key and
#. uid are both NULL, or neither are NULL.
-#, fuzzy
-#| msgid "10 translator see trustdb.c:uid_trust_string_fixed"
msgid "10 translator see trust.c:uid_trust_string_fixed"
msgstr "17"
@@ -6530,19 +6167,17 @@ msgstr "[ nieznane ]"
msgid "[ undef ]"
msgstr "[ nieokreślone ]"
-#, fuzzy
-#| msgid "never"
msgid "[ never ]"
-msgstr "nigdy"
+msgstr "[ nigdy ]"
msgid "[marginal]"
msgstr "[ marginalne ]"
msgid "[ full ]"
-msgstr "[ pełne ]"
+msgstr "[ pełne ]"
msgid "[ultimate]"
-msgstr "[ absolutne ]"
+msgstr "[ absolutne ]"
#, c-format
msgid ""
@@ -6569,7 +6204,7 @@ msgid "enable full debugging"
msgstr "włączenie pełnej diagnostyki"
msgid "Usage: kbxutil [options] [files] (-h for help)"
-msgstr "Wywołanie: kbxutil [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Składnia: kbxutil [opcje] [pliki] (-h wyświetla pomoc)"
msgid ""
"Syntax: kbxutil [options] [files]\n"
@@ -6654,10 +6289,9 @@ msgstr "odpowiedź nie zawiera współczynnika RSA\n"
msgid "response does not contain the RSA public exponent\n"
msgstr "odpowiedź nie zawiera publicznego wykładnika RSA\n"
-#, fuzzy, c-format
-#| msgid "response does not contain the RSA public exponent\n"
+#, c-format
msgid "response does not contain the EC public key\n"
-msgstr "odpowiedź nie zawiera publicznego wykładnika RSA\n"
+msgstr "odpowiedź nie zawiera klucza publicznego EC\n"
#, c-format
msgid "response does not contain the public key data\n"
@@ -6672,17 +6306,17 @@ msgstr "odczyt klucza publicznego nie powiódł się: %s\n"
#. * the %s at the start and end of the string.
#, c-format
msgid "%sNumber: %s%%0AHolder: %s%%0ACounter: %lu%s"
-msgstr ""
+msgstr "%sNumer: %s%%0AWłaściciel: %s%%0ALicznik: %lu%s"
#, c-format
msgid "%sNumber: %s%%0AHolder: %s%s"
-msgstr ""
+msgstr "%sNumer: %s%%0AWłaściciel: %s%s"
#. TRANSLATORS: This is the number of remaining attempts to
#. * enter a PIN. Use %%0A (double-percent,0A) for a linefeed.
#, c-format
msgid "Remaining attempts: %d"
-msgstr ""
+msgstr "Pozostało prób: %d"
#, c-format
msgid "using default PIN as %s\n"
@@ -6694,10 +6328,8 @@ msgstr ""
"nie udało się użyć domyślnego PIN-u jako %s: %s - wyłączenie dalszego "
"domyślnego użycia\n"
-#, fuzzy
-#| msgid "||Please enter the PIN"
msgid "||Please unlock the card"
-msgstr "||Proszę wpisać PIN"
+msgstr "||Proszę odblokować kartę"
#, c-format
msgid "PIN for CHV%d is too short; minimum length is %d\n"
@@ -6711,15 +6343,14 @@ msgstr "weryfikacja CHV%d nie powiodła się: %s\n"
msgid "card is permanently locked!\n"
msgstr "karta została trwale zablokowana!\n"
-#, fuzzy, c-format
-#| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
+#, c-format
msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
msgid_plural ""
"%d Admin PIN attempts remaining before card is permanently locked\n"
msgstr[0] ""
-"Zostało %d prób PIN-u administracyjnego do trwałego zablokowania karty\n"
+"Została %d próba PIN-u administracyjnego do trwałego zablokowania karty\n"
msgstr[1] ""
-"Zostało %d prób PIN-u administracyjnego do trwałego zablokowania karty\n"
+"Zostały %d próby PIN-u administracyjnego do trwałego zablokowania karty\n"
msgstr[2] ""
"Zostało %d prób PIN-u administracyjnego do trwałego zablokowania karty\n"
@@ -6796,10 +6427,9 @@ msgstr "liczba pierwsza %s RSA brakująca lub o rozmiarze innym niż %d bitów\n
msgid "failed to store the key: %s\n"
msgstr "nie powiódł się zapis klucza: %s\n"
-#, fuzzy, c-format
-#| msgid "unsupported algorithm: %s"
+#, c-format
msgid "unsupported curve\n"
-msgstr "nieobsługiwany algorytm: %s"
+msgstr "nieobsługiwana krzywa\n"
#, c-format
msgid "please wait while key is being generated ...\n"
@@ -6809,12 +6439,11 @@ msgstr "proszę czekać na wygenerowanie klucza...\n"
msgid "generating key failed\n"
msgstr "generowanie klucza nie powiodło się\n"
-#, fuzzy, c-format
-#| msgid "key generation completed (%d seconds)\n"
+#, c-format
msgid "key generation completed (%d second)\n"
msgid_plural "key generation completed (%d seconds)\n"
-msgstr[0] "generowanie klucza zakończone (%d sekund)\n"
-msgstr[1] "generowanie klucza zakończone (%d sekund)\n"
+msgstr[0] "generowanie klucza zakończone (%d sekunda)\n"
+msgstr[1] "generowanie klucza zakończone (%d sekundy)\n"
msgstr[2] "generowanie klucza zakończone (%d sekund)\n"
#, c-format
@@ -6872,13 +6501,13 @@ msgid "|NAME|use NAME as PC/SC driver"
msgstr "|NAZWA|użycie NAZWY jako sterownika PC/SC"
msgid "do not use the internal CCID driver"
-msgstr "nie używanie wewnętrznego sterownika CCID"
+msgstr "nieużywanie wewnętrznego sterownika CCID"
msgid "|N|disconnect the card after N seconds of inactivity"
msgstr "|N|odłączenie karty po N sekundach nieaktywności"
msgid "do not use a reader's pinpad"
-msgstr "nie używanie klawiatury czytnika"
+msgstr "nieużywanie klawiatury czytnika"
msgid "deny the use of admin card commands"
msgstr "zabronienie używania poleceń karty administratora"
@@ -6886,25 +6515,17 @@ msgstr "zabronienie używania poleceń karty administratora"
msgid "use variable length input for pinpad"
msgstr "użycie wejścia z klawiatury czytnika o zmiennej długości"
-#, fuzzy
-#| msgid "Usage: gpgconf [options] (-h for help)"
msgid "Usage: @SCDAEMON@ [options] (-h for help)"
-msgstr "Wywołanie: gpgconf [opcje] (-h podaje pomoc)"
+msgstr "Składnia: @SCDAEMON@ [opcje] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: scdaemon [options] [command [args]]\n"
-#| "Smartcard daemon for GnuPG\n"
msgid ""
"Syntax: scdaemon [options] [command [args]]\n"
"Smartcard daemon for @GNUPG@\n"
msgstr ""
"Składnia: scdaemon [opcje] [polecenie [argumenty]]\n"
-"Demon kart procesorowych dla GnuPG\n"
+"Demon kart procesorowych dla @GNUPG@\n"
-#, fuzzy, c-format
-#| msgid ""
-#| "please use the option `--daemon' to run the program in the background\n"
+#, c-format
msgid "please use the option '--daemon' to run the program in the background\n"
msgstr "proszę użyć opcji ,,--daemon'' do uruchomienia programu w tle\n"
@@ -6916,10 +6537,9 @@ msgstr "obsługa fd %d uruchomiona\n"
msgid "handler for fd %d terminated\n"
msgstr "obsługa fd %d zakończona\n"
-#, fuzzy, c-format
-#| msgid "no gpg-agent running in this session\n"
+#, c-format
msgid "no dirmngr running in this session\n"
-msgstr "brak działającego gpg-agenta w tej sesji\n"
+msgstr "brak działającego dirmngr w tej sesji\n"
#, c-format
msgid "validation model requested by certificate: %s"
@@ -6937,20 +6557,18 @@ msgstr "krytyczne rozszerzenie certyfikatu %s nie jest obsługiwane"
#, c-format
msgid "issuer certificate is not marked as a CA"
-msgstr "wystawca certyfikatu nie jest oznaczony jako CA"
+msgstr "certyfikat wystawcy nie jest oznaczony jako CA"
msgid "critical marked policy without configured policies"
msgstr "polityka oznaczona jako krytyczna bez skonfigurowanych polityk"
-#, fuzzy, c-format
-#| msgid "failed to open `%s': %s\n"
+#, c-format
msgid "failed to open '%s': %s\n"
msgstr "nie udało się otworzyć ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "note: non-critical certificate policy not allowed"
+#, c-format
msgid "Note: non-critical certificate policy not allowed"
-msgstr "uwaga: niekrytyczna polityka certyfikatu niedozwolona"
+msgstr "Uwaga: niekrytyczna polityka certyfikatu niedozwolona"
#, c-format
msgid "certificate policy not allowed"
@@ -6997,7 +6615,7 @@ msgstr "sprawdzenie CRL nie powiodło się: %s"
#, c-format
msgid "certificate with invalid validity: %s"
-msgstr "certyfikat o nieważnej ważności: %s"
+msgstr "certyfikat z błędną ważnością: %s"
#, c-format
msgid "certificate not yet valid"
@@ -7068,7 +6686,8 @@ msgid "interactive marking as trusted disabled for this session\n"
msgstr "interaktywne oznaczanie zaufania wyłączone dla tej sesji\n"
msgid "WARNING: creation time of signature not known - assuming current time"
-msgstr "UWAGA: czas utworzenia podpisu nie jest znany - przyjęto czas bieżący"
+msgstr ""
+"OSTRZEŻENIE: czas utworzenia podpisu nie jest znany - przyjęto czas bieżący"
msgid "no issuer found in certificate"
msgstr "nie znaleziono wystawcy w certyfikacie"
@@ -7090,7 +6709,7 @@ msgstr "łańcuch certyfikatów zbyt długi\n"
#, c-format
msgid "issuer certificate not found"
-msgstr "nie znaleziono wystawcy certyfikatu"
+msgstr "nie znaleziono certyfikatu wystawcy"
#, c-format
msgid "certificate has a BAD signature"
@@ -7101,7 +6720,7 @@ msgstr "znaleziono inny być może pasujący certyfikat CA - ponawianie próby"
#, c-format
msgid "certificate chain longer than allowed by CA (%d)"
-msgstr "łańcuch certyfikatów dłuższy niż zezwala CA (%d)"
+msgstr "łańcuch certyfikatów dłuższy niż dozwolony przez CA (%d)"
#, c-format
msgid "certificate is good\n"
@@ -7160,12 +6779,11 @@ msgstr ""
#, c-format
msgid "no key usage specified - assuming all usages\n"
-msgstr ""
-"nie określono sposobu wykorzystania klucza - przyjęto wszystkie sposoby\n"
+msgstr "nie podano zastosowania klucza - przyjęto wszystkie zastosowania\n"
#, c-format
msgid "error getting key usage information: %s\n"
-msgstr "błąd podczas pobierania informacji o wykorzystaniu klucza: %s\n"
+msgstr "błąd pobierania informacji o zastosowaniu klucza: %s\n"
#, c-format
msgid "certificate should not have been used for certification\n"
@@ -7203,13 +6821,11 @@ msgstr "linia %d: niewłaściwa długość klucza %u (poprawne są od %d do %d)\
msgid "line %d: no subject name given\n"
msgstr "linia %d: nie podano nazwy przedmiotu\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid subject name label `%.*s'\n"
+#, c-format
msgid "line %d: invalid subject name label '%.*s'\n"
msgstr "linia %d: niewłaściwa etykieta nazwy przedmiotu ,,%.*s''\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid subject name `%s' at pos %d\n"
+#, c-format
msgid "line %d: invalid subject name '%s' at pos %d\n"
msgstr "linia %d: niewłaściwa nazwa przedmiotu ,,%s'' na pozycji %d\n"
@@ -7217,58 +6833,47 @@ msgstr "linia %d: niewłaściwa nazwa przedmiotu ,,%s'' na pozycji %d\n"
msgid "line %d: not a valid email address\n"
msgstr "linia %d: niepoprawny adres e-mail\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "line %d: invalid serial number\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "linia %d: niewłaściwy numer seryjny\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid subject name label `%.*s'\n"
+#, c-format
msgid "line %d: invalid issuer name label '%.*s'\n"
-msgstr "linia %d: niewłaściwa etykieta nazwy przedmiotu ,,%.*s''\n"
+msgstr "linia %d: niewłaściwa etykieta nazwy wystawcy ,,%.*s''\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid subject name `%s' at pos %d\n"
+#, c-format
msgid "line %d: invalid issuer name '%s' at pos %d\n"
-msgstr "linia %d: niewłaściwa nazwa przedmiotu ,,%s'' na pozycji %d\n"
+msgstr "linia %d: niewłaściwa nazwa wystawcy ,,%s'' na pozycji %d\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "line %d: invalid date given\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "linia %d: podano niewłaściwą datę\n"
-#, fuzzy, c-format
-#| msgid "line %d: error getting key by keygrip `%s': %s\n"
+#, c-format
msgid "line %d: error getting signing key by keygrip '%s': %s\n"
-msgstr "linia %d: błąd pobierania klucza z uchwytu ,,%s'': %s\n"
+msgstr "linia %d: błąd pobierania klucza podpisującego z uchwytu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "line %d: invalid hash algorithm given\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "linia %d: podano niewłaściwy algorytm skrótu\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "line %d: invalid authority-key-id\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "linia %d: niewłaściwy authority-key-id\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid subject name `%s' at pos %d\n"
+#, c-format
msgid "line %d: invalid subject-key-id\n"
-msgstr "linia %d: niewłaściwa nazwa przedmiotu ,,%s'' na pozycji %d\n"
+msgstr "linia %d: niewłaściwy subject-key-id\n"
-#, fuzzy, c-format
-#| msgid "line %d: invalid algorithm\n"
+#, c-format
msgid "line %d: invalid extension syntax\n"
-msgstr "linia %d: niewłaściwy algorytm\n"
+msgstr "linia %d: niewłaściwa składnia rozszerzenia\n"
-#, fuzzy, c-format
-#| msgid "line %d: error reading key `%s' from card: %s\n"
+#, c-format
msgid "line %d: error reading key '%s' from card: %s\n"
msgstr "linia %d: błąd odczytu klucza ,,%s'' z karty: %s\n"
-#, fuzzy, c-format
-#| msgid "line %d: error getting key by keygrip `%s': %s\n"
+#, c-format
msgid "line %d: error getting key by keygrip '%s': %s\n"
msgstr "linia %d: błąd pobierania klucza z uchwytu ,,%s'': %s\n"
@@ -7324,8 +6929,7 @@ msgstr "Nazwa przedmiotu X.509: "
msgid "No subject name given\n"
msgstr "Nie podano nazwy przedmiotu\n"
-#, fuzzy, c-format
-#| msgid "Invalid subject name label `%.*s'\n"
+#, c-format
msgid "Invalid subject name label '%.*s'\n"
msgstr "Nieprawidłowa etykieta nazwy przedmiotu ,,%.*s''\n"
@@ -7334,8 +6938,7 @@ msgstr "Nieprawidłowa etykieta nazwy przedmiotu ,,%.*s''\n"
#. adjust it do the length of your translation. The
#. second string is merely passed to atoi so you can
#. drop everything after the number.
-#, fuzzy, c-format
-#| msgid "Invalid subject name `%s'\n"
+#, c-format
msgid "Invalid subject name '%s'\n"
msgstr "Nieprawidłowa nazwa przedmiotu ,,%s''\n"
@@ -7357,29 +6960,23 @@ msgstr " (opcjonalne; pusta linia oznacza koniec):\n"
msgid "Enter URIs"
msgstr "URI"
-#, fuzzy
-#| msgid "Create a designated revocation certificate for this key? (y/N) "
msgid "Create self-signed certificate? (y/N) "
-msgstr "Stworzyć certyfikat unieważnienia tego klucza? (t/N) "
+msgstr "Stworzyć własnoręcznie podpisany certyfikat? (t/N) "
msgid "These parameters are used:\n"
-msgstr ""
+msgstr "Użyte będą następujące parametry:\n"
-#, fuzzy
-#| msgid "self-signed certificate has a BAD signature"
msgid "Now creating self-signed certificate. "
-msgstr "własnoręcznie podpisany certyfikat ma ZŁY podpis"
+msgstr "Tworzenie własnoręcznie podpisanego certyfikatu. "
-#, fuzzy
-#| msgid "Now creating certificate request. This may take a while ...\n"
msgid "Now creating certificate request. "
-msgstr "Tworzenie żądania certyfikatu. Może to chwilę potrwać...\n"
+msgstr "Tworzenie żądania certyfikatu. "
msgid "This may take a while ...\n"
-msgstr ""
+msgstr "Może to chwilę potrwać...\n"
msgid "Ready.\n"
-msgstr ""
+msgstr "Gotowe.\n"
msgid "Ready. You should now send this request to your CA.\n"
msgstr ""
@@ -7397,8 +6994,7 @@ msgstr "(to jest algorytm RC2)\n"
msgid "(this does not seem to be an encrypted message)\n"
msgstr "(to nie wygląda na zaszyfrowaną wiadomość)\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
+#, c-format
msgid "certificate '%s' not found: %s\n"
msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
@@ -7406,13 +7002,11 @@ msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
msgid "error locking keybox: %s\n"
msgstr "błąd blokowania keyboksa: %s\n"
-#, fuzzy, c-format
-#| msgid "duplicated certificate `%s' deleted\n"
+#, c-format
msgid "duplicated certificate '%s' deleted\n"
msgstr "powtórzony certyfikat ,,%s'' usunięty\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' deleted\n"
+#, c-format
msgid "certificate '%s' deleted\n"
msgstr "certyfikat ,,%s'' usunięty\n"
@@ -7470,13 +7064,13 @@ msgid "|FILE|take policy information from FILE"
msgstr "|PLIK|pobranie informacji o polityce z PLIKU"
msgid "do not check certificate policies"
-msgstr "nie sprawdzanie polityk certyfikatów"
+msgstr "niesprawdzanie polityk certyfikatów"
msgid "fetch missing issuer certificates"
msgstr "pobranie brakujących certyfikatów wystawców"
msgid "don't use the terminal at all"
-msgstr "nie używanie w ogóle terminala"
+msgstr "nieużywanie w ogóle terminala"
msgid "|FILE|write a server mode log to FILE"
msgstr "|PLIK|zapisanie logów trybu serwerowego do PLIKU"
@@ -7508,33 +7102,24 @@ msgstr "|NAZWA|użycie tego algorytmu szyfrowania NAZWA"
msgid "|NAME|use message digest algorithm NAME"
msgstr "|NAZWA|użycie tego algorytmu skrótu wiadomości"
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
-msgstr "Wywołanie: gpg [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Składnia: @GPGSM@ [opcje] [pliki] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpgsm [options] [files]\n"
-#| "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
-#| "Default operation depends on the input data\n"
msgid ""
"Syntax: @GPGSM@ [options] [files]\n"
"Sign, check, encrypt or decrypt using the S/MIME protocol\n"
"Default operation depends on the input data\n"
msgstr ""
-"Składnia: gpgsm [opcje] [pliki]\n"
+"Składnia: @GPGSM@ [opcje] [pliki]\n"
"Podpisywanie, sprawdzanie podpisów, szyfrowanie, rozszyfrowywanie z użyciem "
"S/MIME\n"
"Domyślnie wykonywana operacja zależy od danych wejściowych\n"
-#, fuzzy, c-format
-#| msgid "NOTE: won't be able to encrypt to `%s': %s\n"
+#, c-format
msgid "Note: won't be able to encrypt to '%s': %s\n"
-msgstr "UWAGA: nie można zaszyfrować do ,,%s'': %s\n"
+msgstr "Uwaga: nie można zaszyfrować do ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "unknown validation model `%s'\n"
+#, c-format
msgid "unknown validation model '%s'\n"
msgstr "nieznany model poprawności ,,%s''\n"
@@ -7554,13 +7139,11 @@ msgstr "%s:%u: linia pominięta\n"
msgid "could not parse keyserver\n"
msgstr "niezrozumiały adres serwera kluczy\n"
-#, fuzzy, c-format
-#| msgid "importing common certificates `%s'\n"
+#, c-format
msgid "importing common certificates '%s'\n"
msgstr "import wspólnych certyfikatów ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "can't sign using `%s': %s\n"
+#, c-format
msgid "can't sign using '%s': %s\n"
msgstr "nie można podpisać z użyciem ,,%s'': %s\n"
@@ -7625,13 +7208,11 @@ msgid "GPG_TTY has not been set - using maybe bogus default\n"
msgstr ""
"GPG_TTY nie zostało ustawione - użycie być może nieprawidłowego domyślnego\n"
-#, fuzzy, c-format
-#| msgid "invalid formatted fingerprint in `%s', line %d\n"
+#, c-format
msgid "invalid formatted fingerprint in '%s', line %d\n"
msgstr "niewłaściwie sformatowany odcisk w ,,%s'', w linii %d\n"
-#, fuzzy, c-format
-#| msgid "invalid country code in `%s', line %d\n"
+#, c-format
msgid "invalid country code in '%s', line %d\n"
msgstr "niewłaściwy kod kraju w ,,%s'', w linii %d\n"
@@ -7711,637 +7292,562 @@ msgstr " alias"
msgid "This is a qualified signature\n"
msgstr "To jest podpis kwalifikowany\n"
-#, fuzzy, c-format
-#| msgid "checking for qualified certificate failed: %s\n"
+#, c-format
msgid "can't initialize certificate cache lock: %s\n"
-msgstr "sprawdzenie certyfikatu kwalifikowanego nie powiodło się: %s\n"
+msgstr "nie można zainicjować blokady pamięci podręcznej certyfikatów: %s\n"
#, c-format
msgid "can't acquire read lock on the certificate cache: %s\n"
msgstr ""
+"nie można uzyskać blokady dla odczytu pamięci podręcznej certyfikatów: %s\n"
#, c-format
msgid "can't acquire write lock on the certificate cache: %s\n"
msgstr ""
+"nie można uzyskać blokady dla zapisu pamięci podręcznej certyfikatów: %s\n"
-#, fuzzy, c-format
-#| msgid "problem looking for existing certificate: %s\n"
+#, c-format
msgid "can't release lock on the certificate cache: %s\n"
-msgstr "problem odszukaniem istniejącego certyfikatu: %s\n"
+msgstr "nie można zwolnić blokady pamięci podręcznej certyfikatów: %s\n"
-#, fuzzy, c-format
-#| msgid "looking up issuer from the Dirmngr cache\n"
+#, c-format
msgid "dropping %u certificates from the cache\n"
-msgstr "poszukiwanie wystawcy w pamięci podręcznej Dirmngr\n"
+msgstr "porzucanie %u certyfikatów z pamięci podręcznej\n"
-#, fuzzy, c-format
-#| msgid "can't create `%s': %s\n"
+#, c-format
msgid "can't parse certificate '%s': %s\n"
-msgstr "nie można utworzyć ,,%s'': %s\n"
+msgstr "nie można przeanalizować certyfikatu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' deleted\n"
+#, c-format
msgid "certificate '%s' already cached\n"
-msgstr "certyfikat ,,%s'' usunięty\n"
+msgstr "certyfikat ,,%s'' jest już w pamięci podręcznej\n"
-#, fuzzy, c-format
-#| msgid "duplicated certificate `%s' deleted\n"
+#, c-format
msgid "trusted certificate '%s' loaded\n"
-msgstr "powtórzony certyfikat ,,%s'' usunięty\n"
+msgstr "certyfikat zaufany ,,%s'' załadowany\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' deleted\n"
+#, c-format
msgid "certificate '%s' loaded\n"
-msgstr "certyfikat ,,%s'' usunięty\n"
+msgstr "certyfikat ,,%s'' załadowany\n"
-#, fuzzy, c-format
-#| msgid "fingerprint=%s\n"
+#, c-format
msgid " SHA1 fingerprint = %s\n"
-msgstr "odcisk=%s\n"
+msgstr " odcisk SHA1 = %s\n"
msgid " issuer ="
-msgstr ""
+msgstr " wystawca ="
msgid " subject ="
-msgstr ""
+msgstr " przedmiot ="
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error loading certificate '%s': %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd ładowania certyfikatu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "Included certificates"
+#, c-format
msgid "permanently loaded certificates: %u\n"
-msgstr "Dołączone certyfikaty"
+msgstr " trwale załadowanych certyfikatów: %u\n"
-#, fuzzy, c-format
-#| msgid "number of matching certificates: %d\n"
+#, c-format
msgid " runtime cached certificates: %u\n"
-msgstr "liczba pasujących certyfikatów: %d\n"
+msgstr "certyfikatów w pamięci podręcznej: %u\n"
-#, fuzzy, c-format
-#| msgid "number of matching certificates: %d\n"
+#, c-format
msgid " trusted certificates: %u (%u,%u,%u,%u)\n"
-msgstr "liczba pasujących certyfikatów: %d\n"
+msgstr " certyfikatów zaufanych: %u (%u,%u,%u,%u)\n"
-#, fuzzy, c-format
-#| msgid " (certificate created at "
+#, c-format
msgid "certificate already cached\n"
-msgstr " (certyfikat utworzony "
+msgstr "certyfikat już istnieje w pamięci podręcznej\n"
-#, fuzzy, c-format
-#| msgid "certificate is good\n"
+#, c-format
msgid "certificate cached\n"
-msgstr "certyfikat jest dobry\n"
+msgstr "certyfikat zapisany w pamięci podręcznej\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error caching certificate: %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd zapisu certyfikatu w pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "invalid fingerprint"
+#, c-format
msgid "invalid SHA1 fingerprint string '%s'\n"
-msgstr "niewłaściwy odcisk"
+msgstr "niewłaściwy łańcuch odcisku SHA1 ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error fetching certificate by S/N: %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd pobierania certyfikatu wg S/N: %s\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error fetching certificate by subject: %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd pobierania certyfikatu wg przedmiotu: %s\n"
-#, fuzzy, c-format
-#| msgid "no issuer found in certificate"
+#, c-format
msgid "no issuer found in certificate\n"
-msgstr "nie znaleziono wystawcy w certyfikacie"
+msgstr "nie znaleziono wystawcy w certyfikacie\n"
-#, fuzzy, c-format
-#| msgid "error getting stored flags: %s\n"
+#, c-format
msgid "error getting authorityKeyIdentifier: %s\n"
-msgstr "błąd pobierania zapisanych flag: %s\n"
+msgstr "błąd pobierania authorityKeyIdentifier: %s\n"
-#, fuzzy, c-format
-#| msgid "can't create directory `%s': %s\n"
+#, c-format
msgid "creating directory '%s'\n"
-msgstr "nie można utworzyć katalogu ,,%s'': %s\n"
+msgstr "tworzenie katalogu ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error creating keybox `%s': %s\n"
+#, c-format
msgid "error creating directory '%s': %s\n"
-msgstr "błąd tworzenia keyboksa ,,%s'': %s\n"
+msgstr "błąd tworzenia katalogu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "ignoring garbage line"
+#, c-format
msgid "ignoring database dir '%s'\n"
-msgstr "zignorowano błędną linię"
+msgstr "zignorowano katalog bazy danych ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error reading from %s: %s\n"
+#, c-format
msgid "error reading directory '%s': %s\n"
-msgstr "błąd odczytu z %s: %s\n"
+msgstr "błąd odczytu katalogu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "receiving line failed: %s\n"
+#, c-format
msgid "removing cache file '%s'\n"
-msgstr "odbieranie linii nie powiodło się: %s\n"
+msgstr "usuwanie pliku pamięci podręcznej ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "enarmoring failed: %s\n"
+#, c-format
msgid "not removing file '%s'\n"
-msgstr "opakowywanie ASCII nie powiodło się: %s\n"
+msgstr "bez usuwania pliku ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
+#, c-format
msgid "error closing cache file: %s\n"
-msgstr "błąd zamykania %s: %s\n"
+msgstr "błąd zamykania pliku pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to open `%s': %s\n"
+#, c-format
msgid "failed to open cache dir file '%s': %s\n"
-msgstr "nie udało się otworzyć ,,%s'': %s\n"
+msgstr "nie udało się otworzyć pliku katalogu pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
+#, c-format
msgid "error creating new cache dir file '%s': %s\n"
-msgstr "błąd tworzenia pliku tymczasowego: %s\n"
+msgstr "błąd tworzenia nowego pliku katalogu pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error writing secret keyring `%s': %s\n"
+#, c-format
msgid "error writing new cache dir file '%s': %s\n"
-msgstr "błąd podczas zapisu zbioru kluczy tajnych ,,%s'': %s\n"
+msgstr ""
+"błąd podczas zapisu nowego pliku katalogu pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
+#, c-format
msgid "error closing new cache dir file '%s': %s\n"
-msgstr "błąd zamykania %s: %s\n"
+msgstr "błąd zamykania nowego pliku katalogu pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "new configuration file `%s' created\n"
+#, c-format
msgid "new cache dir file '%s' created\n"
-msgstr "nowy plik ustawień ,,%s'' został utworzony\n"
+msgstr "nowy plik katalogu pamięci podręcznej ,,%s'' został utworzony\n"
-#, fuzzy, c-format
-#| msgid "failed to create temporary file `%s': %s\n"
+#, c-format
msgid "failed to re-open cache dir file '%s': %s\n"
-msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
+msgstr ""
+"nie udało ponownie otworzyć pliku katalogu pamięci podręcznej ,,%s'': %s\n"
#, c-format
msgid "first record of '%s' is not the version\n"
-msgstr ""
+msgstr "pierwszy rekord ,,%s'' nie jest wersją\n"
#, c-format
msgid "old version of cache directory - cleaning up\n"
-msgstr ""
+msgstr "stara wersja katalogu pamięci podręcznej - czyszczenie\n"
#, c-format
msgid "old version of cache directory - giving up\n"
-msgstr ""
+msgstr "stara wersja katalogu pamięci podręcznej - poddaję się\n"
#, c-format
msgid "extra field detected in crl record of '%s' line %u\n"
-msgstr ""
+msgstr "wykryto nadmiarowe pole w rekordzie CRL ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "invalid country code in `%s', line %d\n"
+#, c-format
msgid "invalid line detected in '%s' line %u\n"
-msgstr "niewłaściwy kod kraju w ,,%s'', w linii %d\n"
+msgstr "wykryto niewłaściwą linię w ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "invalid country code in `%s', line %d\n"
+#, c-format
msgid "duplicate entry detected in '%s' line %u\n"
-msgstr "niewłaściwy kod kraju w ,,%s'', w linii %d\n"
+msgstr "wykryto powtórzony wpis w ,,%s'', linia %u\n"
#, c-format
msgid "unsupported record type in '%s' line %u skipped\n"
-msgstr ""
+msgstr "pominięto nieobsługiwany typ rekordu w ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "invalid keyflag in `%s', line %d\n"
+#, c-format
msgid "invalid issuer hash in '%s' line %u\n"
-msgstr "nieprawidłowa flaga klucza w ,,%s'', w linii %d\n"
+msgstr "nieprawidłowy skrót wystawcy w ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "bad fingerprint in `%s', line %d\n"
+#, c-format
msgid "no issuer DN in '%s' line %u\n"
-msgstr "błędny odcisk w ,,%s'', w linii %d\n"
+msgstr "brak DN wystawcy w ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "invalid keyflag in `%s', line %d\n"
+#, c-format
msgid "invalid timestamp in '%s' line %u\n"
-msgstr "nieprawidłowa flaga klucza w ,,%s'', w linii %d\n"
+msgstr "nieprawidłowy znacznik czasu w ,,%s'', linia %u\n"
-#, fuzzy, c-format
-#| msgid "invalid keyflag in `%s', line %d\n"
+#, c-format
msgid "WARNING: invalid cache file hash in '%s' line %u\n"
-msgstr "nieprawidłowa flaga klucza w ,,%s'', w linii %d\n"
+msgstr ""
+"UWAGA: nieprawidłowy skrót pliku pamięci podręcznej w ,,%s'', linia %u\n"
#, c-format
msgid "detected errors in cache dir file\n"
-msgstr ""
+msgstr "wykryto błędy w pliku katalogu pamięci podręcznej\n"
#, c-format
msgid "please check the reason and manually delete that file\n"
-msgstr ""
+msgstr "proszę sprawdzić przyczynę i ręcznie usunąć ten plik\n"
-#, fuzzy, c-format
-#| msgid "failed to create temporary file `%s': %s\n"
+#, c-format
msgid "failed to create temporary cache dir file '%s': %s\n"
-msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
+msgstr ""
+"nie udało się utworzyć pliku tymczasowego katalogu pamięci podręcznej ,,"
+"%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
+#, c-format
msgid "error closing '%s': %s\n"
-msgstr "błąd zamykania %s: %s\n"
+msgstr "błąd zamykania ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error reading `%s': %s\n"
+#, c-format
msgid "error renaming '%s' to '%s': %s\n"
-msgstr "błąd odczytu ,,%s'': %s\n"
+msgstr "błąd zmiany nazwy ,,%s'' na ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "can't access `%s': %s\n"
+#, c-format
msgid "can't hash '%s': %s\n"
-msgstr "nie można dostać się do ,,%s'': %s\n"
+msgstr "nie można policzyć skrótu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error setting up MD5 hash context: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd ustawiania kontekstu skrótu MD5: %s\n"
-#, fuzzy, c-format
-#| msgid "error in `%s': %s\n"
+#, c-format
msgid "error hashing '%s': %s\n"
-msgstr "błąd w ,,%s'': %s\n"
+msgstr "błąd liczenia skrótu ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "invalid formatted fingerprint in `%s', line %d\n"
+#, c-format
msgid "invalid formatted checksum for '%s'\n"
-msgstr "niewłaściwie sformatowany odcisk w ,,%s'', w linii %d\n"
+msgstr "niewłaściwie sformatowana suma kontrolna ,,%s''\n"
#, c-format
msgid "too many open cache files; can't open anymore\n"
msgstr ""
+"zbyt dużo otwartych plików pamięci podręcznej; nie można otworzyć więcej\n"
-#, fuzzy, c-format
-#| msgid "sending line failed: %s\n"
+#, c-format
msgid "opening cache file '%s'\n"
-msgstr "wysyłanie linii nie powiodło się: %s\n"
+msgstr "otwieranie pliku pamięci podręcznej ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error opening `%s': %s\n"
+#, c-format
msgid "error opening cache file '%s': %s\n"
-msgstr "błąd podczas otwierania ,,%s'': %s\n"
+msgstr "błąd otwierania pliku pamięci podręcznej ,,%s'': %s\n"
#, c-format
msgid "error initializing cache file '%s' for reading: %s\n"
-msgstr ""
+msgstr "błąd inicjowania pliku pamięci podręcznej ,,%s'' do odczytu: %s\n"
#, c-format
msgid "calling unlock_db_file on a closed file\n"
-msgstr ""
+msgstr "wywołanie unlock_db_file na zamkniętym pliku\n"
#, c-format
msgid "calling unlock_db_file on an unlocked file\n"
-msgstr ""
+msgstr "wywołanie unlock_db_file na nie zablokowanym pliku\n"
-#, fuzzy, c-format
-#| msgid "failed to create stream from socket: %s\n"
+#, c-format
msgid "failed to create a new cache object: %s\n"
-msgstr "nie udało się utworzyć strumienia z gniazda: %s\n"
+msgstr "nie udało się utworzyć nowego obiektu pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "No help available for `%s'"
+#, c-format
msgid "no CRL available for issuer id %s\n"
-msgstr "Brak pomocy o ,,%s''"
+msgstr "brak dostępnego CRL dla id wystawcy %s\n"
#, c-format
msgid "cached CRL for issuer id %s too old; update required\n"
msgstr ""
+"CRL w pamięci podręcznej dla id wystawcy %s zbyt stare; wymagana "
+"aktualizacja\n"
#, c-format
msgid ""
"force-crl-refresh active and %d minutes passed for issuer id %s; update "
"required\n"
msgstr ""
+"force-crl-refresh aktywne i minęło %d minut dla id wystawcy %s; wymagana "
+"aktualizacja\n"
#, c-format
msgid "force-crl-refresh active for issuer id %s; update required\n"
-msgstr ""
+msgstr "force-crl-refresh aktywne dla id wystawcy %s; wymagana aktualizacja\n"
#, c-format
msgid "available CRL for issuer ID %s can't be used\n"
-msgstr ""
+msgstr "dostępne CRL dla ID wystawcy %s nie może być użyte\n"
#, c-format
msgid "cached CRL for issuer id %s tampered; we need to update\n"
msgstr ""
+"CRL w pamięci podręcznej dla id wystawcy %s naruszone; konieczna "
+"aktualizacja\n"
#, c-format
msgid "WARNING: invalid cache record length for S/N "
-msgstr ""
+msgstr "OSTRZEŻENIE: błędna długość rekordu pamięci podręcznej dla S/N "
-#, fuzzy, c-format
-#| msgid "Error reading backup key from `%s': %s\n"
+#, c-format
msgid "problem reading cache record for S/N %s: %s\n"
-msgstr "Błąd podczas odczytu klucza zapasowego z `%s': %s\n"
+msgstr "problem z odczytem rekordu pamięci podręcznej dla S/N %s: %s\n"
#, c-format
msgid "S/N %s is not valid; reason=%02X date=%.15s\n"
-msgstr ""
+msgstr "S/N %s nie jest prawidłowy; powód=%02X data=%.15s\n"
#, c-format
msgid "S/N %s is valid, it is not listed in the CRL\n"
-msgstr ""
+msgstr "S/N %s jest prawidłowy, nie jest wymieniony w CRL\n"
-#, fuzzy, c-format
-#| msgid "error getting stored flags: %s\n"
+#, c-format
msgid "error getting data from cache file: %s\n"
-msgstr "błąd pobierania zapisanych flag: %s\n"
+msgstr "błąd pobierania danych z pliku pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "invalid hash algorithm `%s'\n"
+#, c-format
msgid "unknown hash algorithm '%s'\n"
msgstr "niewłaściwy algorytm skrótu ,,%s''\n"
#, c-format
msgid "gcry_md_open for algorithm %d failed: %s\n"
-msgstr ""
+msgstr "gcry_md_open dla algorytmu %d nie powiodło się: %s\n"
#, c-format
msgid "got an invalid S-expression from libksba\n"
-msgstr ""
+msgstr "odebrano błędne S-wyrażenie z libksba\n"
-#, fuzzy, c-format
-#| msgid "iconv_open failed: %s\n"
+#, c-format
msgid "converting S-expression failed: %s\n"
-msgstr "iconv_open nie powiodło się: %s\n"
+msgstr "konwersja S-wyrażenia nie powiodła się: %s\n"
-#, fuzzy, c-format
-#| msgid "receiving line failed: %s\n"
+#, c-format
msgid "creating S-expression failed: %s\n"
-msgstr "odbieranie linii nie powiodło się: %s\n"
+msgstr "tworzenie S-wyrażenia nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "build_packet failed: %s\n"
+#, c-format
msgid "ksba_crl_parse failed: %s\n"
-msgstr "wywołanie funkcji build_packet nie powiodło się: %s\n"
+msgstr "ksba_crl_parse nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting serial number of card: %s\n"
+#, c-format
msgid "error getting update times of CRL: %s\n"
-msgstr "błąd pobierania numeru seryjnego karty: %s\n"
+msgstr "błąd pobierania czasów aktualizacji CRL: %s\n"
#, c-format
msgid "update times of this CRL: this=%s next=%s\n"
-msgstr ""
+msgstr "czasy uaktualnienia tego CRL: obecne=%s następne=%s\n"
#, c-format
msgid "nextUpdate not given; assuming a validity period of one day\n"
-msgstr ""
+msgstr "nie podano nextUpdate; przyjęto okreś ważności jednego dnia\n"
-#, fuzzy, c-format
-#| msgid "error getting new PIN: %s\n"
+#, c-format
msgid "error getting CRL item: %s\n"
-msgstr "błąd podczas odczytu nowego PIN-u: %s\n"
+msgstr "błąd pobierania elementu CRL: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing to temporary file: %s\n"
+#, c-format
msgid "error inserting item into temporary cache file: %s\n"
-msgstr "błąd zapisu do pliku tymczasowego: %s\n"
+msgstr ""
+"błąd wstawiania elementu do pliku tymczasowego pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "no issuer found in certificate"
+#, c-format
msgid "no CRL issuer found in CRL: %s\n"
-msgstr "nie znaleziono wystawcy w certyfikacie"
+msgstr "nie znaleziono wystawcy CRL w CRL: %s\n"
#, c-format
msgid "locating CRL issuer certificate by authorityKeyIdentifier\n"
-msgstr ""
+msgstr "wyszukiwanie certyfikatu wystawcy CRL po authorityKeyIdentifier\n"
-#, fuzzy, c-format
-#| msgid "signature verification suppressed\n"
+#, c-format
msgid "CRL signature verification failed: %s\n"
-msgstr "wymuszono pominięcie sprawdzenia podpisu\n"
+msgstr "weryfikacja podpisu CRL nie powiodła się: %s\n"
-#, fuzzy, c-format
-#| msgid "error reading list of trusted root certificates\n"
+#, c-format
msgid "error checking validity of CRL issuer certificate: %s\n"
-msgstr "błąd odczytu listy zaufanych certyfikatów głównych\n"
+msgstr "błąd sprawdzania poprawności certyfikatu wystawcy CRL: %s\n"
-#, fuzzy, c-format
-#| msgid "select failed: %s\n"
+#, c-format
msgid "ksba_crl_new failed: %s\n"
-msgstr "select nie powiodło się: %s\n"
+msgstr "ksba_crl_new nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "read failed: %s\n"
+#, c-format
msgid "ksba_crl_set_reader failed: %s\n"
-msgstr "odczyt nie powiódł się: %s\n"
+msgstr "ksba_crl_set_reader nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to create temporary file `%s': %s\n"
+#, c-format
msgid "removed stale temporary cache file '%s'\n"
-msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
+msgstr "usunięto zleżały plik tymczasowy pamięci podręcznej ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "failed to create temporary file `%s': %s\n"
+#, c-format
msgid "problem removing stale temporary cache file '%s': %s\n"
-msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
+msgstr ""
+"problem z usunięciem zleżałego pliku tymczasowego pamięci podręcznej ,,%s'': "
+"%s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
+#, c-format
msgid "error creating temporary cache file '%s': %s\n"
-msgstr "błąd tworzenia pliku tymczasowego: %s\n"
+msgstr "błąd tworzenia pliku tymczasowego pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "update secret failed: %s\n"
+#, c-format
msgid "crl_parse_insert failed: %s\n"
-msgstr "zapis zmian na kluczu prywatnym nie powiódł się: %s\n"
+msgstr "crl_parse_insert nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing to temporary file: %s\n"
+#, c-format
msgid "error finishing temporary cache file '%s': %s\n"
-msgstr "błąd zapisu do pliku tymczasowego: %s\n"
+msgstr "błąd finalizacji pliku tymczasowego pamięci podręcznej ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error creating temporary file: %s\n"
+#, c-format
msgid "error closing temporary cache file '%s': %s\n"
-msgstr "błąd tworzenia pliku tymczasowego: %s\n"
+msgstr "błąd zamykania pliku tymczasowego pamięci podręcznej ,,%s'': %s\n"
#, c-format
msgid "WARNING: new CRL still too old; it expired on %s - loading anyway\n"
msgstr ""
+"OSTRZEŻENIE: nowe CRL jest nadal zbyt stare; wygasło %s - ładowanie mimo to\n"
#, c-format
msgid "new CRL still too old; it expired on %s\n"
-msgstr ""
+msgstr "nowe CRL jest nadal zbyt stare; wygasło %s\n"
#, c-format
msgid "unknown critical CRL extension %s\n"
-msgstr ""
+msgstr "nieznane rozszerzenie krytyczne CRL %s\n"
-#, fuzzy, c-format
-#| msgid "error reading input: %s\n"
+#, c-format
msgid "error reading CRL extensions: %s\n"
-msgstr "błąd odczytu wejścia: %s\n"
+msgstr "błąd odczytu rozszerzeń CRL: %s\n"
-#, fuzzy, c-format
-#| msgid "error creating a pipe: %s\n"
+#, c-format
msgid "creating cache file '%s'\n"
-msgstr "błąd tworzenia potoku: %s\n"
+msgstr "błąd tworzenia pliku pamięci podręcznej ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "problem renaming '%s' to '%s': %s\n"
-msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
+msgstr "problem ze zmianą nazwy ,,%s'' na ,,%s'': %s\n"
#, c-format
msgid ""
"updating the DIR file failed - cache entry will get lost with the next "
"program start\n"
msgstr ""
+"uaktualnianie pliku DIR nie powiodło się - wpis pamięci podręcznej zostanie "
+"utracony przy następnym starcie programu\n"
#, c-format
msgid "Begin CRL dump (retrieved via %s)\n"
-msgstr ""
+msgstr "Rozpoczęcie zrzutu cRL (uzyskanego poprzez %s)\n"
msgid ""
" ERROR: The CRL will not be used because it was still too old after an "
"update!\n"
msgstr ""
+" BŁĄD: CRL nie będzie użyte, ponieważ po uaktualnieniu jest nadal zbyt "
+"stare!\n"
msgid ""
" ERROR: The CRL will not be used due to an unknown critical extension!\n"
msgstr ""
+" BŁĄD: CRL nie będzie użyte ze względu na nieznane rozszerzenie krytyczne!\n"
msgid " ERROR: The CRL will not be used\n"
-msgstr ""
+msgstr " BŁĄD: CRL nie będzie użyte\n"
msgid " ERROR: This cached CRL may have been tampered with!\n"
-msgstr ""
+msgstr " BŁĄD: to zapamiętane CRL mogło zostać naruszone!\n"
-#, fuzzy, c-format
-#| msgid "WARNING: invalid notation data found\n"
+#, c-format
msgid " WARNING: invalid cache record length\n"
-msgstr "OSTRZEŻENIE: napotkano błędne dane adnotacji\n"
+msgstr " OSTRZEŻENIE: błędna długość rekordu pamięci podręcznej\n"
-#, fuzzy, c-format
-#| msgid "error reading the card: %s\n"
+#, c-format
msgid "problem reading cache record: %s\n"
-msgstr "błąd odczytu karty: %s\n"
+msgstr "problem z odczytem rekordu pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "problem re-searching certificate: %s\n"
+#, c-format
msgid "problem reading cache key: %s\n"
-msgstr "problem z ponownym odszukaniem certyfikatu: %s\n"
+msgstr "problem z odczytem klucza pamięci podręcznej: %s\n"
-#, fuzzy, c-format
-#| msgid "error reading nonce on fd %d: %s\n"
+#, c-format
msgid "error reading cache entry from db: %s\n"
-msgstr "błąd odczytu nonce z fd %d: %s\n"
+msgstr "błąd odczytu wpisu pamięci podręcznej z db: %s\n"
msgid "End CRL dump\n"
-msgstr ""
+msgstr "Koniec zrzutu CRL\n"
-#, fuzzy, c-format
-#| msgid "read failed: %s\n"
+#, c-format
msgid "crl_fetch via DP failed: %s\n"
-msgstr "odczyt nie powiódł się: %s\n"
+msgstr "crl_fetch po DP nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "checking the trust list failed: %s\n"
+#, c-format
msgid "crl_cache_insert via DP failed: %s\n"
-msgstr "sprawdzenie listy zaufania nie powiodło się: %s\n"
+msgstr "crl_cache_insert po DP nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "receiving line failed: %s\n"
+#, c-format
msgid "crl_cache_insert via issuer failed: %s\n"
-msgstr "odbieranie linii nie powiodło się: %s\n"
+msgstr "crl_cache_insert po wystawcy nie powiodło się: %s\n"
#, c-format
msgid "reader to file mapping table full - waiting\n"
-msgstr ""
+msgstr "tabela przypisań czytelników do plików pełna - oczekiwanie\n"
#, c-format
msgid "CRL access not possible due to disabled %s\n"
-msgstr ""
+msgstr "Dostęp do CRL niemożliwy z powodu wyłączonego %s\n"
-#, fuzzy, c-format
-#| msgid "error retrieving `%s' via %s: %s\n"
+#, c-format
msgid "error retrieving '%s': %s\n"
-msgstr "błąd odtwarzania ,,%s'' poprzez %s: %s\n"
+msgstr "błąd odtwarzania ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "%s: error writing dir record: %s\n"
+#, c-format
msgid "error initializing reader object: %s\n"
-msgstr "%s: błąd zapisu wpisu katalogowego: %s\n"
+msgstr "błąd inicjowania obiektu czytelnika: %s\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
+#, c-format
msgid "CRL access not possible due to Tor mode\n"
-msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
+msgstr "dostęp do CRL niemożliwy z powodu trybu Tor\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
+#, c-format
msgid "certificate search not possible due to disabled %s\n"
-msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
+msgstr "wyszukanie certyfikatu niemożliwe z powodu wyłączonego %s\n"
msgid "use OCSP instead of CRLs"
-msgstr ""
+msgstr "użycie OCSP zamiast CRL"
msgid "check whether a dirmngr is running"
-msgstr ""
+msgstr "sprawdzenie, czy dirmngr działa"
-#, fuzzy
-#| msgid " (certificate created at "
msgid "add a certificate to the cache"
-msgstr " (certyfikat utworzony "
+msgstr "dodanie certyfikatu do pamięci podręcznej"
-#, fuzzy
-#| msgid "Included certificates"
msgid "validate a certificate"
-msgstr "Dołączone certyfikaty"
+msgstr "sprawdzenie poprawności certyfikatu"
-#, fuzzy
-#| msgid "Included certificates"
msgid "lookup a certificate"
-msgstr "Dołączone certyfikaty"
+msgstr "wyszukanie certyfikatu"
-#, fuzzy
-#| msgid "Included certificates"
msgid "lookup only locally stored certificates"
-msgstr "Dołączone certyfikaty"
+msgstr "szukanie tylko lokalnie zapisanych certyfikatów"
msgid "expect an URL for --lookup"
-msgstr ""
+msgstr "oczekiwano URL-a dla --lookup"
-#, fuzzy
-#| msgid "pass a command to the dirmngr"
msgid "load a CRL into the dirmngr"
-msgstr "przekazanie polecenia do dirmngr"
+msgstr "załadowanie CRL do dirmnge"
msgid "special mode for use by Squid"
-msgstr ""
+msgstr "specjalny tryb do wykorzystania przez Squida"
-#, fuzzy
-#| msgid "export certificates"
msgid "expect certificates in PEM format"
-msgstr "eksport certyfikatów"
+msgstr "eksport certyfikatów w formacie PEM"
-#, fuzzy
-#| msgid "Enter the user ID of the designated revoker: "
msgid "force the use of the default OCSP responder"
-msgstr "Podaj identyfikator klucza unieważniającego: "
+msgstr "wymuszenie użycia domyślnego respondera OCSP"
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
msgid "Usage: dirmngr-client [options] [certfile|pattern] (-h for help)\n"
-msgstr "Wywołanie: gpg [opcje] [pliki] (-h podaje pomoc)"
+msgstr ""
+"Składnia: dirmngr-client [opcje] [plik_certyfikatu|wzorzec] (-h wyświetla "
+"pomoc)\n"
msgid ""
"Syntax: dirmngr-client [options] [certfile|pattern]\n"
@@ -8349,780 +7855,671 @@ msgid ""
"The process returns 0 if the certificate is valid, 1 if it is\n"
"not valid and other error codes for general failures\n"
msgstr ""
+"Składnia: dirmngr-client [opcje] [plik_certyfikatu|wzorzec]\n"
+"Sprawdzenie certyfikatu X.509 względem CRL lub wykonanie testu OCSP\n"
+"Proces zwraca 0, jeśli certyfikat jest poprawny, 1 jeśli niepoprawny,\n"
+"a inne kody w przypadku błędów ogólnych\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error reading certificate from stdin: %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd odczytu certyfikatu ze standardowego wejścia: %s\n"
-#, fuzzy, c-format
-#| msgid "error reading from %s: %s\n"
+#, c-format
msgid "error reading certificate from '%s': %s\n"
-msgstr "błąd odczytu z %s: %s\n"
+msgstr "błąd odczytu certyfikatu z ,,%s'': %s\n"
#, c-format
msgid "certificate too large to make any sense\n"
-msgstr ""
+msgstr "certyfikat zbyt duży, żeby miał sens\n"
-#, fuzzy, c-format
-#| msgid "can't connect to `%s': %s\n"
+#, c-format
msgid "can't connect to the dirmngr: %s\n"
-msgstr "nie można się połączyć z ,,%s'': %s\n"
+msgstr "nie można połączyć się z dirmngr: %s\n"
-#, fuzzy, c-format
-#| msgid "update failed: %s\n"
+#, c-format
msgid "lookup failed: %s\n"
-msgstr "zapis zmian nie powiódł się: %s\n"
+msgstr "wyszukanie nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "loading CRL '%s' failed: %s\n"
-msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
+msgstr "załadowanie CRL ,,%s'' nie powiodła się: %s\n"
#, c-format
msgid "a dirmngr daemon is up and running\n"
-msgstr ""
+msgstr "demon dirmngr jest włączony i działa\n"
-#, fuzzy, c-format
-#| msgid "deleting certificate \"%s\" failed: %s\n"
+#, c-format
msgid "validation of certificate failed: %s\n"
-msgstr "usunięcie certyfikatu ,,%s'' nie powiodło się: %s\n"
+msgstr "sprawdzenie poprawności certyfikatu nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "certificate is good\n"
+#, c-format
msgid "certificate is valid\n"
-msgstr "certyfikat jest dobry\n"
+msgstr "certyfikat jest poprawny\n"
-#, fuzzy, c-format
-#| msgid "certificate has been revoked"
+#, c-format
msgid "certificate has been revoked\n"
-msgstr "certyfikat został unieważniony"
+msgstr "certyfikat został anulowany\n"
-#, fuzzy, c-format
-#| msgid "deleting certificate \"%s\" failed: %s\n"
+#, c-format
msgid "certificate check failed: %s\n"
-msgstr "usunięcie certyfikatu ,,%s'' nie powiodło się: %s\n"
+msgstr "sprawdzenie certyfikatu nie powiodło się: %s\n"
#, c-format
msgid "got status: '%s'\n"
-msgstr ""
+msgstr "otrzymano status: ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error writing secret keyring `%s': %s\n"
+#, c-format
msgid "error writing base64 encoding: %s\n"
-msgstr "błąd podczas zapisu zbioru kluczy tajnych ,,%s'': %s\n"
+msgstr "błąd zapisu kodowania base64: %s\n"
-#, fuzzy, c-format
-#| msgid "unsupported algorithm: %s"
+#, c-format
msgid "unsupported inquiry '%s'\n"
-msgstr "nieobsługiwany algorytm: %s"
+msgstr "nieobsługiwane zapytanie ,,%s''\n"
#, c-format
msgid "absolute file name expected\n"
-msgstr ""
+msgstr "oczekiwano bezwzględnej nazwy pliku\n"
#, c-format
msgid "looking up '%s'\n"
-msgstr ""
+msgstr "wyszukiwanie ,,%s''\n"
msgid "list the contents of the CRL cache"
-msgstr ""
+msgstr "lista zawartości pamięci podręcznej CRL"
-#, fuzzy
-#| msgid "|FILE|run commands from FILE on startup"
msgid "|FILE|load CRL from FILE into cache"
-msgstr "|PLIK|uruchomienie poleceń z PLIKU przy starcie"
+msgstr "|PLIK|załadowanie CRL z PLIKU do pamięci podręcznej"
msgid "|URL|fetch a CRL from URL"
-msgstr ""
+msgstr "|URL|pobranie CRL z URL-a"
-#, fuzzy
-#| msgid "pass a command to the dirmngr"
msgid "shutdown the dirmngr"
-msgstr "przekazanie polecenia do dirmngr"
+msgstr "wyłączenie dirmngr"
msgid "flush the cache"
-msgstr ""
+msgstr "zapis pamięci podręcznej"
msgid "|FILE|write server mode logs to FILE"
-msgstr "|PLIK|zapisanie logów trybu serwerowego do PLIKu"
+msgstr "|PLIK|zapis logów trybu serwera do PLIKU"
-#, fuzzy
-#| msgid "Quit without saving? (y/N) "
msgid "run without asking a user"
-msgstr "Wyjść bez zapisania zmian? (t/N) "
+msgstr "działanie bez pytania użytkownika"
msgid "force loading of outdated CRLs"
-msgstr ""
+msgstr "wymuszenie ładowania nieaktualnych CRL"
-#, fuzzy
-#| msgid "allow PKA lookups (DNS requests)"
msgid "allow sending OCSP requests"
-msgstr "zezwolenie na wyszukiwania PKA (żądania DNS)"
+msgstr "zezwolenie na wysyłanie żądań OCSP"
msgid "allow online software version check"
-msgstr ""
+msgstr "zezwolenie na sprawdzenie wersji oprogramowania online"
msgid "inhibit the use of HTTP"
-msgstr ""
+msgstr "powstrzymanie od użycia HTTP"
msgid "inhibit the use of LDAP"
-msgstr ""
+msgstr "powstrzymanie od użycia LDAP"
msgid "ignore HTTP CRL distribution points"
-msgstr ""
+msgstr "ignorowanie punktów dystrybucji CRL przez HTTP"
msgid "ignore LDAP CRL distribution points"
-msgstr ""
+msgstr "ignorowanie punktów dystrybucji CRL przez LDAP"
msgid "ignore certificate contained OCSP service URLs"
-msgstr ""
+msgstr "ignorowanie URL-i usług OCSP zawartych w certyfikatach"
msgid "|URL|redirect all HTTP requests to URL"
-msgstr ""
+msgstr "|URL|przekierowanie wszystkich żądań HTTP na URL"
msgid "|HOST|use HOST for LDAP queries"
-msgstr ""
+msgstr "|HOST|użycie HOSTA do zapytań LDAP"
msgid "do not use fallback hosts with --ldap-proxy"
-msgstr ""
+msgstr "bez użycia hostów zapasowych z --ldap-proxy"
-#, fuzzy
-#| msgid "|FILE|read options from FILE"
msgid "|FILE|read LDAP server list from FILE"
-msgstr "|PLIK|odczyt opcji z PLIKU"
+msgstr "|PLIK|odczyt listy serwerów LDAP z PLIKU"
msgid "add new servers discovered in CRL distribution points to serverlist"
msgstr ""
+"dodanie nowych serwerów wykrytych w pinktach dystrybucji CRL do listy "
+"serwerów"
-#, fuzzy
-#| msgid "|N|set maximum PIN cache lifetime to N seconds"
msgid "|N|set LDAP timeout to N seconds"
-msgstr ""
-"|N|ustawienie maksymalnego czasu życia pamięci podręcznej PIN-ów na N sekund"
+msgstr "|N|ustawienie limitu czasu LDAP na N sekund"
-#, fuzzy
-#| msgid "|URL|use keyserver at URL"
msgid "|URL|use OCSP responder at URL"
-msgstr "|URL|używaj serwera kluczy URL"
+msgstr "|URL|użycie respondera OCSP spod URL-a"
msgid "|FPR|OCSP response signed by FPR"
-msgstr ""
+msgstr "|FPR|odpowiedź OCSP podpisana przez FPR"
msgid "|N|do not return more than N items in one query"
-msgstr ""
+msgstr "|N|bez zwracania więcej niż N elementów w jednym zapytaniu"
msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
-msgstr ""
+msgstr "|PLIK|użycie certyfikatów CA w PLIKU dla HKP po TLS"
msgid "route all network traffic via Tor"
-msgstr ""
+msgstr "trasowanie całego ruchu sieciowego przez Tora"
-#, fuzzy
-#| msgid ""
-#| "@\n"
-#| "(See the man page for a complete listing of all commands and options)\n"
msgid ""
"@\n"
"(See the \"info\" manual for a complete listing of all commands and "
"options)\n"
msgstr ""
"@\n"
-"(Pełną listę poleceń i opcji można znaleźć w podręczniku systemowym.)\n"
+"(pełną listę poleceń i opcji można znaleźć w podręczniku ,,info'')\n"
-#, fuzzy
-#| msgid "Usage: gpgconf [options] (-h for help)"
msgid "Usage: @DIRMNGR@ [options] (-h for help)"
-msgstr "Wywołanie: gpgconf [opcje] (-h podaje pomoc)"
+msgstr "Składnia: @DIRMNGR@ [opcje] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpg-agent [options] [command [args]]\n"
-#| "Secret key management for GnuPG\n"
msgid ""
"Syntax: @DIRMNGR@ [options] [command [args]]\n"
"Keyserver, CRL, and OCSP access for @GNUPG@\n"
msgstr ""
-"Składnia: gpg-agent [opcje] [polecenie [argumenty]]\n"
-"Zarządzanie kluczem tajnym dla GnuPG\n"
+"Składnia: @DIRMNGR@ [opcje] [polecenie [argumenty]]\n"
+"Dostęp do serwera kluczy, CRL i OCSP dla @GNUPG@\n"
-#, fuzzy, c-format
-#| msgid "invalid debug-level `%s' given\n"
+#, c-format
msgid "valid debug levels are: %s\n"
-msgstr "podano błędny poziom diagnostyki ,,%s''\n"
+msgstr "poprawne poziomy diagnostyki to: %s\n"
-#, fuzzy, c-format
-#| msgid "usage: gpgsm [options] "
+#, c-format
msgid "usage: %s [options] "
-msgstr "wywołanie: gpgsm [opcje]"
+msgstr "składnia: %s [opcje]"
-#, fuzzy, c-format
-#| msgid "%s not allowed with %s!\n"
+#, c-format
msgid "colons are not allowed in the socket name\n"
-msgstr "Nie wolno używać %s z %s!\n"
+msgstr "dwukropki nie są dozwolone w nazwie gniazda\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "fetching CRL from '%s' failed: %s\n"
-msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
+msgstr "pobranie CRL z ,,%s'' nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "conversion from `%s' to `%s' failed: %s\n"
+#, c-format
msgid "processing CRL from '%s' failed: %s\n"
-msgstr "konwersja z ,,%s'' do ,,%s'' nie powiodła się: %s\n"
+msgstr "przetworzenie CRL z ,,%s'' nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "line too long - skipped\n"
+#, c-format
msgid "%s:%u: line too long - skipped\n"
-msgstr "linia zbyt długa - pominięta\n"
+msgstr "%s:%u: linia zbyt długa - pominięto\n"
-#, fuzzy, c-format
-#| msgid "invalid fingerprint"
+#, c-format
msgid "%s:%u: invalid fingerprint detected\n"
-msgstr "niewłaściwy odcisk"
+msgstr "%s:%u: wykryto błędny odcisk\n"
-#, fuzzy, c-format
-#| msgid "read error in `%s': %s\n"
+#, c-format
msgid "%s:%u: read error: %s\n"
-msgstr "błąd odczytu w ,,%s'': %s\n"
+msgstr "%s:%u: błąd odczytu: %s\n"
#, c-format
msgid "%s:%u: garbage at end of line ignored\n"
-msgstr ""
+msgstr "%s:%u: zignorowano śmieci na końcu linii\n"
#, c-format
msgid "SIGHUP received - re-reading configuration and flushing caches\n"
msgstr ""
+"otrzymano SIGHUP - ponowny odczyt konfiguracji i zapis pamięci podręcznej\n"
#, c-format
msgid "SIGUSR2 received - no action defined\n"
-msgstr ""
+msgstr "otrzymano SIGUSR2 - nie zdefiniowano akcji\n"
#, c-format
msgid "SIGTERM received - shutting down ...\n"
-msgstr ""
+msgstr "otrzymano SIGTERM - zamykanie...\n"
#, c-format
msgid "SIGTERM received - still %d active connections\n"
-msgstr ""
+msgstr "otrzymano SIGTERM - nadal są aktywne połączenia: %d\n"
-#, fuzzy, c-format
-#| msgid "not forced"
+#, c-format
msgid "shutdown forced\n"
-msgstr "nie wymuszono"
+msgstr "wymuszono zamknięcie\n"
#, c-format
msgid "SIGINT received - immediate shutdown\n"
-msgstr ""
+msgstr "otrzymano SIGINT - natychmiastowe zamknięcie\n"
#, c-format
msgid "signal %d received - no action defined\n"
-msgstr ""
+msgstr "otrzymano sygnał %d - nie zdefiniowano akcji\n"
msgid "return all values in a record oriented format"
-msgstr ""
+msgstr "zwrócenie wszystkich wartości w formacie rekordu"
msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
+msgstr "|NAZWA|zignorowanie części z hostem i połączenie poprzez NAZWĘ"
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
msgid "|NAME|connect to host NAME"
-msgstr "|NAZWA|połączenie z gniazdem Assuan o tej nazwie"
+msgstr "|NAZWA|połączenie z hostem NAZWA"
-#, fuzzy
-#| msgid "|N|connect to reader at port N"
msgid "|N|connect to port N"
-msgstr "|N|połączenie z czytnikiem na porcie N"
+msgstr "|N|połączenie z portem N"
msgid "|NAME|use user NAME for authentication"
-msgstr ""
+msgstr "|NAZWA|użycie NAZWY użytkownika do uwierzytelnienia"
msgid "|PASS|use password PASS for authentication"
-msgstr ""
+msgstr "|HASŁO|użycie HASŁA do uwierzytelnienia"
msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
+msgstr "pobranie hasła z $DIRMNGR_LDAP_PASS"
msgid "|STRING|query DN STRING"
-msgstr ""
+msgstr "|ŁAŃCUCH|ŁAŃCUCH zapytania DN"
msgid "|STRING|use STRING as filter expression"
-msgstr ""
+msgstr "|ŁAŃCUCH|użycie ŁAŃCUCHA jako wyrażenia filtra"
msgid "|STRING|return the attribute STRING"
-msgstr ""
+msgstr "|ŁAŃCUCH|zwrócenie atrybutu ŁAŃCUCH"
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Wywołanie: gpg [opcje] [pliki] (-h podaje pomoc)"
+msgstr "Składnia: dirmngr_ldap [opcje] [URL] (-h wyświetla pomoc)\n"
msgid ""
"Syntax: dirmngr_ldap [options] [URL]\n"
"Internal LDAP helper for Dirmngr\n"
"Interface and options may change without notice\n"
msgstr ""
+"Składnia: dirmngr_ldap [opcje] [URL]\n"
+"Wewnętrzny program pomocniczy LDAP dla Dirmngr\n"
+"Interfejs i opcje mogą się zmienić bez uprzedzenia\n"
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
+#, c-format
msgid "invalid port number %d\n"
-msgstr "niepoprawne opcje wczytania kluczy\n"
+msgstr "błędny numer portu %d\n"
#, c-format
msgid "scanning result for attribute '%s'\n"
-msgstr ""
+msgstr "przeszukiwanie wyniku pod kątem atrybutu ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error writing to %s: %s\n"
+#, c-format
msgid "error writing to stdout: %s\n"
-msgstr "błąd zapisu do %s: %s\n"
+msgstr "błąd zapisu na standardowe wyjście: %s\n"
#, c-format
msgid " available attribute '%s'\n"
-msgstr ""
+msgstr " dostępny atrybut ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
+#, c-format
msgid "attribute '%s' not found\n"
-msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
+msgstr "nie znaleziono atrybutu ,,%s''\n"
#, c-format
msgid "found attribute '%s'\n"
-msgstr ""
+msgstr "znaleziono atrybut ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
+#, c-format
msgid "processing url '%s'\n"
-msgstr "odczyt z ,,%s''\n"
+msgstr "przetwarzanie URL-a ,,%s''\n"
-#, fuzzy, c-format
-#| msgid " w/o user IDs: %lu\n"
+#, c-format
msgid " user '%s'\n"
-msgstr " bez identyfikatora: %lu\n"
+msgstr " użytkownik ,,%s''\n"
-#, fuzzy, c-format
-#| msgid " aka \"%s\""
+#, c-format
msgid " pass '%s'\n"
-msgstr " alias ,,%s''"
+msgstr " hasło ,,%s''\n"
-#, fuzzy, c-format
-#| msgid " w/o user IDs: %lu\n"
+#, c-format
msgid " host '%s'\n"
-msgstr " bez identyfikatora: %lu\n"
+msgstr " host ,,%s''\n"
-#, fuzzy, c-format
-#| msgid " not imported: %lu\n"
+#, c-format
msgid " port %d\n"
-msgstr " nie włączono do zbioru: %lu\n"
+msgstr " port %d\n"
-#, fuzzy, c-format
-#| msgid " aka \"%s\""
+#, c-format
msgid " DN '%s'\n"
-msgstr " alias ,,%s''"
+msgstr " DN ,,%s''\n"
#, c-format
msgid " filter '%s'\n"
-msgstr ""
+msgstr " filtr ,,%s''\n"
-#, fuzzy, c-format
-#| msgid " aka \"%s\""
+#, c-format
msgid " attr '%s'\n"
-msgstr " alias ,,%s''"
+msgstr " atrybut ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "%s:%u: no hostname given\n"
+#, c-format
msgid "no host name in '%s'\n"
-msgstr "%s:%u: nie podano nazwy hosta\n"
+msgstr "brak nazwy hosta w ,,%s''\n"
#, c-format
msgid "no attribute given for query '%s'\n"
-msgstr ""
+msgstr "nie podano atrybutu dla zapytania ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "WARNING: Using untrusted key!\n"
+#, c-format
msgid "WARNING: using first attribute only\n"
-msgstr "OSTRZEŻENIE: używany jest klucz nie obdarzony zaufaniem!\n"
+msgstr "OSTRZEŻENIE: użyto tylko pierwszego atrybutu\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
+msgstr "nie udało się zainicjować LDAP na ,,%s:%d'': %s\n"
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
+#, c-format
msgid "binding to '%s:%d' failed: %s\n"
-msgstr "zmiana nazwy ,,%s'' na ,,%s'' nie powiodła się: %s\n"
+msgstr "dowiązanie do ,,%s:%d'' nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
+#, c-format
msgid "searching '%s' failed: %s\n"
-msgstr "zdjęcie opakowania ASCII nie powiodło się: %s\n"
+msgstr "szukanie ,,%s'' nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
+#, c-format
msgid "'%s' is not an LDAP URL\n"
-msgstr ",,%s'' nie jest plikiem JPEG\n"
+msgstr ",,%s'' nie jest URL-em LDAP\n"
#, c-format
msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
+msgstr ",,%s'' jest nieprawidłowym URL-em LDAP\n"
-#, fuzzy, c-format
-#| msgid "error running `%s': exit status %d\n"
+#, c-format
msgid "error accessing '%s': http status %u\n"
-msgstr "błąd uruchamiania ,,%s'': kod wyjścia %d\n"
+msgstr "błąd dostępu do ,,%s'': status http %u\n"
#, c-format
msgid "URL '%s' redirected to '%s' (%u)\n"
-msgstr ""
+msgstr "URL ,,%s'' przekierowany na ,,%s'' (%u)\n"
-#, fuzzy, c-format
-#| msgid "too many cipher preferences\n"
+#, c-format
msgid "too many redirections\n"
-msgstr "zbyt wiele ustawień szyfru\n"
+msgstr "za dużo przekierowań\n"
-#, fuzzy, c-format
-#| msgid "writing to `%s'\n"
+#, c-format
msgid "redirection changed to '%s'\n"
-msgstr "zapis do ,,%s''\n"
+msgstr "przekierowanie zmienione na ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error allocating enough memory: %s\n"
+#, c-format
msgid "error allocating memory: %s\n"
-msgstr "błąd przydzielania wystarczającej ilości pamięci: %s\n"
+msgstr "błąd przydzielania pamięci: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing to %s: %s\n"
+#, c-format
msgid "error printing log line: %s\n"
-msgstr "błąd zapisu do %s: %s\n"
+msgstr "błąd wypisywania linii logu: %s\n"
-#, fuzzy, c-format
-#| msgid "error reading from %s: %s\n"
+#, c-format
msgid "error reading log from ldap wrapper %d: %s\n"
-msgstr "błąd odczytu z %s: %s\n"
+msgstr "błąd odczytu logu z wrappera LDAP %d: %s\n"
#, c-format
msgid "ldap wrapper %d ready"
-msgstr ""
+msgstr "wrapper LDAP %d gotowy"
#, c-format
msgid "ldap wrapper %d ready: timeout\n"
-msgstr ""
+msgstr "wrapper LDAP %d gotowy: upłynął limit czasu\n"
#, c-format
msgid "ldap wrapper %d ready: exitcode=%d\n"
-msgstr ""
+msgstr "wrapper LDAP %d gotowy: kod wyjścia=%d\n"
-#, fuzzy, c-format
-#| msgid "waiting for process %d to terminate failed: %s\n"
+#, c-format
msgid "waiting for ldap wrapper %d failed: %s\n"
-msgstr "oczekiwanie na zakończenie procesu %d nie powiodło się: %s\n"
+msgstr "oczekiwanie na wrapper LDAP %d nie powiodło się: %s\n"
#, c-format
msgid "ldap wrapper %d stalled - killing\n"
-msgstr ""
+msgstr "wrapper LDAP %d przytkany - zabito\n"
#, c-format
msgid "invalid char 0x%02x in host name - not added\n"
-msgstr ""
+msgstr "błędny znak 0x%02x w nazwie hosta - nie dodano\n"
-#, fuzzy, c-format
-#| msgid "sending key %s to %s server %s\n"
+#, c-format
msgid "adding '%s:%d' to the ldap server list\n"
-msgstr "wysyłanie klucza %s na serwer %s %s\n"
+msgstr "dodano ,,%s:%d'' do listy serwerów LDAP\n"
-#, fuzzy, c-format
-#| msgid "select failed: %s\n"
+#, c-format
msgid "malloc failed: %s\n"
-msgstr "select nie powiodło się: %s\n"
+msgstr "malloc nie powiodło się: %s\n"
#, c-format
msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr ""
+msgstr "start_cert_fetch: błędny wzorzec ,,%s''\n"
#, c-format
msgid "ldap_search hit the size limit of the server\n"
-msgstr ""
+msgstr "ldap_search natrafiło na limit rozmiaru w serwerze\n"
-#, fuzzy, c-format
-#| msgid "%s: invalid file version %d\n"
+#, c-format
msgid "invalid canonical S-expression found\n"
-msgstr "%s: niewłaściwa wersja pliku %d\n"
+msgstr "napotkano błędne S-wyrażenie kanoniczne\n"
-#, fuzzy, c-format
-#| msgid "iconv_open failed: %s\n"
+#, c-format
msgid "gcry_md_open failed: %s\n"
-msgstr "iconv_open nie powiodło się: %s\n"
+msgstr "gcry_md_open nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "update secret failed: %s\n"
+#, c-format
msgid "oops: ksba_cert_hash failed: %s\n"
-msgstr "zapis zmian na kluczu prywatnym nie powiódł się: %s\n"
+msgstr "oops: ksba_cert_hash nie powiodło się: %s\n"
#, c-format
msgid "bad URL encoding detected\n"
-msgstr ""
+msgstr "wykryto błędne kodowanie URL-a\n"
-#, fuzzy, c-format
-#| msgid "error reading from %s: %s\n"
+#, c-format
msgid "error reading from responder: %s\n"
-msgstr "błąd odczytu z %s: %s\n"
+msgstr "błąd odczytu z respondera: %s\n"
-#, fuzzy, c-format
-#| msgid "Error: Private DO too long (limit is %d characters).\n"
+#, c-format
msgid "response from server too large; limit is %d bytes\n"
-msgstr "Błąd: prywatne DO zbyt długie (limit to %d znaków).\n"
+msgstr "odpowiedź z serwera zbyt długa; limit to %d bajtów\n"
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
+#, c-format
msgid "OCSP request not possible due to Tor mode\n"
-msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
+msgstr "żądanie OCSP niemożliwe z powodu trybu Tor\n"
#, c-format
msgid "OCSP request not possible due to disabled HTTP\n"
-msgstr ""
+msgstr "żądanie OCSP niemożliwe z powodu wyłączenia HTTP\n"
-#, fuzzy, c-format
-#| msgid "error storing flags: %s\n"
+#, c-format
msgid "error setting OCSP target: %s\n"
-msgstr "błąd zapisywania flag: %s\n"
+msgstr "błąd ustawiania celu OCSP: %s\n"
-#, fuzzy, c-format
-#| msgid "error loading `%s': %s\n"
+#, c-format
msgid "error building OCSP request: %s\n"
-msgstr "błąd odczytu ,,%s'': %s\n"
+msgstr "błąd budowania żądania OCSP: %s\n"
-#, fuzzy, c-format
-#| msgid "error writing to `%s': %s\n"
+#, c-format
msgid "error connecting to '%s': %s\n"
-msgstr "błąd zapisu do ,,%s'': %s\n"
+msgstr "błąd połączenia z ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error reading from %s: %s\n"
+#, c-format
msgid "error reading HTTP response for '%s': %s\n"
-msgstr "błąd odczytu z %s: %s\n"
+msgstr "błąd odczytu odpowiedzi HTTP dla ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "error binding socket to `%s': %s\n"
+#, c-format
msgid "error parsing OCSP response for '%s': %s\n"
-msgstr "błąd podczas przypisywania gniazda do ,,%s'': %s\n"
+msgstr "błąd przetwarzania odpowiedzi OCSP dla ,,%s'': %s\n"
#, c-format
msgid "OCSP responder at '%s' status: %s\n"
-msgstr ""
+msgstr "status respondera OCSP pod ,,%s'': %s\n"
-#, fuzzy, c-format
-#| msgid "checking the trust list failed: %s\n"
+#, c-format
msgid "hashing the OCSP response for '%s' failed: %s\n"
-msgstr "sprawdzenie listy zaufania nie powiodło się: %s\n"
+msgstr "liczenie skrótu odpowiedzi OCSP dla ,,%s'' nie powiodło się: %s\n"
#, c-format
msgid "not signed by a default OCSP signer's certificate"
-msgstr ""
+msgstr "nie podpisane domyślnym certyfikatem podpisującego OCSP"
#, c-format
msgid "only SHA-1 is supported for OCSP responses\n"
-msgstr ""
+msgstr "dla odpowiedzi OCSP obsługiwane jest tylko SHA-1\n"
-#, fuzzy, c-format
-#| msgid "receiving line failed: %s\n"
+#, c-format
msgid "allocating list item failed: %s\n"
-msgstr "odbieranie linii nie powiodło się: %s\n"
+msgstr "przydzielanie elementu listy nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "error getting new PIN: %s\n"
+#, c-format
msgid "error getting responder ID: %s\n"
-msgstr "błąd podczas odczytu nowego PIN-u: %s\n"
+msgstr "błąd pobierania ID respondera: %s\n"
-#, fuzzy, c-format
-#| msgid "certificate should not have been used for OCSP response signing\n"
+#, c-format
msgid "no suitable certificate found to verify the OCSP response\n"
-msgstr "certyfikat nie powinien być używany do podpisywania odpowiedzi OCSP\n"
+msgstr ""
+"nie znaleziono odpowiedniego certyfikatu do zweryfikowania odpowiedzi OCSP\n"
-#, fuzzy, c-format
-#| msgid "issuer certificate not found"
+#, c-format
msgid "issuer certificate not found: %s\n"
-msgstr "nie znaleziono wystawcy certyfikatu"
+msgstr "nie znaleziono certyfikatu wystawcy: %s\n"
-#, fuzzy, c-format
-#| msgid "error reading list of trusted root certificates\n"
+#, c-format
msgid "caller did not return the target certificate\n"
-msgstr "błąd odczytu listy zaufanych certyfikatów głównych\n"
+msgstr "wywołujący nie zwrócił certyfikatu docelowego\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate\n"
+#, c-format
msgid "caller did not return the issuing certificate\n"
-msgstr "błąd zapisywania certyfikatu\n"
+msgstr "wywołujący nie zwrócił certyfikatu wystawcy\n"
-#, fuzzy, c-format
-#| msgid "failed to allocate keyDB handle\n"
+#, c-format
msgid "failed to allocate OCSP context: %s\n"
-msgstr "nie udało się przydzielić uchwytu keyDB\n"
+msgstr "nie udało się przydzielić kontekstu OCSP: %s\n"
-#, fuzzy, c-format
-#| msgid "can't access `%s': %s\n"
+#, c-format
msgid "can't get authorityInfoAccess: %s\n"
-msgstr "nie można dostać się do ,,%s'': %s\n"
+msgstr "nie można uzyskać authorityInfoAccess: %s\n"
#, c-format
msgid "no default OCSP responder defined\n"
-msgstr ""
+msgstr "nie zdefiniowano domyślnego respondera OCSP\n"
-#, fuzzy, c-format
-#| msgid "no default secret keyring: %s\n"
+#, c-format
msgid "no default OCSP signer defined\n"
-msgstr "brak domyślnego zbioru kluczy tajnych: %s\n"
+msgstr "nie zdefiniowano domyślnego podpisującego OCSP\n"
-#, fuzzy, c-format
-#| msgid "using default PIN as %s\n"
+#, c-format
msgid "using default OCSP responder '%s'\n"
-msgstr "użycie domyślnego PIN-u jako %s\n"
+msgstr "użycie domyślnego respondera OCSP ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "using cipher %s\n"
+#, c-format
msgid "using OCSP responder '%s'\n"
-msgstr "szyfrem %s\n"
+msgstr "użycie respondera OCSP ,,%s''\n"
#, c-format
msgid "failed to establish a hashing context for OCSP: %s\n"
-msgstr ""
+msgstr "nie udało się ustanowić kontekstu haszowania dla OCSP: %s\n"
-#, fuzzy, c-format
-#| msgid "error storing certificate: %s\n"
+#, c-format
msgid "error getting OCSP status for target certificate: %s\n"
-msgstr "błąd zapisywania certyfikatu: %s\n"
+msgstr "błąd pobierania stanu OCSP dla certyfikatu docelowego: %s\n"
#, c-format
msgid "certificate status is: %s (this=%s next=%s)\n"
-msgstr ""
+msgstr "stan certyfikatu: %s (ten=%s następny=%s)\n"
msgid "good"
-msgstr ""
+msgstr "poprawny"
-#, fuzzy, c-format
-#| msgid "certificate has been revoked"
+#, c-format
msgid "certificate has been revoked at: %s due to: %s\n"
-msgstr "certyfikat został unieważniony"
+msgstr "certyfikat został unieważniony: %s z powodu: %s\n"
#, c-format
msgid "OCSP responder returned a status in the future\n"
-msgstr ""
+msgstr "responder OCSP zwrócił stan z przyszłości\n"
#, c-format
msgid "OCSP responder returned a non-current status\n"
-msgstr ""
+msgstr "responder OCSP zwrócił stan niebieżący\n"
#, c-format
msgid "OCSP responder returned an too old status\n"
-msgstr ""
+msgstr "responder OCSP zwrócił stan zbyt stary\n"
-#, fuzzy, c-format
-#| msgid "sending line failed: %s\n"
+#, c-format
msgid "assuan_inquire(%s) failed: %s\n"
-msgstr "wysyłanie linii nie powiodło się: %s\n"
+msgstr "assuan_inquire(%s) nie powiodło się: %s\n"
msgid "ldapserver missing"
-msgstr ""
+msgstr "brak pola ldapserver"
msgid "serialno missing in cert ID"
-msgstr ""
+msgstr "brak pola serialno w ID certyfikatu"
-#, fuzzy, c-format
-#| msgid "sending line failed: %s\n"
+#, c-format
msgid "assuan_inquire failed: %s\n"
-msgstr "wysyłanie linii nie powiodło się: %s\n"
+msgstr "assuan_inquire nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "select failed: %s\n"
+#, c-format
msgid "fetch_cert_by_url failed: %s\n"
-msgstr "select nie powiodło się: %s\n"
+msgstr "fetch_cert_by_url nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "error sending %s command: %s\n"
+#, c-format
msgid "error sending data: %s\n"
-msgstr "błąd wysyłania polecenia %s: %s\n"
+msgstr "błąd wysyłania danych: %s\n"
-#, fuzzy, c-format
-#| msgid "select failed: %s\n"
+#, c-format
msgid "start_cert_fetch failed: %s\n"
-msgstr "select nie powiodło się: %s\n"
+msgstr "start_cert_fetch nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "select failed: %s\n"
+#, c-format
msgid "fetch_next_cert failed: %s\n"
-msgstr "select nie powiodło się: %s\n"
+msgstr "fetch_next_cert nie powiodło się: %s\n"
#, c-format
msgid "max_replies %d exceeded\n"
-msgstr ""
+msgstr "przekroczono max_replies %d\n"
-#, fuzzy, c-format
-#| msgid "cannot allocate outfile string: %s\n"
+#, c-format
msgid "can't allocate control structure: %s\n"
-msgstr "nie można przydzielić łańcucha pliku wyjściowego: %s\n"
+msgstr "nie można przydzielić struktury sterującej: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to create stream from socket: %s\n"
+#, c-format
msgid "failed to allocate assuan context: %s\n"
-msgstr "nie udało się utworzyć strumienia z gniazda: %s\n"
+msgstr "nie udało się przydzielić kontekstu assuan: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to initialize the TrustDB: %s\n"
+#, c-format
msgid "failed to initialize the server: %s\n"
-msgstr "inicjowanie Bazy Zaufania nie powiodło się: %s\n"
+msgstr "nie udało się zainicjować serwera: %s\n"
-#, fuzzy, c-format
-#| msgid "failed to store the creation date: %s\n"
+#, c-format
msgid "failed to the register commands with Assuan: %s\n"
-msgstr "nie powiódł się zapis daty utworzenia: %s\n"
+msgstr "nie udało się zarejestrować poleceń przez Assuana: %s\n"
#, c-format
msgid "Assuan accept problem: %s\n"
-msgstr ""
+msgstr "Problem z accept u Assuana: %s\n"
-#, fuzzy, c-format
-#| msgid "signing failed: %s\n"
+#, c-format
msgid "Assuan processing failed: %s\n"
-msgstr "złożenie podpisu nie powiodło się: %s\n"
+msgstr "Przetwarzanie u Assuana nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "issuer certificate is not marked as a CA"
+#, c-format
msgid "accepting root CA not marked as a CA"
-msgstr "wystawca certyfikatu nie jest oznaczony jako CA"
+msgstr "zaakceptowano główne CA nie oznaczone jako CA"
-#, fuzzy, c-format
-#| msgid "checking the trustdb\n"
+#, c-format
msgid "CRL checking too deeply nested\n"
-msgstr "sprawdzanie bazy zaufania\n"
+msgstr "sprawdzanie CRL zagnieżdżone zbyt głęboko\n"
msgid "not checking CRL for"
-msgstr ""
+msgstr "bez sprawdzania CRL dla"
-#, fuzzy
-#| msgid "checking the CRL failed: %s"
msgid "checking CRL for"
-msgstr "sprawdzenie CRL nie powiodło się: %s"
+msgstr "sprawdzanie CRL dla"
-#, fuzzy, c-format
-#| msgid "self-signed certificate has a BAD signature"
+#, c-format
msgid "selfsigned certificate has a BAD signature"
-msgstr "własnoręcznie podpisany certyfikat ma ZŁY podpis"
+msgstr "certyfikat z własnym podpisem ma BŁĘDNY podpis"
-#, fuzzy, c-format
-#| msgid "checking for qualified certificate failed: %s\n"
+#, c-format
msgid "checking trustworthiness of root certificate failed: %s\n"
-msgstr "sprawdzenie certyfikatu kwalifikowanego nie powiodło się: %s\n"
+msgstr "sprawdzanie zaufania certyfikatu głównego nie powiodło się: %s\n"
-#, fuzzy, c-format
-#| msgid "certificate is good\n"
+#, c-format
msgid "certificate chain is good\n"
-msgstr "certyfikat jest dobry\n"
+msgstr "łańcuch certyfikatów jest dobry\n"
-#, fuzzy, c-format
-#| msgid "certificate should not have been used for signing\n"
+#, c-format
msgid "certificate should not have been used for CRL signing\n"
-msgstr "certyfikat nie powinien być używany do podpisywania\n"
+msgstr "certyfikat nie powinien być używany do podpisywania CRL\n"
msgid "quiet"
msgstr "cicho"
@@ -9133,24 +8530,20 @@ msgstr "wypisanie danych zakodowanych szesnastkowo"
msgid "decode received data lines"
msgstr "dekodowanie otrzymanych linii danych"
-#, fuzzy
-#| msgid "pass a command to the dirmngr"
msgid "connect to the dirmngr"
-msgstr "przekazanie polecenia do dirmngr"
+msgstr "połączenie z dirmngr"
msgid "|NAME|connect to Assuan socket NAME"
msgstr "|NAZWA|połączenie z gniazdem Assuan o tej nazwie"
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
msgid "|ADDR|connect to Assuan server at ADDR"
-msgstr "|NAZWA|połączenie z gniazdem Assuan o tej nazwie"
+msgstr "|ADRES|połączenie z serwerem Assuan pod ADRESEM"
msgid "run the Assuan server given on the command line"
msgstr "uruchomienie serwera Assuan podanego z linii poleceń"
msgid "do not use extended connect mode"
-msgstr "nie używanie rozszerzonego trybu połączenia"
+msgstr "nieużywanie rozszerzonego trybu połączenia"
msgid "|FILE|run commands from FILE on startup"
msgstr "|PLIK|uruchomienie poleceń z PLIKU przy starcie"
@@ -9158,20 +8551,14 @@ msgstr "|PLIK|uruchomienie poleceń z PLIKU przy starcie"
msgid "run /subst on startup"
msgstr "uruchomienie /subst przy starcie"
-#, fuzzy
-#| msgid "Usage: gpg-connect-agent [options] (-h for help)"
msgid "Usage: @GPG@-connect-agent [options] (-h for help)"
-msgstr "Wywołanie: gpg-connect-agent [opcje] (-h podaje pomoc)"
+msgstr "Składnia: @GPG@-connect-agent [opcje] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpg-connect-agent [options]\n"
-#| "Connect to a running agent and send commands\n"
msgid ""
"Syntax: @GPG@-connect-agent [options]\n"
"Connect to a running agent and send commands\n"
msgstr ""
-"Składnia: gpg-connect-agent [opcje]\n"
+"Składnia: @GPG@-connect-agent [opcje]\n"
"Połączenie z działającym agentem i wysyłanie poleceń\n"
#, c-format
@@ -9194,8 +8581,7 @@ msgstr "linia zbyt długa - pominięta\n"
msgid "line shortened due to embedded Nul character\n"
msgstr "linia skrócona z powodu osadzonego znaku Nul\n"
-#, fuzzy, c-format
-#| msgid "unknown command `%s'\n"
+#, c-format
msgid "unknown command '%s'\n"
msgstr "nieznane polecenie ,,%s''\n"
@@ -9233,7 +8619,7 @@ msgid "Options enforcing a passphrase policy"
msgstr "Opcje wymuszające politykę haseł"
msgid "do not allow bypassing the passphrase policy"
-msgstr "nie zezwalanie na pominięcie polityki haseł"
+msgstr "niezezwalanie na pominięcie polityki haseł"
msgid "|N|set minimal required length for new passphrases to N"
msgstr "|N|ustawienie minimalnej długości nowych haseł na N"
@@ -9248,13 +8634,10 @@ msgid "|N|expire the passphrase after N days"
msgstr "|N|przedawnianie haseł po N dniach"
msgid "do not allow the reuse of old passphrases"
-msgstr "nie zezwalanie na ponowne użycie starych haseł"
+msgstr "niezezwalanie na ponowne użycie starych haseł"
-#, fuzzy
-#| msgid "|N|set maximum PIN cache lifetime to N seconds"
msgid "|N|set the Pinentry timeout to N seconds"
-msgstr ""
-"|N|ustawienie maksymalnego czasu życia pamięci podręcznej PIN-ów na N sekund"
+msgstr "|N|ustawienie limitu czasu Pinentry na N sekund"
msgid "|NAME|use NAME as default secret key"
msgstr "|NAZWA|użycie NAZWY jako domyślnego klucza tajnego"
@@ -9286,7 +8669,7 @@ msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
msgstr "|NAZWA|użycie kodowania NAZWA dla haseł PKCS#12"
msgid "do not check CRLs for root certificates"
-msgstr "nie sprawdzanie CRL dla głównych certyfikatów"
+msgstr "niesprawdzanie CRL dla głównych certyfikatów"
msgid "Options controlling the format of the output"
msgstr "Opcje sterujące formatem wyjścia"
@@ -9294,10 +8677,8 @@ msgstr "Opcje sterujące formatem wyjścia"
msgid "Options controlling the interactivity and enforcement"
msgstr "Opcje sterujące interaktywnością i wymuszaniem"
-#, fuzzy
-#| msgid "Options controlling the security"
msgid "Options controlling the use of Tor"
-msgstr "Opcje sterujące bezpieczeństwem"
+msgstr "Opcje sterujące użyciem Tora"
msgid "Configuration for HTTP servers"
msgstr "Konfiguracja dla serwerów HTTP"
@@ -9315,29 +8696,25 @@ msgid "Configuration for OCSP"
msgstr "Konfiguracja dla OCSP"
msgid "OpenPGP"
-msgstr ""
+msgstr "OpenPGP"
msgid "Private Keys"
-msgstr ""
+msgstr "Klucze prywatne"
msgid "Smartcards"
-msgstr ""
+msgstr "Karty procesorowe"
msgid "S/MIME"
-msgstr ""
+msgstr "S/MIME"
msgid "Network"
-msgstr ""
+msgstr "Sieć"
-#, fuzzy
-#| msgid "Bad Passphrase"
msgid "Passphrase Entry"
-msgstr "Niepoprawne hasło"
+msgstr "Wpisywanie hasła"
-#, fuzzy
-#| msgid "Component not found"
msgid "Component not suitable for launching"
-msgstr "Nie znaleziono komponentu"
+msgstr "Komponent nie nadaje się do uruchomienia"
#, c-format
msgid "External verification of component %s failed"
@@ -9346,15 +8723,13 @@ msgstr "Zewnętrzna weryfikacja komponentu %s nie powiodła się"
msgid "Note that group specifications are ignored\n"
msgstr "Uwaga, określenia grup są ignorowane\n"
-#, fuzzy, c-format
-#| msgid "error closing %s: %s\n"
+#, c-format
msgid "error closing '%s'\n"
-msgstr "błąd zamykania %s: %s\n"
+msgstr "błąd zamykania ,,%s''\n"
-#, fuzzy, c-format
-#| msgid "error in `%s': %s\n"
+#, c-format
msgid "error parsing '%s'\n"
-msgstr "błąd w ,,%s'': %s\n"
+msgstr "błąd analizy ,,%s''\n"
msgid "list all components"
msgstr "lista wszystkich komponentów"
@@ -9374,15 +8749,11 @@ msgstr "|KOMPONENT|zaznaczenie opcji"
msgid "apply global default values"
msgstr "zastosowanie globalnych wartości domyślnych"
-#, fuzzy
-#| msgid "|FILE|take policy information from FILE"
msgid "|FILE|update configuration files using FILE"
-msgstr "|PLIK|pobranie informacji o polityce z PLIKU"
+msgstr "|PLIK|uaktualnienie plików konfiguracyjnych przy użyciu PLIKU"
-#, fuzzy
-#| msgid "get the configuration directories for gpgconf"
msgid "get the configuration directories for @GPGCONF@"
-msgstr "katalogi konfiguracyjne programu gpgconf"
+msgstr "pobranie katalogów konfiguracyjnych dla @GPGCONF@"
msgid "list global configuration file"
msgstr "wyświetl globalny plik konfiguracyjny"
@@ -9390,25 +8761,17 @@ msgstr "wyświetl globalny plik konfiguracyjny"
msgid "check global configuration file"
msgstr "sprawdzenie globalnego pliku konfiguracyjnego"
-#, fuzzy
-#| msgid "update the trust database"
msgid "query the software version database"
-msgstr "uaktualnienie bazy zaufania"
+msgstr "odpytanie bazy danych wersji oprogramowania"
-#, fuzzy
-#| msgid "list all components"
msgid "reload all or a given component"
-msgstr "lista wszystkich komponentów"
+msgstr "ponowne załadowanie wszystkich lub podanych komponentów"
-#, fuzzy
-#| msgid "list all components"
msgid "launch a given component"
-msgstr "lista wszystkich komponentów"
+msgstr "uruchomienie podanego komponentu"
-#, fuzzy
-#| msgid "list all components"
msgid "kill a given component"
-msgstr "lista wszystkich komponentów"
+msgstr "zabicie podanego komponentu"
msgid "use as output file"
msgstr "plik wyjściowy"
@@ -9416,21 +8779,15 @@ msgstr "plik wyjściowy"
msgid "activate changes at runtime, if possible"
msgstr "uaktywnienie zmian w czasie działania o ile to możliwe"
-#, fuzzy
-#| msgid "Usage: gpgconf [options] (-h for help)"
msgid "Usage: @GPGCONF@ [options] (-h for help)"
-msgstr "Wywołanie: gpgconf [opcje] (-h podaje pomoc)"
+msgstr "Składnia: @GPGCONF@ [opcje] (-h wyświetla pomoc)"
-#, fuzzy
-#| msgid ""
-#| "Syntax: gpgconf [options]\n"
-#| "Manage configuration options for tools of the GnuPG system\n"
msgid ""
"Syntax: @GPGCONF@ [options]\n"
"Manage configuration options for tools of the @GNUPG@ system\n"
msgstr ""
-"Składnia: gpgconf [opcje]\n"
-"Zarządzanie opcjami konfiguracji dla narzędzi z systemu GnuPG\n"
+"Składnia: @GPGCONF@ [opcje]\n"
+"Zarządzanie opcjami konfiguracji dla narzędzi z systemu @GNUPG@\n"
msgid "Need one component argument"
msgstr "Wymagany jest jeden argument komponentu"
@@ -9469,7 +8826,7 @@ msgid "input file name (default stdin)"
msgstr "nazwa pliku wejściowego (domyślnie standardowe wejście)"
msgid "Usage: symcryptrun [options] (-h for help)"
-msgstr "Wywołanie: symcryptrun [opcje] (-h podaje pomoc)"
+msgstr "Składnia: symcryptrun [opcje] (-h wyświetla pomoc)"
msgid ""
"Syntax: symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE "
@@ -9488,10 +8845,9 @@ msgstr "%s na %s przerwany ze stanem %i\n"
msgid "%s on %s failed with status %i\n"
msgstr "%s na %s nie powiódł się ze stanem %i\n"
-#, fuzzy, c-format
-#| msgid "can't create temporary directory `%s': %s\n"
+#, c-format
msgid "can't create temporary directory '%s': %s\n"
-msgstr "nie można utworzyć katalogu tymczasowego,,%s'': %s\n"
+msgstr "nie można utworzyć katalogu tymczasowego ,,%s'': %s\n"
#, c-format
msgid "could not open %s for writing: %s\n"
@@ -9582,7 +8938,8 @@ msgid "class %s is not supported\n"
msgstr "klasa %s nie jest obsługiwana\n"
msgid "Usage: gpg-check-pattern [options] patternfile (-h for help)\n"
-msgstr "Wywołanie: gpg-check-pattern [opcje] plik-wzorców (-h podaje pomoc)\n"
+msgstr ""
+"Składnia: gpg-check-pattern [opcje] plik-wzorców (-h wyświetla pomoc)\n"
msgid ""
"Syntax: gpg-check-pattern [options] patternfile\n"
@@ -9590,688 +8947,3 @@ 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"
-
-#, fuzzy
-#~| msgid "waiting %d seconds for the agent to come up\n"
-#~ msgid "waiting for the dirmngr to come up ... (%ds)\n"
-#~ msgstr "oczekiwanie (%d s) na uruchomienie agenta\n"
-
-#, fuzzy
-#~| msgid "error closing %s: %s\n"
-#~ msgid "error looking up: %s\n"
-#~ msgstr "błąd zamykania %s: %s\n"
-
-#, fuzzy
-#~| msgid "error creating keyring `%s': %s\n"
-#~ msgid "Warning: %s appears in the keyring %d times\n"
-#~ msgstr "błąd tworzenia zbioru kluczy `%s': %s\n"
-
-#, fuzzy
-#~| msgid "error running `%s': exit status %d\n"
-#~ msgid "error retrieving '%s': http status %u\n"
-#~ msgstr "błąd uruchamiania ,,%s'': kod wyjścia %d\n"
-
-#, fuzzy
-#~| msgid "pth_select failed: %s - waiting 1s\n"
-#~ msgid "npth_select failed: %s - waiting 1s\n"
-#~ msgstr "pth_select nie powiodło się: %s - czekanie 1s\n"
-
-#, fuzzy
-#~| msgid "reading public key failed: %s\n"
-#~ msgid "reading from ldap wrapper %d failed: %s\n"
-#~ msgstr "odczyt klucza publicznego nie powiódł się: %s\n"
-
-#~ msgid "What keysize do you want for the Signature key? (%u) "
-#~ msgstr "Jakiej długości klucz do podpisywania wygenerować? (%u) "
-
-#~ msgid "What keysize do you want for the Encryption key? (%u) "
-#~ msgstr "Jakiej długości klucz do szyfrowania wygenerować? (%u) "
-
-#~ msgid "What keysize do you want for the Authentication key? (%u) "
-#~ msgstr "Jakiej długości klucz do uwierzytelniania wygenerować? (%u) "
-
-#~ msgid "listen() failed: %s\n"
-#~ msgstr "listen() nie powiodło się: %s\n"
-
-#~ msgid "do not grab keyboard and mouse"
-#~ msgstr "nie przechwytywanie klawiatury i myszy"
-
-#~ msgid "Error: URL too long (limit is %d characters).\n"
-#~ msgstr "Błąd: URL zbyt długi (limit to %d znaków).\n"
-
-#~ msgid "Error: Login data too long (limit is %d characters).\n"
-#~ msgstr "Błąd: dane logowania zbyt długie (limit to %d znaków).\n"
-
-#~ msgid "Error: Private DO too long (limit is %d characters).\n"
-#~ msgstr "Błąd: prywatne DO zbyt długie (limit to %d znaków).\n"
-
-#, fuzzy
-#~| msgid "key %s: unsupported public key algorithm\n"
-#~ msgid ""
-#~ "can't check signature with unsupported public-key algorithm (%d): %s.\n"
-#~ msgstr "klucz %s: nieobsługiwany algorytm asymetryczny\n"
-
-#, fuzzy
-#~| msgid "card does not support digest algorithm %s\n"
-#~ msgid ""
-#~ "can't check signature with unsupported message-digest algorithm %d: %s.\n"
-#~ msgstr "karta nie obsługuje algorytmu skrótu %s\n"
-
-#, fuzzy
-#~| msgid "Good signature from"
-#~ msgid " (reordered signatures follow)"
-#~ msgstr "Poprawny podpis złożony przez"
-
-#, fuzzy
-#~| msgid "skipped \"%s\": %s\n"
-#~ msgid "key %s:\n"
-#~ msgstr "pominięty ,,%s'': %s\n"
-
-#, fuzzy
-#~| msgid "User ID \"%s\": %d signature removed\n"
-#~ msgid "%d duplicate signature removed\n"
-#~ msgid_plural "%d duplicate signatures removed\n"
-#~ msgstr[0] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
-#~ msgstr[1] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
-#~ msgstr[2] "Identyfikator użytkownika ,,%s'': %d podpis wyczyszczony\n"
-
-#, fuzzy
-#~| msgid "Good signature from"
-#~ msgid "%d signature reordered\n"
-#~ msgid_plural "%d signatures reordered\n"
-#~ msgstr[0] "Poprawny podpis złożony przez"
-#~ msgstr[1] "Poprawny podpis złożony przez"
-#~ msgstr[2] "Poprawny podpis złożony przez"
-
-#, fuzzy
-#~| msgid "new configuration file `%s' created\n"
-#~ msgid "new configuration file '%s' created\n"
-#~ msgstr "nowy plik ustawień ,,%s'' został utworzony\n"
-
-#, fuzzy
-#~| msgid "WARNING: options in `%s' are not yet active during this run\n"
-#~ msgid "WARNING: options in '%s' are not yet active during this run\n"
-#~ msgstr "OSTRZEŻENIE: opcje w ,,%s'' nie są jeszcze uwzględnione.\n"
-
-#, fuzzy
-#~| msgid "Key generation failed: %s\n"
-#~ msgid "User ID revocation failed: %s\n"
-#~ msgstr "Generacja klucza nie powiodła się: %s\n"
-
-#~ msgid "||Please enter the PIN%%0A[sigs done: %lu]"
-#~ msgstr "||Proszę wpisać PIN%%0A[podpisów wykonanych: %lu]"
-
-#~ msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]"
-#~ msgstr "|A|Proszę wprowadzić PIN administracyjny%%0A[pozostało prób: %d]"
-
-#~ msgid "--store [filename]"
-#~ msgstr "--store [plik]"
-
-#~ msgid "--symmetric [filename]"
-#~ msgstr "--symmetric [plik]"
-
-#~ msgid "--encrypt [filename]"
-#~ msgstr "--encrypt [plik]"
-
-#~ msgid "--symmetric --encrypt [filename]"
-#~ msgstr "--symmetric --encrypt [plik]"
-
-#~ msgid "--sign [filename]"
-#~ msgstr "--sign [plik]"
-
-#~ msgid "--sign --encrypt [filename]"
-#~ msgstr "--sign --encrypt [plik]"
-
-#~ msgid "--symmetric --sign --encrypt [filename]"
-#~ msgstr "--symmetric --sign --encrypt [plik]"
-
-#~ msgid "--sign --symmetric [filename]"
-#~ msgstr "--sign --symmetric [plik]"
-
-#~ msgid "--clear-sign [filename]"
-#~ msgstr "--clear-sign [plik]"
-
-#~ msgid "--decrypt [filename]"
-#~ msgstr "--decrypt [plik]"
-
-#~ msgid "--sign-key user-id"
-#~ msgstr "--sign-key nazwa użytkownika"
-
-#~ msgid "--lsign-key user-id"
-#~ msgstr "--lsign-key nazwa użytkownika"
-
-#~ msgid "--edit-key user-id [commands]"
-#~ msgstr "--edit-key nazwa użytkownika [polecenia]"
-
-#~ msgid "--passwd <user-id>"
-#~ msgstr "--passwd <id-użytkownika>"
-
-#~ msgid "[filename]"
-#~ msgstr "[nazwa pliku]"
-
-#~ msgid "shadowing the key failed: %s\n"
-#~ msgstr "zaciemnienie klucza nie powiodło się: %s\n"
-
-#, fuzzy
-#~| msgid "Available keys:\n"
-#~ msgid "available TOFU policies:\n"
-#~ msgstr "Dostępne klucze:\n"
-
-#, fuzzy
-#~| msgid "print message digests"
-#~ msgid "%ld message signed"
-#~ msgid_plural "%ld messages signed"
-#~ msgstr[0] "wypisanie skrótów wiadomości"
-#~ msgstr[1] "wypisanie skrótów wiadomości"
-#~ msgstr[2] "wypisanie skrótów wiadomości"
-
-#~ msgid "communication problem with gpg-agent\n"
-#~ msgstr "problem z komunikacją z gpg-agentem\n"
-
-#~ msgid "canceled by user\n"
-#~ msgstr "anulowano przez użytkownika\n"
-
-#~ msgid "problem with the agent\n"
-#~ msgstr "problem z agentem\n"
-
-#, fuzzy
-#~| msgid "problem with the agent: %s\n"
-#~ msgid "problem with the agent (unexpected response \"%s\")\n"
-#~ msgstr "problem z agentem: %s\n"
-
-#, fuzzy
-#~| msgid "unknown command `%s'\n"
-#~ msgid "unknown TOFU DB format '%s'\n"
-#~ msgstr "nieznane polecenie ,,%s''\n"
-
-#~ msgid "libgcrypt is too old (need %s, have %s)\n"
-#~ msgstr ""
-#~ "biblioteka libgcrypt jest zbyt stara (potrzebna %s, zainstalowana %s)\n"
-
-#~ msgid ""
-#~ "Please enter the passphrase to unlock the secret key for the OpenPGP "
-#~ "certificate:\n"
-#~ "\"%.*s\"\n"
-#~ "%u-bit %s key, ID %s,\n"
-#~ "created %s%s.\n"
-#~ msgstr ""
-#~ "Musisz podać hasło, aby odbezpieczyć klucz tajny certyfikatu OpenPGP:\n"
-#~ ",,%.*s''.\n"
-#~ "Klucz o długości %u bitów, typ %s, ID %s,\n"
-#~ "stworzony %s%s.\n"
-
-#~ msgid ""
-#~ "You need a passphrase to unlock the secret key for\n"
-#~ "user: \"%s\"\n"
-#~ msgstr ""
-#~ "Musisz podać hasło aby odbezpieczyć klucz prywatny użytkownika:\n"
-#~ ",,%s''\n"
-
-#~ msgid "%u-bit %s key, ID %s, created %s"
-#~ msgstr "długość %u bitów, typ %s, numer %s, stworzony %s"
-
-#~ msgid " (subkey on main key ID %s)"
-#~ msgstr " (podklucz dla głównego klucza o ID %s)"
-
-#, fuzzy
-#~| msgid "can't create directory `%s': %s\n"
-#~ msgid "can't access directory '%s': %s\n"
-#~ msgstr "nie można utworzyć katalogu ,,%s'': %s\n"
-
-#, fuzzy
-#~| msgid "run in daemon mode (background)"
-#~ msgid "run as windows service (background)"
-#~ msgstr "uruchomienie w trybie demona (w tle)"
-
-#~ msgid "you found a bug ... (%s:%d)\n"
-#~ msgstr "znalazłeś(aś) błąd w programie ... (%s:%d)\n"
-
-#, fuzzy
-#~| msgid "%d user IDs without valid self-signatures detected\n"
-#~ msgid "%d user ID without valid self-signature detected\n"
-#~ msgid_plural "%d user IDs without valid self-signatures detected\n"
-#~ msgstr[0] ""
-#~ "wykryto %d identyfikatorów użytkownika niepodpisanych tym samym kluczem\n"
-#~ msgstr[1] ""
-#~ "wykryto %d identyfikatorów użytkownika niepodpisanych tym samym kluczem\n"
-#~ msgstr[2] ""
-#~ "wykryto %d identyfikatorów użytkownika niepodpisanych tym samym kluczem\n"
-
-#~ msgid "moving a key signature to the correct place\n"
-#~ msgstr "przenoszę podpis klucza na właściwe miejsce\n"
-
-#, fuzzy
-#~| msgid "option \"%.50s\" is ambiguous\n"
-#~ msgid "key specification '%s' is ambiguous\n"
-#~ msgstr "opcja ,,%.50s'' jest niejednoznaczna\n"
-
-#~ msgid "%d signatures not checked due to missing keys\n"
-#~ msgstr "%d podpisów nie zostało sprawdzonych z powodu braku kluczy\n"
-
-#~ msgid "%d signatures not checked due to errors\n"
-#~ msgstr "%d podpisów nie sprawdzonych z powodu błędów\n"
-
-#~ msgid "1 user ID without valid self-signature detected\n"
-#~ msgstr ""
-#~ "wykryto 1 identyfikator użytkownika niepodpisany tym samym kluczem\n"
-
-#~ msgid "User ID \"%s\": %d signatures removed\n"
-#~ msgstr "Identyfikator użytkownika ,,%s'': %d podpisów wyczyszczonych\n"
-
-#~ msgid ""
-#~ "You need a Passphrase to protect your secret key.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Musisz podać długie, skomplikowane hasło aby ochronić swój klucz tajny.\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Please enter a passphrase to protect the off-card backup of the new "
-#~ "encryption key."
-#~ msgstr ""
-#~ "Proszę wprowadzić hasło do zabezpieczenia kopii zapasowej poza kartą "
-#~ "nowego klucza szyfrującego."
-
-#~ msgid "passphrase not correctly repeated; try again"
-#~ msgstr "hasło nie zostało poprawnie powtórzone; jeszcze jedna próba"
-
-#~ msgid "%s.\n"
-#~ msgstr "%s.\n"
-
-#~ msgid ""
-#~ "You don't want a passphrase - this is probably a *bad* idea!\n"
-#~ "I will do it anyway. You can change your passphrase at any time,\n"
-#~ "using this program with the option \"--edit-key\".\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Nie chcesz podać hasła - to *zły* pomysł!\n"
-#~ "W każdej chwili możesz ustawić hasło używając tego programu i opcji\n"
-#~ "\"--edit-key\".\n"
-#~ "\n"
-
-#~ msgid "storing key onto card failed: %s\n"
-#~ msgstr "zapis klucza na karcie nie powiódł się: %s\n"
-
-#, fuzzy
-#~| msgid "1 bad signature\n"
-#~ msgid "1 good signature\n"
-#~ msgstr "1 niepoprawny podpis\n"
-
-#~ msgid "%lu keys cached (%lu signatures)\n"
-#~ msgstr "%lu kluczy zbuforowano (%lu podpisów)\n"
-
-#~ msgid "refreshing 1 key from %s\n"
-#~ msgstr "odświeżanie 1 klucza z %s\n"
-
-#~ msgid "sending key %s to %s server %s\n"
-#~ msgstr "wysyłanie klucza %s na serwer %s %s\n"
-
-#~ msgid "public key %s is %lu seconds newer than the signature\n"
-#~ msgstr "klucz publiczny %s jest o %lu sekund(y) młodszy od podpisu\n"
-
-#~ msgid ""
-#~ "key %s was created %lu seconds in the future (time warp or clock "
-#~ "problem)\n"
-#~ msgstr ""
-#~ "klucz %s został stworzony %lu sekund w przyszłości (zaburzenia\n"
-#~ "czasoprzestrzeni lub źle ustawiony zegar systemowy)\n"
-
-#~ msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n"
-#~ msgstr "potrzeba %d marginalnych, %d pełnych, model zaufania %s\n"
-
-#~ msgid "cleared passphrase cached with ID: %s\n"
-#~ msgstr "wyczyszczono hasło zapamiętane z ID: %s\n"
-
-#, fuzzy
-#~| msgid "failed to store the key: %s\n"
-#~ msgid "Failed to open the keyring DB.\n"
-#~ msgstr "nie powiódł się zapis klucza: %s\n"
-
-#, fuzzy
-#~| msgid "failed to open `%s': %s\n"
-#~ msgid "Failed to parse '%s'.\n"
-#~ msgstr "nie udało się otworzyć ,,%s'': %s\n"
-
-#, fuzzy
-#~| msgid "error reading secret keyblock \"%s\": %s\n"
-#~ msgid "error looking up secret key \"%s\": %s\n"
-#~ msgstr "błąd odczytu bloku klucza tajnego ,,%s'': %s\n"
-
-#~ msgid "Please select at most one subkey.\n"
-#~ msgstr "Proszę wybrać najwyżej jeden podklucz.\n"
-
-#, fuzzy
-#~| msgid "no running dirmngr - starting `%s'\n"
-#~ msgid "no running dirmngr - starting one\n"
-#~ msgstr "dirmngr nie działa - uruchamianie ,,%s''\n"
-
-#, fuzzy
-#~| msgid "malformed DIRMNGR_INFO environment variable\n"
-#~ msgid "malformed %s environment variable\n"
-#~ msgstr "zły format zmiennej środowiskowej DIRMNGR_INFO\n"
-
-#~ msgid "dirmngr protocol version %d is not supported\n"
-#~ msgstr "wersja %d protokołu dirmngr nie jest obsługiwana\n"
-
-#~ msgid "can't connect to the dirmngr - trying fall back\n"
-#~ msgstr "nie można połączyć się z dirmngr - próba fallbacku\n"
-
-#~ msgid "export keys in an S-expression based format"
-#~ msgstr "eksport kluczy w formacie opartym na S-wyrażeniach"
-
-#~ msgid "toggle between the secret and public key listings"
-#~ msgstr "przełączenie pomiędzy listami kluczy tajnych i publicznych"
-
-#~ msgid "Passphrase"
-#~ msgstr "Hasło"
-
-#~ msgid "use temporary files to pass data to keyserver helpers"
-#~ msgstr ""
-#~ "użycie plików tymczasowych do przekazywania danych do modułów obsługi "
-#~ "serwera kluczy"
-
-#~ msgid "do not delete temporary files after using them"
-#~ msgstr "nie usuwanie plików tymczasowych po użyciu ich"
-
-#, fuzzy
-#~| msgid "WARNING: keyserver option `%s' is not used on this platform\n"
-#~ msgid "WARNING: keyserver option '%s' is not used on this platform\n"
-#~ msgstr ""
-#~ "OSTRZEŻENIE: opcja serwera kluczy ,,%s'' nie jest używana na tej "
-#~ "platformie.\n"
-
-#~ msgid "name of socket too long\n"
-#~ msgstr "nazwa gniazda zbyt długa\n"
-
-#~ msgid "gpg-agent is not available in this session\n"
-#~ msgstr "gpg-agent nie jest dostępny w tej sesji\n"
-
-#~ msgid "use a standard location for the socket"
-#~ msgstr "użycie standardowego położenia gniazda"
-
-#~ msgid "|FILE|write environment settings also to FILE"
-#~ msgstr "|PLIK|zapis ustawień środowiska także do PLIKU"
-
-#~ msgid "Usage: gpg-agent [options] (-h for help)"
-#~ msgstr "Wywołanie: gpg-agent [opcje] (-h podaje pomoc)"
-
-#~ msgid "malformed GPG_AGENT_INFO environment variable\n"
-#~ msgstr "zły format zmiennej środowiskowej GPG_AGENT_INFO\n"
-
-#~ msgid "gpg-agent protocol version %d is not supported\n"
-#~ msgstr "wersja %d protokołu agenta nie jest obsługiwana\n"
-
-#~ msgid "can't fdopen pipe for reading: %s\n"
-#~ msgstr "nie można wykonać fdopen do odczytu na potoku: %s\n"
-
-#~ msgid "error creating socket: %s\n"
-#~ msgstr "błąd tworzenia gniazda: %s\n"
-
-#~ msgid "host not found"
-#~ msgstr "nie znaleziono hosta"
-
-#~ msgid "can't connect to the agent - trying fall back\n"
-#~ msgstr "nie można połączyć się z agentem - próba fallbacku\n"
-
-#~ msgid "unknown key protection algorithm\n"
-#~ msgstr "nieznany algorytm ochrony klucza\n"
-
-#~ msgid "secret parts of key are not available\n"
-#~ msgstr "części tajne klucza są niedostępne\n"
-
-#~ msgid "secret key already stored on a card\n"
-#~ msgstr "klucz prywatny jest już zapisany na karcie\n"
-
-#~ msgid "error writing key to card: %s\n"
-#~ msgstr "błąd zapisu klucza na karcie: %s\n"
-
-#~ msgid ""
-#~ "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
-#~ msgstr ""
-#~ "w trybie --pgp2 można szyfrować dla kluczy RSA krótszych od 2048 bitów\n"
-
-#~ msgid ""
-#~ "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
-#~ msgstr ""
-#~ "nie można użyć szyfru IDEA z wszystkimi kluczami dla których szyfrujesz.\n"
-
-#~ msgid "remove the passphrase from exported subkeys"
-#~ msgstr "usunięcie hasła z wyeksportowanych podkluczy"
-
-#~ msgid "key %s: not protected - skipped\n"
-#~ msgstr "klucz %s: nie jest chroniony - pominięty\n"
-
-#~ msgid "about to export an unprotected subkey\n"
-#~ msgstr "ma być wyeksportowany niezabezpieczony podklucz\n"
-
-#~ msgid "failed to unprotect the subkey: %s\n"
-#~ msgstr "nie powiodło się odbezpieczanie podklucza: %s\n"
-
-#~ msgid "WARNING: secret key %s does not have a simple SK checksum\n"
-#~ msgstr "OSTRZEŻENIE: klucz prywatny %s nie ma prostej sumy kontrolnej SK.\n"
-
-#~ msgid "too many entries in pk cache - disabled\n"
-#~ msgstr "zbyt wiele wpisów w buforze kluczy publicznych - wyłączony\n"
-
-#~ msgid "no secret subkey for public subkey %s - ignoring\n"
-#~ msgstr "brak prywatnego odpowiednika podklucza publicznego %s - pominięty\n"
-
-#~ msgid "key %s: secret key without public key - skipped\n"
-#~ msgstr "klucz %s: klucz tajny bez klucza jawnego - pominięty\n"
-
-#~ msgid "usage: gpg [options] "
-#~ msgstr "wywołanie: gpg [opcje]"
-
-#~ msgid ""
-#~ "you can only make detached or clear signatures while in --pgp2 mode\n"
-#~ msgstr ""
-#~ "w trybie --pgp2 można składać tylko podpisy oddzielne lub dołączone do "
-#~ "tekstu\n"
-
-#~ msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
-#~ msgstr "w trybie --pgp2 nie można jednocześnie szyfrować i podpisywać\n"
-
-#~ msgid ""
-#~ "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
-#~ msgstr "w trybie --pgp2 trzeba używać plików a nie potoków.\n"
-
-#~ msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
-#~ msgstr "szyfrowanie wiadomości w trybie --pgp2 wymaga modułu szyfru IDEA\n"
-
-#~ msgid "create a public key when importing a secret key"
-#~ msgstr "tworzenie kluczy publicznych przy imporcie kluczy tajnych"
-
-#~ msgid "key %s: already in secret keyring\n"
-#~ msgstr "klucz %s: ten klucz tajny już znajduje się w zbiorze\n"
-
-#~ msgid "key %s: secret key not found: %s\n"
-#~ msgstr "klucz %s: brak klucza tajnego: %s\n"
-
-#~ msgid "NOTE: a key's S/N does not match the card's one\n"
-#~ msgstr "UWAGA: numer seryjny klucza nie zgadza się z numerem karty\n"
-
-#~ msgid "NOTE: primary key is online and stored on card\n"
-#~ msgstr "UWAGA: klucz główny jest aktywny i zapisany na karcie\n"
-
-#~ msgid "NOTE: secondary key is online and stored on card\n"
-#~ msgstr "UWAGA: klucz dodatkowy jest aktywny i zapisany na karcie\n"
-
-#~ msgid ""
-#~ "You may not make an OpenPGP signature on a PGP 2.x key while in --pgp2 "
-#~ "mode.\n"
-#~ msgstr ""
-#~ "W trybie --pgp2 nie można podpisywać kluczy PGP 2.x podpisami OpenPGP.\n"
-
-#~ msgid "This would make the key unusable in PGP 2.x.\n"
-#~ msgstr "To uczyni ten klucz nieużytecznym dla PGP 2.x.\n"
-
-#~ msgid "This key is not protected.\n"
-#~ msgstr "Ten klucz nie jest chroniony.\n"
-
-#~ msgid "Key is protected.\n"
-#~ msgstr "Klucz jest chroniony.\n"
-
-#~ msgid "Can't edit this key: %s\n"
-#~ msgstr "Tego klucza nie można modyfikować: %s.\n"
-
-#~ msgid ""
-#~ "Enter the new passphrase for this secret key.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Wprowadź nowe długie, skomplikowane hasło dla tego klucza tajnego.\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "You don't want a passphrase - this is probably a *bad* idea!\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Nie chcesz hasła - to *zły* pomysł!\n"
-#~ "\n"
-
-#~ msgid "Do you really want to do this? (y/N) "
-#~ msgstr "Czy na pewno chcesz to zrobić? (t/N) "
-
-#~ msgid "Please remove selections from the secret keys.\n"
-#~ msgstr "Proszę usunąć znacznik wyboru z kluczy prywatnych.\n"
-
-#~ msgid "No corresponding signature in secret ring\n"
-#~ msgstr "Brak odpowiadającego podpisu w zbiorze kluczy prywatnych\n"
-
-#~ msgid "writing secret key stub to `%s'\n"
-#~ msgstr "zapisuję zaślepkę klucza tajnego w ,,%s''\n"
-
-#~ msgid "writing secret key to `%s'\n"
-#~ msgstr "zapisuję klucz tajny w ,,%s''\n"
-
-#~ msgid "no writable secret keyring found: %s\n"
-#~ msgstr "brak zapisywalnego zbioru kluczy tajnych: %s\n"
-
-#~ msgid "WARNING: 2 files with confidential information exists.\n"
-#~ msgstr "OSTRZEŻENIE: Istnieją dwa pliki z poufnymi informacjami.\n"
-
-#~ msgid "%s is the unchanged one\n"
-#~ msgstr "%s pozostał bez zmian\n"
-
-#~ msgid "%s is the new one\n"
-#~ msgstr "%s został utworzony\n"
-
-#~ msgid "Please fix this possible security flaw\n"
-#~ msgstr "Proszę usunąć to naruszenie zasad bezpieczeństwa\n"
-
-#~ msgid "searching for names from %s server %s\n"
-#~ msgstr "poszukiwanie nazw z serwera %s %s\n"
-
-#~ msgid "searching for names from %s\n"
-#~ msgstr "poszukiwanie nazw z %s\n"
-
-#~ msgid "searching for \"%s\" from %s server %s\n"
-#~ msgstr "poszukiwanie ,,%s'' z serwera %s %s\n"
-
-#~ msgid "searching for \"%s\" from %s\n"
-#~ msgstr "poszukiwanie ,,%s'' z %s\n"
-
-#~ msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
-#~ msgstr ""
-#~ "OSTRZEŻENIE: moduł obsługi serwera kluczy z innej wersji GnuPG (%s)\n"
-
-#~ msgid "keyserver did not send VERSION\n"
-#~ msgstr "serwer kluczy nie wysłał VERSION\n"
-
-#~ msgid "external keyserver calls are not supported in this build\n"
-#~ msgstr ""
-#~ "zewnętrzne wywołania serwera kluczy nie są obsługiwane w tej kompilacji\n"
-
-#~ msgid "no handler for keyserver scheme `%s'\n"
-#~ msgstr "brak modułu obsługi dla schematu serwera kluczy ,,%s''\n"
-
-#~ msgid "action `%s' not supported with keyserver scheme `%s'\n"
-#~ msgstr ""
-#~ "akcja ,,%s'' nie jest obsługiwana przez schemat serwera kluczy ,,%s''\n"
-
-#~ msgid "%s does not support handler version %d\n"
-#~ msgstr "%s nie obsługuje modułu obsługi w wersji %d\n"
-
-#~ msgid "keyserver timed out\n"
-#~ msgstr "zbyt długi czas oczekiwania na serwer kluczy\n"
-
-#~ msgid "keyserver internal error\n"
-#~ msgstr "błąd wewnętrzny serwera kluczy\n"
-
-#~ msgid "keyserver communications error: %s\n"
-#~ msgstr "błąd komunikacji z serwerem kluczy: %s\n"
-
-#~ msgid "WARNING: unable to parse URI %s\n"
-#~ msgstr "OSTRZEŻENIE: nie można przeanalizować URI %s\n"
-
-#~ msgid "invalid root packet detected in proc_tree()\n"
-#~ msgstr "wykryto niepoprawny pakiet pierwotny w proc_tree()\n"
-
-#~ msgid "the IDEA cipher plugin is not present\n"
-#~ msgstr "moduł szyfru IDEA nie jest dostępny\n"
-
-#~ msgid "no corresponding public key: %s\n"
-#~ msgstr "brak odpowiadającego klucza publicznego: %s\n"
-
-#~ msgid "public key does not match secret key!\n"
-#~ msgstr "klucz publiczny nie pasuje do klucza prywatnego!\n"
-
-#~ msgid "unknown protection algorithm\n"
-#~ msgstr "nieznany algorytm ochrony\n"
-
-#~ msgid "NOTE: This key is not protected!\n"
-#~ msgstr "UWAGA: Ten klucz nie jest chroniony!\n"
-
-#~ msgid "protection digest %d is not supported\n"
-#~ msgstr "algorytm ochrony %d nie jest obsługiwany\n"
-
-#~ msgid "Invalid passphrase; please try again"
-#~ msgstr "Niepoprawne hasło; proszę spróbować ponownie"
-
-#~ msgid "%s ...\n"
-#~ msgstr "%s ...\n"
-
-#~ msgid "WARNING: Weak key detected - please change passphrase again.\n"
-#~ msgstr "OSTRZEŻENIE: Wykryto słaby klucz - należy ponownie zmienić hasło.\n"
-
-#~ msgid ""
-#~ "generating the deprecated 16-bit checksum for secret key protection\n"
-#~ msgstr ""
-#~ "tworzenie przestarzałej 16-bitowej sumy kontrolnej dla ochrony klucza\n"
-
-#~ msgid "DSA key %s uses an unsafe (%u bit) hash\n"
-#~ msgstr "Klucz DSA %s używa niebezpiecznego (%u-bitowego) skrótu\n"
-
-#~ msgid ""
-#~ "you can only detach-sign with PGP 2.x style keys while in --pgp2 mode\n"
-#~ msgstr ""
-#~ "kluczami PGP 2 w trybie --pgp2 można podpisywać tylko do oddzielonych "
-#~ "podpisów\n"
-
-#~ msgid ""
-#~ "you can only clearsign with PGP 2.x style keys while in --pgp2 mode\n"
-#~ msgstr ""
-#~ "w trybie --pgp2 można podpisywać tylko za pomocą kluczy z wersji 2.x\n"
-
-#~ msgid " - probably dead - removing lock"
-#~ msgstr " - prawdopodobnie martwy - usuwanie blokady"
-
-#~ msgid "Usage: scdaemon [options] (-h for help)"
-#~ msgstr "Wywołanie: scdaemon [opcje] (-h podaje pomoc)"
-
-#~ msgid "Parameters to be used for the certificate request:\n"
-#~ msgstr "Parametry, które będą użyte przy żądaniu certyfikatu:\n"
-
-#~ msgid "use system's dirmngr if available"
-#~ msgstr "użycie systemowego dirmngr jeśli jest dostępny"
-
-#~ msgid "Usage: gpgsm [options] [files] (-h for help)"
-#~ msgstr "Wywołanie: gpgsm [opcje] [pliki] (-h podaje pomoc)"
-
-#~ msgid "usage: gpgconf [options] "
-#~ msgstr "wywołanie: gpgconf [opcje]"
-
-#~ msgid "you may want to start the gpg-agent first\n"
-#~ msgstr "można najpierw uruchomić najpierw gpg-agenta\n"
-
-#~ msgid "enable ssh-agent emulation"
-#~ msgstr "włączenie emulacji ssh-agenta"
diff --git a/po/pt.po b/po/pt.po
index 578649a..b7cca6a 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -206,8 +206,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/ro.po b/po/ro.po
index 0f5dced..e2fa0d7 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -219,8 +219,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/ru.po b/po/ru.po
index 6972220..43af4e6 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -204,8 +204,12 @@ msgstr "Код разблокировки PIN (PUK)"
msgid "Reset Code"
msgstr "Код сброса"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0AВводите на клавиатуре считывателя."
msgid "Repeat this Reset Code"
diff --git a/po/sk.po b/po/sk.po
index c8a58fb..3bef735 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -206,8 +206,10 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+msgid "Use the reader's pinpad for input."
msgstr ""
#, fuzzy
diff --git a/po/sv.po b/po/sv.po
index b763b8d..9ed59d8 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -236,9 +236,12 @@ msgstr "PUK-kod"
msgid "Reset Code"
msgstr "Nollställ kod"
-#, fuzzy, c-format
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
#| msgid "%s%%0A%%0AUse the reader's keypad for input."
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0AAnvänd läsarens knappsats för inmatning."
msgid "Repeat this Reset Code"
diff --git a/po/tr.po b/po/tr.po
index 8e76bf2..576b4d0 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -207,10 +207,14 @@ msgstr ""
msgid "Reset Code"
msgstr "Sıfırlama Kodu"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
msgstr ""
+#, fuzzy
+#| msgid "do not use a reader's keypad"
+msgid "Use the reader's pinpad for input."
+msgstr "bir okuyucu tuştakımı kullanılmaz"
+
msgid "Repeat this Reset Code"
msgstr "Bu Sıfırlama Kodu tekrarlansın"
diff --git a/po/uk.po b/po/uk.po
index ea8270b..45039a2 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -206,8 +206,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "Код скидання"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0AСкористайтеся додатковою клавіатурою зчитувача для введення."
msgid "Repeat this Reset Code"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index ae0fdc4..203d4bf 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -197,9 +197,12 @@ msgstr "PUK"
msgid "Reset Code"
msgstr "重置代码"
-#, fuzzy, c-format
+msgid "Push ACK button on card/token."
+msgstr "按下 card/token 上的 ACK 按钮。"
+
+#, fuzzy
#| msgid "Use the reader's pinpad for input."
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "使用读卡器的小键盘输入。"
msgid "Repeat this Reset Code"
@@ -8609,9 +8612,6 @@ msgstr ""
"语法:gpg-check-pattern [选项] patternfile\n"
"按照 patternfile 检查一个由标准输入(stdin)给定的密码\n"
-#~ msgid "Push ACK button on card/token."
-#~ msgstr "按下 card/token 上的 ACK 按钮。"
-
#~ 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 89dab47..e18d306 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -211,8 +211,12 @@ msgstr "PIN 重設碼 (PUK)"
msgid "Reset Code"
msgstr "重設碼"
-#, c-format
-msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Push ACK button on card/token."
+msgstr ""
+
+#, fuzzy
+#| msgid "%s%%0A%%0AUse the reader's pinpad for input."
+msgid "Use the reader's pinpad for input."
msgstr "%s%%0A%%0A使用讀卡機的鍵盤來輸入."
msgid "Repeat this Reset Code"
diff --git a/scd/apdu.c b/scd/apdu.c
index 9e3594b..af77570 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -105,6 +105,7 @@ struct reader_table_s {
int (*check_pinpad)(int, int, pininfo_t *);
void (*dump_status_reader)(int);
int (*set_progress_cb)(int, gcry_handler_progress_t, void*);
+ int (*set_prompt_cb)(int, void (*) (void *, int), void*);
int (*pinpad_verify)(int, int, int, int, int, pininfo_t *);
int (*pinpad_modify)(int, int, int, int, int, pininfo_t *);
@@ -444,6 +445,7 @@ new_reader_slot (void)
reader_table[reader].check_pinpad = check_pcsc_pinpad;
reader_table[reader].dump_status_reader = NULL;
reader_table[reader].set_progress_cb = NULL;
+ reader_table[reader].set_prompt_cb = NULL;
reader_table[reader].pinpad_verify = pcsc_pinpad_verify;
reader_table[reader].pinpad_modify = pcsc_pinpad_modify;
@@ -1403,6 +1405,14 @@ set_progress_cb_ccid_reader (int slot, gcry_handler_progress_t cb, void *cb_arg)
return ccid_set_progress_cb (slotp->ccid.handle, cb, cb_arg);
}
+static int
+set_prompt_cb_ccid_reader (int slot, void (*cb) (void *, int ), void *cb_arg)
+{
+ reader_table_t slotp = reader_table + slot;
+
+ return ccid_set_prompt_cb (slotp->ccid.handle, cb, cb_arg);
+}
+
static int
get_status_ccid (int slot, unsigned int *status, int on_wire)
@@ -1542,6 +1552,7 @@ open_ccid_reader (struct dev_list *dl)
reader_table[slot].check_pinpad = check_ccid_pinpad;
reader_table[slot].dump_status_reader = dump_ccid_reader_status;
reader_table[slot].set_progress_cb = set_progress_cb_ccid_reader;
+ reader_table[slot].set_prompt_cb = set_prompt_cb_ccid_reader;
reader_table[slot].pinpad_verify = ccid_pinpad_operation;
reader_table[slot].pinpad_modify = ccid_pinpad_operation;
/* Our CCID reader code does not support T=0 at all, thus reset the
@@ -2381,6 +2392,29 @@ apdu_set_progress_cb (int slot, gcry_handler_progress_t cb, void *cb_arg)
}
+int
+apdu_set_prompt_cb (int slot, void (*cb) (void *, int), void *cb_arg)
+{
+ int sw;
+
+ if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
+ return SW_HOST_NO_DRIVER;
+
+ if (reader_table[slot].set_prompt_cb)
+ {
+ sw = lock_slot (slot);
+ if (!sw)
+ {
+ sw = reader_table[slot].set_prompt_cb (slot, cb, cb_arg);
+ unlock_slot (slot);
+ }
+ }
+ else
+ sw = 0;
+ return sw;
+}
+
+
/* Do a reset for the card in reader at SLOT. */
int
apdu_reset (int slot)
@@ -3028,19 +3062,25 @@ apdu_send_simple (int slot, int extended_mode,
/* This is a more generic version of the apdu sending routine. It
- takes an already formatted APDU in APDUDATA or length APDUDATALEN
- and returns with an APDU including the status word. With
- HANDLE_MORE set to true this function will handle the MORE DATA
- status and return all APDUs concatenated with one status word at
- the end. If EXTENDED_LENGTH is != 0 extended lengths are allowed
- with a max. result data length of EXTENDED_LENGTH bytes. The
- function does not return a regular status word but 0 on success.
- If the slot is locked, the function returns immediately with an
- error. */
+ * takes an already formatted APDU in APDUDATA or length APDUDATALEN
+ * and returns with an APDU including the status word. With
+ * HANDLE_MORE set to true this function will handle the MORE DATA
+ * status and return all APDUs concatenated with one status word at
+ * the end. If EXTENDED_LENGTH is != 0 extended lengths are allowed
+ * with a max. result data length of EXTENDED_LENGTH bytes. The
+ * function does not return a regular status word but 0 on success.
+ * If the slot is locked, the function returns immediately with an
+ * error.
+ *
+ * Out of historical reasons the function returns 0 on success and
+ * outs the status word at the end of the result to be able to get the
+ * status word in the case of a not provided RETBUF, R_SW can be used
+ * to store the SW. But note that R_SW qill only be set if the
+ * function returns 0. */
int
apdu_send_direct (int slot, size_t extended_length,
const unsigned char *apdudata, size_t apdudatalen,
- int handle_more,
+ int handle_more, unsigned int *r_sw,
unsigned char **retbuf, size_t *retbuflen)
{
#define SHORT_RESULT_BUFFER_SIZE 258
@@ -3247,9 +3287,13 @@ apdu_send_direct (int slot, size_t extended_length,
(*retbuf)[(*retbuflen)++] = sw;
}
+ if (r_sw)
+ *r_sw = sw;
+
if (DBG_CARD_IO && retbuf)
log_printhex (" dump: ", *retbuf, *retbuflen);
+
return 0;
}
diff --git a/scd/apdu.h b/scd/apdu.h
index 6751e8c..6240134 100644
--- a/scd/apdu.h
+++ b/scd/apdu.h
@@ -116,6 +116,7 @@ int apdu_connect (int slot);
int apdu_disconnect (int slot);
int apdu_set_progress_cb (int slot, gcry_handler_progress_t cb, void *cb_arg);
+int apdu_set_prompt_cb (int slot, void (*cb) (void *, int), void *cb_arg);
int apdu_reset (int slot);
int apdu_get_status (int slot, int hang, unsigned int *status);
@@ -136,7 +137,7 @@ int apdu_send_le (int slot, int extended_mode,
unsigned char **retbuf, size_t *retbuflen);
int apdu_send_direct (int slot, size_t extended_length,
const unsigned char *apdudata, size_t apdudatalen,
- int handle_more,
+ int handle_more, unsigned int *r_sw,
unsigned char **retbuf, size_t *retbuflen);
const char *apdu_get_reader_name (int slot);
diff --git a/scd/app-common.h b/scd/app-common.h
index 38e6cc6..2619823 100644
--- a/scd/app-common.h
+++ b/scd/app-common.h
@@ -25,9 +25,13 @@
#include <npth.h>
#include <ksba.h>
+/* Flags used with app_change_pin. */
+#define APP_CHANGE_FLAG_RESET 1 /* PIN Reset mode. */
+#define APP_CHANGE_FLAG_NULLPIN 2 /* NULL PIN mode. */
+#define APP_CHANGE_FLAG_CLEAR 4 /* Clear the given PIN. */
-#define APP_CHANGE_FLAG_RESET 1
-#define APP_CHANGE_FLAG_NULLPIN 2
+/* Flags used with app_genkey. */
+#define APP_GENKEY_FLAG_FORCE 1 /* Force overwriting existing key. */
/* Bit flags set by the decipher function into R_INFO. */
#define APP_DECIPHER_INFO_NOPAD 1 /* Padding has been removed. */
@@ -101,8 +105,8 @@ struct app_ctx_s {
void *pincb_arg,
const unsigned char *pk, size_t pklen);
gpg_error_t (*genkey) (app_t app, ctrl_t ctrl,
- const char *keynostr, unsigned int flags,
- time_t createtime,
+ const char *keyref, const char *keytype,
+ unsigned int flags, time_t createtime,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg);
gpg_error_t (*change_pin) (app_t app, ctrl_t ctrl,
@@ -173,16 +177,16 @@ gpg_error_t app_writekey (app_t app, ctrl_t ctrl,
void *pincb_arg,
const unsigned char *keydata, size_t keydatalen);
gpg_error_t app_genkey (app_t app, ctrl_t ctrl,
- const char *keynostr, unsigned int flags,
- time_t createtime,
+ const char *keynostr, const char *keytype,
+ unsigned int flags, time_t createtime,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg);
gpg_error_t app_get_challenge (app_t app, ctrl_t ctrl, size_t nbytes,
unsigned char *buffer);
gpg_error_t app_change_pin (app_t app, ctrl_t ctrl,
- const char *chvnostr, int reset_mode,
- gpg_error_t (*pincb)(void*, const char *, char **),
- void *pincb_arg);
+ const char *chvnostr, unsigned int flags,
+ gpg_error_t (*pincb)(void*, const char *, char **),
+ void *pincb_arg);
gpg_error_t app_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg);
diff --git a/scd/app-nks.c b/scd/app-nks.c
index 9e720f0..0f38e7c 100644
--- a/scd/app-nks.c
+++ b/scd/app-nks.c
@@ -273,7 +273,7 @@ get_chv_status (app_t app, int sigg, int pwid)
command[3] = pwid;
if (apdu_send_direct (app->slot, 0, (unsigned char *)command,
- 4, 0, &result, &resultlen))
+ 4, 0, NULL, &result, &resultlen))
rc = -1; /* Error. */
else if (resultlen < 2)
rc = -1; /* Error. */
@@ -1169,6 +1169,9 @@ do_change_pin (app_t app, ctrl_t ctrl, const char *pwidstr,
if (!newdesc)
return gpg_error (GPG_ERR_INV_ID);
+ if ((flags & APP_CHANGE_FLAG_CLEAR))
+ return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+
err = switch_application (app, is_sigg);
if (err)
return err;
@@ -1300,7 +1303,7 @@ get_nks_version (int slot)
int type;
if (iso7816_apdu_direct (slot, "\x80\xaa\x06\x00\x00", 5, 0,
- &result, &resultlen))
+ NULL, &result, &resultlen))
return 2; /* NKS 2 does not support this command. */
/* Example value: 04 11 19 22 21 6A 20 80 03 03 01 01 01 00 00 00
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index fa23fbe..4792653 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -2563,6 +2563,8 @@ do_writecert (app_t app, ctrl_t ctrl,
- 2 1 Verify CHV2 and set a new CHV1 and CHV2.
- 2 2 Verify Reset Code and set a new PW1.
- 3 any Verify CHV3/PW3 and set a new CHV3/PW3.
+
+ The CHVNO can be prefixed with "OPENPGP.".
*/
static gpg_error_t
do_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr,
@@ -2571,7 +2573,7 @@ do_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr,
void *pincb_arg)
{
int rc = 0;
- int chvno = atoi (chvnostr);
+ int chvno;
char *resetcode = NULL;
char *oldpinvalue = NULL;
char *pinvalue = NULL;
@@ -2584,10 +2586,25 @@ do_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr,
int pinlen = 0;
(void)ctrl;
+
+ if (digitp (chvnostr))
+ chvno = atoi (chvnostr);
+ else if (!ascii_strcasecmp (chvnostr, "OPENPGP.1"))
+ chvno = 1;
+ else if (!ascii_strcasecmp (chvnostr, "OPENPGP.2"))
+ chvno = 2;
+ else if (!ascii_strcasecmp (chvnostr, "OPENPGP.3"))
+ chvno = 3;
+ else
+ return gpg_error (GPG_ERR_INV_ID);
+
memset (&pininfo, 0, sizeof pininfo);
pininfo.fixedlen = -1;
pininfo.minlen = minlen;
+ if ((flags & APP_CHANGE_FLAG_CLEAR))
+ return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+
if (reset_mode && chvno == 3)
{
rc = gpg_error (GPG_ERR_INV_ID);
@@ -4018,8 +4035,8 @@ do_writekey (app_t app, ctrl_t ctrl,
/* Handle the GENKEY command. */
static gpg_error_t
-do_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
- time_t createtime,
+do_genkey (app_t app, ctrl_t ctrl, const char *keynostr, const char *keytype,
+ unsigned int flags, time_t createtime,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg)
{
@@ -4035,6 +4052,8 @@ do_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
int exmode = 0;
int le_value = 256; /* Use legacy value. */
+ (void)keytype; /* Ignored for OpenPGP cards. */
+
if (keyno < 0 || keyno > 2)
return gpg_error (GPG_ERR_INV_ID);
@@ -4083,7 +4102,7 @@ do_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
log_info (_("please wait while key is being generated ...\n"));
start_at = time (NULL);
- err = iso7816_generate_keypair (app->slot, exmode,
+ err = iso7816_generate_keypair (app->slot, exmode, 0x80, 0,
(keyno == 0? "\xB6" :
keyno == 1? "\xB8" : "\xA4"),
2, le_value, &buffer, &buflen);
diff --git a/scd/app.c b/scd/app.c
index f3f1205..ac9a658 100644
--- a/scd/app.c
+++ b/scd/app.c
@@ -67,6 +67,7 @@ lock_app (app_t app, ctrl_t ctrl)
}
apdu_set_progress_cb (app->slot, print_progress_line, ctrl);
+ apdu_set_prompt_cb (app->slot, popup_prompt, ctrl);
return 0;
}
@@ -76,6 +77,7 @@ static void
unlock_app (app_t app)
{
apdu_set_progress_cb (app->slot, NULL, NULL);
+ apdu_set_prompt_cb (app->slot, NULL, NULL);
if (npth_mutex_unlock (&app->lock))
{
@@ -863,8 +865,8 @@ app_writekey (app_t app, ctrl_t ctrl,
/* Perform a SETATTR operation. */
gpg_error_t
-app_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
- time_t createtime,
+app_genkey (app_t app, ctrl_t ctrl, const char *keynostr,
+ const char *keytype, unsigned int flags, time_t createtime,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg)
{
@@ -879,7 +881,7 @@ app_genkey (app_t app, ctrl_t ctrl, const char *keynostr, unsigned int flags,
err = lock_app (app, ctrl);
if (err)
return err;
- err = app->fnc.genkey (app, ctrl, keynostr, flags,
+ err = app->fnc.genkey (app, ctrl, keynostr, keytype, flags,
createtime, pincb, pincb_arg);
unlock_app (app);
if (opt.verbose)
@@ -912,7 +914,8 @@ app_get_challenge (app_t app, ctrl_t ctrl, size_t nbytes, unsigned char *buffer)
/* Perform a CHANGE REFERENCE DATA or RESET RETRY COUNTER operation. */
gpg_error_t
-app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr, int reset_mode,
+app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr,
+ unsigned int flags,
gpg_error_t (*pincb)(void*, const char *, char **),
void *pincb_arg)
{
@@ -927,8 +930,7 @@ app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr, int reset_mode,
err = lock_app (app, ctrl);
if (err)
return err;
- err = app->fnc.change_pin (app, ctrl, chvnostr, reset_mode,
- pincb, pincb_arg);
+ err = app->fnc.change_pin (app, ctrl, chvnostr, flags, pincb, pincb_arg);
unlock_app (app);
if (opt.verbose)
log_info ("operation change_pin result: %s\n", gpg_strerror (err));
@@ -936,7 +938,7 @@ app_change_pin (app_t app, ctrl_t ctrl, const char *chvnostr, int reset_mode,
}
-/* Perform a VERIFY operation without doing anything lese. This may
+/* Perform a VERIFY operation without doing anything else. This may
be used to initialize a the PIN cache for long lasting other
operations. Its use is highly application dependent. */
gpg_error_t
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c
index ae40f01..5bab0b1 100644
--- a/scd/ccid-driver.c
+++ b/scd/ccid-driver.c
@@ -255,6 +255,9 @@ struct ccid_driver_s
void (*progress_cb)(void *, const char *, int, int, int);
void *progress_cb_arg;
+ void (*prompt_cb)(void *, int);
+ void *prompt_cb_arg;
+
unsigned char intr_buf[64];
struct libusb_transfer *transfer;
};
@@ -1467,8 +1470,7 @@ intr_cb (struct libusb_transfer *transfer)
DEBUGOUT_1 ("CCID: interrupt callback %d\n", transfer->status);
- if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT
- || transfer->status == LIBUSB_TRANSFER_NO_DEVICE)
+ if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT)
{
int err;
@@ -1802,6 +1804,19 @@ ccid_set_progress_cb (ccid_driver_t handle,
}
+int
+ccid_set_prompt_cb (ccid_driver_t handle,
+ void (*cb)(void *, int), void *cb_arg)
+{
+ if (!handle)
+ return CCID_DRIVER_ERR_INV_VALUE;
+
+ handle->prompt_cb = cb;
+ handle->prompt_cb_arg = cb_arg;
+ return 0;
+}
+
+
/* Close the reader HANDLE. */
int
ccid_close_reader (ccid_driver_t handle)
@@ -1930,6 +1945,7 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
{
int rc;
int msglen;
+ int notified = 0;
/* Fixme: The next line for the current Valgrind without support
for USB IOCTLs. */
@@ -1982,14 +1998,25 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
we got the expected message type. This is in particular required
for the Cherry keyboard which sends a time extension request for
each key hit. */
- if ( !(buffer[7] & 0x03) && (buffer[7] & 0xC0) == 0x80)
+ if (!(buffer[7] & 0x03) && (buffer[7] & 0xC0) == 0x80)
{
/* Card present and active, time extension requested. */
DEBUGOUT_2 ("time extension requested (%02X,%02X)\n",
buffer[7], buffer[8]);
+
+ /* Gnuk enhancement to prompt user input by ack button */
+ if (buffer[8] == 0xff && !notified)
+ {
+ notified = 1;
+ handle->prompt_cb (handle->prompt_cb_arg, 1);
+ }
+
goto retry;
}
+ if (notified)
+ handle->prompt_cb (handle->prompt_cb_arg, 0);
+
if (buffer[0] != expected_type && buffer[0] != RDR_to_PC_SlotStatus)
{
DEBUGOUT_1 ("unexpected bulk-in msg type (%02x)\n", buffer[0]);
diff --git a/scd/ccid-driver.h b/scd/ccid-driver.h
index c31c25f..1550b3e 100644
--- a/scd/ccid-driver.h
+++ b/scd/ccid-driver.h
@@ -126,6 +126,8 @@ int ccid_open_reader (const char *spec_reader_name,
int ccid_set_progress_cb (ccid_driver_t handle,
void (*cb)(void *, const char *, int, int, int),
void *cb_arg);
+int ccid_set_prompt_cb (ccid_driver_t handle, void (*cb)(void *, int),
+ void *cb_arg);
int ccid_shutdown_reader (ccid_driver_t handle);
int ccid_close_reader (ccid_driver_t handle);
int ccid_get_atr (ccid_driver_t handle,
diff --git a/scd/command.c b/scd/command.c
index 66d9fb9..1dfa652 100644
--- a/scd/command.c
+++ b/scd/command.c
@@ -333,7 +333,7 @@ static const char hlp_learn[] =
"or a \"CANCEL\" to force the function to terminate with a Cancel\n"
"error message.\n"
"\n"
- "With the option --keypairinfo only KEYPARIINFO lstatus lines are\n"
+ "With the option --keypairinfo only KEYPARIINFO status lines are\n"
"returned.\n"
"\n"
"The response of this command is a list of status lines formatted as\n"
@@ -346,6 +346,7 @@ static const char hlp_learn[] =
" P15 = PKCS-15 structure used\n"
" DINSIG = DIN SIG\n"
" OPENPGP = OpenPGP card\n"
+ " PIV = PIV card\n"
" NKS = NetKey card\n"
"\n"
"are implemented. These strings are aliases for the AID\n"
@@ -1137,7 +1138,8 @@ cmd_genkey (assuan_context_t ctx, char *line)
keyno = xtrystrdup (keyno);
if (!keyno)
return out_of_core ();
- rc = app_genkey (ctrl->app_ctx, ctrl, keyno, force? 1:0,
+ rc = app_genkey (ctrl->app_ctx, ctrl, keyno, NULL,
+ force? APP_GENKEY_FLAG_FORCE : 0,
timestamp, pin_cb, ctx);
xfree (keyno);
@@ -1191,12 +1193,13 @@ cmd_random (assuan_context_t ctx, char *line)
static const char hlp_passwd[] =
- "PASSWD [--reset] [--nullpin] <chvno>\n"
+ "PASSWD [--reset] [--nullpin] [--clear] <chvno>\n"
"\n"
"Change the PIN or, if --reset is given, reset the retry counter of\n"
"the card holder verification vector CHVNO. The option --nullpin is\n"
- "used for TCOS cards to set the initial PIN. The format of CHVNO\n"
- "depends on the card application.";
+ "used for TCOS cards to set the initial PIN. The option --clear clears\n"
+ "the security status associated with the PIN so that the PIN needs to\n"
+ "be presented again. The format of CHVNO depends on the card application.";
static gpg_error_t
cmd_passwd (assuan_context_t ctx, char *line)
{
@@ -1209,6 +1212,8 @@ cmd_passwd (assuan_context_t ctx, char *line)
flags |= APP_CHANGE_FLAG_RESET;
if (has_option (line, "--nullpin"))
flags |= APP_CHANGE_FLAG_NULLPIN;
+ if (has_option (line, "--clear"))
+ flags |= APP_CHANGE_FLAG_CLEAR;
line = skip_options (line);
@@ -1219,6 +1224,11 @@ cmd_passwd (assuan_context_t ctx, char *line)
line++;
*line = 0;
+ /* Do not allow other flags aside of --clear. */
+ if ((flags & APP_CHANGE_FLAG_CLEAR) && (flags & ~APP_CHANGE_FLAG_CLEAR))
+ return set_error (GPG_ERR_UNSUPPORTED_OPERATION,
+ "--clear used with other options");
+
if ((rc = open_card (ctrl)))
return rc;
@@ -1640,7 +1650,7 @@ cmd_apdu (assuan_context_t ctx, char *line)
rc = apdu_send_direct (app->slot, exlen,
apdu, apdulen, handle_more,
- &result, &resultlen);
+ NULL, &result, &resultlen);
if (rc)
log_error ("apdu_send_direct failed: %s\n", gpg_strerror (rc));
else
@@ -1898,6 +1908,54 @@ send_status_direct (ctrl_t ctrl, const char *keyword, const char *args)
}
+/* This status functions expects a printf style format string. No
+ * filtering of the data is done instead the orintf formatted data is
+ * send using assuan_send_status. */
+gpg_error_t
+send_status_printf (ctrl_t ctrl, const char *keyword, const char *format, ...)
+{
+ gpg_error_t err;
+ va_list arg_ptr;
+ assuan_context_t ctx;
+
+ if (!ctrl || !ctrl->server_local || !(ctx = ctrl->server_local->assuan_ctx))
+ return 0;
+
+ va_start (arg_ptr, format);
+ err = vprint_assuan_status (ctx, keyword, format, arg_ptr);
+ va_end (arg_ptr);
+ return err;
+}
+
+
+void
+popup_prompt (void *opaque, int on)
+{
+ ctrl_t ctrl = opaque;
+
+ if (ctrl)
+ {
+ assuan_context_t ctx = ctrl->server_local->assuan_ctx;
+
+ if (ctx)
+ {
+ const char *cmd;
+ gpg_error_t err;
+ unsigned char *value;
+ size_t valuelen;
+
+ if (on)
+ cmd = "POPUPPINPADPROMPT --ack";
+ else
+ cmd = "DISMISSPINPADPROMPT";
+ err = assuan_inquire (ctx, cmd, &value, &valuelen, 100);
+ if (!err)
+ xfree (value);
+ }
+ }
+}
+
+
/* Helper to send the clients a status change notification. */
void
send_client_notifications (app_t app, int removal)
diff --git a/scd/iso7816.c b/scd/iso7816.c
index 081b080..e8b517e 100644
--- a/scd/iso7816.c
+++ b/scd/iso7816.c
@@ -50,6 +50,7 @@
#define CMD_PUT_DATA 0xDA
#define CMD_MSE 0x22
#define CMD_PSO 0x2A
+#define CMD_GENERAL_AUTHENTICATE 0x87
#define CMD_INTERNAL_AUTHENTICATE 0x88
#define CMD_GENERATE_KEYPAIR 0x47
#define CMD_GET_CHALLENGE 0x84
@@ -209,24 +210,28 @@ iso7816_list_directory (int slot, int list_dirs,
internally. The return value is a gpg error code (i.e. a mapped
status word). This is basically the same as apdu_send_direct but
it maps the status word and does not return it in the result
- buffer. */
+ buffer. However, it R_SW is not NULL the status word is stored
+ R_SW for closer inspection. */
gpg_error_t
iso7816_apdu_direct (int slot, const void *apdudata, size_t apdudatalen,
- int handle_more,
+ int handle_more, unsigned int *r_sw,
unsigned char **result, size_t *resultlen)
{
- int sw;
+ int sw, sw2;
- if (!result || !resultlen)
- return gpg_error (GPG_ERR_INV_VALUE);
- *result = NULL;
- *resultlen = 0;
+ if (result)
+ {
+ *result = NULL;
+ *resultlen = 0;
+ }
sw = apdu_send_direct (slot, 0, apdudata, apdudatalen, handle_more,
- result, resultlen);
+ &sw2, result, resultlen);
if (!sw)
{
- if (*resultlen < 2)
+ if (!result)
+ sw = sw2;
+ else if (*resultlen < 2)
sw = SW_HOST_GENERAL_ERROR;
else
{
@@ -235,13 +240,15 @@ iso7816_apdu_direct (int slot, const void *apdudata, size_t apdudatalen,
(*resultlen)--;
}
}
- if (sw != SW_SUCCESS)
+ if (sw != SW_SUCCESS && result)
{
/* Make sure that pending buffers are released. */
xfree (*result);
*result = NULL;
*resultlen = 0;
}
+ if (r_sw)
+ *r_sw = sw;
return map_sw (sw);
}
@@ -323,6 +330,7 @@ iso7816_change_reference_data (int slot, int chvno,
sw = apdu_send_simple (slot, 0, 0x00, CMD_CHANGE_REFERENCE_DATA,
oldchvlen? 0 : 1, chvno, oldchvlen+newchvlen, buf);
+ wipememory (buf, oldchvlen+newchvlen);
xfree (buf);
return map_sw (sw);
@@ -541,7 +549,7 @@ iso7816_decipher (int slot, int extended_mode,
}
-/* For LE see do_generate_keypair. */
+/* For LE see do_generate_keypair. */
gpg_error_t
iso7816_internal_authenticate (int slot, int extended_mode,
const unsigned char *data, size_t datalen,
@@ -578,12 +586,50 @@ iso7816_internal_authenticate (int slot, int extended_mode,
}
+/* For LE see do_generate_keypair. */
+gpg_error_t
+iso7816_general_authenticate (int slot, int extended_mode,
+ int algoref, int keyref,
+ const unsigned char *data, size_t datalen,
+ int le,
+ unsigned char **result, size_t *resultlen)
+{
+ int sw;
+
+ if (!data || !datalen || !result || !resultlen)
+ return gpg_error (GPG_ERR_INV_VALUE);
+ *result = NULL;
+ *resultlen = 0;
+
+ if (!extended_mode)
+ le = 256; /* Ignore provided Le and use what apdu_send uses. */
+ else if (le >= 0 && le < 256)
+ le = 256;
+
+ sw = apdu_send_le (slot, extended_mode,
+ 0x00, CMD_GENERAL_AUTHENTICATE, algoref, keyref,
+ datalen, (const char*)data,
+ le,
+ result, resultlen);
+ if (sw != SW_SUCCESS)
+ {
+ /* Make sure that pending buffers are released. */
+ xfree (*result);
+ *result = NULL;
+ *resultlen = 0;
+ return map_sw (sw);
+ }
+
+ return 0;
+}
+
+
/* LE is the expected return length. This is usually 0 except if
extended length mode is used and more than 256 byte will be
returned. In that case a value of -1 uses a large default
(e.g. 4096 bytes), a value larger 256 used that value. */
static gpg_error_t
-do_generate_keypair (int slot, int extended_mode, int read_only,
+do_generate_keypair (int slot, int extended_mode, int p1, int p2,
const char *data, size_t datalen, int le,
unsigned char **result, size_t *resultlen)
{
@@ -595,7 +641,7 @@ do_generate_keypair (int slot, int extended_mode, int read_only,
*resultlen = 0;
sw = apdu_send_le (slot, extended_mode,
- 0x00, CMD_GENERATE_KEYPAIR, read_only? 0x81:0x80, 0,
+ 0x00, CMD_GENERATE_KEYPAIR, p1, p2,
datalen, data,
le >= 0 && le < 256? 256:le,
result, resultlen);
@@ -613,12 +659,12 @@ do_generate_keypair (int slot, int extended_mode, int read_only,
gpg_error_t
-iso7816_generate_keypair (int slot, int extended_mode,
+iso7816_generate_keypair (int slot, int extended_mode, int p1, int p2,
const char *data, size_t datalen,
int le,
unsigned char **result, size_t *resultlen)
{
- return do_generate_keypair (slot, extended_mode, 0,
+ return do_generate_keypair (slot, extended_mode, p1, p2,
data, datalen, le, result, resultlen);
}
@@ -629,7 +675,7 @@ iso7816_read_public_key (int slot, int extended_mode,
int le,
unsigned char **result, size_t *resultlen)
{
- return do_generate_keypair (slot, extended_mode, 1,
+ return do_generate_keypair (slot, extended_mode, 0x81, 0,
data, datalen, le, result, resultlen);
}
diff --git a/scd/iso7816.h b/scd/iso7816.h
index 4c71bbd..8da5a94 100644
--- a/scd/iso7816.h
+++ b/scd/iso7816.h
@@ -58,7 +58,7 @@ gpg_error_t iso7816_list_directory (int slot, int list_dirs,
unsigned char **result, size_t *resultlen);
gpg_error_t iso7816_apdu_direct (int slot,
const void *apdudata, size_t apdudatalen,
- int handle_more,
+ int handle_more, unsigned int *r_sw,
unsigned char **result, size_t *resultlen);
gpg_error_t iso7816_check_pinpad (int slot, int command,
pininfo_t *pininfo);
@@ -97,10 +97,19 @@ gpg_error_t iso7816_internal_authenticate (int slot, int extended_mode,
const unsigned char *data, size_t datalen,
int le,
unsigned char **result, size_t *resultlen);
+gpg_error_t iso7816_general_authenticate (int slot, int extended_mode,
+ int algoref, int keyref,
+ const unsigned char *data,
+ size_t datalen,
+ int le,
+ unsigned char **result,
+ size_t *resultlen);
gpg_error_t iso7816_generate_keypair (int slot, int extended_mode,
- const char *data, size_t datalen,
- int le,
- unsigned char **result, size_t *resultlen);
+ int p1, int p2,
+ const char *data, size_t datalen,
+ int le,
+ unsigned char **result,
+ size_t *resultlen);
gpg_error_t iso7816_read_public_key (int slot, int extended_mode,
const char *data, size_t datalen,
int le,
diff --git a/scd/scdaemon.h b/scd/scdaemon.h
index 4797f3d..73589ad 100644
--- a/scd/scdaemon.h
+++ b/scd/scdaemon.h
@@ -123,6 +123,10 @@ int scd_command_handler (ctrl_t, int);
void send_status_info (ctrl_t ctrl, const char *keyword, ...)
GPGRT_ATTR_SENTINEL(1);
void send_status_direct (ctrl_t ctrl, const char *keyword, const char *args);
+gpg_error_t send_status_printf (ctrl_t ctrl, const char *keyword,
+ const char *format, ...) GPGRT_ATTR_PRINTF(3,4);
+
+void popup_prompt (void *opaque, int on);
void send_client_notifications (app_t app, int removal);
void scd_kick_the_loop (void);
int get_active_connection_count (void);
diff --git a/sm/certreqgen-ui.c b/sm/certreqgen-ui.c
index 9772a3b..b131d7d 100644
--- a/sm/certreqgen-ui.c
+++ b/sm/certreqgen-ui.c
@@ -244,7 +244,27 @@ gpgsm_gencertreq_tty (ctrl_t ctrl, estream_t output_stream)
{
tty_printf (_("Available keys:\n"));
for (count=1,sl=keypairlist; sl; sl = sl->next, count++)
- tty_printf (" (%d) %s\n", count, sl->d);
+ {
+ ksba_sexp_t pkey;
+ gcry_sexp_t s_pkey;
+ char *algostr = NULL;
+ const char *keyref;
+
+ keyref = strchr (sl->d, ' ');
+ if (keyref)
+ {
+ keyref++;
+ if (!gpgsm_agent_readkey (ctrl, 1, keyref, &pkey))
+ {
+ if (!gcry_sexp_new (&s_pkey, pkey, 0, 0))
+ algostr = pubkey_algo_string (s_pkey);
+ gcry_sexp_release (s_pkey);
+ }
+ xfree (pkey);
+ }
+ tty_printf (" (%d) %s %s\n", count, sl->d, algostr);
+ xfree (algostr);
+ }
xfree (answer);
answer = tty_get (_("Your selection? "));
tty_kill_prompt ();
diff --git a/tests/gpgscm/scheme.c b/tests/gpgscm/scheme.c
index 4384841..b188e36 100644
--- a/tests/gpgscm/scheme.c
+++ b/tests/gpgscm/scheme.c
@@ -44,6 +44,8 @@
# endif
#endif
+#include "gpgrt.h" /* For GGPRT_GCC_VERSION */
+
/* Used for documentation purposes, to signal functions in 'interface' */
#define INTERFACE
@@ -3438,6 +3440,11 @@ int list_length(scheme *sc, pointer a) {
+#if GPGRT_GCC_VERSION >= 80000
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
+#endif
+
#define s_retbool(tf) s_return(sc,(tf) ? sc->T : sc->F)
/* kernel of this interpreter */
@@ -5323,6 +5330,11 @@ Eval_Cycle(scheme *sc, enum scheme_opcodes op) {
}
}
+#if GPGRT_GCC_VERSION >= 80000
+# pragma GCC diagnostic pop
+#endif
+
+
typedef int (*test_predicate)(pointer);
static int is_any(pointer p) {
diff --git a/tools/gpg-wks-client.c b/tools/gpg-wks-client.c
index c8ff166..78e4fe4 100644
--- a/tools/gpg-wks-client.c
+++ b/tools/gpg-wks-client.c
@@ -1151,6 +1151,7 @@ encrypt_response (estream_t *r_output, estream_t input, const char *addrspec,
ccparray_put (&ccp, "--status-fd=2");
ccparray_put (&ccp, "--always-trust");
ccparray_put (&ccp, "--armor");
+ ccparray_put (&ccp, "-z0"); /* No compression for improved robustness. */
if (fake_submission_addr)
ccparray_put (&ccp, "--auto-key-locate=clear,local");
else
diff --git a/tools/gpg-wks-server.c b/tools/gpg-wks-server.c
index 1a0ba8f..f83ef65 100644
--- a/tools/gpg-wks-server.c
+++ b/tools/gpg-wks-server.c
@@ -586,6 +586,7 @@ encrypt_stream (estream_t *r_output, estream_t input, const char *keyfile)
ccparray_put (&ccp, "--always-trust");
ccparray_put (&ccp, "--no-keyring");
ccparray_put (&ccp, "--armor");
+ ccparray_put (&ccp, "-z0"); /* No compression for improved robustness. */
ccparray_put (&ccp, "--recipient-file");
ccparray_put (&ccp, keyfile);
ccparray_put (&ccp, "--encrypt");