From cvs at cvs.gnupg.org Fri Dec 1 09:52:22 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 01 Dec 2017 09:52:22 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-83-g651b3d8 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 651b3d8207cc7d85699f89fc4c21cb1243453aa8 (commit) from f43016500774ab82f222249202bda6c463aaf63f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 651b3d8207cc7d85699f89fc4c21cb1243453aa8 Author: Andre Heinecke Date: Fri Dec 1 09:44:47 2017 +0100 Fix uid parsing for ldap keyserver * src/engine-gpg.c (gpg_keylist_preprocess): Check field count for uid and add fallback. -- This fixes accessing unintialized memory and resulting crashes in gpgrt_asprintf. GnuPG-Bug-Id: T3550 diff --git a/src/engine-gpg.c b/src/engine-gpg.c index 5ce04f0..bfe7d13 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -2594,6 +2594,9 @@ gpg_keylist_preprocess (char *line, char **r_line) as defined in 5.2. Machine Readable Indexes of the OpenPGP HTTP Keyserver Protocol (draft). + For an ldap keyserver the format is: + uid: + We want: uid:o::::::::: */ @@ -2635,9 +2638,17 @@ gpg_keylist_preprocess (char *line, char **r_line) } *dst = '\0'; - if (gpgrt_asprintf (r_line, "uid:o%s::::%s:%s:::%s:", - field[4], field[2], field[3], uid) < 0) - return gpg_error_from_syserror (); + if (fields < 4) + { + if (gpgrt_asprintf (r_line, "uid:o::::::::%s:", uid) < 0) + return gpg_error_from_syserror (); + } + else + { + if (gpgrt_asprintf (r_line, "uid:o%s::::%s:%s:::%s:", + field[4], field[2], field[3], uid) < 0) + return gpg_error_from_syserror (); + } } return 0; ----------------------------------------------------------------------- Summary of changes: src/engine-gpg.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 1 14:35:35 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 01 Dec 2017 14:35:35 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-85-g7d1ac5d Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 7d1ac5d61de3c55bf7ff14997b4b111a0f90c177 (commit) via 8e2d6c28a5e923f829b5a26d19d9d897949aa1fe (commit) from 651b3d8207cc7d85699f89fc4c21cb1243453aa8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7d1ac5d61de3c55bf7ff14997b4b111a0f90c177 Author: Andre Heinecke Date: Fri Dec 1 14:29:04 2017 +0100 qt: Add job for quick commands * lang/qt/src/qgpgmequickjob.cpp, lang/qt/src/qgpgmequickjob.h, lang/qt/src/quickjob.h: New. * lang/qt/src/Makefile.am, lang/qt/src/protocol.h, lang/qt/src/protocol_p.h, lang/qt/src/job.cpp: Update accordingly. -- Keeping it in line with the Job for everything pattern. Although it's reduced to one job for four commands as the commands all behave the same. diff --git a/NEWS b/NEWS index 83c8f5f..fd26ad2 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,7 @@ Noteworthy changes in version 1.10.0 (unreleased) cpp: Context::startCreateKey NEW. cpp: Context::createSubkey NEW. cpp: Context::startCreateSubkey NEW. + qt: QuickJob NEW. py: DecryptResult EXTENDED: New boolean field 'is_de_vs'. py: Signature EXTENDED: New boolean field 'is_de_vs'. py: GpgError EXTENDED: Partial results in 'results'. diff --git a/lang/qt/src/Makefile.am b/lang/qt/src/Makefile.am index 3b3cffc..3225142 100644 --- a/lang/qt/src/Makefile.am +++ b/lang/qt/src/Makefile.am @@ -36,7 +36,7 @@ qgpgme_sources = \ qgpgmesignjob.cpp qgpgmesignkeyjob.cpp qgpgmeverifydetachedjob.cpp \ qgpgmeverifyopaquejob.cpp threadedjobmixin.cpp \ qgpgmekeyformailboxjob.cpp gpgme_backend_debug.cpp \ - qgpgmetofupolicyjob.cpp \ + qgpgmetofupolicyjob.cpp qgpgmequickjob.cpp \ defaultkeygenerationjob.cpp qgpgmewkspublishjob.cpp \ dn.cpp cryptoconfig.cpp @@ -60,6 +60,7 @@ qgpgme_headers= \ protocol.h \ qgpgme_export.h \ qgpgmenewcryptoconfig.h \ + quickjob.h \ specialjob.h \ signjob.h \ signkeyjob.h \ @@ -97,6 +98,7 @@ camelcase_headers= \ MultiDeleteJob \ Protocol \ QGpgMENewCryptoConfig \ + QuickJob \ SpecialJob \ SignJob \ SignKeyJob \ @@ -145,6 +147,7 @@ private_qgpgme_headers = \ qgpgmekeyformailboxjob.h \ qgpgmewkspublishjob.h \ qgpgmetofupolicyjob.h \ + qgpgmequickjob.h \ threadedjobmixin.h qgpgme_moc_sources = \ @@ -202,7 +205,9 @@ qgpgme_moc_sources = \ keyformailboxjob.moc \ wkspublishjob.moc \ qgpgmekeyformailboxjob.moc \ - defaultkeygenerationjob.moc + defaultkeygenerationjob.moc \ + quickjob.moc \ + qgpgmequickjob.moc qgpgmeincludedir = $(includedir)/qgpgme qgpgmeinclude_HEADERS = $(qgpgme_headers) diff --git a/lang/qt/src/job.cpp b/lang/qt/src/job.cpp index 83c5044..c427020 100644 --- a/lang/qt/src/job.cpp +++ b/lang/qt/src/job.cpp @@ -64,6 +64,7 @@ #include "wkspublishjob.h" #include "tofupolicyjob.h" #include "threadedjobmixin.h" +#include "quickjob.h" #include #include @@ -139,6 +140,7 @@ make_job_subclass(SpecialJob) make_job_subclass(KeyForMailboxJob) make_job_subclass(WKSPublishJob) make_job_subclass(TofuPolicyJob) +make_job_subclass(QuickJob) #undef make_job_subclass @@ -170,3 +172,4 @@ make_job_subclass(TofuPolicyJob) #include "keyformailboxjob.moc" #include "wkspublishjob.moc" #include "tofupolicyjob.moc" +#include "quickjob.moc" diff --git a/lang/qt/src/protocol.h b/lang/qt/src/protocol.h index 6794bc2..1a52097 100644 --- a/lang/qt/src/protocol.h +++ b/lang/qt/src/protocol.h @@ -66,6 +66,7 @@ class SpecialJob; class KeyForMailboxJob; class WKSPublishJob; class TofuPolicyJob; +class QuickJob; /** The main entry point for QGpgME Comes in OpenPGP and SMIME(CMS) flavors. * @@ -157,6 +158,9 @@ public: /** A Job to set tofu policy */ virtual TofuPolicyJob *tofuPolicyJob() const = 0; + + /** A Job for the quick commands */ + virtual QuickJob *quickJob() const = 0; }; /** Obtain a reference to the OpenPGP Protocol. diff --git a/lang/qt/src/protocol_p.h b/lang/qt/src/protocol_p.h index 58a0fa6..b6d1abf 100644 --- a/lang/qt/src/protocol_p.h +++ b/lang/qt/src/protocol_p.h @@ -60,6 +60,7 @@ #include "qgpgmekeyformailboxjob.h" #include "qgpgmewkspublishjob.h" #include "qgpgmetofupolicyjob.h" +#include "qgpgmequickjob.h" namespace { @@ -414,6 +415,18 @@ public: } return new QGpgME::QGpgMETofuPolicyJob(context); } + + QGpgME::QuickJob *quickJob() const Q_DECL_OVERRIDE + { + if (mProtocol != GpgME::OpenPGP) { + return Q_NULLPTR; + } + GpgME::Context *context = GpgME::Context::createForProtocol(mProtocol); + if (!context) { + return Q_NULLPTR; + } + return new QGpgME::QGpgMEQuickJob(context); + } }; } diff --git a/lang/qt/src/qgpgmequickjob.cpp b/lang/qt/src/qgpgmequickjob.cpp new file mode 100644 index 0000000..13ec0a9 --- /dev/null +++ b/lang/qt/src/qgpgmequickjob.cpp @@ -0,0 +1,123 @@ +/* qgpgmequickjob.cpp + + Copyright (c) 2017 Intevation GmbH + + QGpgME is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + QGpgME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include "qgpgmequickjob.h" + +#include "context.h" +#include "key.h" +#include "util.h" + +using namespace QGpgME; +using namespace GpgME; + +QGpgMEQuickJob::QGpgMEQuickJob(Context *context) + : mixin_type(context) +{ + lateInitialization(); +} + +QGpgMEQuickJob::~QGpgMEQuickJob() {} + +static QGpgMEQuickJob::result_type createWorker(GpgME::Context *ctx, + const QString &uid, + const char *algo, + const QDateTime &expires, + const GpgME::Key &key, + unsigned int flags) +{ + auto err = ctx->createKey(uid.toUtf8().constData(), + algo, + 0, + expires.isValid() ? (unsigned long) expires.toSecsSinceEpoch() : 0, + key, + flags); + return std::make_tuple(err, QString(), Error()); +} + +static QGpgMEQuickJob::result_type addSubkeyWorker(GpgME::Context *ctx, + const GpgME::Key &key, + const char *algo, + const QDateTime &expires, + unsigned int flags) +{ + auto err = ctx->createSubkey(key, algo, 0, + expires.isValid() ? (unsigned long) expires.toSecsSinceEpoch() : 0, + flags); + return std::make_tuple(err, QString(), Error()); +} + +static QGpgMEQuickJob::result_type addUidWorker(GpgME::Context *ctx, + const GpgME::Key &key, + const QString &uid) +{ + auto err = ctx->addUid(key, uid.toUtf8().constData()); + return std::make_tuple(err, QString(), Error()); +} + +static QGpgMEQuickJob::result_type revUidWorker(GpgME::Context *ctx, + const GpgME::Key &key, + const QString &uid) +{ + auto err = ctx->revUid(key, uid.toUtf8().constData()); + return std::make_tuple(err, QString(), Error()); +} + +void QGpgMEQuickJob::startCreate(const QString &uid, + const char *algo, + const QDateTime &expires, + const GpgME::Key &key, + unsigned int flags) +{ + run(std::bind(&createWorker, std::placeholders::_1, uid, algo, + expires, key, flags)); +} + +void QGpgMEQuickJob::startAddUid(const GpgME::Key &key, const QString &uid) +{ + run(std::bind(&addUidWorker, std::placeholders::_1, key, uid)); +} + +void QGpgMEQuickJob::startRevUid(const GpgME::Key &key, const QString &uid) +{ + run(std::bind(&revUidWorker, std::placeholders::_1, key, uid)); +} + +void QGpgMEQuickJob::startAddSubkey(const GpgME::Key &key, const char *algo, + const QDateTime &expires, + unsigned int flags) +{ + run(std::bind(&addSubkeyWorker, std::placeholders::_1, key, algo, + expires, flags)); +} +#include "qgpgmequickjob.moc" diff --git a/lang/qt/src/qgpgmequickjob.h b/lang/qt/src/qgpgmequickjob.h new file mode 100644 index 0000000..82c7332 --- /dev/null +++ b/lang/qt/src/qgpgmequickjob.h @@ -0,0 +1,82 @@ +/* qgpgmequickjob.h + + Copyright (c) 2017 Intevation GmbH + + QGpgME is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + QGpgME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ +#ifndef QGPGME_QGPGMEQUICKJOB_H +#define QGPGME_QGPGMEQUICKJOB_H + +#include "quickjob.h" + +#include "threadedjobmixin.h" + +namespace GpgME { +class Key; +} + +class QDateTime; +class QString; + +namespace QGpgME{ + +/** + * Interface to the modern key manipulation functions. + */ +class QGpgMEQuickJob +#ifdef Q_MOC_RUN + : public QuickJob +#else + : public _detail::ThreadedJobMixin > +#endif +{ + Q_OBJECT +#ifdef Q_MOC_RUN +public Q_SLOTS: + void slotFinished(); +#endif +public: + explicit QGpgMEQuickJob(GpgME::Context *context); + ~QGpgMEQuickJob(); + + void startCreate(const QString &uid, + const char *algo, + const QDateTime &expires = QDateTime(), + const GpgME::Key &key = GpgME::Key(), + unsigned int flags = 0) Q_DECL_OVERRIDE; + void startAddUid(const GpgME::Key &key, const QString &uid) Q_DECL_OVERRIDE; + void startRevUid(const GpgME::Key &key, const QString &uid) Q_DECL_OVERRIDE; + void startAddSubkey(const GpgME::Key &key, const char *algo, + const QDateTime &expires = QDateTime(), + unsigned int flags = 0) Q_DECL_OVERRIDE; + +Q_SIGNALS: + void result(const GpgME::Error &error, + const QString &auditLogAsHtml, const GpgME::Error &auditLogError); +}; + +} +#endif diff --git a/lang/qt/src/quickjob.h b/lang/qt/src/quickjob.h new file mode 100644 index 0000000..c0a655b --- /dev/null +++ b/lang/qt/src/quickjob.h @@ -0,0 +1,83 @@ +/* quickjob.h + + Copyright (c) 2017 Intevation GmbH + + QGpgME is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + QGpgME is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ +#ifndef QGPGME_QUICKJOB_H +#define QGPGME_QUICKJOB_H + +#include "job.h" + +#include "qgpgme_export.h" + +#include + +#ifdef BUILDING_QGPGME +# include "key.h" +#else +# include +#endif + +class QString; + +namespace QGpgME{ + +/** + * Interface to the modern key manipulation functions. + */ +class QGPGME_EXPORT QuickJob : public Job +{ + Q_OBJECT +public: + explicit QuickJob(QObject *parent = Q_NULLPTR); + ~QuickJob(); + + /** Start --quick-gen-key */ + virtual void startCreate(const QString &uid, + const char *algo, + const QDateTime &expires = QDateTime(), + const GpgME::Key &key = GpgME::Key(), + unsigned int flags = 0) = 0; + + /** Start --quick-adduid */ + virtual void startAddUid(const GpgME::Key &key, const QString &uid) = 0; + + /** Start --quick-revuid */ + virtual void startRevUid(const GpgME::Key &key, const QString &uid) = 0; + + /** Start --quick-add-key */ + virtual void startAddSubkey(const GpgME::Key &key, const char *algo, + const QDateTime &expires = QDateTime(), + unsigned int flags = 0) = 0; + +Q_SIGNALS: + void result(const GpgME::Error &error, + const QString &auditLogAsHtml, const GpgME::Error &auditLogError); +}; + +} +#endif commit 8e2d6c28a5e923f829b5a26d19d9d897949aa1fe Author: Andre Heinecke Date: Fri Dec 1 13:21:34 2017 +0100 cpp: Wrap create_key and create_subkey * lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::startCreateKey) (Context::createKey, Context::createSubkey) (Context::startCreateSubkey): New. diff --git a/NEWS b/NEWS index aee3f10..83c8f5f 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,10 @@ Noteworthy changes in version 1.10.0 (unreleased) cpp: DecryptionResult::isDeVs NEW. cpp: Signature::isDeVs NEW. cpp: EngineInfo::Version::operator> NEW. + cpp: Context::createKey NEW. + cpp: Context::startCreateKey NEW. + cpp: Context::createSubkey NEW. + cpp: Context::startCreateSubkey NEW. py: DecryptResult EXTENDED: New boolean field 'is_de_vs'. py: Signature EXTENDED: New boolean field 'is_de_vs'. py: GpgError EXTENDED: Partial results in 'results'. diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp index 77962d8..135e4d5 100644 --- a/lang/cpp/src/context.cpp +++ b/lang/cpp/src/context.cpp @@ -1404,6 +1404,38 @@ Error Context::setTofuPolicyStart(const Key &k, unsigned int policy) k.impl(), to_tofu_policy_t(policy))); } +Error Context::startCreateKey (const char *userid, + const char *algo, + unsigned long reserved, + unsigned long expires, + const Key &certkey, + unsigned int flags) +{ + return Error(d->lasterr = gpgme_op_createkey_start(d->ctx, + userid, + algo, + reserved, + expires, + certkey.impl(), + flags)); +} + +Error Context::createKey (const char *userid, + const char *algo, + unsigned long reserved, + unsigned long expires, + const Key &certkey, + unsigned int flags) +{ + return Error(d->lasterr = gpgme_op_createkey(d->ctx, + userid, + algo, + reserved, + expires, + certkey.impl(), + flags)); +} + Error Context::addUid(const Key &k, const char *userid) { return Error(d->lasterr = gpgme_op_adduid(d->ctx, @@ -1428,6 +1460,24 @@ Error Context::startRevUid(const Key &k, const char *userid) k.impl(), userid, 0)); } +Error Context::createSubkey(const Key &k, const char *algo, + unsigned long reserved, + unsigned long expires, + unsigned int flags) +{ + return Error(d->lasterr = gpgme_op_createsubkey(d->ctx, + k.impl(), algo, reserved, expires, flags)); +} + +Error Context::startCreateSubkey(const Key &k, const char *algo, + unsigned long reserved, + unsigned long expires, + unsigned int flags) +{ + return Error(d->lasterr = gpgme_op_createsubkey_start(d->ctx, + k.impl(), algo, reserved, expires, flags)); +} + // Engine Spawn stuff Error Context::spawn(const char *file, const char *argv[], Data &input, Data &output, Data &err, diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h index bec4e39..4cd5b30 100644 --- a/lang/cpp/src/context.h +++ b/lang/cpp/src/context.h @@ -214,12 +214,38 @@ public: GpgME::Error edit(const Key &key, std::unique_ptr function, Data &out); GpgME::Error startEditing(const Key &key, std::unique_ptr function, Data &out); + + // + // Modern Interface actions. Require 2.1.x + // + Error startCreateKey (const char *userid, + const char *algo, + unsigned long reserved, + unsigned long expires, + const Key &certkey, + unsigned int flags); + Error createKey (const char *userid, + const char *algo, + unsigned long reserved, + unsigned long expires, + const Key &certkey, + unsigned int flags); + Error addUid(const Key &key, const char *userid); Error startAddUid(const Key &key, const char *userid); Error revUid(const Key &key, const char *userid); Error startRevUid(const Key &key, const char *userid); + Error createSubkey(const Key &key, const char *algo, + unsigned long reserved = 0, + unsigned long expires = 0, + unsigned int flags = 0); + Error startCreateSubkey(const Key &key, const char *algo, + unsigned long reserved = 0, + unsigned long expires = 0, + unsigned int flags = 0); + // using TofuInfo::Policy Error setTofuPolicy(const Key &k, unsigned int policy); Error setTofuPolicyStart(const Key &k, unsigned int policy); ----------------------------------------------------------------------- Summary of changes: NEWS | 5 + lang/cpp/src/context.cpp | 50 +++++++++ lang/cpp/src/context.h | 26 +++++ lang/qt/src/Makefile.am | 9 +- lang/qt/src/job.cpp | 3 + lang/qt/src/protocol.h | 4 + lang/qt/src/protocol_p.h | 13 +++ lang/qt/src/qgpgmequickjob.cpp | 123 +++++++++++++++++++++ ...{defaultkeygenerationjob.h => qgpgmequickjob.h} | 66 +++++------ .../src/{defaultkeygenerationjob.h => quickjob.h} | 59 +++++----- 10 files changed, 298 insertions(+), 60 deletions(-) create mode 100644 lang/qt/src/qgpgmequickjob.cpp copy lang/qt/src/{defaultkeygenerationjob.h => qgpgmequickjob.h} (55%) copy lang/qt/src/{defaultkeygenerationjob.h => quickjob.h} (56%) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 1 15:45:37 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 01 Dec 2017 15:45:37 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.4.4-5-gc39244a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via c39244aa5802d7ec44134def94a5c919752b5491 (commit) via a70eaa8a3347660cf2f66ada0fa82cf991a1d7a0 (commit) from 0b551de6ca57790c511f32755880bbeaa1cacf85 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c39244aa5802d7ec44134def94a5c919752b5491 Author: Werner Koch Date: Fri Dec 1 15:41:08 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index 9d7fdb3..022af96 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes in version 2.4.6 (unreleased) [C7/A7/R_] +------------------------------------------------ + + Noteworthy changes in version 2.4.5 (2017-12-01) [C7/A7/R5] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index ddd28b4..40c378c 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,7 @@ min_automake_version="1.14" m4_define([mym4_package],[libassuan]) m4_define([mym4_major], [2]) m4_define([mym4_minor], [4]) -m4_define([mym4_micro], [5]) +m4_define([mym4_micro], [6]) # 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 commit a70eaa8a3347660cf2f66ada0fa82cf991a1d7a0 Author: Werner Koch Date: Fri Dec 1 15:27:46 2017 +0100 Release 2.4.5 diff --git a/NEWS b/NEWS index f3c7a1d..9d7fdb3 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ -Noteworthy changes in version 2.4.5 (unreleased) [C7/A7/R_] +Noteworthy changes in version 2.4.5 (2017-12-01) [C7/A7/R5] ------------------------------------------------ + * Avoid a blocking close on Windows with nPth. [#3378] + Noteworthy changes in version 2.4.4 (2017-11-16) [C7/A7/R4] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 0c3998b..ddd28b4 100644 --- a/configure.ac +++ b/configure.ac @@ -63,7 +63,7 @@ AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org]) # LIBASSUAN_LT_CURRENT=7 LIBASSUAN_LT_AGE=7 -LIBASSUAN_LT_REVISION=4 +LIBASSUAN_LT_REVISION=5 # If the API is changed in an incompatible way: increment the next counter. LIBASSUAN_CONFIG_API_VERSION=2 ----------------------------------------------------------------------- Summary of changes: NEWS | 8 +++++++- configure.ac | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 1 15:48:56 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 01 Dec 2017 15:48:56 +0100 Subject: [git] gnupg-doc - branch, master, updated. ad887ea38569268b7d241cfa490f71cc293b618f Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via ad887ea38569268b7d241cfa490f71cc293b618f (commit) from 941e2fc964a2de91733b6b5dc2e468a78d714cc2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ad887ea38569268b7d241cfa490f71cc293b618f Author: Werner Koch Date: Fri Dec 1 15:44:27 2017 +0100 swdb: Release libassuan 2.4.5 diff --git a/web/swdb.mac b/web/swdb.mac index a505ee9..1a3730e 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -159,11 +159,11 @@ # # LIBASSUAN # -#+macro: libassuan_ver 2.4.4 -#+macro: libassuan_date 2017-11-16 +#+macro: libassuan_ver 2.4.5 +#+macro: libassuan_date 2017-12-01 #+macro: libassuan_size 550k -#+macro: libassuan_sha1 8c00238e11c6d782c80f96868d91e039105e3a8c -#+macro: libassuan_sha2 9e69a102272324de0bb56025779f84fd44901afcc6eac51505f6a63ea5737ca1 +#+macro: libassuan_sha1 2b38b7d54831ffe9d1e60987e3e1a01314ae894b +#+macro: libassuan_sha2 fbfea5d1dbcdee34f2597b0afb3d8bb4eda96c924a1e01b01c2acde68b81625f # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 1 16:20:06 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 01 Dec 2017 16:20:06 +0100 Subject: [git] gnupg-doc - branch, master, updated. 7369dcca7975c5b1b4f887991fe235139a95db36 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 7369dcca7975c5b1b4f887991fe235139a95db36 (commit) from ad887ea38569268b7d241cfa490f71cc293b618f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7369dcca7975c5b1b4f887991fe235139a95db36 Author: Werner Koch Date: Fri Dec 1 16:15:36 2017 +0100 swdb: New installer for gnupg 2.2.3 diff --git a/web/swdb.mac b/web/swdb.mac index 1a3730e..20fa9ec 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -16,11 +16,11 @@ #+macro: gnupg22_sha1 68ed37d363166b5bd79971537484148eb8f2958c #+macro: gnupg22_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 #+macro: gnupg22_branch STABLE-BRANCH-2-2 -#+macro: gnupg22_w32_ver 2.2.3_20171120 -#+macro: gnupg22_w32_date 2017-11-20 +#+macro: gnupg22_w32_ver 2.2.3_20171201 +#+macro: gnupg22_w32_date 2017-12-01 #+macro: gnupg22_w32_size 3806k -#+macro: gnupg22_w32_sha1 9914e93d5ac50b4e542b4320e1e130dc1552e24b -#+macro: gnupg22_w32_sha2 df8295774c47ff07c046c31e2f70d973ba2db8658c0f88039edda5eec5c3f247 +#+macro: gnupg22_w32_sha1 c4daea0412d3f898a27cefa0374828d13648f1cf +#+macro: gnupg22_w32_sha2 b26eeaa7424a31145b8088784e1164d3d15b11f7d4e0833aaee582dc2e1507fa # temporary keep it as "gnupg21". In the future we will use the name of @@ -31,11 +31,11 @@ #+macro: gnupg21_sha1 68ed37d363166b5bd79971537484148eb8f2958c #+macro: gnupg21_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 #+macro: gnupg21_branch STABLE-BRANCH-2-2 -#+macro: gnupg21_w32_ver 2.2.3_20171120 -#+macro: gnupg21_w32_date 2017-11-20 +#+macro: gnupg21_w32_ver 2.2.3_20171201 +#+macro: gnupg21_w32_date 2017-12-01 #+macro: gnupg21_w32_size 3806k -#+macro: gnupg21_w32_sha1 9914e93d5ac50b4e542b4320e1e130dc1552e24b -#+macro: gnupg21_w32_sha2 df8295774c47ff07c046c31e2f70d973ba2db8658c0f88039edda5eec5c3f247 +#+macro: gnupg21_w32_sha1 c4daea0412d3f898a27cefa0374828d13648f1cf +#+macro: gnupg21_w32_sha2 b26eeaa7424a31145b8088784e1164d3d15b11f7d4e0833aaee582dc2e1507fa # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Sat Dec 2 15:11:47 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Sat, 02 Dec 2017 15:11:47 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.3-21-g4967d4e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via 4967d4eeea83817739591d391087710433e4ec65 (commit) via 3f9f98dbcbf037b02e3a2f4ef54baead845835f7 (commit) from 6f7b068a4aaa7aa92c710c0d0b4e3393ad5299c4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4967d4eeea83817739591d391087710433e4ec65 Author: Andre Heinecke Date: Sat Dec 2 15:08:38 2017 +0100 Read Headers as stream * src/mapihelp.cpp (mapi_get_header): New helper. (mapi_get_message_content_type): Use it. -- This fixes accessing very large headers where MAPI might not return it as a property but instead error out with MAPI_E_NOT_ENOUGH_MEMORY. GnuPG-Bug-Id: 3542 diff --git a/src/mapihelp.cpp b/src/mapihelp.cpp index 7238ac9..952ddd6 100644 --- a/src/mapihelp.cpp +++ b/src/mapihelp.cpp @@ -34,6 +34,8 @@ #include "gpgolstr.h" #include "oomhelp.h" +#include + #ifndef CRYPT_E_STREAM_INSUFFICIENT_DATA #define CRYPT_E_STREAM_INSUFFICIENT_DATA 0x80091011 #endif @@ -445,6 +447,42 @@ mapi_set_header (LPMESSAGE msg, const char *name, const char *val) } +/* Return the headers as ASCII string. Returns empty + string on failure. */ +std::string +mapi_get_header (LPMESSAGE message) +{ + HRESULT hr; + LPSTREAM stream; + ULONG bRead; + std::string ret; + + if (!message) + return ret; + + hr = message->OpenProperty (PR_TRANSPORT_MESSAGE_HEADERS_A, &IID_IStream, 0, 0, + (LPUNKNOWN*)&stream); + if (hr) + { + log_debug ("%s:%s: OpenProperty failed: hr=%#lx", SRCNAME, __func__, hr); + return ret; + } + + char buf[8192]; + while ((hr = stream->Read (buf, 8192, &bRead)) == S_OK || + hr == S_FALSE) + { + if (!bRead) + { + // EOF + break; + } + ret += std::string (buf, bRead); + } + gpgol_release (stream); + return ret; +} + /* Return the body as a new IStream object. Returns NULL on failure. The stream returns the body as an ASCII stream (Use mapi_get_body @@ -2944,47 +2982,36 @@ char * mapi_get_message_content_type (LPMESSAGE message, char **r_protocol, char **r_smtype) { - HRESULT hr; - LPSPropValue propval = NULL; rfc822parse_t msg; const char *header_lines, *s; rfc822parse_field_t ctx; size_t length; char *retstr = NULL; - + if (r_protocol) *r_protocol = NULL; if (r_smtype) *r_smtype = NULL; - hr = HrGetOneProp ((LPMAPIPROP)message, - PR_TRANSPORT_MESSAGE_HEADERS_A, &propval); - if (FAILED (hr)) - { - log_error ("%s:%s: error getting the headers lines: hr=%#lx", - SRCNAME, __func__, hr); - return NULL; - } - if (PROP_TYPE (propval->ulPropTag) != PT_STRING8) + /* Read the headers into an rfc822 object. */ + msg = rfc822parse_open (get_message_content_type_cb, NULL); + if (!msg) { - /* As per rfc822, header lines must be plain ascii, so no need - to cope with unicode etc. */ - log_error ("%s:%s: proptag=%#lx not supported\n", - SRCNAME, __func__, propval->ulPropTag); - MAPIFreeBuffer (propval); + log_error ("%s:%s: rfc822parse_open failed", + SRCNAME, __func__); return NULL; } - header_lines = propval->Value.lpszA; - /* Read the headers into an rfc822 object. */ - msg = rfc822parse_open (get_message_content_type_cb, NULL); - if (!msg) + const std::string hdrStr = mapi_get_header (message); + if (hdrStr.empty()) { - log_error ("%s:%s: rfc822parse_open failed\n", SRCNAME, __func__); - MAPIFreeBuffer (propval); + + log_error ("%s:%s: failed to get headers", + SRCNAME, __func__); return NULL; } - + + header_lines = hdrStr.c_str(); while ((s = strchr (header_lines, '\n'))) { length = (s - header_lines); @@ -2993,7 +3020,7 @@ mapi_get_message_content_type (LPMESSAGE message, rfc822parse_insert (msg, (const unsigned char*)header_lines, length); header_lines = s+1; } - + /* Parse the content-type field. */ ctx = rfc822parse_parse_field (msg, "Content-Type", -1); if (ctx) @@ -3022,7 +3049,6 @@ mapi_get_message_content_type (LPMESSAGE message, } rfc822parse_close (msg); - MAPIFreeBuffer (propval); return retstr; } commit 3f9f98dbcbf037b02e3a2f4ef54baead845835f7 Author: Andre Heinecke Date: Sat Dec 2 15:04:35 2017 +0100 Improve performance of beforeRead handling * src/mapihelp.cpp (string_to_type): New Helper. (mapi_get_message_type, mapi_change_message_class): Use it. (mapi_change_message_class): Take optional type retval. * src/inspectors.cpp, src/session-events.cpp, src/user-events.cpp, src/message.cpp: Udpate calls. -- Looking at an improvement for T3542 i measured the time spent in beforeRead for "non crypto" mails. With this change, which fixes a TODO the time is halved because way fewer MAPI calls are required. diff --git a/src/inspectors.cpp b/src/inspectors.cpp index 1536e94..da6765c 100644 --- a/src/inspectors.cpp +++ b/src/inspectors.cpp @@ -1091,7 +1091,7 @@ proc_inspector_button_click (LPDISPATCH button, const char *tag, int instid) if (message) { /* We sync here. */ - mapi_change_message_class (message, 1); + mapi_change_message_class (message, 1, NULL); gpgol_release (message); } } diff --git a/src/mail.cpp b/src/mail.cpp index 7621494..78acd9c 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -259,10 +259,13 @@ Mail::pre_process_message () to the same value again that it already has) causes Outlook to reconsider what it "knows" about a message and reread data from the underlying base message. */ - mapi_change_message_class (message, 1); - /* TODO: Unify this so mapi_change_message_class returns - a useful value already. */ - m_type = mapi_get_message_type (message); + mapi_change_message_class (message, 1, &m_type); + + if (m_type == MSGTYPE_UNKNOWN) + { + gpgol_release (message); + return 0; + } /* Create moss attachments here so that they are properly hidden when the item is read into the model. */ diff --git a/src/mapihelp.cpp b/src/mapihelp.cpp index f2c00f7..7238ac9 100644 --- a/src/mapihelp.cpp +++ b/src/mapihelp.cpp @@ -1221,6 +1221,39 @@ change_message_class_ipm_note_secure_cex (LPMESSAGE message, int is_cexenc) return newvalue; } +static msgtype_t +string_to_type (const char *s) +{ + if (!s || strlen (s) < 14) + { + return MSGTYPE_UNKNOWN; + } + if (!strncmp (s, "IPM.Note.GpgOL", 14) && (!s[14] || s[14] =='.')) + { + s += 14; + if (!*s) + return MSGTYPE_GPGOL; + else if (!strcmp (s, ".MultipartSigned")) + return MSGTYPE_GPGOL_MULTIPART_SIGNED; + else if (!strcmp (s, ".MultipartEncrypted")) + return MSGTYPE_GPGOL_MULTIPART_ENCRYPTED; + else if (!strcmp (s, ".OpaqueSigned")) + return MSGTYPE_GPGOL_OPAQUE_SIGNED; + else if (!strcmp (s, ".OpaqueEncrypted")) + return MSGTYPE_GPGOL_OPAQUE_ENCRYPTED; + else if (!strcmp (s, ".ClearSigned")) + return MSGTYPE_GPGOL_CLEAR_SIGNED; + else if (!strcmp (s, ".PGPMessage")) + return MSGTYPE_GPGOL_PGP_MESSAGE; + else + log_debug ("%s:%s: message class `%s' not supported", + SRCNAME, __func__, s-14); + } + else if (!strncmp (s, "IPM.Note.SMIME", 14) && (!s[14] || s[14] =='.')) + return MSGTYPE_SMIME; + return MSGTYPE_UNKNOWN; +} + /* This function checks whether MESSAGE requires processing by us and adjusts the message class to our own. By passing true for @@ -1228,7 +1261,8 @@ change_message_class_ipm_note_secure_cex (LPMESSAGE message, int is_cexenc) own message class overide. Return true if the message was changed. */ int -mapi_change_message_class (LPMESSAGE message, int sync_override) +mapi_change_message_class (LPMESSAGE message, int sync_override, + msgtype_t *r_type) { HRESULT hr; ULONG tag; @@ -1318,6 +1352,10 @@ mapi_change_message_class (LPMESSAGE message, int sync_override) newvalue = change_message_class_ipm_note_secure_cex (message, cexenc); } + else if (r_type) + { + *r_type = string_to_type (s); + } } if (!newvalue) @@ -1332,6 +1370,10 @@ mapi_change_message_class (LPMESSAGE message, int sync_override) } else { + if (r_type && newvalue) + { + *r_type = string_to_type (newvalue); + } /* Save old message class if not yet done. (The second condition is just a failsafe check). */ if (!get_gpgololdmsgclass_tag (message, &tag) @@ -1377,6 +1419,7 @@ mapi_change_message_class (LPMESSAGE message, int sync_override) } need_save = 1; } + MAPIFreeBuffer (propval); if (need_save) @@ -1757,34 +1800,10 @@ mapi_get_message_type (LPMESSAGE message) } else log_debug ("%s:%s: have override message class\n", SRCNAME, __func__); - + if ( PROP_TYPE (propval->ulPropTag) == PT_STRING8 ) { - const char *s = propval->Value.lpszA; - - if (!strncmp (s, "IPM.Note.GpgOL", 14) && (!s[14] || s[14] =='.')) - { - s += 14; - if (!*s) - msgtype = MSGTYPE_GPGOL; - else if (!strcmp (s, ".MultipartSigned")) - msgtype = MSGTYPE_GPGOL_MULTIPART_SIGNED; - else if (!strcmp (s, ".MultipartEncrypted")) - msgtype = MSGTYPE_GPGOL_MULTIPART_ENCRYPTED; - else if (!strcmp (s, ".OpaqueSigned")) - msgtype = MSGTYPE_GPGOL_OPAQUE_SIGNED; - else if (!strcmp (s, ".OpaqueEncrypted")) - msgtype = MSGTYPE_GPGOL_OPAQUE_ENCRYPTED; - else if (!strcmp (s, ".ClearSigned")) - msgtype = MSGTYPE_GPGOL_CLEAR_SIGNED; - else if (!strcmp (s, ".PGPMessage")) - msgtype = MSGTYPE_GPGOL_PGP_MESSAGE; - else - log_debug ("%s:%s: message class `%s' not supported", - SRCNAME, __func__, s-14); - } - else if (!strncmp (s, "IPM.Note.SMIME", 14) && (!s[14] || s[14] =='.')) - msgtype = MSGTYPE_SMIME; + msgtype = string_to_type (propval->Value.lpszA); } MAPIFreeBuffer (propval); return msgtype; diff --git a/src/mapihelp.h b/src/mapihelp.h index 93cd63c..0355618 100644 --- a/src/mapihelp.h +++ b/src/mapihelp.h @@ -60,7 +60,8 @@ int mapi_do_save_changes (LPMESSAGE message, ULONG flags, int only_del_body, int mapi_set_header (LPMESSAGE msg, const char *name, const char *val); -int mapi_change_message_class (LPMESSAGE message, int sync_override); +int mapi_change_message_class (LPMESSAGE message, int sync_override, + msgtype_t *r_type); char *mapi_get_message_class (LPMESSAGE message); char *mapi_get_old_message_class (LPMESSAGE message); char *mapi_get_sender (LPMESSAGE message); diff --git a/src/message.cpp b/src/message.cpp index e794a44..08a38de 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -82,7 +82,7 @@ message_incoming_handler (LPMESSAGE message, HWND hwnd, bool force) { log_debug ("%s:%s: message class not yet checked - doing now\n", SRCNAME, __func__); - if (mapi_change_message_class (message, 0)) + if (mapi_change_message_class (message, 0, NULL)) goto retry; } break; @@ -91,7 +91,7 @@ message_incoming_handler (LPMESSAGE message, HWND hwnd, bool force) { log_debug ("%s:%s: message class not checked with smime enabled " "- doing now\n", SRCNAME, __func__); - if (mapi_change_message_class (message, 0)) + if (mapi_change_message_class (message, 0, NULL)) goto retry; } break; diff --git a/src/session-events.cpp b/src/session-events.cpp index ab24b40..c760adf 100644 --- a/src/session-events.cpp +++ b/src/session-events.cpp @@ -101,7 +101,7 @@ GpgolSessionEvents::OnDelivery (LPEXCHEXTCALLBACK pEECB) the message class IPM.Note.SMIME.MultipartSigned. If we would not change the message class here, OL will change it later (before an OnRead) to IPM.Note. */ - mapi_change_message_class (pMessage, 0); + mapi_change_message_class (pMessage, 0, NULL); log_mapi_property (pMessage, PR_MESSAGE_CLASS,"PR_MESSAGE_CLASS"); ul_release (pMessage, __func__, __LINE__); ul_release (pMDB, __func__, __LINE__); diff --git a/src/user-events.cpp b/src/user-events.cpp index 8b122f1..d89f11d 100644 --- a/src/user-events.cpp +++ b/src/user-events.cpp @@ -161,7 +161,7 @@ GpgolUserEvents::OnSelectionChange (LPEXCHEXTCALLBACK eecb) SRCNAME, __func__); /* We sync the message class here to get rid of IPM.Note.SMIME etc. */ - mapi_change_message_class (message, 1); + mapi_change_message_class (message, 1, NULL); } } else ----------------------------------------------------------------------- Summary of changes: src/inspectors.cpp | 2 +- src/mail.cpp | 11 ++-- src/mapihelp.cpp | 151 ++++++++++++++++++++++++++++++++----------------- src/mapihelp.h | 3 +- src/message.cpp | 4 +- src/session-events.cpp | 2 +- src/user-events.cpp | 2 +- 7 files changed, 112 insertions(+), 63 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Sat Dec 2 15:13:33 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Sat, 02 Dec 2017 15:13:33 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.3-22-g6b78659 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via 6b7865933685ee9d7ded4d6a0a4d0539b7e6c948 (commit) from 4967d4eeea83817739591d391087710433e4ec65 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6b7865933685ee9d7ded4d6a0a4d0539b7e6c948 Author: Andre Heinecke Date: Sat Dec 2 15:13:05 2017 +0100 Fix german localisation error -- diff --git a/po/de.po b/po/de.po index 7326ddc..4ff1451 100644 --- a/po/de.po +++ b/po/de.po @@ -511,7 +511,7 @@ msgstr "Der Absender ist berechtigt f?r Sie Identit?ten zu beglaubigen." #: src/mail.cpp:1835 msgid "The senders identity was certified by several trusted people." msgstr "" -"The Identit?t des Absenders wurde von mehreren vertrauensw?rdigen Personen " +"Die Identit?t des Absenders wurde von mehreren vertrauensw?rdigen Personen " "beglaubigt." #: src/mail.cpp:1840 ----------------------------------------------------------------------- Summary of changes: po/de.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 3 17:46:41 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Sun, 03 Dec 2017 17:46:41 +0100 Subject: [git] Pinentry - branch, master, updated. pinentry-1.0.0-39-g430a696 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The standard pinentry collection". The branch, master has been updated via 430a6963d58069c0faa5a6836961d889b0b45930 (commit) from 985e5cad6f60de8e60d8ae410cffcd7e2d84f3a2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 430a6963d58069c0faa5a6836961d889b0b45930 Author: Werner Koch Date: Sun Dec 3 17:41:55 2017 +0100 tqt: Add SPDX lines and clarify license in AUTHOR. -- diff --git a/AUTHORS b/AUTHORS index 317b17e..2482e1f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,9 +1,10 @@ Program: Pinentry -Download: ftp://ftp.gnupg.org/gcrypt/pinentry/ +Homepage: https://gnupg.org/software/pinentry/ +Download: https://gnupg.org/ftp/gcrypt/pinentry/ Repository: git://git.gnupg.org/pinentry.git -Bug reports: https://bugs.gnupg.org (category: pinentry) +Bug reports: https://bugs.gnupg.org Security related bug reports: -License: GPLv2+ +License: GPLv2 Pinentry is free software. See the files COPYING for copying conditions. License copyright years may be listed using range notation, e.g., @@ -36,3 +37,12 @@ Marcus Brinkmann, g10 Code GmbH Timo Schulz, g10 Code GmbH Neal Walfied, g10 Code GmbH Daniel Kahn Gillmor + + +License +======== + +The optional TQt pinentry (found in the directory tqt/) is distributed +under the GNU General Public License, version 2 (GPLv2only). All +other parts of Pinentry are distributed under the GNU General Public +License, version 2 or later (GPLv2+). See the file COPYING for details. diff --git a/tqt/Makefile.am b/tqt/Makefile.am index 9171b0f..ec82522 100644 --- a/tqt/Makefile.am +++ b/tqt/Makefile.am @@ -15,8 +15,8 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA +# along with this program; if not, see . +# SPDX-License-Identifier: GPL-2.0+ ## Process this file with automake to produce Makefile.in diff --git a/tqt/main.cpp b/tqt/main.cpp index 3f7efb4..af12b9b 100644 --- a/tqt/main.cpp +++ b/tqt/main.cpp @@ -1,23 +1,23 @@ /* main.cpp - Secure KDE dialog for PIN entry. - Copyright (C) 2002 Klar??lvdalens Datakonsult AB - Copyright (C) 2003 g10 Code GmbH - Written by Steffen Hansen . - Modified by Marcus Brinkmann . - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 2002 Klar??lvdalens Datakonsult AB + * Copyright (C) 2003 g10 Code GmbH + * Written by Steffen Hansen . + * Modified by Marcus Brinkmann . + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/tqt/pinentrydialog.cpp b/tqt/pinentrydialog.cpp index 2eae54d..069eeaf 100644 --- a/tqt/pinentrydialog.cpp +++ b/tqt/pinentrydialog.cpp @@ -1,23 +1,22 @@ /* pinentrydialog.cpp - A secure KDE dialog for PIN entry. - Copyright (C) 2002 Klar??lvdalens Datakonsult AB - Copyright (C) 2007 g10 Code GmbH - Written by Steffen Hansen . - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ - + * Copyright (C) 2002 Klar??lvdalens Datakonsult AB + * Copyright (C) 2007 g10 Code GmbH + * Written by Steffen Hansen . + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ #include #include diff --git a/tqt/pinentrydialog.h b/tqt/pinentrydialog.h index 4d69a28..8e901db 100644 --- a/tqt/pinentrydialog.h +++ b/tqt/pinentrydialog.h @@ -1,21 +1,21 @@ /* pinentrydialog.h - A secure KDE dialog for PIN entry. - Copyright (C) 2002 Klar?lvdalens Datakonsult AB - Written by Steffen Hansen . - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 2002 Klar?lvdalens Datakonsult AB + * Written by Steffen Hansen . + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ #ifndef __PINENTRYDIALOG_H__ #define __PINENTRYDIALOG_H__ diff --git a/tqt/secqinternal.cpp b/tqt/secqinternal.cpp index a1113a8..7accf70 100644 --- a/tqt/secqinternal.cpp +++ b/tqt/secqinternal.cpp @@ -15,7 +15,7 @@ ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the +** Foundation and appearing in the file COPYING included in the ** packaging of this file. ** ** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition @@ -33,6 +33,8 @@ ** Contact info at trolltech.com if any conditions of this licensing are ** not clear to you. ** +** SPDX-License-Identifier: GPL-2.0 OR QPL-1.0 +** **********************************************************************/ #include "secqinternal_p.h" diff --git a/tqt/secqinternal_p.h b/tqt/secqinternal_p.h index 35d2b0d..a05c9c3 100644 --- a/tqt/secqinternal_p.h +++ b/tqt/secqinternal_p.h @@ -33,6 +33,8 @@ ** Contact info at trolltech.com if any conditions of this licensing are ** not clear to you. ** +** SPDX-License-Identifier: GPL-2.0 OR QPL-1.0 +** **********************************************************************/ #ifndef SECTQINTERNAL_P_H diff --git a/tqt/secqlineedit.cpp b/tqt/secqlineedit.cpp index ecf6010..ee95c8d 100644 --- a/tqt/secqlineedit.cpp +++ b/tqt/secqlineedit.cpp @@ -1,27 +1,27 @@ /* secqlineedit.cpp - Secure version of TQLineEdit. - Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - Copyright (C) 2003 g10 Code GmbH - - The license of the original qlineedit.cpp file from which this file - is derived can be found below. Modified by Marcus Brinkmann - . All modifications are licensed as follows, so - that the intersection of the two licenses is then the GNU General - Public License version 2. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. + * Copyright (C) 2003 g10 Code GmbH + * + * The license of the original qlineedit.cpp file from which this file + * is derived can be found below. Modified by Marcus Brinkmann + * . All modifications are licensed as follows, so + * that the intersection of the two licenses is then the GNU General + * Public License version 2. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0 + */ /* Undo/Redo is disabled, because it uses unsecure memory for the diff --git a/tqt/secqlineedit.h b/tqt/secqlineedit.h index 9b396ed..bd28cec 100644 --- a/tqt/secqlineedit.h +++ b/tqt/secqlineedit.h @@ -1,27 +1,27 @@ /* secntqlineedit.h - Secure version of TQLineEdit. - Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - Copyright (C) 2003 g10 Code GmbH - - The license of the original ntqlineedit.h file from which this file - is derived can be found below. Modified by Marcus Brinkmann - . All modifications are licensed as follows, so - that the intersection of the two licenses is then the GNU General - Public License version 2. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. + * Copyright (C) 2003 g10 Code GmbH + * + * The license of the original ntqlineedit.h file from which this file + * is derived can be found below. Modified by Marcus Brinkmann + * . All modifications are licensed as follows, so + * that the intersection of the two licenses is then the GNU General + * Public License version 2. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0 + */ #include "secqstring.h" diff --git a/tqt/secqstring.cpp b/tqt/secqstring.cpp index 4070169..82dd918 100644 --- a/tqt/secqstring.cpp +++ b/tqt/secqstring.cpp @@ -1,27 +1,27 @@ /* secqstring.cpp - Secure version of TQString. - Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - Copyright (C) 2003 g10 Code GmbH - - The license of the original qstring.cpp file from which this file - is derived can be found below. Modified by Marcus Brinkmann - . All modifications are licensed as follows, so - that the intersection of the two licenses is then the GNU General - Public License version 2. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. + * Copyright (C) 2003 g10 Code GmbH + * + * The license of the original qstring.cpp file from which this file + * is derived can be found below. Modified by Marcus Brinkmann + * . All modifications are licensed as follows, so + * that the intersection of the two licenses is then the GNU General + * Public License version 2. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0 + */ /**************************************************************************** ** $Id$ diff --git a/tqt/secqstring.h b/tqt/secqstring.h index fa309df..e8fa554 100644 --- a/tqt/secqstring.h +++ b/tqt/secqstring.h @@ -1,27 +1,27 @@ /* secntqstring.h - Secure version of TQString. - Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - Copyright (C) 2003 g10 Code GmbH - - The license of the original ntqstring.h file from which this file is - derived can be found below. Modified by Marcus Brinkmann - . All modifications are licensed as follows, so - that the intersection of the two licenses is then the GNU General - Public License version 2. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA */ + * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. + * Copyright (C) 2003 g10 Code GmbH + * + * The license of the original ntqstring.h file from which this file is + * derived can be found below. Modified by Marcus Brinkmann + * . All modifications are licensed as follows, so + * that the intersection of the two licenses is then the GNU General + * Public License version 2. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0 + */ /**************************************************************************** ** $Id$ ----------------------------------------------------------------------- Summary of changes: AUTHORS | 16 +++++++++++++--- tqt/Makefile.am | 4 ++-- tqt/main.cpp | 38 +++++++++++++++++++------------------- tqt/pinentrydialog.cpp | 37 ++++++++++++++++++------------------- tqt/pinentrydialog.h | 34 +++++++++++++++++----------------- tqt/secqinternal.cpp | 4 +++- tqt/secqinternal_p.h | 2 ++ tqt/secqlineedit.cpp | 46 +++++++++++++++++++++++----------------------- tqt/secqlineedit.h | 46 +++++++++++++++++++++++----------------------- tqt/secqstring.cpp | 46 +++++++++++++++++++++++----------------------- tqt/secqstring.h | 46 +++++++++++++++++++++++----------------------- 11 files changed, 166 insertions(+), 153 deletions(-) hooks/post-receive -- The standard pinentry collection http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 3 19:01:03 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Sun, 03 Dec 2017 19:01:03 +0100 Subject: [git] Pinentry - branch, master, updated. pinentry-1.0.0-41-g0499975 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The standard pinentry collection". The branch, master has been updated via 0499975e76752601cbab4eb06ebf3303ddaad30c (commit) via 02df3d26b986c8f2850eeba47efcb3aca9d5dbcb (commit) from 430a6963d58069c0faa5a6836961d889b0b45930 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0499975e76752601cbab4eb06ebf3303ddaad30c Author: Werner Koch Date: Sun Dec 3 18:56:30 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index 116c86a..3e32d49 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +Noteworthy changes in version 1.1.1 (unreleased) +------------------------------------------------ + Noteworthy changes in version 1.1.0 (2017-12-03) ------------------------------------------------ diff --git a/configure.ac b/configure.ac index c1b66d6..ff6c2e0 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ min_automake_version="1.14" # (git tag -s pinentry-n.m.k) and run "./autogen.sh --force". Please # bump the version number immediately after the release, do another # commit, and a push so that the git magic is able to work. -m4_define(mym4_version, [1.1.0]) +m4_define(mym4_version, [1.1.1]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a commit 02df3d26b986c8f2850eeba47efcb3aca9d5dbcb Author: Werner Koch Date: Sun Dec 3 17:51:29 2017 +0100 Release 1.1.0 diff --git a/NEWS b/NEWS index b1976c3..116c86a 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -Noteworthy changes in version 1.0.1 (unreleased) +Noteworthy changes in version 1.1.0 (2017-12-03) ------------------------------------------------ * A FLTK1.3-based pinentry has been contributed. @@ -10,6 +10,14 @@ Noteworthy changes in version 1.0.1 (unreleased) * Don't show "save passphrase" checkbox if secret service is unavailable. + * The GTK Pinentry shows on Linux some information anout the process + which invoked the Pinentry. + + * The GTK Pinentry does not anymore show tooltips when keyboard + grabbing is enabled. + + * Fixed various minor problems. + Noteworthy changes in version 1.0.0 (2016-11-22) ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 86cf98b..c1b66d6 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ min_automake_version="1.14" # (git tag -s pinentry-n.m.k) and run "./autogen.sh --force". Please # bump the version number immediately after the release, do another # commit, and a push so that the git magic is able to work. -m4_define(mym4_version, [1.0.1]) +m4_define(mym4_version, [1.1.0]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a ----------------------------------------------------------------------- Summary of changes: NEWS | 13 ++++++++++++- configure.ac | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) hooks/post-receive -- The standard pinentry collection http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 3 19:04:59 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Sun, 03 Dec 2017 19:04:59 +0100 Subject: [git] gnupg-doc - branch, master, updated. 07562f9a10d5d69a2e5c988a8904995bb41bd2bf Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 07562f9a10d5d69a2e5c988a8904995bb41bd2bf (commit) from 7369dcca7975c5b1b4f887991fe235139a95db36 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 07562f9a10d5d69a2e5c988a8904995bb41bd2bf Author: Werner Koch Date: Sun Dec 3 19:00:30 2017 +0100 swdb: Release Pinentry 1.1.0 diff --git a/web/swdb.mac b/web/swdb.mac index 20fa9ec..463787e 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -100,11 +100,11 @@ # # PINENTRY # -#+macro: pinentry_ver 1.0.0 -#+macro: pinentry_date 2016-11-22 -#+macro: pinentry_size 427k -#+macro: pinentry_sha1 85d9ac81ebad3fb082514c505c90c39a0456f1f6 -#+macro: pinentry_sha2 1672c2edc1feb036075b187c0773787b2afd0544f55025c645a71b4c2f79275a +#+macro: pinentry_ver 1.1.0 +#+macro: pinentry_date 2017-12-03 +#+macro: pinentry_size 456k +#+macro: pinentry_sha1 693bdf9f48dfb3e040d92f50b1bb464e268b9fb0 +#+macro: pinentry_sha2 68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 3 19:32:40 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Sun, 03 Dec 2017 19:32:40 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-86-g2205ee2 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 2205ee2cd92233506ab5a54111160cd8d62ae411 (commit) from 7d1ac5d61de3c55bf7ff14997b4b111a0f90c177 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2205ee2cd92233506ab5a54111160cd8d62ae411 Author: Werner Koch Date: Sun Dec 3 19:28:11 2017 +0100 Register DCO for Tobias Mueller -- diff --git a/AUTHORS b/AUTHORS index 90f6906..cdc93a8 100644 --- a/AUTHORS +++ b/AUTHORS @@ -56,6 +56,8 @@ Daniel Kahn Gillmor Colin Watson 2017-09-16:20170916031428.uypfrdojquvjteor at riva.ucam.org: +Tobias Mueller +2016-11-23:1479937342.11180.3.camel at cryptobitch.de: Copyright 2001, 2002, 2012, 2013 g10 Code GmbH ----------------------------------------------------------------------- Summary of changes: AUTHORS | 2 ++ 1 file changed, 2 insertions(+) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 4 08:16:30 2017 From: cvs at cvs.gnupg.org (by Tobias Mueller) Date: Mon, 04 Dec 2017 08:16:30 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-87-g3cf9aed Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 3cf9aedc92b6c65d2cb34037e52b9a299637d03b (commit) from 2205ee2cd92233506ab5a54111160cd8d62ae411 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3cf9aedc92b6c65d2cb34037e52b9a299637d03b Author: Tobias Mueller Date: Tue Aug 22 17:48:25 2017 +0200 python: Default whence argument for Data() to SEEK_SET. * lang/python/gpgme.i: copied signature from gpgme.h and defaulted the value to SEEK_SET. * lang/python/tests/t-data.py: Added a test for no second argument -- Having to import the os package when wanting to read a Data object is a slight annoyance. With SWIG, we can define default parameters. This change defaults the whence argument to SEEK_SET which is how StringIO and BytesIO behave. Signed-off-by: Tobias Mueller diff --git a/lang/python/gpgme.i b/lang/python/gpgme.i index 610b3d9..492326b 100644 --- a/lang/python/gpgme.i +++ b/lang/python/gpgme.i @@ -557,6 +557,11 @@ gpgme_error_t gpgme_op_keylist_start (gpgme_ctx_t ctx, const char *pattern="", int secret_only=0); +/* The whence argument is surprising in Python-land, + because BytesIO or StringIO objects do not require it. + It defaults to SEEK_SET. Let's do that for Data objects, too */ +off_t gpgme_data_seek (gpgme_data_t dh, off_t offset, int whence=SEEK_SET); + /* Include the unmodified for cc, and the cleaned-up local version for SWIG. We do, however, want to hide certain fields on some structs, which we provide prior to including the version for diff --git a/lang/python/tests/t-data.py b/lang/python/tests/t-data.py index 3301319..5cf074c 100755 --- a/lang/python/tests/t-data.py +++ b/lang/python/tests/t-data.py @@ -51,6 +51,12 @@ data.write(b'Hello world!') data.seek(0, os.SEEK_SET) assert data.read() == b'Hello world!' +data = gpg.Data() +data.write(b'Hello world!') +# We expect the second argument to default to SEEK_SET +data.seek(0) +assert data.read() == b'Hello world!' + binjunk = bytes(range(256)) data = gpg.Data() data.write(binjunk) ----------------------------------------------------------------------- Summary of changes: lang/python/gpgme.i | 5 +++++ lang/python/tests/t-data.py | 6 ++++++ 2 files changed, 11 insertions(+) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 4 11:41:54 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 04 Dec 2017 11:41:54 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-0, updated. gnupg-2.0.30-31-g9ba0e2c Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-0 has been updated via 9ba0e2c76c0c040e69e50ed9d89eadb3269052f9 (commit) from 67cd81ed90ad88cbe607b7f7d1a0b1e08b8ac1f1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9ba0e2c76c0c040e69e50ed9d89eadb3269052f9 Author: NIIBE Yutaka Date: Thu Nov 9 14:03:22 2017 +0900 g10: Fix regexp sanitization. * g10/trustdb.c (sanitize_regexp): Only escape operators. -- Backport from master commit: ccf3ba92087e79abdeaa0208795829b431c6f201 To sanitize a regular expression, quoting by backslash should be only done for defined characters. POSIX defines 12 characters including dot and backslash. Quoting other characters is wrong, in two ways; It may build an operator like: \b, \s, \w when using GNU library. Case ignored match doesn't work, because quoting lower letter means literally and no much to upper letter. GnuPG-bug-id: 2923 Co-authored-by: Damien Goutte-Gattat Signed-off-by: NIIBE Yutaka diff --git a/g10/trustdb.c b/g10/trustdb.c index c9c8891..bc90161 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1823,6 +1823,10 @@ clean_key(KBNODE keyblock,int noisy,int self_only, /* Returns a sanitized copy of the regexp (which might be "", but not NULL). */ #ifndef DISABLE_REGEX +/* Operator charactors except '.' and backslash. + See regex(7) on BSD. */ +#define REGEXP_OPERATOR_CHARS "^[$()|*+?{" + static char * sanitize_regexp(const char *old) { @@ -1862,7 +1866,7 @@ sanitize_regexp(const char *old) { if(!escaped && old[start]=='\\') escaped=1; - else if(!escaped && old[start]!='.') + else if (!escaped && strchr (REGEXP_OPERATOR_CHARS, old[start])) new[idx++]='\\'; else escaped=0; ----------------------------------------------------------------------- Summary of changes: g10/trustdb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 4 11:42:07 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 04 Dec 2017 11:42:07 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-1-4, updated. gnupg-1.4.22-11-g9441946 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-1-4 has been updated via 9441946e1824eb58249c58432ed1f554d0d8a102 (commit) from 2cdc37834261142504de5ea9f8aff51428b423f3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9441946e1824eb58249c58432ed1f554d0d8a102 Author: NIIBE Yutaka Date: Thu Nov 9 14:03:22 2017 +0900 g10: Fix regexp sanitization. * g10/trustdb.c (sanitize_regexp): Only escape operators. -- Backport from master commit: ccf3ba92087e79abdeaa0208795829b431c6f201 To sanitize a regular expression, quoting by backslash should be only done for defined characters. POSIX defines 12 characters including dot and backslash. Quoting other characters is wrong, in two ways; It may build an operator like: \b, \s, \w when using GNU library. Case ignored match doesn't work, because quoting lower letter means literally and no much to upper letter. GnuPG-bug-id: 2923 Co-authored-by: Damien Goutte-Gattat Signed-off-by: NIIBE Yutaka diff --git a/g10/trustdb.c b/g10/trustdb.c index 1e3ef5f..13fa321 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1817,6 +1817,11 @@ clean_key(KBNODE keyblock,int noisy,int self_only, /* Returns a sanitized copy of the regexp (which might be "", but not NULL). */ +#ifndef DISABLE_REGEX +/* Operator charactors except '.' and backslash. + See regex(7) on BSD. */ +#define REGEXP_OPERATOR_CHARS "^[$()|*+?{" + static char * sanitize_regexp(const char *old) { @@ -1856,7 +1861,7 @@ sanitize_regexp(const char *old) { if(!escaped && old[start]=='\\') escaped=1; - else if(!escaped && old[start]!='.') + else if (!escaped && strchr (REGEXP_OPERATOR_CHARS, old[start])) new[idx++]='\\'; else escaped=0; @@ -1877,6 +1882,7 @@ sanitize_regexp(const char *old) return new; } +#endif /*!DISABLE_REGEX*/ /* Used by validate_one_keyblock to confirm a regexp within a trust signature. Returns 1 for match, and 0 for no match or regex ----------------------------------------------------------------------- Summary of changes: g10/trustdb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 4 11:42:18 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 04 Dec 2017 11:42:18 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-8-g0d0b9eb Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 0d0b9eb0d4f99e8d293a4ce4b90921a879905115 (commit) from 8a2917345ba88159bce6153b54706e701564f189 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0d0b9eb0d4f99e8d293a4ce4b90921a879905115 Author: NIIBE Yutaka Date: Thu Nov 9 14:03:22 2017 +0900 g10: Fix regexp sanitization. * g10/trustdb.c (sanitize_regexp): Only escape operators. -- Backport from master commit: ccf3ba92087e79abdeaa0208795829b431c6f201 To sanitize a regular expression, quoting by backslash should be only done for defined characters. POSIX defines 12 characters including dot and backslash. Quoting other characters is wrong, in two ways; It may build an operator like: \b, \s, \w when using GNU library. Case ignored match doesn't work, because quoting lower letter means literally and no much to upper letter. GnuPG-bug-id: 2923 Co-authored-by: Damien Goutte-Gattat Signed-off-by: NIIBE Yutaka diff --git a/g10/trustdb.c b/g10/trustdb.c index 92c1ca5..0a98c12 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -1505,6 +1505,10 @@ store_validation_status (ctrl_t ctrl, int depth, /* Returns a sanitized copy of the regexp (which might be "", but not NULL). */ #ifndef DISABLE_REGEX +/* Operator charactors except '.' and backslash. + See regex(7) on BSD. */ +#define REGEXP_OPERATOR_CHARS "^[$()|*+?{" + static char * sanitize_regexp(const char *old) { @@ -1544,7 +1548,7 @@ sanitize_regexp(const char *old) { if(!escaped && old[start]=='\\') escaped=1; - else if(!escaped && old[start]!='.') + else if (!escaped && strchr (REGEXP_OPERATOR_CHARS, old[start])) new[idx++]='\\'; else escaped=0; ----------------------------------------------------------------------- Summary of changes: g10/trustdb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 4 12:13:23 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 04 Dec 2017 12:13:23 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-88-g0c1244a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 0c1244a2b7e30ab0610ae70166e1b5d0219782c3 (commit) from 3cf9aedc92b6c65d2cb34037e52b9a299637d03b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0c1244a2b7e30ab0610ae70166e1b5d0219782c3 Author: Werner Koch Date: Mon Dec 4 12:08:31 2017 +0100 core: Also check for a failed selftest in gpgm_data_new. * src/data.c (_gpgme_data_new): Check for failed selftest. * tests/run-support.h (make_filename): Print a message on mallooc failure. (init_gpgme_basic): New. * tests/run-identify.c (main): Call init_gpgme_basic becuase we do not need to setup a protocol. * tests/t-data.c: Define PGM and include run-support.h. (make_filename): Remove. (main): Call init_gpgme_basic. -- Note: This patch may break applications which used gpgme_data but no gpgme_new without having called the required gpgme_check_version. GPGME can be used without a protocol for example to work with the data object abstraction. Thus a call to gpgme_data_new also needs to check the result of the core selftests - including on whether gpgme_check_version has been called. Signed-off-by: Werner Koch diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 8dcc86e..3b461ba 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -683,9 +683,10 @@ uses, this function provides a run-time check if the necessary features are provided by the installed version of the library. If a selftest fails, the function may still succeed. Selftest errors -are returned later when invoking @code{gpgme_new}, so that a detailed -error code can be returned (historically, @code{gpgme_check_version} -does not return a detailed error code). +are returned later when invoking @code{gpgme_new} or + at code{gpgme-data_new}, so that a detailed error code can be returned +(historically, @code{gpgme_check_version} does not return a detailed +error code). @end deftypefun diff --git a/src/data.c b/src/data.c index e4e9ee3..7ae5b32 100644 --- a/src/data.c +++ b/src/data.c @@ -46,6 +46,10 @@ _gpgme_data_new (gpgme_data_t *r_dh, struct _gpgme_data_cbs *cbs) return gpg_error (GPG_ERR_INV_VALUE); *r_dh = NULL; + + if (_gpgme_selftest) + return _gpgme_selftest; + dh = calloc (1, sizeof (*dh)); if (!dh) return gpg_error_from_syserror (); diff --git a/tests/run-identify.c b/tests/run-identify.c index 01e9671..9361fa2 100644 --- a/tests/run-identify.c +++ b/tests/run-identify.c @@ -102,7 +102,7 @@ main (int argc, char **argv) } - init_gpgme (GPGME_PROTOCOL_OpenPGP); + init_gpgme_basic (); for (; argc; argc--, argv++) { diff --git a/tests/run-support.h b/tests/run-support.h index 841b223..6a2170b 100644 --- a/tests/run-support.h +++ b/tests/run-support.h @@ -107,7 +107,11 @@ make_filename (const char *fname) srcdir = "."; buf = malloc (strlen(srcdir) + strlen(fname) + 2); if (!buf) - exit (8); + { + fprintf (stderr, "%s:%d: could not allocate string: %s\n", + __FILE__, __LINE__, strerror (errno)); + exit (8); + } strcpy (buf, srcdir); strcat (buf, "/"); strcat (buf, fname); @@ -116,17 +120,23 @@ make_filename (const char *fname) void -init_gpgme (gpgme_protocol_t proto) +init_gpgme_basic (void) { - gpgme_error_t err; - gpgme_check_version (NULL); setlocale (LC_ALL, ""); gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL)); #ifndef HAVE_W32_SYSTEM gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL)); #endif +} + + +void +init_gpgme (gpgme_protocol_t proto) +{ + gpg_error_t err; + init_gpgme_basic (); err = gpgme_engine_check_version (proto); fail_if_err (err); } diff --git a/tests/t-data.c b/tests/t-data.c index fe2d59e..c214de7 100644 --- a/tests/t-data.c +++ b/tests/t-data.c @@ -30,8 +30,10 @@ #include #include -#include +#define PGM "t-data" +#include "run-support.h" +#undef fail_if_err #define fail_if_err(a) do { if(a) { \ fprintf (stderr, "%s:%d: (%i) gpgme_error_t " \ "%s\n", __FILE__, __LINE__, round, \ @@ -39,27 +41,6 @@ exit (1); } \ } while(0) -static char * -make_filename (const char *fname) -{ - const char *srcdir = getenv ("srcdir"); - char *buf; - - if (!srcdir) - srcdir = "."; - buf = malloc (strlen(srcdir) + strlen(fname) + 2 ); - if (!buf) - { - fprintf (stderr, "%s:%d: could not allocate string: %s\n", - __FILE__, __LINE__, strerror (errno)); - exit (1); - } - strcpy (buf, srcdir); - strcat (buf, "/"); - strcat (buf, fname); - return buf; -} - typedef enum { TEST_INITIALIZER, @@ -203,6 +184,8 @@ main (void) gpgme_error_t err = 0; gpgme_data_t data; + init_gpgme_basic (); + while (++round) { switch (round) ----------------------------------------------------------------------- Summary of changes: doc/gpgme.texi | 7 ++++--- src/data.c | 4 ++++ tests/run-identify.c | 2 +- tests/run-support.h | 18 ++++++++++++++---- tests/t-data.c | 27 +++++---------------------- 5 files changed, 28 insertions(+), 30 deletions(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 5 11:36:11 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Tue, 05 Dec 2017 11:36:11 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.3-24-gdd57c3d Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via dd57c3dc02d92fd58003febd860e0627bb24f356 (commit) via a5db5aa3c421322b379a794372a8b1060bdc8f62 (commit) from 6b7865933685ee9d7ded4d6a0a4d0539b7e6c948 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit dd57c3dc02d92fd58003febd860e0627bb24f356 Author: Andre Heinecke Date: Tue Dec 5 11:36:02 2017 +0100 Post release version bump -- diff --git a/NEWS b/NEWS index ac24a57..de22758 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes for version 2.0.5 (unreleased) +================================================= + + Noteworthy changes for version 2.0.4 (2017-12-05) ================================================= diff --git a/configure.ac b/configure.ac index 88b0b67..c7fdb14 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ min_automake_version="1.14" # (git tag -s gpgol-k.n.m) and run "./autogen.sh --force". Please # bump the version number immediately *after* the release and do # another commit and push so that the git magic is able to work. -m4_define([mym4_version], [2.0.4]) +m4_define([mym4_version], [2.0.5]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a commit a5db5aa3c421322b379a794372a8b1060bdc8f62 Author: Andre Heinecke Date: Tue Dec 5 11:33:54 2017 +0100 Update NEWS for todays release -- diff --git a/NEWS b/NEWS index 54bc0d3..ac24a57 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,24 @@ -Noteworthy changes for version 2.0.4 (unreleased) +Noteworthy changes for version 2.0.4 (2017-12-05) ================================================= + * Some possible "random" crashes in GpgOL have been fixed (T3484) + + * Fixed Outlook hang when selecting and deleting many mails (T3433) + + * G Suite Sync plugin accounts are now detected. Only + no-mime PGP/Messages (without attachments) and encrypted only + is supported. Reading is fully supported. + + * Basic support for No-MIME inline PGP Encryption (T3514) + + * Improved error handling for signed, unencrypted mails (T3538) + + * Performance improvements / Fix running out of resources (T3523) + + * Improved detection of large PGP/MIME messages and MS-TNEF Messages. + (T3419 , T3542) + + Noteworthy changes for version 2.0.3 (2017-11-20) ================================================= ----------------------------------------------------------------------- Summary of changes: NEWS | 24 +++++++++++++++++++++++- configure.ac | 2 +- 2 files changed, 24 insertions(+), 2 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 6 03:28:57 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Wed, 06 Dec 2017 03:28:57 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-9-g1524ba9 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 1524ba9656f0205d8c6ef504f773b832a7a12ab9 (commit) from 0d0b9eb0d4f99e8d293a4ce4b90921a879905115 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1524ba9656f0205d8c6ef504f773b832a7a12ab9 Author: NIIBE Yutaka Date: Wed Dec 6 11:20:51 2017 +0900 agent: Set assuan system hooks before call of assuan_sock_init. * agent/gpg-agent.c (initialize_modules): Move assuan_set_system_hooks. (main): ... here, just before assuan_sock_init. -- In Assuan, global variable SOCK_CTX is used internally, which is initialized by assuan_sock_init. When initialized, system hooks are copied into SOCK_CTX structure. Thus, system hooks should be set, before the call of assuan_sock_init. GnuPG-bug-id: 3378 Signed-off-by: NIIBE Yutaka diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index 1696e4e..b076ca3 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -966,7 +966,6 @@ static void initialize_modules (void) { thread_init_once (); - assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH); initialize_module_cache (); initialize_module_call_pinentry (); initialize_module_call_scd (); @@ -1027,6 +1026,7 @@ main (int argc, char **argv ) malloc_hooks.free = gcry_free; assuan_set_malloc_hooks (&malloc_hooks); assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT); + assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH); assuan_sock_init (); setup_libassuan_logging (&opt.debug, NULL); ----------------------------------------------------------------------- Summary of changes: agent/gpg-agent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 6 12:03:44 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Wed, 06 Dec 2017 12:03:44 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.4.5-2-ga627350 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via a627350eed5dc32bac41195462f27dee1987b0f5 (commit) from c39244aa5802d7ec44134def94a5c919752b5491 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a627350eed5dc32bac41195462f27dee1987b0f5 Author: NIIBE Yutaka Date: Wed Dec 6 19:56:34 2017 +0900 Use wrapped __assuan_usleep for _assuan_npth_usleep. * src/assuan.h.in (_assuan_npth_usleep): Wrap __assuan_usleep. -- Assuan should support system hooks for nPth before npth_init. Before the call of npth_init, npth_unprotect and npth_protect do nothing, whiile npth_usleep may crash. No use of npth_usleep is better. Signed-off-by: NIIBE Yutaka diff --git a/src/assuan.h.in b/src/assuan.h.in index f9eddca..9594e73 100644 --- a/src/assuan.h.in +++ b/src/assuan.h.in @@ -546,7 +546,9 @@ extern struct assuan_system_hooks _assuan_system_pth; #define ASSUAN_SYSTEM_NPTH_IMPL \ static void _assuan_npth_usleep (assuan_context_t ctx, unsigned int usec) \ - { (void) ctx; npth_usleep (usec); } \ + { ssize_t res; (void) ctx; npth_unprotect(); \ + res = __assuan_usleep (ctx, usec); \ + npth_protect(); } \ static ssize_t _assuan_npth_read (assuan_context_t ctx, assuan_fd_t fd, \ void *buffer, size_t size) \ { ssize_t res; (void) ctx; npth_unprotect(); \ ----------------------------------------------------------------------- Summary of changes: src/assuan.h.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 13:47:25 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Thu, 07 Dec 2017 13:47:25 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.4.5-3-g90dc816 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via 90dc81682b13a7cf716a8a26b891051cbd4b0caf (commit) from a627350eed5dc32bac41195462f27dee1987b0f5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 90dc81682b13a7cf716a8a26b891051cbd4b0caf Author: NIIBE Yutaka Date: Thu Dec 7 13:41:46 2017 +0100 Allow change of system hooks for assuan_sock_... * src/assuan-socket.c (assuan_sock_set_system_hooks): New. * src/assuan.h.in (assuan_sock_set_system_hooks): New prototype. * src/libassuan.def: Add new function. * src/libassuan.vers: Add new function. -- Co-authored-by: wk at gnupg.org Signed-off-by: Werner Koch diff --git a/NEWS b/NEWS index 022af96..e2937d7 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,15 @@ -Noteworthy changes in version 2.4.6 (unreleased) [C7/A7/R_] +Noteworthy changes in version 2.5.0 (unreleased) [C8/A8/R0] ------------------------------------------------ + * New function to change the system hooks for the socket + interface. [#3378] + + * Fix the use of the internal usleep in the nPth implementation. + + * Interface changes relative to the 2.4.0 release: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + assuan_sock_set_system_hooks NEW. + Noteworthy changes in version 2.4.5 (2017-12-01) [C7/A7/R5] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 40c378c..4128f18 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,8 @@ min_automake_version="1.14" # for the LT versions. m4_define([mym4_package],[libassuan]) m4_define([mym4_major], [2]) -m4_define([mym4_minor], [4]) -m4_define([mym4_micro], [6]) +m4_define([mym4_minor], [5]) +m4_define([mym4_micro], [0]) # 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 @@ -61,9 +61,9 @@ AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org]) # (Interfaces added: AGE++) # (Interfaces removed/changed: AGE=0) # -LIBASSUAN_LT_CURRENT=7 -LIBASSUAN_LT_AGE=7 -LIBASSUAN_LT_REVISION=5 +LIBASSUAN_LT_CURRENT=8 +LIBASSUAN_LT_AGE=8 +LIBASSUAN_LT_REVISION=0 # If the API is changed in an incompatible way: increment the next counter. LIBASSUAN_CONFIG_API_VERSION=2 diff --git a/doc/assuan.texi b/doc/assuan.texi index aae3de7..5c423d0 100644 --- a/doc/assuan.texi +++ b/doc/assuan.texi @@ -994,11 +994,19 @@ Set the default system hooks to use. There is currently no way to reset to the default system hooks. @end deftypefun + at deftypefun void assuan_sock_set_system_hooks (@w{assuan_system_hooks_t @var{system_hooks}}) +The socket subsystem uses an internal context which uses the default +system hooks. This function allows to change these system hooks. The +function is not thread-safe and only useful if a certain order of +assuan and assuan socket initializations are required. + at end deftypefun + @deftypefun void assuan_ctx_set_system_hooks (@w{assuan_context_t @var{ctx}}, @w{assuan_system_hooks_t @var{system_hooks}}) Set the system hooks for context @var{ctx}. There is currently no way to reset to the default system hooks, create a new context for that. @end deftypefun + The following system hook collections are defined by the library for your convenience: diff --git a/src/assuan-socket.c b/src/assuan-socket.c index adcd40a..7fb2201 100644 --- a/src/assuan-socket.c +++ b/src/assuan-socket.c @@ -1495,3 +1495,10 @@ assuan_sock_check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce) { return _assuan_sock_check_nonce (sock_ctx, fd, nonce); } + +void +assuan_sock_set_system_hooks (assuan_system_hooks_t system_hooks) +{ + if (sock_ctx) + _assuan_system_hooks_copy (&sock_ctx->system, system_hooks); +} diff --git a/src/assuan.h.in b/src/assuan.h.in index 9594e73..cfa4409 100644 --- a/src/assuan.h.in +++ b/src/assuan.h.in @@ -490,15 +490,20 @@ int assuan_sock_set_sockaddr_un (const char *fname, struct sockaddr *addr, int assuan_sock_get_nonce (struct sockaddr *addr, int addrlen, assuan_sock_nonce_t *nonce); int assuan_sock_check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce); +void assuan_sock_set_system_hooks (assuan_system_hooks_t system_hooks); -/* Set the default or per context system callbacks. This is - irreversible. */ +/* Set the default system callbacks. This is irreversible. */ void assuan_set_system_hooks (assuan_system_hooks_t system_hooks); +/* Set the per context system callbacks. This is irreversible. */ void assuan_ctx_set_system_hooks (assuan_context_t ctx, assuan_system_hooks_t system_hooks); +/* Change the system hooks for the socket interface. + * This is not thread-safe. */ +void assuan_sock_set_system_hooks (assuan_system_hooks_t system_hooks); + void __assuan_usleep (assuan_context_t ctx, unsigned int usec); int __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx); int __assuan_close (assuan_context_t ctx, assuan_fd_t fd); diff --git a/src/libassuan.def b/src/libassuan.def index 7e32a3d..ed9ceaf 100644 --- a/src/libassuan.def +++ b/src/libassuan.def @@ -115,6 +115,7 @@ EXPORTS assuan_sock_set_flag @94 assuan_sock_get_flag @95 assuan_sock_connect_byname @96 + assuan_sock_set_system_hooks @97 ; END diff --git a/src/libassuan.vers b/src/libassuan.vers index a178127..c9cd5d7 100644 --- a/src/libassuan.vers +++ b/src/libassuan.vers @@ -106,6 +106,7 @@ LIBASSUAN_1.0 { assuan_sock_set_flag; assuan_sock_get_flag; assuan_sock_connect_byname; + assuan_sock_set_system_hooks; __assuan_close; __assuan_pipe; ----------------------------------------------------------------------- Summary of changes: NEWS | 11 ++++++++++- configure.ac | 10 +++++----- doc/assuan.texi | 8 ++++++++ src/assuan-socket.c | 7 +++++++ src/assuan.h.in | 9 +++++++-- src/libassuan.def | 1 + src/libassuan.vers | 1 + 7 files changed, 39 insertions(+), 8 deletions(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 13:49:41 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Thu, 07 Dec 2017 13:49:41 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-89-g5ba1cbd Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 5ba1cbdf39efd90c7987bfc2bc030b6504e70076 (commit) from 0c1244a2b7e30ab0610ae70166e1b5d0219782c3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5ba1cbdf39efd90c7987bfc2bc030b6504e70076 Author: Andre Heinecke Date: Thu Dec 7 13:47:18 2017 +0100 tests: Print userid signatures in run-keylist * tests/run-keylist.c (main): Print UID signatures if there are any. diff --git a/tests/run-keylist.c b/tests/run-keylist.c index dd310e5..295251a 100644 --- a/tests/run-keylist.c +++ b/tests/run-keylist.c @@ -228,8 +228,10 @@ main (int argc, char **argv) { gpgme_user_id_t uid; gpgme_tofu_info_t ti; + gpgme_key_sig_t ks; int nuids; int nsub; + int nsigs; printf ("keyid : %s\n", key->subkeys?nonnull (key->subkeys->keyid):"?"); printf ("fpr : %s\n", key->subkeys?nonnull (key->subkeys->fpr):"?"); @@ -320,6 +322,14 @@ main (int argc, char **argv) printf (" first: %s\n", isotimestr (ti->encrfirst)); printf (" last: %s\n", isotimestr (ti->encrlast)); } + for (nsigs=0, ks=uid->signatures; ks; ks = ks->next, nsigs++) + { + printf ("signature %d: %s\n", nsigs, nonnull (ks->uid)); + printf (" keyid: %s\n", nonnull (ks->keyid)); + printf (" created: %s\n", isotimestr(ks->timestamp)); + printf (" expires: %s\n", isotimestr(ks->expires)); + printf (" class: %x\n", ks->sig_class); + } } putchar ('\n'); ----------------------------------------------------------------------- Summary of changes: tests/run-keylist.c | 10 ++++++++++ 1 file changed, 10 insertions(+) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 14:21:41 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 14:21:41 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.4.5-5-g5aea76d Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via 5aea76dbf1d39ab646461a2996becc40c42c9632 (commit) via ec92ef4ee3df1fdca7db19f691f64a2f96dcfc71 (commit) from 90dc81682b13a7cf716a8a26b891051cbd4b0caf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5aea76dbf1d39ab646461a2996becc40c42c9632 Author: Werner Koch Date: Thu Dec 7 14:17:07 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index eac37af..89f86eb 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes in version 2.5.1 (unreleased) [C8/A8/R_] +------------------------------------------------ + + Noteworthy changes in version 2.5.0 (2017-12-07) [C8/A8/R0] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 4128f18..2c6e254 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,7 @@ min_automake_version="1.14" m4_define([mym4_package],[libassuan]) m4_define([mym4_major], [2]) m4_define([mym4_minor], [5]) -m4_define([mym4_micro], [0]) +m4_define([mym4_micro], [1]) # 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 commit ec92ef4ee3df1fdca7db19f691f64a2f96dcfc71 Author: Werner Koch Date: Thu Dec 7 14:09:08 2017 +0100 Release 2.5.0 Signed-off-by: Werner Koch diff --git a/AUTHORS b/AUTHORS index bc7345a..2d64e35 100644 --- a/AUTHORS +++ b/AUTHORS @@ -55,7 +55,7 @@ List of Copyright holders Copyright (C) 1992-2013 Free Software Foundation, Inc. Copyright (C) 1994 X Consortium Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001-2016 g10 Code GmbH + Copyright (C) 2001-2017 g10 Code GmbH Copyright (C) 2004 Simon Josefsson diff --git a/NEWS b/NEWS index e2937d7..eac37af 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -Noteworthy changes in version 2.5.0 (unreleased) [C8/A8/R0] +Noteworthy changes in version 2.5.0 (2017-12-07) [C8/A8/R0] ------------------------------------------------ * New function to change the system hooks for the socket diff --git a/README b/README index e84da57..3f9cb72 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ =========== Copyright (C) 2001-2013 Free Software Foundation, Inc. - Copyright (C) 2001-2016 g10 Code GmbH + Copyright (C) 2001-2017 g10 Code GmbH This is a general purpose IPC library which is for example used diff --git a/src/assuan.h.in b/src/assuan.h.in index cfa4409..d30be05 100644 --- a/src/assuan.h.in +++ b/src/assuan.h.in @@ -1,6 +1,6 @@ /* assuan.h - Definitions for the Assuan IPC library -*- c -*- * Copyright (C) 2001-2013 Free Software Foundation, Inc. - * Copyright (C) 2001-2015 g10 Code GmbH + * Copyright (C) 2001-2017 g10 Code GmbH * * This file is part of Assuan. * diff --git a/src/sysutils.c b/src/sysutils.c index afa7aa1..53da282 100644 --- a/src/sysutils.c +++ b/src/sysutils.c @@ -47,7 +47,7 @@ _assuan_sysutils_blurb (void) "\n\n" "This is Libassuan " PACKAGE_VERSION " - The GnuPG IPC Library\n" "Copyright 2001-2013 Free Software Foundation, Inc.\n" - "Copyright 2001-2014 g10 Code GmbH\n" + "Copyright 2001-2017 g10 Code GmbH\n" "\n" "SPDX-License-Identifier: LGPL-2.1+\n" "(" BUILD_REVISION " " BUILD_TIMESTAMP ")\n" diff --git a/src/versioninfo.rc.in b/src/versioninfo.rc.in index 9f0237f..f9e7cb4 100644 --- a/src/versioninfo.rc.in +++ b/src/versioninfo.rc.in @@ -40,7 +40,7 @@ BEGIN VALUE "FileDescription", "Assuan - GnuPG IPC\0" VALUE "FileVersion", "@LIBASSUAN_LT_CURRENT at .@LIBASSUAN_LT_AGE at .@LIBASSUAN_LT_REVISION at .@BUILD_REVISION@\0" VALUE "InternalName", "libassuan\0" - VALUE "LegalCopyright", "Copyright ? 2001-2015 g10 Code GmbH\0" + VALUE "LegalCopyright", "Copyright ? 2001-2017 g10 Code GmbH\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libassuan.dll\0" VALUE "PrivateBuild", "\0" ----------------------------------------------------------------------- Summary of changes: AUTHORS | 2 +- NEWS | 6 +++++- README | 2 +- configure.ac | 2 +- src/assuan.h.in | 2 +- src/sysutils.c | 2 +- src/versioninfo.rc.in | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 14:23:35 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 14:23:35 +0100 Subject: [git] gnupg-doc - branch, master, updated. a61f358526f612e0a27f51bb2ff833e96ad4bb8e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via a61f358526f612e0a27f51bb2ff833e96ad4bb8e (commit) from 07562f9a10d5d69a2e5c988a8904995bb41bd2bf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a61f358526f612e0a27f51bb2ff833e96ad4bb8e Author: Werner Koch Date: Thu Dec 7 14:19:01 2017 +0100 swdb: Release of Libassuan 2.5.0 diff --git a/web/swdb.mac b/web/swdb.mac index 463787e..2249012 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -159,11 +159,11 @@ # # LIBASSUAN # -#+macro: libassuan_ver 2.4.5 -#+macro: libassuan_date 2017-12-01 -#+macro: libassuan_size 550k -#+macro: libassuan_sha1 2b38b7d54831ffe9d1e60987e3e1a01314ae894b -#+macro: libassuan_sha2 fbfea5d1dbcdee34f2597b0afb3d8bb4eda96c924a1e01b01c2acde68b81625f +#+macro: libassuan_ver 2.5.0 +#+macro: libassuan_date 2017-12-07 +#+macro: libassuan_size 551k +#+macro: libassuan_sha1 41dc563d5c8ea3d1477277922cd637c4c94e5d4e +#+macro: libassuan_sha2 4a2526996c7db00fc50a87bc3ee4e7cbd50bf90f73a585690e2d0b445e503941 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 14:58:38 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 14:58:38 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-11-g2fedf85 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 2fedf8583bcc493f587c90bc9632d25dfd10bd10 (commit) via b9677ba16f6b386896781a751e4b2fc839e3ec81 (commit) from 1524ba9656f0205d8c6ef504f773b832a7a12ab9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2fedf8583bcc493f587c90bc9632d25dfd10bd10 Author: Werner Koch Date: Thu Dec 7 14:53:49 2017 +0100 build: Do not define logging.h constants for libgpg-error dev versions. * common/logging.h [GPGRT_LOG_WITH_PREFIX]: Do not define the log constants. -- logging.h uses constants we plan to use for future versions of libgpg-error. My dev version already has the logging functions and thus I run into a conflict. This patch protects against this and make the GnuPG work with later libgpg-error versions. It was not the best idea to use constants from a planned libgpg-error in the first place. The actual problem are the enums, the macros won't harm. Signed-off-by: Werner Koch diff --git a/common/logging.h b/common/logging.h index e1bf56b..c6a32b4 100644 --- a/common/logging.h +++ b/common/logging.h @@ -70,15 +70,21 @@ estream_t log_get_stream (void); : _log_assert (#expr, __FILE__, __LINE__)) #endif /*!GPGRT_HAVE_MACRO_FUNCTION*/ -/* Flag values for log_set_prefix. */ -#define GPGRT_LOG_WITH_PREFIX 1 -#define GPGRT_LOG_WITH_TIME 2 -#define GPGRT_LOG_WITH_PID 4 -#define GPGRT_LOG_RUN_DETACHED 256 -#define GPGRT_LOG_NO_REGISTRY 512 -/* Log levels as used by log_log. */ -enum jnlib_log_levels { +/* If we use an older libgpg-error we need to define the constants + * which will be used by current libgpg-error development + * versions. */ +#ifndef GPGRT_LOG_WITH_PREFIX + + /* Flag values for log_set_prefix. */ +# define GPGRT_LOG_WITH_PREFIX 1 +# define GPGRT_LOG_WITH_TIME 2 +# define GPGRT_LOG_WITH_PID 4 +# define GPGRT_LOG_RUN_DETACHED 256 +# define GPGRT_LOG_NO_REGISTRY 512 + + /* Log levels as used by log_log. */ + enum jnlib_log_levels { GPGRT_LOG_BEGIN, GPGRT_LOG_CONT, GPGRT_LOG_INFO, @@ -87,7 +93,9 @@ enum jnlib_log_levels { GPGRT_LOG_FATAL, GPGRT_LOG_BUG, GPGRT_LOG_DEBUG -}; + }; +#endif /* Old libgpg-error. */ + void log_log (int level, const char *fmt, ...) GPGRT_ATTR_PRINTF(2,3); void log_logv (int level, const char *fmt, va_list arg_ptr); void log_logv_with_prefix (int level, const char *prefix, commit b9677ba16f6b386896781a751e4b2fc839e3ec81 Author: NIIBE Yutaka Date: Thu Dec 7 14:33:58 2017 +0100 agent: Change intialization of assuan socket system hooks. * agent/gpg-agent.c (initialize_modules): Add hook again. (main): Remove setting of the system houk but add scoket system hook setting after assuan initialization. -- Thread initialization is better to be deferred after fork (in case of UNIX). assuan_sock_init should be earlier. Thus, we need to change system hooks for assuan_sock_* interface. Or else, on Windows, it may cause hang on server. Updates-commit: 1524ba9656f0205d8c6ef504f773b832a7a12ab9 GnuPG-bug-id: 3378 Signed-off-by: Werner Koch diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index b076ca3..21beb29 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -966,6 +966,7 @@ static void initialize_modules (void) { thread_init_once (); + assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH); initialize_module_cache (); initialize_module_call_pinentry (); initialize_module_call_scd (); @@ -1026,8 +1027,8 @@ main (int argc, char **argv ) malloc_hooks.free = gcry_free; assuan_set_malloc_hooks (&malloc_hooks); assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT); - assuan_set_system_hooks (ASSUAN_SYSTEM_NPTH); assuan_sock_init (); + assuan_sock_set_system_hooks (ASSUAN_SYSTEM_NPTH); setup_libassuan_logging (&opt.debug, NULL); setup_libgcrypt_logging (); ----------------------------------------------------------------------- Summary of changes: agent/gpg-agent.c | 3 ++- common/logging.h | 26 +++++++++++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 15:13:51 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 15:13:51 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.5.0-2-gd38817f Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via d38817fd0e24acfd295bd7f81b77254afd0cc6d5 (commit) from 5aea76dbf1d39ab646461a2996becc40c42c9632 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d38817fd0e24acfd295bd7f81b77254afd0cc6d5 Author: Werner Koch Date: Thu Dec 7 15:08:20 2017 +0100 Fix regression in ASSUAN_SYSTEM_NPTH_IMPL. * src/assuan.h.in (ASSUAN_SYSTEM_NPTH_IMPL): A void fucntion can't assign. -- Fixes-commit: a627350eed5dc32bac41195462f27dee1987b0f5 Signed-off-by: Werner Koch diff --git a/src/assuan.h.in b/src/assuan.h.in index d30be05..f9899d8 100644 --- a/src/assuan.h.in +++ b/src/assuan.h.in @@ -551,8 +551,8 @@ extern struct assuan_system_hooks _assuan_system_pth; #define ASSUAN_SYSTEM_NPTH_IMPL \ static void _assuan_npth_usleep (assuan_context_t ctx, unsigned int usec) \ - { ssize_t res; (void) ctx; npth_unprotect(); \ - res = __assuan_usleep (ctx, usec); \ + { npth_unprotect(); \ + __assuan_usleep (ctx, usec); \ npth_protect(); } \ static ssize_t _assuan_npth_read (assuan_context_t ctx, assuan_fd_t fd, \ void *buffer, size_t size) \ ----------------------------------------------------------------------- Summary of changes: src/assuan.h.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 16:03:28 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 16:03:28 +0100 Subject: [git] Assuan - branch, master, updated. libassuan-2.5.0-4-g9d7ac1e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPC library used by GnuPG". The branch, master has been updated via 9d7ac1e7deb750cf70d78b9298db9a8a60b62a43 (commit) via 8fc922c45b66d4e4d1c6c55de617cfeef2c01357 (commit) from d38817fd0e24acfd295bd7f81b77254afd0cc6d5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9d7ac1e7deb750cf70d78b9298db9a8a60b62a43 Author: Werner Koch Date: Thu Dec 7 15:58:43 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index 23e2920..9f40339 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes in version 2.5.2 (unreleased) [C8/A8/R_] +------------------------------------------------ + + Noteworthy changes in version 2.5.1 (2017-12-07) [C8/A8/R1] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 9b97ad4..e824b39 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,7 @@ min_automake_version="1.14" m4_define([mym4_package],[libassuan]) m4_define([mym4_major], [2]) m4_define([mym4_minor], [5]) -m4_define([mym4_micro], [1]) +m4_define([mym4_micro], [2]) # 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 commit 8fc922c45b66d4e4d1c6c55de617cfeef2c01357 Author: Werner Koch Date: Thu Dec 7 15:54:01 2017 +0100 Release 2.5.1 Signed-off-by: Werner Koch diff --git a/NEWS b/NEWS index 89f86eb..23e2920 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ -Noteworthy changes in version 2.5.1 (unreleased) [C8/A8/R_] +Noteworthy changes in version 2.5.1 (2017-12-07) [C8/A8/R1] ------------------------------------------------ + * Fix c+p error in the previous usleep fix. + Noteworthy changes in version 2.5.0 (2017-12-07) [C8/A8/R0] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 2c6e254..9b97ad4 100644 --- a/configure.ac +++ b/configure.ac @@ -63,7 +63,7 @@ AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org]) # LIBASSUAN_LT_CURRENT=8 LIBASSUAN_LT_AGE=8 -LIBASSUAN_LT_REVISION=0 +LIBASSUAN_LT_REVISION=1 # If the API is changed in an incompatible way: increment the next counter. LIBASSUAN_CONFIG_API_VERSION=2 ----------------------------------------------------------------------- Summary of changes: NEWS | 8 +++++++- configure.ac | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) hooks/post-receive -- IPC library used by GnuPG http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 16:04:42 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 16:04:42 +0100 Subject: [git] gnupg-doc - branch, master, updated. d18e52cf0a20afea7ae8f3eed500b7f1e4939c83 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via d18e52cf0a20afea7ae8f3eed500b7f1e4939c83 (commit) from a61f358526f612e0a27f51bb2ff833e96ad4bb8e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d18e52cf0a20afea7ae8f3eed500b7f1e4939c83 Author: Werner Koch Date: Thu Dec 7 16:00:08 2017 +0100 swdb: Release libassuan 2.5.1 diff --git a/web/swdb.mac b/web/swdb.mac index 2249012..fe07bb6 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -159,11 +159,11 @@ # # LIBASSUAN # -#+macro: libassuan_ver 2.5.0 +#+macro: libassuan_ver 2.5.1 #+macro: libassuan_date 2017-12-07 #+macro: libassuan_size 551k -#+macro: libassuan_sha1 41dc563d5c8ea3d1477277922cd637c4c94e5d4e -#+macro: libassuan_sha2 4a2526996c7db00fc50a87bc3ee4e7cbd50bf90f73a585690e2d0b445e503941 +#+macro: libassuan_sha1 c8432695bf1daa914a92f51e911881ed93d50604 +#+macro: libassuan_sha2 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 16:23:08 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Thu, 07 Dec 2017 16:23:08 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-90-g1458ada Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 1458adaea4acdcf7ebbead6668476fce92db5af8 (commit) from 5ba1cbdf39efd90c7987bfc2bc030b6504e70076 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1458adaea4acdcf7ebbead6668476fce92db5af8 Author: Andre Heinecke Date: Thu Dec 7 16:21:01 2017 +0100 cpp: Fix handling of lsig promotion * src/gpgsignkeyeditinteractor.cpp (SignKeyState): Add second CONFIRM state. (makeTable): Properly handle local_promote_okay. (action): Handle CONFIRM2. -- This fixes changing a local signature to a "public" signature. GnuPG-Bug-Id: T1649 diff --git a/lang/cpp/src/gpgsignkeyeditinteractor.cpp b/lang/cpp/src/gpgsignkeyeditinteractor.cpp index 4c6c87c..79691bc 100644 --- a/lang/cpp/src/gpgsignkeyeditinteractor.cpp +++ b/lang/cpp/src/gpgsignkeyeditinteractor.cpp @@ -158,6 +158,7 @@ enum SignKeyState { SET_TRUST_DEPTH, SET_TRUST_REGEXP, CONFIRM, + CONFIRM2, QUIT, SAVE, ERROR = EditInteractor::ErrorState @@ -182,6 +183,7 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable() addEntry(START, GET_LINE, "keyedit.prompt", COMMAND); addEntry(COMMAND, GET_BOOL, "keyedit.sign_all.okay", UIDS_ANSWER_SIGN_ALL); addEntry(COMMAND, GET_BOOL, "sign_uid.okay", CONFIRM); + addEntry(COMMAND, GET_BOOL, "sign_uid.local_promote_okay", CONFIRM2); addEntry(UIDS_ANSWER_SIGN_ALL, GET_BOOL, "sign_uid.okay", CONFIRM); addEntry(UIDS_ANSWER_SIGN_ALL, GET_LINE, "sign_uid.expire", SET_EXPIRE); addEntry(UIDS_ANSWER_SIGN_ALL, GET_LINE, "sign_uid.class", SET_CHECK_LEVEL); @@ -192,6 +194,7 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable() addEntry(SET_EXPIRE, GET_BOOL, "sign_uid.class", SET_CHECK_LEVEL); addEntry(CONFIRM, GET_BOOL, "sign_uid.local_promote_okay", CONFIRM); addEntry(CONFIRM, GET_BOOL, "sign_uid.okay", CONFIRM); + addEntry(CONFIRM2, GET_BOOL, "sign_uid.okay", CONFIRM); addEntry(CONFIRM, GET_LINE, "keyedit.prompt", COMMAND); addEntry(CONFIRM, GET_LINE, "trustsign_prompt.trust_value", SET_TRUST_VALUE); addEntry(CONFIRM, GET_LINE, "sign_uid.expire", SET_EXPIRE); @@ -233,6 +236,7 @@ const char *GpgSignKeyEditInteractor::action(Error &err) const return 0; case SET_CHECK_LEVEL: return check_level_strings[d->checkLevel]; + case CONFIRM2: case CONFIRM: return answer(true); case QUIT: ----------------------------------------------------------------------- Summary of changes: lang/cpp/src/gpgsignkeyeditinteractor.cpp | 4 ++++ 1 file changed, 4 insertions(+) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 16:35:55 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 16:35:55 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-12-g5b8d12a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 5b8d12a8bde246f4c04e1981b21801965cc2638d (commit) from 2fedf8583bcc493f587c90bc9632d25dfd10bd10 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5b8d12a8bde246f4c04e1981b21801965cc2638d Author: Werner Koch Date: Thu Dec 7 16:29:29 2017 +0100 speedo,w32: Disable FLTK pinentry. -- diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk index 7276787..2b3b72b 100644 --- a/build-aux/speedo.mk +++ b/build-aux/speedo.mk @@ -514,7 +514,10 @@ else speedo_pkg_pinentry_configure = --enable-pinentry-gtk2 endif speedo_pkg_pinentry_configure += \ - --disable-pinentry-qt4 \ + --disable-pinentry-qt5 \ + --disable-pinentry-qt \ + --disable-pinentry-fltk \ + --disable-pinentry-tty \ CPPFLAGS=-I$(idir)/include \ LDFLAGS=-L$(idir)/lib \ CXXFLAGS=-static-libstdc++ ----------------------------------------------------------------------- Summary of changes: build-aux/speedo.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Thu Dec 7 17:26:17 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Thu, 07 Dec 2017 17:26:17 +0100 Subject: [git] gnupg-doc - branch, master, updated. f11aebe3711ff9833847d5875a36091475d39917 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via f11aebe3711ff9833847d5875a36091475d39917 (commit) from d18e52cf0a20afea7ae8f3eed500b7f1e4939c83 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f11aebe3711ff9833847d5875a36091475d39917 Author: Werner Koch Date: Thu Dec 7 17:21:44 2017 +0100 swdb: new gnupg installer diff --git a/web/swdb.mac b/web/swdb.mac index fe07bb6..79b3852 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -16,11 +16,11 @@ #+macro: gnupg22_sha1 68ed37d363166b5bd79971537484148eb8f2958c #+macro: gnupg22_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 #+macro: gnupg22_branch STABLE-BRANCH-2-2 -#+macro: gnupg22_w32_ver 2.2.3_20171201 -#+macro: gnupg22_w32_date 2017-12-01 +#+macro: gnupg22_w32_ver 2.2.3_20171207 +#+macro: gnupg22_w32_date 2017-12-07 #+macro: gnupg22_w32_size 3806k -#+macro: gnupg22_w32_sha1 c4daea0412d3f898a27cefa0374828d13648f1cf -#+macro: gnupg22_w32_sha2 b26eeaa7424a31145b8088784e1164d3d15b11f7d4e0833aaee582dc2e1507fa +#+macro: gnupg22_w32_sha1 f2007638228f81061e1c50313a794733a834a887 +#+macro: gnupg22_w32_sha2 a282a175501fc5b06f70e249fe503250293d8cb2a14e28a4a8ea476ede8ea9fa # temporary keep it as "gnupg21". In the future we will use the name of @@ -31,11 +31,11 @@ #+macro: gnupg21_sha1 68ed37d363166b5bd79971537484148eb8f2958c #+macro: gnupg21_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 #+macro: gnupg21_branch STABLE-BRANCH-2-2 -#+macro: gnupg21_w32_ver 2.2.3_20171201 -#+macro: gnupg21_w32_date 2017-12-01 +#+macro: gnupg21_w32_ver 2.2.3_20171207 +#+macro: gnupg21_w32_date 2017-12-07 #+macro: gnupg21_w32_size 3806k -#+macro: gnupg21_w32_sha1 c4daea0412d3f898a27cefa0374828d13648f1cf -#+macro: gnupg21_w32_sha2 b26eeaa7424a31145b8088784e1164d3d15b11f7d4e0833aaee582dc2e1507fa +#+macro: gnupg21_w32_sha1 f2007638228f81061e1c50313a794733a834a887 +#+macro: gnupg21_w32_sha2 a282a175501fc5b06f70e249fe503250293d8cb2a14e28a4a8ea476ede8ea9fa # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 01:21:32 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Fri, 08 Dec 2017 01:21:32 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-13-g5c121d4 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 5c121d44443b0a96ec6ea82b90717e3dbafd2cc5 (commit) from 5b8d12a8bde246f4c04e1981b21801965cc2638d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5c121d44443b0a96ec6ea82b90717e3dbafd2cc5 Author: NIIBE Yutaka Date: Fri Dec 8 09:19:50 2017 +0900 agent: Fix description of shadow format. * agent/keyformat.txt, agent/protect.c, agent/t-protect.c: Fix. -- https://lists.gnupg.org/pipermail/gnupg-devel/2015-April/029680.html Signed-off-by: NIIBE Yutaka diff --git a/agent/keyformat.txt b/agent/keyformat.txt index 68fbdbc..768353f 100644 --- a/agent/keyformat.txt +++ b/agent/keyformat.txt @@ -271,7 +271,7 @@ to keys stored on a token: (comment whatever) ) -The currently used protocol is "ti-v1" (token info version 1). The +The currently used protocol is "t1-v1" (token info version 1). The second list with the information has this layout: (card_serial_number id_string_of_key fixed_pin_length) diff --git a/agent/protect.c b/agent/protect.c index 9bb2da6..7b5abf2 100644 --- a/agent/protect.c +++ b/agent/protect.c @@ -1494,7 +1494,7 @@ make_shadow_info (const char *serialno, const char *idstring) /* Create a shadow key from a public key. We use the shadow protocol - "ti-v1" and insert the S-expressionn SHADOW_INFO. The resulting + "t1-v1" and insert the S-expressionn SHADOW_INFO. The resulting S-expression is returned in an allocated buffer RESULT will point to. The input parameters are expected to be valid canonicalized S-expressions */ diff --git a/agent/t-protect.c b/agent/t-protect.c index 92d312c..d17c193 100644 --- a/agent/t-protect.c +++ b/agent/t-protect.c @@ -288,7 +288,7 @@ static void test_agent_shadow_key (void) { /* Create a shadow key from a public key. We use the shadow protocol - "ti-v1" and insert the S-expressionn SHADOW_INFO. The resulting + "t1-v1" and insert the S-expressionn SHADOW_INFO. The resulting S-expression is returned in an allocated buffer RESULT will point to. The input parameters are expected to be valid canonicalized S-expressions */ ----------------------------------------------------------------------- Summary of changes: agent/keyformat.txt | 2 +- agent/protect.c | 2 +- agent/t-protect.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 06:01:44 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 06:01:44 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-91-g7b5182f Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 7b5182f2889310fc43d5fe05e7ec1ffd3c1f7b06 (commit) from 1458adaea4acdcf7ebbead6668476fce92db5af8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7b5182f2889310fc43d5fe05e7ec1ffd3c1f7b06 Author: Andre Heinecke Date: Fri Dec 8 05:59:11 2017 +0100 Spelling fixes for comments and doc -- Patch provided by ka7 in dev.gnupg.org Differential D423 diff --git a/acinclude.m4 b/acinclude.m4 index 575e526..cd2c83a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -60,7 +60,7 @@ AC_DEFUN([GNUPG_CHECK_VA_COPY], ]) dnl LIST_MEMBER() -dnl Check wether an element ist contained in a list. Set `found' to +dnl Check whether an element ist contained in a list. Set `found' to dnl `1' if the element is found in the list, to `0' otherwise. AC_DEFUN([LIST_MEMBER], [ diff --git a/configure.ac b/configure.ac index 6859357..be06d94 100644 --- a/configure.ac +++ b/configure.ac @@ -280,7 +280,7 @@ if test x$fixed_search_path != x ; then fi -# Note: You need to declare all possible langauges also in +# Note: You need to declare all possible languages also in # lang/Makefile.am's DIST_SUBDIRS. AC_ARG_ENABLE([languages], AC_HELP_STRING([--enable-languages=languages], @@ -336,7 +336,7 @@ fi # Check that if qt is enabled cpp also is enabled LIST_MEMBER("qt", $enabled_languages) if test "$found" = "1"; then - # We need to ensure that in the langauge order qt comes after cpp + # We need to ensure that in the language order qt comes after cpp # so we remove qt first and explicitly add it as last list member. enabled_languages=$(echo $enabled_languages | sed 's/qt//') LIST_MEMBER("cpp", $enabled_languages) diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 3b461ba..cd7bb4b 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -502,13 +502,13 @@ systems. To address offsets in large files, you can either enable largefile support add-on. Then a new data type @code{off64_t} is provided, which is 64 bit wide. Or you can replace the existing @code{off_t} data type with its 64 bit wide counterpart. All -occurences of @code{off_t} are then automagically replaced. +occurrences of @code{off_t} are then automagically replaced. As if matters were not complex enough, there are also two different types of file descriptors in such systems. This is important because if file descriptors are exchanged between programs that use a different maximum file size, certain errors must be produced on some -file descriptors to prevent subtle overflow bugs from occuring. +file descriptors to prevent subtle overflow bugs from occurring. As you can see, supporting two different maximum file sizes at the same time is not at all an easy task. However, the maximum file size @@ -733,7 +733,7 @@ Windows. @item require-gnupg Set the mimimum version of the required GnuPG engine. If that version -is not met, GPGME fails early instead of trying to use the existant +is not met, GPGME fails early instead of trying to use the existent version. The given version must be a string with major, minor, and micro number. Example: "2.1.0". @@ -1131,7 +1131,7 @@ of the configuration directory for this crypto engine. If The new defaults are not applied to already created GPGME contexts. This function returns the error code @code{GPG_ERR_NO_ERROR} if -successful, or an eror code on failure. +successful, or an error code on failure. @end deftypefun The functions @code{gpgme_ctx_get_engine_info} and @@ -1568,7 +1568,7 @@ This value indicates success. The value of this error code is @code{0}. Also, it is guaranteed that an error value made from the error code @code{0} will be @code{0} itself (as a whole). This means that the error source information is lost for this error code, -however, as this error code indicates that no error occured, this is +however, as this error code indicates that no error occurred, this is generally not a problem. @item GPG_ERR_GENERAL @@ -1642,7 +1642,7 @@ This value indicates that no certificate revocation list is known for the certificate. @item GPG_ERR_NO_POLICY_MATCH -This value indicates that a policy issue occured. +This value indicates that a policy issue occurred. @item GPG_ERR_NO_SECKEY This value indicates that no secret key for the user ID is available. @@ -2498,7 +2498,7 @@ if the function is called after starting the first operation on the context @var{ctx}. This function returns the error code @code{GPG_ERR_NO_ERROR} if -successful, or an eror code on failure. +successful, or an error code on failure. @end deftypefun @@ -2761,7 +2761,7 @@ is the default. @item GPGME_KEYLIST_MODE_EXTERN The @code{GPGME_KEYLIST_MODE_EXTERN} symbol specifies that an external source should be searched for keys in the keylisting operation. The -type of external source is dependant on the crypto engine used and +type of external source is dependent on the crypto engine used and whether it is combined with @code{GPGME_KEYLIST_MODE_LOCAL}. For example, it can be a remote keyserver or LDAP certificate server. @@ -6399,7 +6399,7 @@ If this flag is set the given @code{name} is not known. If this flag is set the available information is not fresh enough. @item error -If this flag is set some other error has occured. +If this flag is set some other error has occurred. @item version The version string of the latest released version. @@ -6435,7 +6435,7 @@ current gpgme version is checked. @var{reserved} must be set to 0. The function @code{gpgme_op_query_swdb_result} returns a @code{gpgme_query_swdb_result_t} pointer to a structure holding the result of a @code{gpgme_op_query_swdb} operation. The pointer is only -valid if the last operation on the context was a sucessful call to +valid if the last operation on the context was a successful call to @code{gpgme_op_query_swdb}. If that call failed, the result might be a @code{NULL} pointer. The returned pointer is only valid until the next operation is started on the context @var{ctx}. @@ -6693,9 +6693,9 @@ in a context which has I/O callback functions registered by the user. @code{gpgme_event_io_cb_t} function with @acronym{GPGME} and will always be passed as the first argument when registering a callback function. For example, the user can use this to determine the context in which -this event has occured. +this event has occurred. - at var{type} will specify the type of event that has occured. + at var{type} will specify the type of event that has occurred. @var{type_data} specifies the event further, as described in the above list of possible @code{gpgme_event_io_t} types. @@ -6733,7 +6733,7 @@ must be processed. @item void *event_priv This is passed as the first argument to the @code{event} function when it is called by @acronym{GPGME}. For example, it can be used to -determine the context in which the event has occured. +determine the context in which the event has occurred. @end table @end deftp diff --git a/doc/texinfo.tex b/doc/texinfo.tex index 2c274a2..a5c849c 100644 --- a/doc/texinfo.tex +++ b/doc/texinfo.tex @@ -460,7 +460,7 @@ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} -% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo @@ -485,7 +485,7 @@ % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. -% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % @@ -542,7 +542,7 @@ % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as enviroments; they don't open a group. (The +% are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) @@ -565,7 +565,7 @@ \fi } -% Evironment mismatch, #1 expected: +% Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, @@ -7317,7 +7317,7 @@ end % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. -% Similarily, if a @footnote appears inside an alignment, save the footnote +% Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. diff --git a/doc/uiserver.texi b/doc/uiserver.texi index f10db01..6938aee 100644 --- a/doc/uiserver.texi +++ b/doc/uiserver.texi @@ -484,7 +484,7 @@ First, the input files need to be specified by one or more @code{FILE} commands. Afterwards, the actual operation is requested: @deffn Command CHECKSUM_CREATE_FILES --nohup -Request that checksums are created for the files specifed by +Request that checksums are created for the files specified by @code{FILE}. The choice of checksum algorithm and the destination storage and format for the created checksums depend on the preferences of the user and the functionality provided by the UI server. For @@ -499,7 +499,7 @@ promptly, and completes the operation asynchronously. @deffn Command CHECKSUM_VERIFY_FILES --nohup -Request that checksums are created for the files specifed by +Request that checksums are created for the files specified by @code{FILE} and verified against previously created and stored checksums. The choice of checksum algorithm and the source storage and format for previously created checksums depend on the preferences diff --git a/lang/cpp/README b/lang/cpp/README index b9a48da..e142e37 100644 --- a/lang/cpp/README +++ b/lang/cpp/README @@ -62,7 +62,7 @@ Example to set the ownertrust of a key: Data data; /* Start the edit on some key previously obtained. */ Error e = ctx->edit(key, std::unique_ptr(ei), data); - /* Errors provide boolean comparision */ + /* Errors provide boolean comparison */ if (!e) ... /* Delete the context */ diff --git a/lang/cpp/src/swdbresult.h b/lang/cpp/src/swdbresult.h index 2e0bf2d..d13b57c 100644 --- a/lang/cpp/src/swdbresult.h +++ b/lang/cpp/src/swdbresult.h @@ -87,7 +87,7 @@ public: /* The time the online info was retrieved. */ unsigned long retrieved() const; - /* This bit is set if an error occured or some of the information + /* This bit is set if an error occurred or some of the information * in this structure may not be set. */ bool warning() const; diff --git a/lang/python/examples/exportimport.py b/lang/python/examples/exportimport.py index 8ae87a8..d84a01c 100755 --- a/lang/python/examples/exportimport.py +++ b/lang/python/examples/exportimport.py @@ -45,7 +45,7 @@ with gpg.Context(armor=True) as c, gpg.Data() as expkey: # of them. with gpg.Context() as c: # Note: We must not modify the key store during iteration, - # therfore, we explicitly make a list. + # therefore, we explicitly make a list. keys = list(c.keylist(user)) for k in keys: diff --git a/lang/qt/README b/lang/qt/README index 6360a5b..4621d28 100644 --- a/lang/qt/README +++ b/lang/qt/README @@ -38,7 +38,7 @@ with QObject::deleteLater so they can be started without result handlers. The result signal provides a tuple of objects with the -appropiate result information for this job. For historic +appropriate result information for this job. For historic reasons each result signal also includes an AuditLog and an AuditLog Error. These are only useful for S/MIME signature validation but are part of other jobs @@ -72,7 +72,7 @@ Async usage: job->start(keys, inptr, outptr, Context::AlwaysTrust); /* Do not delete the job as it is autodeleted. */ -Syncronus usage: +Synchronous usage: /* Create a job */ KeyListJob *listjob = openpgp()->keyListJob(false, false, false); diff --git a/src/debug.c b/src/debug.c index e9bfc40..d7604a7 100644 --- a/src/debug.c +++ b/src/debug.c @@ -222,7 +222,7 @@ debug_init (void) -/* This should be called as soon as the locks are intialized. It is +/* This should be called as soon as the locks are initialized. It is required so that the assuan logging gets conncted to the gpgme log stream as early as possible. */ void diff --git a/src/edit.c b/src/edit.c index 887af73..ca4d595 100644 --- a/src/edit.c +++ b/src/edit.c @@ -194,7 +194,7 @@ gpgme_op_interact (gpgme_ctx_t ctx, gpgme_key_t key, unsigned int flags, -/* The deprectated interface. */ +/* The deprecated interface. */ static gpgme_error_t edit_start (gpgme_ctx_t ctx, int synchronous, int type, gpgme_key_t key, gpgme_edit_cb_t fnc, void *fnc_value, gpgme_data_t out) diff --git a/src/genkey.c b/src/genkey.c index 710b58f..16484ec 100644 --- a/src/genkey.c +++ b/src/genkey.c @@ -650,7 +650,7 @@ gpgme_op_set_uid_flag_start (gpgme_ctx_t ctx, } -/* See set_uid_flag. Thsi is the synchronous variant. */ +/* See set_uid_flag. This is the synchronous variant. */ gpgme_error_t gpgme_op_set_uid_flag (gpgme_ctx_t ctx, gpgme_key_t key, const char *userid, diff --git a/src/parsetlv.h b/src/parsetlv.h index bea03d4..2c04190 100644 --- a/src/parsetlv.h +++ b/src/parsetlv.h @@ -1,4 +1,4 @@ -/* parsetlv.h - TLV functions defintions +/* parsetlv.h - TLV functions definitions * Copyright (C) 2012 g10 Code GmbH * * This file is free software; you can redistribute it and/or modify diff --git a/src/trustlist.c b/src/trustlist.c index c85ef87..d7eb4c6 100644 --- a/src/trustlist.c +++ b/src/trustlist.c @@ -66,7 +66,7 @@ trustlist_status_handler (void *priv, gpgme_status_code_t code, char *args) K for a key The RECNO is either the one of the dir record or the one of the uid record. OT is the the usual trust letter and only availabel on K - lines. VAL is the calcualted validity MC is the marginal trust + lines. VAL is the calculated validity MC is the marginal trust counter and only available on U lines CC is the same for the complete count NAME ist the username and only printed on U lines. */ diff --git a/tests/ChangeLog-2011 b/tests/ChangeLog-2011 index 3ec0fb7..02c6dab 100644 --- a/tests/ChangeLog-2011 +++ b/tests/ChangeLog-2011 @@ -237,7 +237,7 @@ * gpg/t-keylist.c: Reordered list to match new demo keyring. Add arg for number of subkeys and for extra checking function. (main): Enhanced a few error outputs. Changed subkey - counting. Call extra checking fucntion. + counting. Call extra checking function. (check_whisky): New. 2005-10-07 Marcus Brinkmann ----------------------------------------------------------------------- Summary of changes: acinclude.m4 | 2 +- configure.ac | 4 ++-- doc/gpgme.texi | 26 +++++++++++++------------- doc/texinfo.tex | 10 +++++----- doc/uiserver.texi | 4 ++-- lang/cpp/README | 2 +- lang/cpp/src/swdbresult.h | 2 +- lang/python/examples/exportimport.py | 2 +- lang/qt/README | 4 ++-- src/debug.c | 2 +- src/edit.c | 2 +- src/genkey.c | 2 +- src/parsetlv.h | 2 +- src/trustlist.c | 2 +- tests/ChangeLog-2011 | 2 +- 15 files changed, 34 insertions(+), 34 deletions(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 06:49:50 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 06:49:50 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.4-4-g3dedccb Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via 3dedccb4d51397fb73014d17b3699fae78f1df06 (commit) via 73b216ff3108bb40f57765747c829a8a9d354cb5 (commit) via 83896673f9a5747237f5dde5f1251998c85481d0 (commit) from dd57c3dc02d92fd58003febd860e0627bb24f356 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3dedccb4d51397fb73014d17b3699fae78f1df06 Author: Andre Heinecke Date: Fri Dec 8 06:49:30 2017 +0100 Minor cleanup -- diff --git a/src/mail.cpp b/src/mail.cpp index bb3f030..dd58f6d 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -636,7 +636,7 @@ add_attachments(LPDISPATCH mail, } wchar_t* wchar_name = utf8_to_wchar (att->get_display_name().c_str()); HANDLE hFile; - wchar_t* wchar_file = get_tmp_outfile (GpgOLStr (att->get_display_name().c_str()), + wchar_t* wchar_file = get_tmp_outfile (wchar_name, &hFile); if (copy_attachment_to_file (att, hFile)) { @@ -1471,7 +1471,7 @@ Mail::close (Mail *mail) int rc = invoke_oom_method_with_parms (mail->item(), "Close", NULL, &dispparams); - log_oom_extra ("%s:%s: Reurned from close", + log_oom_extra ("%s:%s: Returned from close", SRCNAME, __func__); return rc; } commit 73b216ff3108bb40f57765747c829a8a9d354cb5 Author: Andre Heinecke Date: Fri Dec 8 06:48:48 2017 +0100 Fix minor memleaks * src/mail.cpp (Mail::close_inspector): Release inspector. (Mail::check_attachments): Don't leak DisplayName. diff --git a/src/mail.cpp b/src/mail.cpp index 78acd9c..bb3f030 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -377,7 +377,9 @@ Mail::check_attachments () const (var.vt == VT_BOOL && var.boolVal == VARIANT_FALSE)) { foundOne = true; - message += get_oom_string (oom_attach, "DisplayName"); + char *dispName = get_oom_string (oom_attach, "DisplayName"); + message += dispName ? dispName : "Unknown"; + xfree (dispName); message += "\n"; } VariantClear (&var); @@ -1442,9 +1444,11 @@ Mail::close_inspector (Mail *mail) { log_debug ("%s:%s: Failed to close inspector: %#lx", SRCNAME, __func__, hr); + gpgol_release (inspector); return -1; } } + gpgol_release (inspector); return 0; } commit 83896673f9a5747237f5dde5f1251998c85481d0 Author: Andre Heinecke Date: Fri Dec 8 06:46:54 2017 +0100 Fix handling of attachments without extension * src/common.c (get_tmp_outfile): Handle the case that fileext is NULL. -- This fixes a crash for attachments without a file extension. GnuPG-Bug-ID: T3582 diff --git a/src/common.c b/src/common.c index 98cb264..f2bfc86 100644 --- a/src/common.c +++ b/src/common.c @@ -756,7 +756,6 @@ get_tmp_outfile (wchar_t *name, HANDLE *outHandle) memset (outName, 0, (MAX_PATH + 1) * sizeof (wchar_t)); snwprintf (outName, MAX_PATH, L"%s%s", tmpPath, name); - fileExt = wcschr (wcschr(outName, '\\'), '.'); while ((*outHandle = CreateFileW (outName, GENERIC_WRITE | GENERIC_READ, @@ -773,8 +772,16 @@ get_tmp_outfile (wchar_t *name, HANDLE *outHandle) snwprintf (origName, MAX_PATH, L"%s%s", tmpPath, name); fileExt = wcschr (wcsrchr(origName, '\\'), '.'); - wcsncpy (fnameBuf, origName, fileExt - origName); - snwprintf (outName, MAX_PATH, L"%s%i%s", fnameBuf, tries++, fileExt); + if (fileExt) + { + wcsncpy (fnameBuf, origName, fileExt - origName); + } + else + { + wcsncpy (fnameBuf, origName, wcslen (origName)); + } + snwprintf (outName, MAX_PATH, L"%s%i%s", fnameBuf, tries++, + fileExt ? fileExt : L""); if (tries > 100) { /* You have to know when to give up,.. */ ----------------------------------------------------------------------- Summary of changes: src/common.c | 13 ++++++++++--- src/mail.cpp | 10 +++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 07:44:57 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 08 Dec 2017 07:44:57 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-14-g6391de3 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 6391de3e62a275132664ae96497dd4e47fe9f257 (commit) from 5c121d44443b0a96ec6ea82b90717e3dbafd2cc5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6391de3e62a275132664ae96497dd4e47fe9f257 Author: Werner Koch Date: Fri Dec 8 07:38:18 2017 +0100 doc: Fix Dijkstra -- Edsger Wybe Dijkstra (1930 --2002) - Dutch computer scientist diff --git a/agent/keyformat.txt b/agent/keyformat.txt index 768353f..2e48b34 100644 --- a/agent/keyformat.txt +++ b/agent/keyformat.txt @@ -379,7 +379,7 @@ Example: (protected-shared-secret ((desc "List of system passphrases") (key "uid-1002" ("Knuth" "Donald Ervin Knuth")) - (key "uid-1001" ("Dijkstra" "Edsgar Wybe Dijkstra")) + (key "uid-1001" ("Dijkstra" "Edsger Wybe Dijkstra")) (key) (protected mode (parms) encrypted_octet_string) (protected-at "20100915T111722") @@ -402,7 +402,7 @@ hashed: ((desc "List of system passphrases") (key "uid-1002" ("Knuth" "Donald Ervin Knuth")) - (key "uid-1001" ("Dijkstra" "Edsgar Wybe Dijkstra")) + (key "uid-1001" ("Dijkstra" "Edsger Wybe Dijkstra")) (key) (value 4:1002 "signal flags at the lock") (value 4:1001 "taocp") diff --git a/doc/HACKING b/doc/HACKING index 62a6f95..bd16856 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -224,6 +224,7 @@ Note that such a comment will be removed if the git commit option - CVE-id :: CVE id number pertaining to this commit. - Regression-due-to :: Commit id of the regression fixed by this commit. - Fixes-commit :: Commit id this commit fixes. + - Updates-commit :: Commit id this commit updates. - Reported-by :: Value is a name or mail address of a bug reporte. - Suggested-by :: Value is a name or mail address of someone how suggested this change. ----------------------------------------------------------------------- Summary of changes: agent/keyformat.txt | 4 ++-- doc/HACKING | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 07:47:25 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 07:47:25 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.4-8-g049157a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via 049157abd5e78fde074c096dee4480eef1aa8efa (commit) via 3ed469f39170c8816f2f27d920a842ed9999dfff (commit) via f5242c45c13b2be6fee4a6a4d3671a60f3714423 (commit) via 18555363e32f5c0cd7b6fb168bd1a64de7a2b858 (commit) from 3dedccb4d51397fb73014d17b3699fae78f1df06 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 049157abd5e78fde074c096dee4480eef1aa8efa Author: Andre Heinecke Date: Fri Dec 8 07:43:45 2017 +0100 Post release version bump -- diff --git a/NEWS b/NEWS index 379b251..fa6a50f 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes for version 2.0.6 (unreleased) +================================================= + + Noteworthy changes for version 2.0.5 (2017-12-08) ================================================= diff --git a/configure.ac b/configure.ac index c7fdb14..0e3f02d 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ min_automake_version="1.14" # (git tag -s gpgol-k.n.m) and run "./autogen.sh --force". Please # bump the version number immediately *after* the release and do # another commit and push so that the git magic is able to work. -m4_define([mym4_version], [2.0.5]) +m4_define([mym4_version], [2.0.6]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a commit 3ed469f39170c8816f2f27d920a842ed9999dfff Author: Andre Heinecke Date: Fri Dec 8 06:58:02 2017 +0100 Update news -- diff --git a/NEWS b/NEWS index de22758..379b251 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,11 @@ -Noteworthy changes for version 2.0.5 (unreleased) +Noteworthy changes for version 2.0.5 (2017-12-08) ================================================= + * A crash when receiving crypto mails with attachments without + file extension has been fixed. (T3582). + + * Fixed a cause for potentially undefined behavior when closing. + Noteworthy changes for version 2.0.4 (2017-12-05) ================================================= commit f5242c45c13b2be6fee4a6a4d3671a60f3714423 Author: Andre Heinecke Date: Fri Dec 8 06:56:25 2017 +0100 Update german translation -- diff --git a/po/de.po b/po/de.po index ff19753..5fc7681 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: GpgOL 1.0.0\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" "POT-Creation-Date: 2017-12-08 06:49+0100\n" -"PO-Revision-Date: 2017-07-27 09:18+0100\n" +"PO-Revision-Date: 2017-12-08 06:55+0100\n" "Last-Translator: Andre Heinecke \n" "Language-Team: English \n" "Language: en_US\n" @@ -439,10 +439,15 @@ msgid "" "\n" "See: https://dev.gnupg.org/T3545 for details." msgstr "" +"G Suite Sync bricht ausgehende Krypto Mails mit anh?ngen.\n" +"Die verwendung von Krypto und anh?ngen wird mit G Suite Sync nicht" +" unterst?tzt.\n" +"\n" +"Details siehe: https://dev.gnupg.org/T3545" #: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" +msgstr "GpgOL: Oops, G Suite Sync Konto erkannt" #: src/mail.cpp:1012 msgid "" @@ -451,6 +456,11 @@ msgid "" "\n" "See: https://dev.gnupg.org/T3545 for details." msgstr "" +"G Suite Sync bricht ausgehende, signierte, Mails.\n" +"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht" +" unterst?tzt.\n" +"\n" +"Details siehe: https://dev.gnupg.org/T3545" #: src/mail.cpp:1023 msgid "" @@ -461,6 +471,13 @@ msgid "" "\n" "Do you want to only encrypt the message?" msgstr "" +"G Suite Sync bricht ausgehende, signierte, Mails.\n" +"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht" +" unterst?tzt.\n" +"\n" +"Details siehe: https://dev.gnupg.org/T3545\n" +"\n" +"M?chten Sie die Nachricht nur verschl?sseln?" #: src/mail.cpp:1867 msgid "Security Level 4" @@ -514,7 +531,7 @@ msgstr "" #: src/mail.cpp:1939 msgid "The message was signed but the verification failed with:" -msgstr "" +msgstr "Die Nachricht ist signiert aber die ?berpr?fung schlug fehl mit:" #: src/mail.cpp:1957 msgid "The encryption was VS-NfD-compliant." @@ -745,9 +762,8 @@ msgstr "" "ausgew?hlt ist.\n" #: src/mailitem-events.cpp:380 -#, fuzzy msgid "GpgOL: Encryption not possible!" -msgstr "GpgOL: Verschl?sselte Nachricht" +msgstr "GpgOL: Verschl?sselung nicht m?glich!" #: src/mailitem-events.cpp:382 msgid "" @@ -758,6 +774,12 @@ msgid "" "If it still fails consider using an encrypted attachment or\n" "switching to PGP/Inline in GpgOL's options." msgstr "" +"Outlook meldete einen Fehler beim senden der Mail.\n" +"\n" +"Bitte starten Sie Outlook neu und versuchen Sie es erneut.\n" +"\n" +"Wenn es weiterhin fehlschl?gt k?nnten Sie ihre daten gegebenenfalls \n" +"als verschl?sselten Anhang anh?ngen." #: src/main.c:466 #, c-format commit 18555363e32f5c0cd7b6fb168bd1a64de7a2b858 Author: Andre Heinecke Date: Fri Dec 8 06:49:55 2017 +0100 Auto update po files -- diff --git a/po/de.po b/po/de.po index 4ff1451..ff19753 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL 1.0.0\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2017-07-27 09:18+0100\n" "Last-Translator: Andre Heinecke \n" "Language-Team: English \n" @@ -86,7 +86,7 @@ msgstr "Die Benutzeroberfl?che zu ?ndern erfordert einen Neustart von Outlook" #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "GpgOL" @@ -174,11 +174,11 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "M?chten Sie diesen Ordner von GpgOL befreien?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 msgid "GpgOL: Encrypted Message" msgstr "GpgOL: Verschl?sselte Nachricht" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "GpgOL: Vertraute Absenderadresse" @@ -382,7 +382,7 @@ msgstr "" "Dies ist eine verschl?sselte Nachricht.\n" "Klicken Sie hier um weitere Informationen zu erhalten. " -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" @@ -392,7 +392,7 @@ msgstr "" "Die unsignierten / unverschl?sselten Anh?nge sind:\n" "\n" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" @@ -402,7 +402,7 @@ msgstr "" "Die unsignierten Anh?nge sind:\n" "\n" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" @@ -412,7 +412,7 @@ msgstr "" "Die unverschl?sselten Anh?nge sind:\n" "\n" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." @@ -420,101 +420,135 @@ msgstr "" "Note: Die Anh?nge k?nnten auf Dateiebene verschl?sselt oder singiert sein, " "aber GpgOL kann deren Kryptostatus nicht anzeigen." -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "GpgOL Warnung" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 msgid "Encrypted message" msgstr "Verschl?sselte Nachricht" -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "Bitte warten Sie w?hrend die Nachricht entschl?sselt / gepr?ft wird..." -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "Sicherheit Stufe 4" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "Vertrauen Stufe 4" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "Sicherheit Stufe 3" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "Vertrauen Stufe 3" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "Sicherheit Stufe 2" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "Vertrauen Stufe 2" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 msgid "Encrypted" msgstr "Verschl?sselt" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "Unsicher" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 msgid "Signed and encrypted message" msgstr "Signierte und verschl?sselte Nachricht" -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 msgid "Signed message" msgstr "Signierte Nachricht" -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 msgid "Insecure message" msgstr "Unsichere Nachricht" -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" "Sie k?nnen nicht sicher sein wer die Nachricht gesendet, modifiziert oder " "w?hrend der ?bertragung gelesen hat." -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 msgid "The encryption was VS-NfD-compliant." msgstr "Diese Verschl?sselung war VS-NfD-konform." -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 msgid "The encryption was not VS-NfD-compliant." msgstr "Diese Verschl?sselung war nicht VS-NfD-konform." -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" "Aber Sie k?nnen nicht sicher sein wer der Absender der Nachricht ist da " "diese nicht signiert wurde. " -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 msgid "You signed this message." msgstr "Sie haben diese Nachricht signiert." -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "Die Idenit?t des Absenders wurde von ihnen selbst beglaubigt." -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "Der Absender ist berechtigt f?r Sie Identit?ten zu beglaubigen." -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" "Die Identit?t des Absenders wurde von mehreren vertrauensw?rdigen Personen " "beglaubigt." -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" @@ -523,12 +557,12 @@ msgstr "" "Die Idenit?t des Absenders wurde best?tigt von:\n" "'%s'\n" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "" "Einige vertrauensw?rde Personen haben die Identit?t des Absenders beglaubigt." -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -540,11 +574,11 @@ msgstr "" "Seit %s haben Sie %i Nachrichten an diesen Absender verschl?sselt und %i " "Signaturen gepr?ft." -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "The Signatur des Absenders wurde das erste mal verifiziert." -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " @@ -554,70 +588,70 @@ msgstr "" "Nachrichten von diesem absender verifziert und %i Nachrichten verschl?ssel " "haben. Seit dem %s." -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "Aber die Absenderadresse ist nicht vertrauensw?rdig da:" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "Die Absenderadresse ist nicht vertrauensw?rdig da:" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 msgid "The signature is invalid: \n" msgstr "Die Signatur ist ung?ltig: \n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "Beim ?berpr?fen der Signatur ist ein Fehler aufgetreten.\n" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 msgid "The signature is expired.\n" msgstr "Die Signatur ist abgelaufen.\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "Der verwendete Schl?ssel" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used certificate" msgstr "Das verwendete Zertifikat" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 msgid "is not available." msgstr "ist nicht verf?gbar." -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "wurde zur?ckgezogen." -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "ist veraltet. " -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "ist nicht zum signieren vorgesehen. " -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "wurde m?glicherweise zur?ckgezogen." -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "" "ist nicht der gleiche Schl?ssel der in der vergangenheit f?r diese Adresse " "verwendet wurde." -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "passt nicht zu der mailaddresse: \"%s\". " -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "wurde von keinem vertrauensw?rdigen Schl?ssel beglaubigt." -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." @@ -625,49 +659,49 @@ msgstr "" "wurde von keiner vertrauensw?rdigen Zertifizierungsstelle beglaubigt oder " "die Zertifizierungsstelle ist unbekannt." -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "Der Absender hat diese Adresse zur?ckgezogen." -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "ist als nicht vertrauensw?rdig markiert." -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 msgid "The signature is VS-NfD-compliant." msgstr "Die Signatur ist VS-NfD-konform." -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 msgid "The signature is not VS-NfD-compliant." msgstr "Die Signatur ist nicht VS-NfD-konform." -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 msgid "The encryption is VS-NfD-compliant." msgstr "Diese Verschl?sselung ist VS-NfD-konform." -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 msgid "The encryption is not VS-NfD-compliant." msgstr "Diese Verschl?sselung ist nicht VS-NfD-konform." -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "Klicken Sie hier um den Schl?ssel f?r diese Adresse zu ?ndern." -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "Klicken Sie hier f?r Details zu dem Schl?ssel" -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "Klicken Sie hier f?r Details zu dem Zertifiakt." -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "" "Klicken Sie hier um den Schl?ssel auf dem konfigurierten Schl?sselserver zu " "suchen. " -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" "Klicken Sie hier um das Zertifikat auf dem konfigurierten X509 " @@ -684,11 +718,11 @@ msgstr "" "Sie sicher, da? lediglich das Text Format ausgew?hlt wurde.\n" "(In der Men?leiste: \"Format\" => \"Nur Text\")" -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "Sorry, dies ist leider noch nicht m?glich" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -710,12 +744,12 @@ msgstr "" "Beispielsweise durch einen Rechtsklick auf die Nachricht wenn diese nicht " "ausgew?hlt ist.\n" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "GpgOL: Verschl?sselte Nachricht" -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -730,11 +764,11 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "Notiz: Diese Kompatibilit?tsflags werden verwendet: %s" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "[Kein Betreff]" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " @@ -744,7 +778,7 @@ msgstr "" "Outlook Sitzung entschl?sselt wurde. Verwenden Sie den Men?punkt " "\"entschl?sseln/?berpr?fen\" um den Inhalt wieder sichtbar zu machen.]" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -1035,11 +1069,11 @@ msgstr "Signierter Text" msgid "Select file to encrypt" msgstr "Ausw?hlen der zu verschl?sselnden Datei" -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 msgid "No message selected" msgstr "Keine Nachricht ausgew?hlt" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -1050,7 +1084,7 @@ msgstr "" "Es gibt keine zus?tzliche Information dar?ber ob sie wirklich von '%s' " "gesendet wurde oder ob jemand die Absenderadresse vort?uscht." -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." diff --git a/po/fr.po b/po/fr.po index 522e939..6fa15f4 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2015-10-01 17:05+0200\n" "Last-Translator: Olivier Serve \n" "Language-Team: French \n" @@ -84,7 +84,7 @@ msgstr "" #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "GpgOL" @@ -171,12 +171,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "Voulez-vous r?cup?rer ce dossier ?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "D?chiffrer le message" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -377,141 +377,175 @@ msgstr "" "Ceci est un message chiffr?.\n" "Veuillez le s?lectionner pour plus d'informations." -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 #, fuzzy msgid "Encrypted message" msgstr "D?chiffrer le message" -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 #, fuzzy msgid "Encrypted" msgstr "Chiffrer" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 #, fuzzy msgid "Signed and encrypted message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 #, fuzzy msgid "Signed message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 #, fuzzy msgid "You signed this message." msgstr "D?chiffrer le message" -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -519,133 +553,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 #, fuzzy msgid "The signature is invalid: \n" msgstr "Cette signature est valide\n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 #, fuzzy msgid "The signature is expired.\n" msgstr "Cette signature est valide\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 #, fuzzy msgid "The used certificate" msgstr "Erreur de v?rification" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 #, fuzzy msgid "is not available." msgstr "La liste de r?vocation (CRL) n'est pas disponible\n" -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "" -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "" -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" @@ -659,11 +693,11 @@ msgstr "" "et non des messages RTF. Merci de v?rifier que seul le format texte\n" "a ?t? s?lectionn?." -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -675,12 +709,12 @@ msgid "" "For example by right clicking but not selecting the message.\n" msgstr "" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "D?chiffrer le message" -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -695,11 +729,11 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "Note?: Utilisation de marqueurs de compatibilit??: %s" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "[pas de sujet]" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " @@ -709,7 +743,7 @@ msgstr "" "autre session Outlook. Utiliser la commande \"d?chiffrer/v?rifier\" afin de " "le rendre visible]" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -966,12 +1000,12 @@ msgstr "Texte sign?" msgid "Select file to encrypt" msgstr "S?lectionner le fichier ? chiffrer" -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 #, fuzzy msgid "No message selected" msgstr "Ce message n'est pas chiffr?" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -979,7 +1013,7 @@ msgid "" "or if someone faked the sender address." msgstr "" -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." diff --git a/po/pt.po b/po/pt.po index 273a387..ce714ac 100644 --- a/po/pt.po +++ b/po/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL 1.1.1\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2017-10-16 14:17+0100\n" "Last-Translator: Marco A.G.Pinto \n" "Language-Team: Portuguese \n" @@ -87,7 +87,7 @@ msgstr "Mudar a interface necessita reiniciar o Outlook." #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "GpgOL" @@ -174,11 +174,11 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "Queres reverter esta pasta?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 msgid "GpgOL: Encrypted Message" msgstr "GpgOL: Mensagem Encriptada" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "GpgOL: Endere?o de Remetente Confi?vel" @@ -382,7 +382,7 @@ msgstr "" "Esta ? uma mensagem encriptada.\n" "Clica para mais informa??o. " -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" @@ -392,7 +392,7 @@ msgstr "" "Os anexos n?o-assinados / n?o-encriptados s?o:\n" "\n" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" @@ -402,7 +402,7 @@ msgstr "" "Os anexos n?o-assinados s?o:\n" "\n" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" @@ -412,7 +412,7 @@ msgstr "" "Os anexos n?o-encriptados s?o:\n" "\n" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." @@ -420,101 +420,135 @@ msgstr "" "Nota: Os anexos podem ser encriptados ou assinados ao n?vel de ficheiro, mas " "o status do GpgOL n?o se aplica a eles." -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "Aviso do GpgOL" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 msgid "Encrypted message" msgstr "Mensagem encriptada" -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "" "Por favor aguarda enquanto a mensagem est? a ser desencriptada / " "verificada..." -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "N?vel de seguran?a 4" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "N?vel de Confian?a 4" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "N?vel de Seguran?a 3" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "N?vel de Confian?a 3" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "N?vel de Seguran?a 2" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "N?vel de Confian?a 2" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 msgid "Encrypted" msgstr "Encriptada" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "Insegura" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 msgid "Signed and encrypted message" msgstr "Mensagem assinada e encriptada" -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 msgid "Signed message" msgstr "Mensagem assinada" -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 msgid "Insecure message" msgstr "Mensagem insegura" -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" "N?o podes ter a certeza de quem enviou, modificou e leu a mensagem em " "tr?nsito." -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 msgid "The encryption was VS-NfD-compliant." msgstr "A encripta??o est? em conformidade com VS-NfD." -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 msgid "The encryption was not VS-NfD-compliant." msgstr "A encripta??o n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" "N?o podes ter certeza de quem enviou a mensagem, porque n?o est? assinada." -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 msgid "You signed this message." msgstr "Assinaste esta mensagem." -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "A identidade dos remetentes foi certificada por ti pr?prio." -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "O remetente pode certificar identidades para ti." -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" "A identidade dos remetentes foi certificada por v?rias pessoas confi?veis." -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" @@ -523,11 +557,11 @@ msgstr "" "A identidade dos remetentes ? certificada pelo emissor confi?vel:\n" "'%s'\n" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "Algumas pessoas confi?veis certificaram a identidade dos remetentes." -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -538,11 +572,11 @@ msgstr "" "comunica??o com este endere?o desde %s.\n" "Encriptaste %i e verificaste %i mensagens desde ent?o." -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "A assinatura dos remetentes foi verificada pela primeira vez." -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " @@ -551,68 +585,68 @@ msgstr "" "O endere?o dos remetentes ainda n?o ? confi?vel porque apenas verificaste %i " "mensagens e encriptaste %i mensagens a eles desde %s." -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "Mas o endere?o do remetente n?o ? confi?vel porque:" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "O endere?o do remetente n?o ? confi?vel porque:" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 msgid "The signature is invalid: \n" msgstr "A assinatura ? inv?lida: \n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "Houve um erro ao verificar a assinatura.\n" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 msgid "The signature is expired.\n" msgstr "A assinatura expirou.\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "A chave usada" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used certificate" msgstr "O certificado usado" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 msgid "is not available." msgstr "n?o est? dispon?vel." -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "est? revogado." -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "expirou." -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "n?o ? destinado a assinar." -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "n?o pode ser verificado para revoga??o." -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "n?o ? o mesmo que a chave usada para este endere?o no passado." -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "n?o reivindica o endere?o: \"%s\"." -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "n?o est? certificado por qualquer chave confi?vel." -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." @@ -620,47 +654,47 @@ msgstr "" "n?o est? certificado por uma Autoridade de Certifica??o confi?vel ou a " "Autoridade de Certifica??o ? desconhecida." -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "O remetente marcou este endere?o como revogado." -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "est? marcado como n?o confi?vel." -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 msgid "The signature is VS-NfD-compliant." msgstr "A assinatura est? em conformidade com VS-NfD." -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 msgid "The signature is not VS-NfD-compliant." msgstr "A assinatura n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 msgid "The encryption is VS-NfD-compliant." msgstr "A encripta??o est? em conformidade com VS-NfD." -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 msgid "The encryption is not VS-NfD-compliant." msgstr "A encripta??o n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "Clica aqui para alterar a chave usada para este endere?o." -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "Clica aqui para obter detalhes sobre a chave." -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "Clica aqui para obter detalhes sobre o certificado." -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "Clica aqui para localizar a chave no servidor de chaves configurado." -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" "Clica aqui para localizar o certificado no servidor de chaves X509 " @@ -676,11 +710,11 @@ msgstr "" "n?o mensagens RTF. Por favor certifica-te que apenas o formato\n" "de texto foi selecionado." -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "Desculpa, isso n?o ? poss?vel, ainda" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -702,12 +736,12 @@ msgstr "" "Por exemplo, ao clicar com o bot?o direito do rato, mas n?o selecionar a " "mensagem.\n" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "GpgOL: Mensagem Encriptada" -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -722,11 +756,11 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "Nota: A usar sinalizadores de compatibilidade: %s" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "[sem assunto]" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " @@ -736,7 +770,7 @@ msgstr "" "sess?o do Outlook. Usa o comando \"desencriptar/verificar\" para torn?-lo " "vis?vel]" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -1016,11 +1050,11 @@ msgstr "Texto assinado" msgid "Select file to encrypt" msgstr "Seleciona o ficheiro a encriptar" -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 msgid "No message selected" msgstr "Nenhuma mensagem selecionada" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -1031,7 +1065,7 @@ msgstr "" "N?o h? nenhuma informa??o adicional dispon?vel se ela realmente foi enviada " "por '%s' ou se algu?m falsificou o endere?o do remetente." -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." diff --git a/po/sv.po b/po/sv.po index 9638b8a..cc0bf31 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GPGol\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2006-12-12 23:52+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -84,7 +84,7 @@ msgstr "" #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "" @@ -163,12 +163,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "Dekryptera och validera meddelandet." -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -366,141 +366,175 @@ msgid "" "Click for more information. " msgstr "" -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 #, fuzzy msgid "Encrypted message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 #, fuzzy msgid "Encrypted" msgstr "Kryptering" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 #, fuzzy msgid "Signed and encrypted message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 #, fuzzy msgid "Signed message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 #, fuzzy msgid "You signed this message." msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -508,133 +542,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 #, fuzzy msgid "The signature is invalid: \n" msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 #, fuzzy msgid "The signature is expired.\n" msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 #, fuzzy msgid "The used certificate" msgstr "Validering" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 #, fuzzy msgid "is not available." msgstr "Sp?rrlistan ?r inte tillg?nglig\n" -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "" -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "" -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" @@ -649,11 +683,11 @@ msgstr "" "och inte RTF-meddelanden. Se till att endast textformatet\n" "har valts i inst?llningarna." -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -665,12 +699,12 @@ msgid "" "For example by right clicking but not selecting the message.\n" msgstr "" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "Dekryptera och validera meddelandet." -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -685,18 +719,18 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " "visible]" msgstr "" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -926,11 +960,11 @@ msgstr "" msgid "Select file to encrypt" msgstr "V?lj ?tminstone en mottagarnyckel." -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 msgid "No message selected" msgstr "" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -938,7 +972,7 @@ msgid "" "or if someone faked the sender address." msgstr "" -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." diff --git a/po/zh_CN.po b/po/zh_CN.po index 4da861e..df91d3b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2015-08-15 21:58+0800\n" "Last-Translator: Mingye Wang (Arthur2e5) \n" "Language-Team: \n" @@ -85,7 +85,7 @@ msgstr "" #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "GpgOL" @@ -167,12 +167,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "????????????" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "????" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -365,141 +365,175 @@ msgstr "" "???????\n" "???????????" -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 #, fuzzy msgid "Encrypted message" msgstr "????" -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 #, fuzzy msgid "Encrypted" msgstr "??" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 #, fuzzy msgid "Signed and encrypted message" msgstr "????" -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 #, fuzzy msgid "Signed message" msgstr "????" -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "????" -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 #, fuzzy msgid "You signed this message." msgstr "????" -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -507,133 +541,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 #, fuzzy msgid "The signature is invalid: \n" msgstr "????\n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 #, fuzzy msgid "The signature is expired.\n" msgstr "????\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 #, fuzzy msgid "The used certificate" msgstr "????" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 #, fuzzy msgid "is not available." msgstr "???????CRL????\n" -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "" -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "" -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" @@ -647,11 +681,11 @@ msgstr "" "?????????????????\n" "????" -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -663,12 +697,12 @@ msgid "" "For example by right clicking but not selecting the message.\n" msgstr "" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "????" -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -683,11 +717,11 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "???????????%s" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "[???]" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " @@ -696,7 +730,7 @@ msgstr "" "[???????????????? Outlook ?????????/????????" "?]" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -951,12 +985,12 @@ msgstr "??????" msgid "Select file to encrypt" msgstr "????????" -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 #, fuzzy msgid "No message selected" msgstr "????????" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -964,7 +998,7 @@ msgid "" "or if someone faked the sender address." msgstr "" -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." diff --git a/po/zh_TW.po b/po/zh_TW.po index f153b3a..6edd31c 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-11-20 09:10+0100\n" +"POT-Creation-Date: 2017-12-08 06:49+0100\n" "PO-Revision-Date: 2015-08-15 21:58+0800\n" "Last-Translator: Mingye Wang (Arthur2e5) \n" "Language-Team: \n" @@ -85,7 +85,7 @@ msgstr "" #: src/ribbon-callbacks.cpp:736 src/ribbon-callbacks.cpp:796 #: src/ribbon-callbacks.cpp:1078 src/ribbon-callbacks.cpp:1112 #: src/ribbon-callbacks.cpp:1124 src/ribbon-callbacks.cpp:1149 -#: src/ribbon-callbacks.cpp:1668 src/ribbon-callbacks.cpp:1718 +#: src/ribbon-callbacks.cpp:1691 src/ribbon-callbacks.cpp:1741 msgid "GpgOL" msgstr "GpgOL" @@ -167,12 +167,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "????????????" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1446 src/mail.cpp:1517 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "????" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1447 src/mail.cpp:1518 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -365,141 +365,175 @@ msgstr "" "???????\n" "???????????" -#: src/mail.cpp:338 +#: src/mail.cpp:342 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:343 +#: src/mail.cpp:347 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:348 +#: src/mail.cpp:352 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:386 +#: src/mail.cpp:392 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:389 +#: src/mail.cpp:395 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:710 src/mail.cpp:1761 +#: src/mail.cpp:751 src/mail.cpp:1922 #, fuzzy msgid "Encrypted message" msgstr "????" -#: src/mail.cpp:711 +#: src/mail.cpp:752 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1706 +#: src/mail.cpp:1001 +msgid "" +"G Suite Sync breaks outgoing crypto mails with attachments.\n" +"Using crypto and attachments with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1012 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details." +msgstr "" + +#: src/mail.cpp:1023 +msgid "" +"G Suite Sync breaks outgoing signed mails.\n" +"Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" +"\n" +"See: https://dev.gnupg.org/T3545 for details.\n" +"\n" +"Do you want to only encrypt the message?" +msgstr "" + +#: src/mail.cpp:1867 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1710 +#: src/mail.cpp:1871 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1714 +#: src/mail.cpp:1875 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1718 +#: src/mail.cpp:1879 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1722 +#: src/mail.cpp:1883 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1726 +#: src/mail.cpp:1887 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1730 +#: src/mail.cpp:1891 #, fuzzy msgid "Encrypted" msgstr "??" -#: src/mail.cpp:1739 src/mail.cpp:1741 src/ribbon-callbacks.cpp:1581 +#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1753 +#: src/mail.cpp:1914 #, fuzzy msgid "Signed and encrypted message" msgstr "????" -#: src/mail.cpp:1757 +#: src/mail.cpp:1918 #, fuzzy msgid "Signed message" msgstr "????" -#: src/mail.cpp:1764 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "????" -#: src/mail.cpp:1774 +#: src/mail.cpp:1936 src/mail.cpp:1947 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1783 +#: src/mail.cpp:1939 +msgid "The message was signed but the verification failed with:" +msgstr "" + +#: src/mail.cpp:1957 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1787 +#: src/mail.cpp:1961 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1791 +#: src/mail.cpp:1965 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1814 +#: src/mail.cpp:1988 #, fuzzy msgid "You signed this message." msgstr "????" -#: src/mail.cpp:1818 +#: src/mail.cpp:1992 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1822 +#: src/mail.cpp:1996 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:1835 +#: src/mail.cpp:2009 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:1840 +#: src/mail.cpp:2014 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:1848 +#: src/mail.cpp:2022 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:1858 +#: src/mail.cpp:2032 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -507,133 +541,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:1874 +#: src/mail.cpp:2048 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:1881 +#: src/mail.cpp:2055 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:1895 +#: src/mail.cpp:2069 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1896 +#: src/mail.cpp:2070 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:1904 +#: src/mail.cpp:2078 #, fuzzy msgid "The signature is invalid: \n" msgstr "????\n" -#: src/mail.cpp:1909 +#: src/mail.cpp:2083 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:1913 +#: src/mail.cpp:2087 #, fuzzy msgid "The signature is expired.\n" msgstr "????\n" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 msgid "The used key" msgstr "" -#: src/mail.cpp:1917 +#: src/mail.cpp:2091 #, fuzzy msgid "The used certificate" msgstr "????" -#: src/mail.cpp:1925 +#: src/mail.cpp:2099 #, fuzzy msgid "is not available." msgstr "???????CRL????\n" -#: src/mail.cpp:1929 +#: src/mail.cpp:2103 msgid "is revoked." msgstr "" -#: src/mail.cpp:1933 +#: src/mail.cpp:2107 msgid "is expired." msgstr "" -#: src/mail.cpp:1937 +#: src/mail.cpp:2111 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:1941 src/mail.cpp:1945 +#: src/mail.cpp:2115 src/mail.cpp:2119 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:1950 +#: src/mail.cpp:2124 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:1956 +#: src/mail.cpp:2130 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:1969 +#: src/mail.cpp:2143 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:1973 +#: src/mail.cpp:2147 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:1978 +#: src/mail.cpp:2152 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:1982 +#: src/mail.cpp:2156 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:1992 +#: src/mail.cpp:2166 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1996 +#: src/mail.cpp:2170 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2004 +#: src/mail.cpp:2178 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2008 +#: src/mail.cpp:2182 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2019 +#: src/mail.cpp:2193 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2023 +#: src/mail.cpp:2197 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2024 +#: src/mail.cpp:2198 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2028 +#: src/mail.cpp:2202 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2029 +#: src/mail.cpp:2203 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" @@ -647,11 +681,11 @@ msgstr "" "?????????????????\n" "????" -#: src/mailitem-events.cpp:305 +#: src/mailitem-events.cpp:292 msgid "Sorry, that's not possible, yet" msgstr "" -#: src/mailitem-events.cpp:307 +#: src/mailitem-events.cpp:294 #, c-format msgid "" "GpgOL has prevented the change to the \"%s\" property.\n" @@ -663,12 +697,12 @@ msgid "" "For example by right clicking but not selecting the message.\n" msgstr "" -#: src/mailitem-events.cpp:393 +#: src/mailitem-events.cpp:380 #, fuzzy msgid "GpgOL: Encryption not possible!" msgstr "????" -#: src/mailitem-events.cpp:395 +#: src/mailitem-events.cpp:382 msgid "" "Outlook returned an error when trying to send the encrypted mail.\n" "\n" @@ -683,11 +717,11 @@ msgstr "" msgid "Note: Using compatibility flags: %s" msgstr "???????????%s" -#: src/mapihelp.cpp:1713 src/mapihelp.cpp:1721 src/mapihelp.cpp:1729 +#: src/mapihelp.cpp:1786 src/mapihelp.cpp:1794 src/mapihelp.cpp:1802 msgid "[no subject]" msgstr "[???]" -#: src/mapihelp.cpp:2378 +#: src/mapihelp.cpp:2427 msgid "" "[The content of this message is not visible because it has been decrypted by " "another Outlook session. Use the \"decrypt/verify\" command to make it " @@ -696,7 +730,7 @@ msgstr "" "[???????????????? Outlook ?????????/????????" "?]" -#: src/mapihelp.cpp:3273 +#: src/mapihelp.cpp:3310 msgid "" "[The content of this message is not visible due to an processing error in " "GpgOL.]" @@ -953,12 +987,12 @@ msgstr "??????" msgid "Select file to encrypt" msgstr "????????" -#: src/ribbon-callbacks.cpp:1608 +#: src/ribbon-callbacks.cpp:1631 #, fuzzy msgid "No message selected" msgstr "????????" -#: src/ribbon-callbacks.cpp:1665 +#: src/ribbon-callbacks.cpp:1688 #, c-format msgid "" "The message was not cryptographically signed.\n" @@ -966,7 +1000,7 @@ msgid "" "or if someone faked the sender address." msgstr "" -#: src/ribbon-callbacks.cpp:1716 +#: src/ribbon-callbacks.cpp:1739 msgid "" "Could not find Kleopatra.\n" "Please reinstall Gpg4win with the Kleopatra component enabled." ----------------------------------------------------------------------- Summary of changes: NEWS | 11 +++- configure.ac | 2 +- po/de.po | 206 +++++++++++++++++++++++++++++++++++++---------------------- po/fr.po | 178 ++++++++++++++++++++++++++++++--------------------- po/pt.po | 178 ++++++++++++++++++++++++++++++--------------------- po/sv.po | 178 ++++++++++++++++++++++++++++++--------------------- po/zh_CN.po | 178 ++++++++++++++++++++++++++++++--------------------- po/zh_TW.po | 178 ++++++++++++++++++++++++++++++--------------------- 8 files changed, 672 insertions(+), 437 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 07:48:45 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 07:48:45 +0100 Subject: [git] gnupg-doc - branch, master, updated. e441c90115efb68cfe700c0d8df27e564dfbfe8a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via e441c90115efb68cfe700c0d8df27e564dfbfe8a (commit) from f11aebe3711ff9833847d5875a36091475d39917 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e441c90115efb68cfe700c0d8df27e564dfbfe8a Author: Andre Heinecke Date: Fri Dec 8 07:48:17 2017 +0100 swdb: new gpgol release diff --git a/web/swdb.mac b/web/swdb.mac index 79b3852..ebd7211 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -198,11 +198,11 @@ # # GpgOL # -#+macro: gpgol_ver 1.4.0 -#+macro: gpgol_date 2016-03-30 -#+macro: gpgol_size 648k -#+macro: gpgol_sha1 3cbe4a1dc0b9897353d8352a4b5afa3ecf3094f4 -#+macro: gpgol_sha2 abebb06bcf64c11854b110830b148eada7e7d9046e565c407d7957594f09800f +#+macro: gpgol_ver 2.0.5 +#+macro: gpgol_date 2017-12-08 +#+macro: gpgol_size 750k +#+macro: gpgol_sha1 2f7eb7453ad5c6e811823be5348eec4c78f97695 +#+macro: gpgol_sha2 8fa5d4d13edfb344ec75a0e9dce3e633e6ce81e92cd388b73e2d34a14c78d46e # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 08:20:54 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 08 Dec 2017 08:20:54 +0100 Subject: [git] GCRYPT - branch, master, updated. libgcrypt-1.8.1-26-gd2feba8 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU crypto library". The branch, master has been updated via d2feba84e1727185d2a518c34fb9f6ea9dbba1e8 (commit) from 2ad912d5b7794fb32192fddab1b559c7b86303a2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d2feba84e1727185d2a518c34fb9f6ea9dbba1e8 Author: Werner Koch Date: Fri Dec 8 08:15:42 2017 +0100 tests: Add another test case to keygrip.c -- This is mainly to answer a question on the ML. diff --git a/tests/keygrip.c b/tests/keygrip.c index f775f7a..73a6f81 100644 --- a/tests/keygrip.c +++ b/tests/keygrip.c @@ -189,6 +189,26 @@ static struct " ))", "\x9D\xB6\xC6\x4A\x38\x83\x0F\x49\x60\x70" "\x17\x89\x47\x55\x20\xBE\x8C\x82\x1F\x47" + }, + { /* Random key */ + GCRY_PK_RSA, + "(shadowed-private-key" + " (rsa" + " (n #00B493C79928398DA9D99AC0E949FE6EB62F683CB974FFFBFBC01066F5C9A89B" + " D3DC48EAD7C65F36EA943C2B2C865C26C4884FF9EDFDA8C99C855B737D77EEF6" + " B85DBC0CCEC0E900C1F89A6893A2A93E8B31028469B6927CEB2F08687E547C68" + " 6B0A2F7E50A194FF7AB7637E03DE0912EF7F6E5F1EC37625BD1620CCC2E7A564" + " 31E168CDAFBD1D9E61AE47A69A6FA03EF22F844528A710B2392F262B95A3078C" + " F321DC8325F92A5691EF69F34FD0DE0B22C79D29DC87723FCADE463829E8E5F7" + " D196D73D6C9C180F6A6A0DDBF7B9D8F7FA293C36163B12199EF6A1A95CAE4051" + " E3069C522CC6C4A7110F663A5DAD20F66C13A1674D050088208FAE4F33B3AB51" + " 03#)" + " (e #00010001#)" + " (shadowed t1-v1" + " (#D2760001240102000005000123350000# OPENPGP.1)" + ")))", + "\xE5\x6E\xE6\xEE\x5A\x2F\xDC\x3E\x98\x9D" + "\xFE\x49\xDA\xF5\x67\x43\xE3\x27\x28\x33" } }; @@ -217,6 +237,9 @@ check (void) if (err) die ("scanning data %d failed: %s\n", i, gpg_strerror (err)); + if (debug) + info ("check(%d): s-exp='%s'\n", i, key_grips[i].key); + for (repn=0; repn < repetitions; repn++) { ret = gcry_pk_get_keygrip (sexp, buf); @@ -228,6 +251,8 @@ check (void) print_hex ("keygrip: ", buf, sizeof buf); die ("keygrip for %d does not match\n", i); } + else if (debug && !repn) + print_hex ("keygrip: ", buf, sizeof buf); } gcry_sexp_release (sexp); ----------------------------------------------------------------------- Summary of changes: tests/keygrip.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) hooks/post-receive -- The GNU crypto library http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 10:26:16 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 10:26:16 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.5-3-gc574893 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via c574893790b041dca19b8fe6fd45fe10b0b8b58e (commit) via 096a92f2c6c308edb21ad4ab072c1fc3a460ba66 (commit) from 049157abd5e78fde074c096dee4480eef1aa8efa (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c574893790b041dca19b8fe6fd45fe10b0b8b58e Author: Andre Heinecke Date: Fri Dec 8 10:21:35 2017 +0100 Fix g sync account warning * src/mail.cpp (Mail::encrypt_sign): Handle encoding (Mail::Mail): Initialize check correctly. diff --git a/src/mail.cpp b/src/mail.cpp index dd58f6d..be7be31 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -130,7 +130,9 @@ Mail::Mail (LPDISPATCH mailitem) : m_needs_encrypt(false), m_moss_position(0), m_crypto_flags(0), - m_type(MSGTYPE_UNKNOWN) + m_type(MSGTYPE_UNKNOWN), + m_do_inline(false), + m_is_gsuite(false) { if (get_mail_for_item (mailitem)) { @@ -995,46 +997,63 @@ Mail::encrypt_sign () int n_att_usable = count_usable_attachments (att_table); mapi_release_attach_table (att_table); /* Check for attachments if we have some abort. */ + + wchar_t *w_title = utf8_to_wchar (_( + "GpgOL: Oops, G Suite Sync account detected")); if (n_att_usable) { - MessageBox (window, + wchar_t *msg = utf8_to_wchar ( _("G Suite Sync breaks outgoing crypto mails " "with attachments.\nUsing crypto and attachments " "with G Suite Sync is not supported.\n\n" - "See: https://dev.gnupg.org/T3545 for details."), - _("GpgOL: Oops, G Suite Sync account detected"), - MB_ICONINFORMATION|MB_OK); + "See: https://dev.gnupg.org/T3545 for details.")); + MessageBoxW (window, + msg, + w_title, + MB_ICONINFORMATION|MB_OK); + xfree (msg); + xfree (w_title); return -1; } if (flags == 2) { - MessageBox (window, - _("G Suite Sync breaks outgoing signed mails.\n" + wchar_t *msg = utf8_to_wchar ( + _("G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync " "is not supported.\n\n" - "See: https://dev.gnupg.org/T3545 for details."), - _("GpgOL: Oops, G Suite Sync account detected"), - MB_ICONINFORMATION|MB_OK); + "See: https://dev.gnupg.org/T3545 for details.")); + MessageBoxW (window, + msg, + w_title, + MB_ICONINFORMATION|MB_OK); + xfree (msg); + xfree (w_title); return -1; } if (flags == 3) { - if(MessageBox (window, + wchar_t *msg = utf8_to_wchar ( _("G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync " "is not supported.\n\n" "See: https://dev.gnupg.org/T3545 for details.\n\n" - "Do you want to only encrypt the message?"), - _("GpgOL: Oops, G Suite Sync account detected"), - MB_ICONINFORMATION|MB_YESNO) != IDYES) + "Do you want to only encrypt the message?")); + if(MessageBoxW (window, + msg, + w_title, + MB_ICONINFORMATION|MB_YESNO) != IDYES) { + xfree (msg); + xfree (w_title); return -1; } else { flags = 1; } + xfree (msg); } + xfree (w_title); } m_do_inline = m_is_gsuite ? true : opt.inline_pgp; commit 096a92f2c6c308edb21ad4ab072c1fc3a460ba66 Author: Andre Heinecke Date: Fri Dec 8 10:21:26 2017 +0100 Auto update po files -- diff --git a/po/de.po b/po/de.po index 5fc7681..4ca6b60 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL 1.0.0\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2017-12-08 06:55+0100\n" "Last-Translator: Andre Heinecke \n" "Language-Team: English \n" @@ -174,11 +174,11 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "M?chten Sie diesen Ordner von GpgOL befreien?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 msgid "GpgOL: Encrypted Message" msgstr "GpgOL: Verschl?sselte Nachricht" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "GpgOL: Vertraute Absenderadresse" @@ -382,7 +382,7 @@ msgstr "" "Dies ist eine verschl?sselte Nachricht.\n" "Klicken Sie hier um weitere Informationen zu erhalten. " -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" @@ -392,7 +392,7 @@ msgstr "" "Die unsignierten / unverschl?sselten Anh?nge sind:\n" "\n" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" @@ -402,7 +402,7 @@ msgstr "" "Die unsignierten Anh?nge sind:\n" "\n" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" @@ -412,7 +412,7 @@ msgstr "" "Die unverschl?sselten Anh?nge sind:\n" "\n" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." @@ -420,19 +420,23 @@ msgstr "" "Note: Die Anh?nge k?nnten auf Dateiebene verschl?sselt oder singiert sein, " "aber GpgOL kann deren Kryptostatus nicht anzeigen." -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "GpgOL Warnung" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 msgid "Encrypted message" msgstr "Verschl?sselte Nachricht" -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "Bitte warten Sie w?hrend die Nachricht entschl?sselt / gepr?ft wird..." -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "GpgOL: Oops, G Suite Sync Konto erkannt" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -440,16 +444,12 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" "G Suite Sync bricht ausgehende Krypto Mails mit anh?ngen.\n" -"Die verwendung von Krypto und anh?ngen wird mit G Suite Sync nicht" -" unterst?tzt.\n" +"Die verwendung von Krypto und anh?ngen wird mit G Suite Sync nicht " +"unterst?tzt.\n" "\n" "Details siehe: https://dev.gnupg.org/T3545" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "GpgOL: Oops, G Suite Sync Konto erkannt" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -457,12 +457,12 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" "G Suite Sync bricht ausgehende, signierte, Mails.\n" -"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht" -" unterst?tzt.\n" +"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht " +"unterst?tzt.\n" "\n" "Details siehe: https://dev.gnupg.org/T3545" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -472,100 +472,100 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" "G Suite Sync bricht ausgehende, signierte, Mails.\n" -"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht" -" unterst?tzt.\n" +"Sicherung der Integrit?t (signieren) wird mit G Suite Sync nicht " +"unterst?tzt.\n" "\n" "Details siehe: https://dev.gnupg.org/T3545\n" "\n" "M?chten Sie die Nachricht nur verschl?sseln?" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "Sicherheit Stufe 4" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "Vertrauen Stufe 4" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "Sicherheit Stufe 3" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "Vertrauen Stufe 3" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "Sicherheit Stufe 2" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "Vertrauen Stufe 2" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 msgid "Encrypted" msgstr "Verschl?sselt" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "Unsicher" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 msgid "Signed and encrypted message" msgstr "Signierte und verschl?sselte Nachricht" -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 msgid "Signed message" msgstr "Signierte Nachricht" -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 msgid "Insecure message" msgstr "Unsichere Nachricht" -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" "Sie k?nnen nicht sicher sein wer die Nachricht gesendet, modifiziert oder " "w?hrend der ?bertragung gelesen hat." -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "Die Nachricht ist signiert aber die ?berpr?fung schlug fehl mit:" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 msgid "The encryption was VS-NfD-compliant." msgstr "Diese Verschl?sselung war VS-NfD-konform." -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 msgid "The encryption was not VS-NfD-compliant." msgstr "Diese Verschl?sselung war nicht VS-NfD-konform." -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" "Aber Sie k?nnen nicht sicher sein wer der Absender der Nachricht ist da " "diese nicht signiert wurde. " -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 msgid "You signed this message." msgstr "Sie haben diese Nachricht signiert." -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "Die Idenit?t des Absenders wurde von ihnen selbst beglaubigt." -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "Der Absender ist berechtigt f?r Sie Identit?ten zu beglaubigen." -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" "Die Identit?t des Absenders wurde von mehreren vertrauensw?rdigen Personen " "beglaubigt." -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" @@ -574,12 +574,12 @@ msgstr "" "Die Idenit?t des Absenders wurde best?tigt von:\n" "'%s'\n" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "" "Einige vertrauensw?rde Personen haben die Identit?t des Absenders beglaubigt." -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -591,11 +591,11 @@ msgstr "" "Seit %s haben Sie %i Nachrichten an diesen Absender verschl?sselt und %i " "Signaturen gepr?ft." -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "The Signatur des Absenders wurde das erste mal verifiziert." -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " @@ -605,70 +605,70 @@ msgstr "" "Nachrichten von diesem absender verifziert und %i Nachrichten verschl?ssel " "haben. Seit dem %s." -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "Aber die Absenderadresse ist nicht vertrauensw?rdig da:" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "Die Absenderadresse ist nicht vertrauensw?rdig da:" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 msgid "The signature is invalid: \n" msgstr "Die Signatur ist ung?ltig: \n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "Beim ?berpr?fen der Signatur ist ein Fehler aufgetreten.\n" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 msgid "The signature is expired.\n" msgstr "Die Signatur ist abgelaufen.\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "Der verwendete Schl?ssel" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used certificate" msgstr "Das verwendete Zertifikat" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 msgid "is not available." msgstr "ist nicht verf?gbar." -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "wurde zur?ckgezogen." -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "ist veraltet. " -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "ist nicht zum signieren vorgesehen. " -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "wurde m?glicherweise zur?ckgezogen." -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "" "ist nicht der gleiche Schl?ssel der in der vergangenheit f?r diese Adresse " "verwendet wurde." -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "passt nicht zu der mailaddresse: \"%s\". " -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "wurde von keinem vertrauensw?rdigen Schl?ssel beglaubigt." -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." @@ -676,49 +676,49 @@ msgstr "" "wurde von keiner vertrauensw?rdigen Zertifizierungsstelle beglaubigt oder " "die Zertifizierungsstelle ist unbekannt." -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "Der Absender hat diese Adresse zur?ckgezogen." -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "ist als nicht vertrauensw?rdig markiert." -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 msgid "The signature is VS-NfD-compliant." msgstr "Die Signatur ist VS-NfD-konform." -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 msgid "The signature is not VS-NfD-compliant." msgstr "Die Signatur ist nicht VS-NfD-konform." -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 msgid "The encryption is VS-NfD-compliant." msgstr "Diese Verschl?sselung ist VS-NfD-konform." -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 msgid "The encryption is not VS-NfD-compliant." msgstr "Diese Verschl?sselung ist nicht VS-NfD-konform." -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "Klicken Sie hier um den Schl?ssel f?r diese Adresse zu ?ndern." -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "Klicken Sie hier f?r Details zu dem Schl?ssel" -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "Klicken Sie hier f?r Details zu dem Zertifiakt." -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "" "Klicken Sie hier um den Schl?ssel auf dem konfigurierten Schl?sselserver zu " "suchen. " -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" "Klicken Sie hier um das Zertifikat auf dem konfigurierten X509 " diff --git a/po/fr.po b/po/fr.po index 6fa15f4..904db18 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2015-10-01 17:05+0200\n" "Last-Translator: Olivier Serve \n" "Language-Team: French \n" @@ -171,12 +171,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "Voulez-vous r?cup?rer ce dossier ?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "D?chiffrer le message" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -377,47 +377,51 @@ msgstr "" "Ceci est un message chiffr?.\n" "Veuillez le s?lectionner pour plus d'informations." -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 #, fuzzy msgid "Encrypted message" msgstr "D?chiffrer le message" -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -425,11 +429,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -437,7 +437,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -447,105 +447,105 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 #, fuzzy msgid "Encrypted" msgstr "Chiffrer" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 #, fuzzy msgid "Signed and encrypted message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 #, fuzzy msgid "Signed message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "D?chiffrer le message" -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 #, fuzzy msgid "You signed this message." msgstr "D?chiffrer le message" -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -553,133 +553,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 #, fuzzy msgid "The signature is invalid: \n" msgstr "Cette signature est valide\n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 #, fuzzy msgid "The signature is expired.\n" msgstr "Cette signature est valide\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 #, fuzzy msgid "The used certificate" msgstr "Erreur de v?rification" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 #, fuzzy msgid "is not available." msgstr "La liste de r?vocation (CRL) n'est pas disponible\n" -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "" -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "" -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "Cette signature est valide\n" -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" diff --git a/po/pt.po b/po/pt.po index ce714ac..7a86af1 100644 --- a/po/pt.po +++ b/po/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL 1.1.1\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2017-10-16 14:17+0100\n" "Last-Translator: Marco A.G.Pinto \n" "Language-Team: Portuguese \n" @@ -174,11 +174,11 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "Queres reverter esta pasta?" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 msgid "GpgOL: Encrypted Message" msgstr "GpgOL: Mensagem Encriptada" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "GpgOL: Endere?o de Remetente Confi?vel" @@ -382,7 +382,7 @@ msgstr "" "Esta ? uma mensagem encriptada.\n" "Clica para mais informa??o. " -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" @@ -392,7 +392,7 @@ msgstr "" "Os anexos n?o-assinados / n?o-encriptados s?o:\n" "\n" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" @@ -402,7 +402,7 @@ msgstr "" "Os anexos n?o-assinados s?o:\n" "\n" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" @@ -412,7 +412,7 @@ msgstr "" "Os anexos n?o-encriptados s?o:\n" "\n" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." @@ -420,21 +420,25 @@ msgstr "" "Nota: Os anexos podem ser encriptados ou assinados ao n?vel de ficheiro, mas " "o status do GpgOL n?o se aplica a eles." -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "Aviso do GpgOL" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 msgid "Encrypted message" msgstr "Mensagem encriptada" -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "" "Por favor aguarda enquanto a mensagem est? a ser desencriptada / " "verificada..." -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -442,11 +446,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -454,7 +454,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -464,91 +464,91 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "N?vel de seguran?a 4" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "N?vel de Confian?a 4" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "N?vel de Seguran?a 3" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "N?vel de Confian?a 3" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "N?vel de Seguran?a 2" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "N?vel de Confian?a 2" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 msgid "Encrypted" msgstr "Encriptada" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "Insegura" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 msgid "Signed and encrypted message" msgstr "Mensagem assinada e encriptada" -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 msgid "Signed message" msgstr "Mensagem assinada" -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 msgid "Insecure message" msgstr "Mensagem insegura" -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" "N?o podes ter a certeza de quem enviou, modificou e leu a mensagem em " "tr?nsito." -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 msgid "The encryption was VS-NfD-compliant." msgstr "A encripta??o est? em conformidade com VS-NfD." -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 msgid "The encryption was not VS-NfD-compliant." msgstr "A encripta??o n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" "N?o podes ter certeza de quem enviou a mensagem, porque n?o est? assinada." -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 msgid "You signed this message." msgstr "Assinaste esta mensagem." -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "A identidade dos remetentes foi certificada por ti pr?prio." -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "O remetente pode certificar identidades para ti." -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" "A identidade dos remetentes foi certificada por v?rias pessoas confi?veis." -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" @@ -557,11 +557,11 @@ msgstr "" "A identidade dos remetentes ? certificada pelo emissor confi?vel:\n" "'%s'\n" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "Algumas pessoas confi?veis certificaram a identidade dos remetentes." -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -572,11 +572,11 @@ msgstr "" "comunica??o com este endere?o desde %s.\n" "Encriptaste %i e verificaste %i mensagens desde ent?o." -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "A assinatura dos remetentes foi verificada pela primeira vez." -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " @@ -585,68 +585,68 @@ msgstr "" "O endere?o dos remetentes ainda n?o ? confi?vel porque apenas verificaste %i " "mensagens e encriptaste %i mensagens a eles desde %s." -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "Mas o endere?o do remetente n?o ? confi?vel porque:" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "O endere?o do remetente n?o ? confi?vel porque:" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 msgid "The signature is invalid: \n" msgstr "A assinatura ? inv?lida: \n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "Houve um erro ao verificar a assinatura.\n" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 msgid "The signature is expired.\n" msgstr "A assinatura expirou.\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "A chave usada" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used certificate" msgstr "O certificado usado" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 msgid "is not available." msgstr "n?o est? dispon?vel." -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "est? revogado." -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "expirou." -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "n?o ? destinado a assinar." -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "n?o pode ser verificado para revoga??o." -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "n?o ? o mesmo que a chave usada para este endere?o no passado." -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "n?o reivindica o endere?o: \"%s\"." -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "n?o est? certificado por qualquer chave confi?vel." -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." @@ -654,47 +654,47 @@ msgstr "" "n?o est? certificado por uma Autoridade de Certifica??o confi?vel ou a " "Autoridade de Certifica??o ? desconhecida." -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "O remetente marcou este endere?o como revogado." -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "est? marcado como n?o confi?vel." -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 msgid "The signature is VS-NfD-compliant." msgstr "A assinatura est? em conformidade com VS-NfD." -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 msgid "The signature is not VS-NfD-compliant." msgstr "A assinatura n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 msgid "The encryption is VS-NfD-compliant." msgstr "A encripta??o est? em conformidade com VS-NfD." -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 msgid "The encryption is not VS-NfD-compliant." msgstr "A encripta??o n?o est? em conformidade com VS-NfD." -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "Clica aqui para alterar a chave usada para este endere?o." -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "Clica aqui para obter detalhes sobre a chave." -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "Clica aqui para obter detalhes sobre o certificado." -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "Clica aqui para localizar a chave no servidor de chaves configurado." -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" "Clica aqui para localizar o certificado no servidor de chaves X509 " diff --git a/po/sv.po b/po/sv.po index cc0bf31..0eeae5b 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GPGol\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2006-12-12 23:52+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -163,12 +163,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "Dekryptera och validera meddelandet." -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -366,47 +366,51 @@ msgid "" "Click for more information. " msgstr "" -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 #, fuzzy msgid "Encrypted message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -414,11 +418,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -426,7 +426,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -436,105 +436,105 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 #, fuzzy msgid "Encrypted" msgstr "Kryptering" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 #, fuzzy msgid "Signed and encrypted message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 #, fuzzy msgid "Signed message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 #, fuzzy msgid "You signed this message." msgstr "Dekryptera och validera meddelandet." -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -542,133 +542,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 #, fuzzy msgid "The signature is invalid: \n" msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 #, fuzzy msgid "The signature is expired.\n" msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 #, fuzzy msgid "The used certificate" msgstr "Validering" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 #, fuzzy msgid "is not available." msgstr "Sp?rrlistan ?r inte tillg?nglig\n" -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "" -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "" -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "Den h?r signaturen ?r giltig\n" -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index df91d3b..a698198 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2015-08-15 21:58+0800\n" "Last-Translator: Mingye Wang (Arthur2e5) \n" "Language-Team: \n" @@ -167,12 +167,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "????????????" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "????" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -365,47 +365,51 @@ msgstr "" "???????\n" "???????????" -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 #, fuzzy msgid "Encrypted message" msgstr "????" -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -413,11 +417,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -425,7 +425,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -435,105 +435,105 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 #, fuzzy msgid "Encrypted" msgstr "??" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 #, fuzzy msgid "Signed and encrypted message" msgstr "????" -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 #, fuzzy msgid "Signed message" msgstr "????" -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "????" -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 #, fuzzy msgid "You signed this message." msgstr "????" -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -541,133 +541,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 #, fuzzy msgid "The signature is invalid: \n" msgstr "????\n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 #, fuzzy msgid "The signature is expired.\n" msgstr "????\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 #, fuzzy msgid "The used certificate" msgstr "????" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 #, fuzzy msgid "is not available." msgstr "???????CRL????\n" -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "" -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "" -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index 6edd31c..6f6f59e 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GpgOL\n" "Report-Msgid-Bugs-To: bug-gpgol at g10code.com\n" -"POT-Creation-Date: 2017-12-08 06:49+0100\n" +"POT-Creation-Date: 2017-12-08 10:21+0100\n" "PO-Revision-Date: 2015-08-15 21:58+0800\n" "Last-Translator: Mingye Wang (Arthur2e5) \n" "Language-Team: \n" @@ -167,12 +167,12 @@ msgstr "" msgid "Do you want to revert this folder?" msgstr "????????????" -#: src/gpgoladdin.cpp:446 src/mail.cpp:1607 src/mail.cpp:1678 +#: src/gpgoladdin.cpp:446 src/mail.cpp:1626 src/mail.cpp:1697 #, fuzzy msgid "GpgOL: Encrypted Message" msgstr "????" -#: src/gpgoladdin.cpp:447 src/mail.cpp:1608 src/mail.cpp:1679 +#: src/gpgoladdin.cpp:447 src/mail.cpp:1627 src/mail.cpp:1698 msgid "GpgOL: Trusted Sender Address" msgstr "" @@ -365,47 +365,51 @@ msgstr "" "???????\n" "???????????" -#: src/mail.cpp:342 +#: src/mail.cpp:344 msgid "" "Not all attachments were encrypted or signed.\n" "The unsigned / unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:347 +#: src/mail.cpp:349 msgid "" "Not all attachments were signed.\n" "The unsigned attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:352 +#: src/mail.cpp:354 msgid "" "Not all attachments were encrypted.\n" "The unencrypted attachments are:\n" "\n" msgstr "" -#: src/mail.cpp:392 +#: src/mail.cpp:394 msgid "" "Note: The attachments may be encrypted or signed on a file level but the " "GpgOL status does not apply to them." msgstr "" -#: src/mail.cpp:395 +#: src/mail.cpp:397 msgid "GpgOL Warning" msgstr "" -#: src/mail.cpp:751 src/mail.cpp:1922 +#: src/mail.cpp:753 src/mail.cpp:1941 #, fuzzy msgid "Encrypted message" msgstr "????" -#: src/mail.cpp:752 +#: src/mail.cpp:754 msgid "Please wait while the message is being decrypted / verified..." msgstr "" -#: src/mail.cpp:1001 +#: src/mail.cpp:1002 +msgid "GpgOL: Oops, G Suite Sync account detected" +msgstr "" + +#: src/mail.cpp:1006 msgid "" "G Suite Sync breaks outgoing crypto mails with attachments.\n" "Using crypto and attachments with G Suite Sync is not supported.\n" @@ -413,11 +417,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1005 src/mail.cpp:1016 src/mail.cpp:1028 -msgid "GpgOL: Oops, G Suite Sync account detected" -msgstr "" - -#: src/mail.cpp:1012 +#: src/mail.cpp:1021 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -425,7 +425,7 @@ msgid "" "See: https://dev.gnupg.org/T3545 for details." msgstr "" -#: src/mail.cpp:1023 +#: src/mail.cpp:1036 msgid "" "G Suite Sync breaks outgoing signed mails.\n" "Ensuring mail integrity (signing) with G Suite Sync is not supported.\n" @@ -435,105 +435,105 @@ msgid "" "Do you want to only encrypt the message?" msgstr "" -#: src/mail.cpp:1867 +#: src/mail.cpp:1886 msgid "Security Level 4" msgstr "" -#: src/mail.cpp:1871 +#: src/mail.cpp:1890 msgid "Trust Level 4" msgstr "" -#: src/mail.cpp:1875 +#: src/mail.cpp:1894 msgid "Security Level 3" msgstr "" -#: src/mail.cpp:1879 +#: src/mail.cpp:1898 msgid "Trust Level 3" msgstr "" -#: src/mail.cpp:1883 +#: src/mail.cpp:1902 msgid "Security Level 2" msgstr "" -#: src/mail.cpp:1887 +#: src/mail.cpp:1906 msgid "Trust Level 2" msgstr "" -#: src/mail.cpp:1891 +#: src/mail.cpp:1910 #, fuzzy msgid "Encrypted" msgstr "??" -#: src/mail.cpp:1900 src/mail.cpp:1902 src/ribbon-callbacks.cpp:1604 +#: src/mail.cpp:1919 src/mail.cpp:1921 src/ribbon-callbacks.cpp:1604 msgid "Insecure" msgstr "" -#: src/mail.cpp:1914 +#: src/mail.cpp:1933 #, fuzzy msgid "Signed and encrypted message" msgstr "????" -#: src/mail.cpp:1918 +#: src/mail.cpp:1937 #, fuzzy msgid "Signed message" msgstr "????" -#: src/mail.cpp:1925 src/ribbon-callbacks.cpp:1627 +#: src/mail.cpp:1944 src/ribbon-callbacks.cpp:1627 #, fuzzy msgid "Insecure message" msgstr "????" -#: src/mail.cpp:1936 src/mail.cpp:1947 +#: src/mail.cpp:1955 src/mail.cpp:1966 msgid "You cannot be sure who sent, modified and read the message in transit." msgstr "" -#: src/mail.cpp:1939 +#: src/mail.cpp:1958 msgid "The message was signed but the verification failed with:" msgstr "" -#: src/mail.cpp:1957 +#: src/mail.cpp:1976 #, fuzzy msgid "The encryption was VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1961 +#: src/mail.cpp:1980 #, fuzzy msgid "The encryption was not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:1965 +#: src/mail.cpp:1984 msgid "You cannot be sure who sent the message because it is not signed." msgstr "" -#: src/mail.cpp:1988 +#: src/mail.cpp:2007 #, fuzzy msgid "You signed this message." msgstr "????" -#: src/mail.cpp:1992 +#: src/mail.cpp:2011 msgid "The senders identity was certified by yourself." msgstr "" -#: src/mail.cpp:1996 +#: src/mail.cpp:2015 msgid "The sender is allowed to certify identities for you." msgstr "" -#: src/mail.cpp:2009 +#: src/mail.cpp:2028 msgid "The senders identity was certified by several trusted people." msgstr "" -#: src/mail.cpp:2014 +#: src/mail.cpp:2033 #, c-format msgid "" "The senders identity is certified by the trusted issuer:\n" "'%s'\n" msgstr "" -#: src/mail.cpp:2022 +#: src/mail.cpp:2041 msgid "Some trusted people have certified the senders identity." msgstr "" -#: src/mail.cpp:2032 +#: src/mail.cpp:2051 #, c-format msgid "" "The senders address is trusted, because you have established a communication " @@ -541,133 +541,133 @@ msgid "" "You encrypted %i and verified %i messages since." msgstr "" -#: src/mail.cpp:2048 +#: src/mail.cpp:2067 msgid "The senders signature was verified for the first time." msgstr "" -#: src/mail.cpp:2055 +#: src/mail.cpp:2074 #, c-format msgid "" "The senders address is not trustworthy yet because you only verified %i " "messages and encrypted %i messages to it since %s." msgstr "" -#: src/mail.cpp:2069 +#: src/mail.cpp:2088 msgid "But the sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2070 +#: src/mail.cpp:2089 msgid "The sender address is not trustworthy because:" msgstr "" -#: src/mail.cpp:2078 +#: src/mail.cpp:2097 #, fuzzy msgid "The signature is invalid: \n" msgstr "????\n" -#: src/mail.cpp:2083 +#: src/mail.cpp:2102 msgid "There was an error verifying the signature.\n" msgstr "" -#: src/mail.cpp:2087 +#: src/mail.cpp:2106 #, fuzzy msgid "The signature is expired.\n" msgstr "????\n" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 msgid "The used key" msgstr "" -#: src/mail.cpp:2091 +#: src/mail.cpp:2110 #, fuzzy msgid "The used certificate" msgstr "????" -#: src/mail.cpp:2099 +#: src/mail.cpp:2118 #, fuzzy msgid "is not available." msgstr "???????CRL????\n" -#: src/mail.cpp:2103 +#: src/mail.cpp:2122 msgid "is revoked." msgstr "" -#: src/mail.cpp:2107 +#: src/mail.cpp:2126 msgid "is expired." msgstr "" -#: src/mail.cpp:2111 +#: src/mail.cpp:2130 msgid "is not meant for signing." msgstr "" -#: src/mail.cpp:2115 src/mail.cpp:2119 +#: src/mail.cpp:2134 src/mail.cpp:2138 msgid "could not be checked for revocation." msgstr "" -#: src/mail.cpp:2124 +#: src/mail.cpp:2143 msgid "is not the same as the key that was used for this address in the past." msgstr "" -#: src/mail.cpp:2130 +#: src/mail.cpp:2149 #, c-format msgid "does not claim the address: \"%s\"." msgstr "" -#: src/mail.cpp:2143 +#: src/mail.cpp:2162 msgid "is not certified by any trustworthy key." msgstr "" -#: src/mail.cpp:2147 +#: src/mail.cpp:2166 msgid "" "is not certified by a trustworthy Certificate Authority or the Certificate " "Authority is unknown." msgstr "" -#: src/mail.cpp:2152 +#: src/mail.cpp:2171 msgid "The sender marked this address as revoked." msgstr "" -#: src/mail.cpp:2156 +#: src/mail.cpp:2175 msgid "is marked as not trustworthy." msgstr "" -#: src/mail.cpp:2166 +#: src/mail.cpp:2185 #, fuzzy msgid "The signature is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2170 +#: src/mail.cpp:2189 #, fuzzy msgid "The signature is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2178 +#: src/mail.cpp:2197 #, fuzzy msgid "The encryption is VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2182 +#: src/mail.cpp:2201 #, fuzzy msgid "The encryption is not VS-NfD-compliant." msgstr "????\n" -#: src/mail.cpp:2193 +#: src/mail.cpp:2212 msgid "Click here to change the key used for this address." msgstr "" -#: src/mail.cpp:2197 +#: src/mail.cpp:2216 msgid "Click here for details about the key." msgstr "" -#: src/mail.cpp:2198 +#: src/mail.cpp:2217 msgid "Click here for details about the certificate." msgstr "" -#: src/mail.cpp:2202 +#: src/mail.cpp:2221 msgid "Click here to search the key on the configured keyserver." msgstr "" -#: src/mail.cpp:2203 +#: src/mail.cpp:2222 msgid "Click here to search the certificate on the configured X509 keyserver." msgstr "" ----------------------------------------------------------------------- Summary of changes: po/de.po | 150 +++++++++++++++++++++++++++++------------------------------ po/fr.po | 138 +++++++++++++++++++++++++++--------------------------- po/pt.po | 138 +++++++++++++++++++++++++++--------------------------- po/sv.po | 138 +++++++++++++++++++++++++++--------------------------- po/zh_CN.po | 138 +++++++++++++++++++++++++++--------------------------- po/zh_TW.po | 138 +++++++++++++++++++++++++++--------------------------- src/mail.cpp | 47 +++++++++++++------ 7 files changed, 453 insertions(+), 434 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 12:12:45 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Fri, 08 Dec 2017 12:12:45 +0100 Subject: [git] gnupg-doc - branch, master, updated. ffec1352a05c3dcd44e4199d632038ee0ff28c32 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via ffec1352a05c3dcd44e4199d632038ee0ff28c32 (commit) from e441c90115efb68cfe700c0d8df27e564dfbfe8a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ffec1352a05c3dcd44e4199d632038ee0ff28c32 Author: Andre Heinecke Date: Fri Dec 8 12:11:54 2017 +0100 Update swdb with gpg4win-3.0.2 -- diff --git a/web/swdb.mac b/web/swdb.mac index ebd7211..2a59fe8 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -74,17 +74,17 @@ # # Gpg4win # -#+macro: gpg4win_ver 3.0.1 -#+macro: gpg4win_date 2017-11-22 -#+macro: gpg4win_exe_size 26550k -#+macro: gpg4win_exe_sha1 6db53bf3a350faceda861a3fd32c15106ce455bf -#+macro: gpg4win_exe_sha2 f05e5d272a794002149effc516f4b32f62fa575563f632b084bd044017b1206f -#+macro: gpg4win_isrc_size 5225k -#+macro: gpg4win_isrc_sha1 fe1bdbf5cb1ad3a063c7b703fb45925f1dc779a5 -#+macro: gpg4win_isrc_sha2 fdb7f9a8213af8f9c46bfb5c7c82bf47baf35dd80eabae95916cb3583aaa7b9b -#+macro: gpg4win_src_size 220229k -#+macro: gpg4win_src_sha1 8401dd0e2ce6f747abda676b643aa109bacc4872 -#+macro: gpg4win_src_sha2 4f42ab3b08b8458cffcf2591bb5e4cc08db44c5321a1e1bb60e90ecc0cea0067 +#+macro: gpg4win_ver 3.0.2 +#+macro: gpg4win_date 2017-12-08 +#+macro: gpg4win_src_size 5226k +#+macro: gpg4win_src_sha1 53f1690b4377e2d7c9931977630a05caa8fafe14 +#+macro: gpg4win_src_sha2 eda921939189648ad01156a153545941916457c0b94bff19026df3c296e326ab +#+macro: gpg4win_exe_size 26343k +#+macro: gpg4win_exe_sha1 a2dabaf0a65f3ef30c60e7522f3459c81120098e +#+macro: gpg4win_exe_sha2 c4c4e5724e9581fdcf00241b33d18eee363a1fb6cc6a737d8cb2877e3b4f9298 +#+macro: gpg4win_isrc_size 220262k +#+macro: gpg4win_isrc_sha1 51494bb278720bbe83d4fbc47543f0a1e374826b +#+macro: gpg4win_isrc_sha2 7a162a875676857d2b9927b1bbd611e24d4d670b43a25e1b6a8c771ac3253408 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 13:42:49 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 08 Dec 2017 13:42:49 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-15-gddd54d8 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via ddd54d821020125f777c192e499d6967d02e3322 (commit) from 6391de3e62a275132664ae96497dd4e47fe9f257 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ddd54d821020125f777c192e499d6967d02e3322 Author: Werner Koch Date: Fri Dec 8 13:27:06 2017 +0100 Revert: build: Do not define logging.h constants for ... --- This reverts commit 2fedf8583bcc493f587c90bc9632d25dfd10bd10. We better solve this on the libgpg-error side. Signed-off-by: Werner Koch diff --git a/common/logging.h b/common/logging.h index c6a32b4..e1bf56b 100644 --- a/common/logging.h +++ b/common/logging.h @@ -70,21 +70,15 @@ estream_t log_get_stream (void); : _log_assert (#expr, __FILE__, __LINE__)) #endif /*!GPGRT_HAVE_MACRO_FUNCTION*/ +/* Flag values for log_set_prefix. */ +#define GPGRT_LOG_WITH_PREFIX 1 +#define GPGRT_LOG_WITH_TIME 2 +#define GPGRT_LOG_WITH_PID 4 +#define GPGRT_LOG_RUN_DETACHED 256 +#define GPGRT_LOG_NO_REGISTRY 512 -/* If we use an older libgpg-error we need to define the constants - * which will be used by current libgpg-error development - * versions. */ -#ifndef GPGRT_LOG_WITH_PREFIX - - /* Flag values for log_set_prefix. */ -# define GPGRT_LOG_WITH_PREFIX 1 -# define GPGRT_LOG_WITH_TIME 2 -# define GPGRT_LOG_WITH_PID 4 -# define GPGRT_LOG_RUN_DETACHED 256 -# define GPGRT_LOG_NO_REGISTRY 512 - - /* Log levels as used by log_log. */ - enum jnlib_log_levels { +/* Log levels as used by log_log. */ +enum jnlib_log_levels { GPGRT_LOG_BEGIN, GPGRT_LOG_CONT, GPGRT_LOG_INFO, @@ -93,9 +87,7 @@ estream_t log_get_stream (void); GPGRT_LOG_FATAL, GPGRT_LOG_BUG, GPGRT_LOG_DEBUG - }; -#endif /* Old libgpg-error. */ - +}; void log_log (int level, const char *fmt, ...) GPGRT_ATTR_PRINTF(2,3); void log_logv (int level, const char *fmt, va_list arg_ptr); void log_logv_with_prefix (int level, const char *prefix, ----------------------------------------------------------------------- Summary of changes: common/logging.h | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 8 13:49:20 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 08 Dec 2017 13:49:20 +0100 Subject: [git] GnuPG - branch, master, updated. gnupg-2.2.3-79-g6d14be2 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, master has been updated via 6d14be22a149da4c7b5d2f63d0343a337081446b (commit) from 84af0bcca3925ff081a3f59c5c460b8f2ea63edb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6d14be22a149da4c7b5d2f63d0343a337081446b Author: Werner Koch Date: Fri Dec 8 13:44:24 2017 +0100 doc: Clarify C90 exceptions and add a new commit tag. -- The variable definition inside a for statement require to use a c99 option for gcc which we do not want. It has never been used and thus we drop it. Signed-off-by: Werner Koch diff --git a/doc/HACKING b/doc/HACKING index 62a6f95..17c5826 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -33,9 +33,9 @@ not be copied to the ChangeLog, separate it by a line consisting of two dashes at the begin of a line. The one-line summary usually starts with a keyword to identify the -mainly affected subsystem. If more than one keyword is required the -are delimited by a comma (e.g. =scd,w32:=). Commonly found keywords -are +mainly affected subsystem (that is not the directory). If more than +one keyword is required they are delimited by a comma +(e.g. =scd,w32:=). Commonly found keywords are - agent :: The gpg-agent component - build :: Changes to the build system @@ -207,10 +207,6 @@ Note that such a comment will be removed if the git commit option - The predefined macro =__func__=: : log_debug ("%s: Problem with foo\n", __func__); - - Variable declaration inside a for(): - : for (int i = 0; i < 5; ++) - : bar (i); - Although we usually make use of the =u16=, =u32=, and =u64= types, it is also possible to include == and use =int16_t=, =int32_t=, =int64_t=, =uint16_t=, =uint32_t=, and =uint64_t=. But do @@ -224,6 +220,7 @@ Note that such a comment will be removed if the git commit option - CVE-id :: CVE id number pertaining to this commit. - Regression-due-to :: Commit id of the regression fixed by this commit. - Fixes-commit :: Commit id this commit fixes. + - Updates-commit :: Commit id this commit updates. - Reported-by :: Value is a name or mail address of a bug reporte. - Suggested-by :: Value is a name or mail address of someone how suggested this change. ----------------------------------------------------------------------- Summary of changes: doc/HACKING | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 00:34:37 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Mon, 11 Dec 2017 00:34:37 +0100 Subject: [git] GPGME - branch, ben/cffi/test-001, created. gpgme-1.9.0-92-g5af53be Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, ben/cffi/test-001 has been created at 5af53be26fb7c5a382ba1dea31ffbdf2e119daab (commit) - Log ----------------------------------------------------------------- commit 5af53be26fb7c5a382ba1dea31ffbdf2e119daab Author: Ben McGinnes Date: Mon Dec 11 10:31:54 2017 +1100 Python CFFI * This is the future and eventually SWIG will be retired ... it might take a while, though. * Initial testing and proof-of-concept work. diff --git a/lang/python-cffi/README.rst b/lang/python-cffi/README.rst new file mode 100644 index 0000000..3d4beaa --- /dev/null +++ b/lang/python-cffi/README.rst @@ -0,0 +1,26 @@ +Python CFFI Proof of Concept +============================ + + +This is a proof-of-concept initial test for (eventually) switching fro the Python and SWIG bindings to a Python and CFFI method. + +This is intended to address multiple issues, including: + +* Interoperability between platforms +* Easier maintenance +* Greater interoperability with third party security modules (e.g. pyca/cryptography) + +It may also provide the following (no guarantees, though): + +* Use on Windows without massive errors (and complaints). +* Use on PyPy as well as CPython and thus may eventually be integrated with other Python implementations (e.g. QPython on Android). +* It might allow use of Python 3.2 and/or 3.3, but they're not super urgent since we're up to 3.6 now and the changes/improvements made by 3.4 are very useful anyway. + +The down sides are: + +* It requires a full re-implementation from scratch (during which the SWIG based version would need to remain active). +* Windows will probably still require a special implementation just for itself (probably ABI out-of-line, while all other platformsuse API out-of-line; otherwise it also requires end users running various C compilers, this way we just need to build GPGME DLLs for Windows). +* Will require dropping support for Python 2.6. +* Might require dropping support for Python 2.7. +* It may not generate bindings in the same way that SWIG does, but that's offset by making it castly simpler to do that manually and that part may become scriptable later anyway. + ----------------------------------------------------------------------- hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 00:55:06 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Mon, 11 Dec 2017 00:55:06 +0100 Subject: [git] GPGME - branch, ben/cffi/test-001, updated. gpgme-1.9.0-93-gc28c0d7 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, ben/cffi/test-001 has been updated via c28c0d7385133870e6e3cf19697b7858df2c41ce (commit) from 5af53be26fb7c5a382ba1dea31ffbdf2e119daab (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c28c0d7385133870e6e3cf19697b7858df2c41ce Author: Ben McGinnes Date: Mon Dec 11 10:52:09 2017 +1100 Python requirements * No brainer: CFFI. diff --git a/lang/python-cffi/requirements.txt b/lang/python-cffi/requirements.txt new file mode 100644 index 0000000..6486b0d --- /dev/null +++ b/lang/python-cffi/requirements.txt @@ -0,0 +1 @@ +cffi>=1.11.2 ----------------------------------------------------------------------- Summary of changes: lang/python-cffi/requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 lang/python-cffi/requirements.txt hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 10:22:33 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 11 Dec 2017 10:22:33 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-16-g3e72143 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 3e72143023aa8a01d3e648797df89ae106e24e88 (commit) from ddd54d821020125f777c192e499d6967d02e3322 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3e72143023aa8a01d3e648797df89ae106e24e88 Author: Werner Koch Date: Mon Dec 11 10:17:59 2017 +0100 doc: Typo fix -- diff --git a/doc/gpg-agent.texi b/doc/gpg-agent.texi index 10f8900..65df970 100644 --- a/doc/gpg-agent.texi +++ b/doc/gpg-agent.texi @@ -655,7 +655,7 @@ transitioned from using MD5 to the more secure SHA256. @item --auto-expand-secmem @var{n} @opindex auto-expand-secmem -gAllow Libgcrypt to expand its secure memory area as required. The +Allow Libgcrypt to expand its secure memory area as required. The optional value @var{n} is a non-negative integer with a suggested size in bytes of each additionally allocated secure memory area. The value is rounded up to the next 32 KiB; usual C style prefixes are allowed. ----------------------------------------------------------------------- Summary of changes: doc/gpg-agent.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 10:48:23 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 11 Dec 2017 10:48:23 +0100 Subject: [git] GnuPG - branch, master, updated. gnupg-2.2.3-93-gb38ca59 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, master has been updated via b38ca59bdb0b9173aca620210afc8b52a6882e85 (commit) via 34defc9bce91d66fa8c9481ebe6e78b612e570dc (commit) via 3e72143023aa8a01d3e648797df89ae106e24e88 (commit) via ddd54d821020125f777c192e499d6967d02e3322 (commit) via 6391de3e62a275132664ae96497dd4e47fe9f257 (commit) via 5c121d44443b0a96ec6ea82b90717e3dbafd2cc5 (commit) via 5b8d12a8bde246f4c04e1981b21801965cc2638d (commit) via 2fedf8583bcc493f587c90bc9632d25dfd10bd10 (commit) via b9677ba16f6b386896781a751e4b2fc839e3ec81 (commit) via 1524ba9656f0205d8c6ef504f773b832a7a12ab9 (commit) via 0d0b9eb0d4f99e8d293a4ce4b90921a879905115 (commit) via 8a2917345ba88159bce6153b54706e701564f189 (commit) via 4cf3cc6e3d48c8400466ca29c3f1c22ed2da6c2c (commit) via 18af15249de5f826c3fa8d1d40e876734adcd0cf (commit) from 6d14be22a149da4c7b5d2f63d0343a337081446b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b38ca59bdb0b9173aca620210afc8b52a6882e85 Merge: 34defc9 3e72143 Author: Werner Koch Date: Mon Dec 11 10:42:38 2017 +0100 Merge branch 'STABLE-BRANCH-2-2' into master commit 34defc9bce91d66fa8c9481ebe6e78b612e570dc Author: Werner Koch Date: Mon Dec 11 10:37:30 2017 +0100 Adjust for changed macro names in libgpg-error master. * common/logging.h (GPGRT_LOGLVL_): New replacement macros for older libgpg-error versions. -- Updates-commit: b56dfdfc1865ceb7c3c025d79996e049faee7fdf Signed-off-by: Werner Koch diff --git a/common/asshelp.c b/common/asshelp.c index b9c0cf4..5209ea6 100644 --- a/common/asshelp.c +++ b/common/asshelp.c @@ -93,7 +93,7 @@ my_libassuan_log_handler (assuan_context_t ctx, void *hook, return 0; /* Temporary disabled. */ if (msg) - log_string (GPGRT_LOG_DEBUG, msg); + log_string (GPGRT_LOGLVL_DEBUG, msg); return 1; } diff --git a/common/logging.h b/common/logging.h index 5ed769a..5a82be4 100644 --- a/common/logging.h +++ b/common/logging.h @@ -48,7 +48,8 @@ static inline void bug_at (const char *file, int line, const char *func) static inline void bug_at (const char *file, int line, const char *func) { - gpgrt_log (GPGRT_LOG_BUG, "there is a bug at %s:%d:%s\n", file, line, func); + gpgrt_log (GPGRT_LOGLVL_BUG, "there is a bug at %s:%d:%s\n", + file, line, func); abort (); } # else @@ -58,7 +59,7 @@ static inline void bug_at (const char *file, int line) static inline void bug_at (const char *file, int line) { - gpgrt_log (GPGRT_LOG_BUG, "there is a bug at %s:%d\n", file, line); + gpgrt_log (GPGRT_LOGLVL_BUG, "there is a bug at %s:%d\n", file, line); abort (); } # endif /*!GPGRT_HAVE_MACRO_FUNCTION*/ @@ -116,6 +117,15 @@ enum jnlib_log_levels { GPGRT_LOG_BUG, GPGRT_LOG_DEBUG }; +#define GPGRT_LOGLVL_BEGIN GPGRT_LOG_BEGIN +#define GPGRT_LOGLVL_CONT GPGRT_LOG_CONT +#define GPGRT_LOGLVL_INFO GPGRT_LOG_INFO +#define GPGRT_LOGLVL_WARN GPGRT_LOG_WARN +#define GPGRT_LOGLVL_ERROR GPGRT_LOG_ERROR +#define GPGRT_LOGLVL_FATAL GPGRT_LOG_FATAL +#define GPGRT_LOGLVL_BUG GPGRT_LOG_BUG +#define GPGRT_LOGLVL_DEBUG GPGRT_LOG_DEBUG + void log_log (int level, const char *fmt, ...) GPGRT_ATTR_PRINTF(2,3); void log_logv (int level, const char *fmt, va_list arg_ptr); void log_logv_prefix (int level, const char *prefix, diff --git a/common/miscellaneous.c b/common/miscellaneous.c index caeb66f..7997a1a 100644 --- a/common/miscellaneous.c +++ b/common/miscellaneous.c @@ -45,14 +45,14 @@ my_gcry_logger (void *dummy, int level, const char *fmt, va_list arg_ptr) /* Map the log levels. */ switch (level) { - case GCRY_LOG_CONT: level = GPGRT_LOG_CONT; break; - case GCRY_LOG_INFO: level = GPGRT_LOG_INFO; break; - case GCRY_LOG_WARN: level = GPGRT_LOG_WARN; break; - case GCRY_LOG_ERROR:level = GPGRT_LOG_ERROR; break; - case GCRY_LOG_FATAL:level = GPGRT_LOG_FATAL; break; - case GCRY_LOG_BUG: level = GPGRT_LOG_BUG; break; - case GCRY_LOG_DEBUG:level = GPGRT_LOG_DEBUG; break; - default: level = GPGRT_LOG_ERROR; break; + case GCRY_LOG_CONT: level = GPGRT_LOGLVL_CONT; break; + case GCRY_LOG_INFO: level = GPGRT_LOGLVL_INFO; break; + case GCRY_LOG_WARN: level = GPGRT_LOGLVL_WARN; break; + case GCRY_LOG_ERROR:level = GPGRT_LOGLVL_ERROR; break; + case GCRY_LOG_FATAL:level = GPGRT_LOGLVL_FATAL; break; + case GCRY_LOG_BUG: level = GPGRT_LOGLVL_BUG; break; + case GCRY_LOG_DEBUG:level = GPGRT_LOGLVL_DEBUG; break; + default: level = GPGRT_LOGLVL_ERROR; break; } log_logv (level, fmt, arg_ptr); } diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 347da54..25716e2 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -781,12 +781,12 @@ my_ntbtls_log_handler (void *opaque, int level, const char *fmt, va_list argv) (void)opaque; if (level == -1) - log_logv_prefix (GPGRT_LOG_INFO, "ntbtls: ", fmt, argv); + log_logv_prefix (GPGRT_LOGLVL_INFO, "ntbtls: ", fmt, argv); else { char prefix[10+20]; snprintf (prefix, sizeof prefix, "ntbtls(%d): ", level); - log_logv_prefix (GPGRT_LOG_DEBUG, prefix, fmt, argv); + log_logv_prefix (GPGRT_LOGLVL_DEBUG, prefix, fmt, argv); } } #endif diff --git a/g10/call-agent.c b/g10/call-agent.c index 684771b..61d06c6 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -195,7 +195,7 @@ warn_version_mismatch (assuan_context_t ctx, const char *servername, int mode) err = get_assuan_server_version (ctx, mode, &serverversion); if (err) log_log (gpg_err_code (err) == GPG_ERR_NOT_SUPPORTED? - GPGRT_LOG_INFO : GPGRT_LOG_ERROR, + GPGRT_LOGLVL_INFO : GPGRT_LOGLVL_ERROR, _("error getting version from '%s': %s\n"), servername, gpg_strerror (err)); else if (compare_version_strings (serverversion, myversion) < 0) diff --git a/g10/keyedit.c b/g10/keyedit.c index 4acb2de..8d86253 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -1142,7 +1142,7 @@ change_passphrase (ctrl_t ctrl, kbnode_t keyblock) if (err) log_log ((gpg_err_code (err) == GPG_ERR_CANCELED || gpg_err_code (err) == GPG_ERR_FULLY_CANCELED) - ? GPGRT_LOG_INFO : GPGRT_LOG_ERROR, + ? GPGRT_LOGLVL_INFO : GPGRT_LOGLVL_ERROR, _("key %s: error changing passphrase: %s\n"), keystr_with_sub (keyid, subid), gpg_strerror (err)); diff --git a/g10/misc.c b/g10/misc.c index 77c8f26..9016d27 100644 --- a/g10/misc.c +++ b/g10/misc.c @@ -396,7 +396,7 @@ print_further_info (const char *format, ...) log_info (_("(further info: ")); va_start (arg_ptr, format); - log_logv (GPGRT_LOG_CONT, format, arg_ptr); + log_logv (GPGRT_LOGLVL_CONT, format, arg_ptr); va_end (arg_ptr); log_printf (")\n"); } diff --git a/g10/tofu.c b/g10/tofu.c index e63e989..8f729a2 100644 --- a/g10/tofu.c +++ b/g10/tofu.c @@ -3214,7 +3214,7 @@ show_statistics (tofu_dbs_t dbs, *p = ' '; } - log_string (GPGRT_LOG_INFO, msg); + log_string (GPGRT_LOGLVL_INFO, msg); xfree (msg); if (policy == TOFU_POLICY_AUTO) @@ -3279,7 +3279,7 @@ show_warning (const char *fingerprint, strlist_t user_id_list) log_fatal ("format failed: %s\n", gpg_strerror (gpg_error_from_syserror())); xfree (tmpmsg); - log_string (GPGRT_LOG_INFO, text); + log_string (GPGRT_LOGLVL_INFO, text); xfree (text); es_free (set_policy_command); diff --git a/kbx/kbxutil.c b/kbx/kbxutil.c index 9b43584..e3814d3 100644 --- a/kbx/kbxutil.c +++ b/kbx/kbxutil.c @@ -137,14 +137,14 @@ my_gcry_logger (void *dummy, int level, const char *fmt, va_list arg_ptr) /* Map the log levels. */ switch (level) { - case GCRY_LOG_CONT: level = GPGRT_LOG_CONT; break; - case GCRY_LOG_INFO: level = GPGRT_LOG_INFO; break; - case GCRY_LOG_WARN: level = GPGRT_LOG_WARN; break; - case GCRY_LOG_ERROR:level = GPGRT_LOG_ERROR; break; - case GCRY_LOG_FATAL:level = GPGRT_LOG_FATAL; break; - case GCRY_LOG_BUG: level = GPGRT_LOG_BUG; break; - case GCRY_LOG_DEBUG:level = GPGRT_LOG_DEBUG; break; - default: level = GPGRT_LOG_ERROR; break; + case GCRY_LOG_CONT: level = GPGRT_LOGLVL_CONT; break; + case GCRY_LOG_INFO: level = GPGRT_LOGLVL_INFO; break; + case GCRY_LOG_WARN: level = GPGRT_LOGLVL_WARN; break; + case GCRY_LOG_ERROR:level = GPGRT_LOGLVL_ERROR; break; + case GCRY_LOG_FATAL:level = GPGRT_LOGLVL_FATAL; break; + case GCRY_LOG_BUG: level = GPGRT_LOGLVL_BUG; break; + case GCRY_LOG_DEBUG:level = GPGRT_LOGLVL_DEBUG; break; + default: level = GPGRT_LOGLVL_ERROR; break; } log_logv (level, fmt, arg_ptr); } diff --git a/sm/certchain.c b/sm/certchain.c index a361aca..4e18caf 100644 --- a/sm/certchain.c +++ b/sm/certchain.c @@ -119,7 +119,8 @@ do_list (int is_error, int listmode, estream_t fp, const char *format, ...) } else { - log_logv (is_error? GPGRT_LOG_ERROR: GPGRT_LOG_INFO, format, arg_ptr); + log_logv (is_error? GPGRT_LOGLVL_ERROR: GPGRT_LOGLVL_INFO, + format, arg_ptr); log_printf ("\n"); } va_end (arg_ptr); diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index 9ce752b..bf54303 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -87,7 +87,7 @@ gc_error (int status, int errnum, const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - log_logv (GPGRT_LOG_ERROR, fmt, arg_ptr); + log_logv (GPGRT_LOGLVL_ERROR, fmt, arg_ptr); va_end (arg_ptr); if (errnum) ----------------------------------------------------------------------- Summary of changes: agent/gpg-agent.c | 12 ++++++++++++ agent/keyformat.txt | 6 +++--- agent/protect.c | 2 +- agent/t-protect.c | 2 +- build-aux/speedo.mk | 5 ++++- common/asshelp.c | 2 +- common/logging.h | 14 ++++++++++++-- common/miscellaneous.c | 16 ++++++++-------- dirmngr/dirmngr.c | 4 ++-- doc/gpg-agent.texi | 11 +++++++++++ g10/call-agent.c | 2 +- g10/keyedit.c | 2 +- g10/misc.c | 2 +- g10/parse-packet.c | 6 ++++++ g10/tofu.c | 4 ++-- kbx/kbxutil.c | 16 ++++++++-------- sm/certchain.c | 3 ++- tools/gpgconf-comp.c | 2 +- 18 files changed, 77 insertions(+), 34 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 13:59:24 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 11 Dec 2017 13:59:24 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-92-g0a567a9 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 0a567a94d94cd93c5d88f5db802925c95f0974d0 (commit) from 7b5182f2889310fc43d5fe05e7ec1ffd3c1f7b06 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0a567a94d94cd93c5d88f5db802925c95f0974d0 Author: Werner Koch Date: Mon Dec 11 13:54:22 2017 +0100 core,w32: Fix popping up of console windows due to gpgconf. * src/gpgme-w32spawn.c (my_spawn): Create w/o DETACHED_PROCESS. -- The spawn helper is actually called with DETACHED_PROCESS and should not need to do a DETACHED_PROCESS of its own. Interestingly this patch removes the popups. See Andre's report GnuPG-bug-id: 3515 Signed-off-by: Werner Koch diff --git a/src/gpgme-w32spawn.c b/src/gpgme-w32spawn.c index 003b9b0..d86c850 100644 --- a/src/gpgme-w32spawn.c +++ b/src/gpgme-w32spawn.c @@ -205,7 +205,6 @@ my_spawn (char **argv, struct spawn_fd_item_s *fd_list, unsigned int flags) } cr_flags |= CREATE_SUSPENDED; - cr_flags |= DETACHED_PROCESS; if (!CreateProcessA (argv[0], arg_string, &sec_attr, /* process security attributes */ ----------------------------------------------------------------------- Summary of changes: src/gpgme-w32spawn.c | 1 - 1 file changed, 1 deletion(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 14:40:03 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 11 Dec 2017 14:40:03 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-20-g20b52be Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 20b52be9ca29b0bc843fc68a279cb72728ede72f (commit) via f2997adee0455c8c0fa391a853ec1b0c9fc43342 (commit) via 7a663c296e687f12ccd9a21d414de780feb4dfcf (commit) via 6c1dcd79cf0977844179d9a7b189c10af5e42a7e (commit) from 3e72143023aa8a01d3e648797df89ae106e24e88 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 20b52be9ca29b0bc843fc68a279cb72728ede72f Author: Werner Koch Date: Tue Nov 14 16:24:12 2017 +0100 dirmngr: Check for WKD support at session end * dirmngr/domaininfo.c (insert_or_update): Copy the name. * dirmngr/misc.c (copy_stream): Allow arg OUT to be NULL. * dirmngr/server.c (set_error): Protect CTX. (dirmngr_status): Protect against missing ASSUAN_CTX. (dirmngr_status_help): Ditto. (dirmngr_status_printf): Ditto. (cmd_wkd_get): Factor code out to ... (proc_wkd_get): new func. Support silent operation with no CTX. (task_check_wkd_support): New. -- This finalizes the feature to efficiently cache WKD checks. If a standard WKD query returns no data, we queue a test to be run after the end of the session (so that we do not delay the calling client). This check tests whether the server responsible for the queried address has WKD at all enabled. The test is done by checking whether the "policy" file exists. We do not check the "submission-address" file because that is not necessary for the web key operation. The policy file is now required. Signed-off-by: Werner Koch (cherry picked from commit d4e2302d8f4a1ff52d56da4f8e3a5d1c6303822d) diff --git a/dirmngr/domaininfo.c b/dirmngr/domaininfo.c index 90cdb85..a2effff 100644 --- a/dirmngr/domaininfo.c +++ b/dirmngr/domaininfo.c @@ -158,6 +158,7 @@ insert_or_update (const char *domain, di_new = xtrycalloc (1, sizeof *di + strlen (domain)); if (!di_new) return; /* Out of core - we ignore this. */ + strcpy (di_new->name, domain); /* Need to do another lookup because the malloc is a system call and * thus the hash array may have been changed by another thread. */ diff --git a/dirmngr/ks-action.c b/dirmngr/ks-action.c index 857aab1..38cd02f 100644 --- a/dirmngr/ks-action.c +++ b/dirmngr/ks-action.c @@ -296,7 +296,8 @@ ks_action_get (ctrl_t ctrl, uri_item_t keyservers, /* Retrieve keys from URL and write the result to the provided output - stream OUTFP. */ + * stream OUTFP. If OUTFP is NULL the data is written to the bit + * bucket. */ gpg_error_t ks_action_fetch (ctrl_t ctrl, const char *url, estream_t outfp) { diff --git a/dirmngr/misc.c b/dirmngr/misc.c index 1716141..6291a9a 100644 --- a/dirmngr/misc.c +++ b/dirmngr/misc.c @@ -636,7 +636,9 @@ armor_data (char **r_string, const void *data, size_t datalen) return 0; } -/* Copy all data from IN to OUT. */ + +/* Copy all data from IN to OUT. OUT may be NULL to use this fucntion + * as a dummy reader. */ gpg_error_t copy_stream (estream_t in, estream_t out) { @@ -647,9 +649,8 @@ copy_stream (estream_t in, estream_t out) { if (!nread) return 0; /* EOF */ - if (es_write (out, buffer, nread, NULL)) + if (out && es_write (out, buffer, nread, NULL)) break; - } return gpg_error_from_syserror (); } diff --git a/dirmngr/server.c b/dirmngr/server.c index 1fbd007..3d0768b 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -80,7 +80,8 @@ #define PARM_ERROR(t) assuan_set_error (ctx, \ gpg_error (GPG_ERR_ASS_PARAMETER), (t)) -#define set_error(e,t) assuan_set_error (ctx, gpg_error (e), (t)) +#define set_error(e,t) (ctx ? assuan_set_error (ctx, gpg_error (e), (t)) \ + /**/: gpg_error (e)) @@ -828,15 +829,11 @@ cmd_dns_cert (assuan_context_t ctx, char *line) -static const char hlp_wkd_get[] = - "WKD_GET [--submission-address|--policy-flags] \n" - "\n" - "Return the key or other info for \n" - "from the Web Key Directory."; +/* Core of cmd_wkd_get and task_check_wkd_support. If CTX is NULL + * this function will not write anything to the assuan output. */ static gpg_error_t -cmd_wkd_get (assuan_context_t ctx, char *line) +proc_wkd_get (ctrl_t ctrl, assuan_context_t ctx, char *line) { - ctrl_t ctrl = assuan_get_pointer (ctx); gpg_error_t err = 0; char *mbox = NULL; char *domainbuf = NULL; @@ -895,7 +892,8 @@ cmd_wkd_get (assuan_context_t ctx, char *line) domainlen = strlen (domain); for (i = 0; i < srvscount; i++) { - log_debug ("srv: trying '%s:%hu'\n", srvs[i].target, srvs[i].port); + if (DBG_DNS) + log_debug ("srv: trying '%s:%hu'\n", srvs[i].target, srvs[i].port); targetlen = strlen (srvs[i].target); if ((targetlen > domainlen + 1 && srvs[i].target[targetlen - domainlen - 1] == '.' @@ -972,19 +970,24 @@ cmd_wkd_get (assuan_context_t ctx, char *line) { estream_t outfp; - outfp = es_fopencookie (ctx, "w", data_line_cookie_functions); - if (!outfp) + outfp = ctx? es_fopencookie (ctx, "w", data_line_cookie_functions) : NULL; + if (!outfp && ctx) err = set_error (GPG_ERR_ASS_GENERAL, "error setting up a data stream"); else { - if (no_log) - ctrl->server_local->inhibit_data_logging = 1; - ctrl->server_local->inhibit_data_logging_now = 0; - ctrl->server_local->inhibit_data_logging_count = 0; + if (ctrl->server_local) + { + if (no_log) + ctrl->server_local->inhibit_data_logging = 1; + ctrl->server_local->inhibit_data_logging_now = 0; + ctrl->server_local->inhibit_data_logging_count = 0; + } err = ks_action_fetch (ctrl, uri, outfp); es_fclose (outfp); - ctrl->server_local->inhibit_data_logging = 0; + if (ctrl->server_local) + ctrl->server_local->inhibit_data_logging = 0; + /* Register the result under the domain name of MBOX. */ switch (gpg_err_code (err)) { @@ -998,8 +1001,9 @@ cmd_wkd_get (assuan_context_t ctx, char *line) break; case GPG_ERR_NO_DATA: - if (is_wkd_query) /* Mark that and schedule a check. */ + if (is_wkd_query && ctrl->server_local) { + /* Mark that and schedule a check. */ domaininfo_set_wkd_not_found (domain_orig); workqueue_add_task (task_check_wkd_support, domain_orig, ctrl->server_local->session_id, 1); @@ -1020,6 +1024,23 @@ cmd_wkd_get (assuan_context_t ctx, char *line) xfree (encodedhash); xfree (mbox); xfree (domainbuf); + return err; +} + + +static const char hlp_wkd_get[] = + "WKD_GET [--submission-address|--policy-flags] \n" + "\n" + "Return the key or other info for \n" + "from the Web Key Directory."; +static gpg_error_t +cmd_wkd_get (assuan_context_t ctx, char *line) +{ + ctrl_t ctrl = assuan_get_pointer (ctx); + gpg_error_t err; + + err = proc_wkd_get (ctrl, ctx, line); + return leave_cmd (ctx, err); } @@ -1029,10 +1050,19 @@ cmd_wkd_get (assuan_context_t ctx, char *line) static const char * task_check_wkd_support (ctrl_t ctrl, const char *domain) { + char *string; + if (!ctrl || !domain) return "check_wkd_support"; - log_debug ("FIXME: Implement %s\n", __func__); + string = strconcat ("--policy-flags foo@", domain, NULL); + if (!string) + log_error ("%s: %s\n", __func__, gpg_strerror (gpg_error_from_syserror ())); + else + { + proc_wkd_get (ctrl, NULL, string); + xfree (string); + } return NULL; } @@ -2800,12 +2830,12 @@ dirmngr_status (ctrl_t ctrl, const char *keyword, ...) gpg_error_t err = 0; va_list arg_ptr; const char *text; + assuan_context_t ctx; va_start (arg_ptr, keyword); - if (ctrl->server_local) + if (ctrl->server_local && (ctx = ctrl->server_local->assuan_ctx)) { - assuan_context_t ctx = ctrl->server_local->assuan_ctx; char buf[950], *p; size_t n; @@ -2835,10 +2865,10 @@ gpg_error_t dirmngr_status_help (ctrl_t ctrl, const char *text) { gpg_error_t err = 0; + assuan_context_t ctx; - if (ctrl->server_local) + if (ctrl->server_local && (ctx = ctrl->server_local->assuan_ctx)) { - assuan_context_t ctx = ctrl->server_local->assuan_ctx; char buf[950], *p; size_t n; @@ -2888,7 +2918,10 @@ dirmngr_status_printf (ctrl_t ctrl, const char *keyword, { gpg_error_t err; va_list arg_ptr; - assuan_context_t ctx = ctrl->server_local->assuan_ctx; + assuan_context_t ctx; + + if (!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); commit f2997adee0455c8c0fa391a853ec1b0c9fc43342 Author: Werner Koch Date: Tue Nov 14 13:42:18 2017 +0100 dirmngr: Add a background task framework. * dirmngr/workqueue.c: New. * dirmngr/Makefile.am (dirmngr_SOURCES): Add new file. * dirmngr/server.c (server_local_s): New field session_id. (cmd_wkd_get): Add a task. (task_check_wkd_support): New stub function. (cmd_getinfo): New sub-commands "session_id" and "workqueue". (start_command_handler): Add arg session_id and store it in SERVER_LOCAL. (dirmngr_status_helpf): New. * dirmngr/dirmngr.h (wqtask_t): New type. * dirmngr/dirmngr.c (main): Pass 0 as session_id to start_command_handler. (start_connection_thread): Introduce a session_id and pass it to start_command_handler. Run post session tasks. (housekeeping_thread): Run global workqueue tasks. -- Signed-off-by: Werner Koch (cherry picked from commit 96a4fbecd1acf946dcde20bef4752c539dae196b) diff --git a/dirmngr/Makefile.am b/dirmngr/Makefile.am index 421a325..43f59bd 100644 --- a/dirmngr/Makefile.am +++ b/dirmngr/Makefile.am @@ -60,6 +60,7 @@ noinst_HEADERS = dirmngr.h crlcache.h crlfetch.h misc.h dirmngr_SOURCES = dirmngr.c dirmngr.h server.c crlcache.c crlfetch.c \ certcache.c certcache.h \ domaininfo.c \ + workqueue.c \ loadswdb.c \ cdb.h cdblib.c misc.c dirmngr-err.h \ ocsp.c ocsp.h validate.c validate.h \ diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 2b64655..9cb0203 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -1134,7 +1134,7 @@ main (int argc, char **argv) cert_cache_init (hkp_cacert_filenames); crl_cache_init (); http_register_netactivity_cb (netactivity_action); - start_command_handler (ASSUAN_INVALID_FD); + start_command_handler (ASSUAN_INVALID_FD, 0); shutdown_reaper (); } #ifndef HAVE_W32_SYSTEM @@ -1939,7 +1939,10 @@ housekeeping_thread (void *arg) network_activity_seen = 0; if (opt.allow_version_check) dirmngr_load_swdb (&ctrlbuf, 0); + workqueue_run_global_tasks (&ctrlbuf, 1); } + else + workqueue_run_global_tasks (&ctrlbuf, 0); dirmngr_deinit_default_ctrl (&ctrlbuf); @@ -2034,6 +2037,8 @@ check_nonce (assuan_fd_t fd, assuan_sock_nonce_t *nonce) static void * start_connection_thread (void *arg) { + static unsigned int last_session_id; + unsigned int session_id; union int_and_ptr_u argval; gnupg_fd_t fd; @@ -2055,12 +2060,17 @@ start_connection_thread (void *arg) if (opt.verbose) log_info (_("handler for fd %d started\n"), FD2INT (fd)); - start_command_handler (fd); + session_id = ++last_session_id; + if (!session_id) + session_id = ++last_session_id; + start_command_handler (fd, session_id); if (opt.verbose) log_info (_("handler for fd %d terminated\n"), FD2INT (fd)); active_connections--; + workqueue_run_post_session_tasks (session_id); + #ifndef HAVE_W32_SYSTEM argval.afd = ASSUAN_INVALID_FD; npth_setspecific (my_tlskey_current_fd, argval.aptr); diff --git a/dirmngr/dirmngr.h b/dirmngr/dirmngr.h index b08e4fe..5189f93 100644 --- a/dirmngr/dirmngr.h +++ b/dirmngr/dirmngr.h @@ -228,9 +228,11 @@ ksba_cert_t get_cert_local_ski (ctrl_t ctrl, gpg_error_t get_istrusted_from_client (ctrl_t ctrl, const char *hexfpr); int dirmngr_assuan_log_monitor (assuan_context_t ctx, unsigned int cat, const char *msg); -void start_command_handler (gnupg_fd_t fd); +void start_command_handler (gnupg_fd_t fd, unsigned int session_id); gpg_error_t dirmngr_status (ctrl_t ctrl, const char *keyword, ...); gpg_error_t dirmngr_status_help (ctrl_t ctrl, const char *text); +gpg_error_t dirmngr_status_helpf (ctrl_t ctrl, const char *format, + ...) GPGRT_ATTR_PRINTF(2,3); gpg_error_t dirmngr_status_printf (ctrl_t ctrl, const char *keyword, const char *format, ...) GPGRT_ATTR_PRINTF(3,4); @@ -258,6 +260,15 @@ void domaininfo_set_wkd_supported (const char *domain); void domaininfo_set_wkd_not_supported (const char *domain); void domaininfo_set_wkd_not_found (const char *domain); +/*-- workqueue.c --*/ +typedef const char *(*wqtask_t)(ctrl_t ctrl, const char *args); + +void workqueue_dump_queue (ctrl_t ctrl); +gpg_error_t workqueue_add_task (wqtask_t func, const char *args, + unsigned int session_id, int need_network); +void workqueue_run_global_tasks (ctrl_t ctrl, int with_network); +void workqueue_run_post_session_tasks (unsigned int session_id); + #endif /*DIRMNGR_H*/ diff --git a/dirmngr/server.c b/dirmngr/server.c index 18a5f72..1fbd007 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -90,6 +90,9 @@ struct server_local_s /* Data used to associate an Assuan context with local server data */ assuan_context_t assuan_ctx; + /* The session id (a counter). */ + unsigned int session_id; + /* Per-session LDAP servers. */ ldap_server_t ldapservers; @@ -125,6 +128,9 @@ static es_cookie_io_functions_t data_line_cookie_functions = }; +/* Local prototypes */ +static const char *task_check_wkd_support (ctrl_t ctrl, const char *domain); + @@ -992,8 +998,12 @@ cmd_wkd_get (assuan_context_t ctx, char *line) break; case GPG_ERR_NO_DATA: - if (is_wkd_query) /* Mark that - we will latter do a check. */ - domaininfo_set_wkd_not_found (domain_orig); + if (is_wkd_query) /* Mark that and schedule a check. */ + { + domaininfo_set_wkd_not_found (domain_orig); + workqueue_add_task (task_check_wkd_support, domain_orig, + ctrl->server_local->session_id, 1); + } else if (opt_policy_flags) /* No policy file - no support. */ domaininfo_set_wkd_not_supported (domain_orig); break; @@ -1014,6 +1024,20 @@ cmd_wkd_get (assuan_context_t ctx, char *line) } +/* A task to check whether DOMAIN supports WKD. This is done by + * checking whether the policy flags file can be read. */ +static const char * +task_check_wkd_support (ctrl_t ctrl, const char *domain) +{ + if (!ctrl || !domain) + return "check_wkd_support"; + + log_debug ("FIXME: Implement %s\n", __func__); + + return NULL; +} + + static const char hlp_ldapserver[] = "LDAPSERVER \n" @@ -2428,12 +2452,15 @@ static const char hlp_getinfo[] = "pid - Return the process id of the server.\n" "tor - Return OK if running in Tor mode\n" "dnsinfo - Return info about the DNS resolver\n" - "socket_name - Return the name of the socket.\n"; + "socket_name - Return the name of the socket.\n" + "session_id - Return the current session_id.\n" + "workqueue - Inspect the work queue\n"; static gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line) { ctrl_t ctrl = assuan_get_pointer (ctx); gpg_error_t err; + char numbuf[50]; if (!strcmp (line, "version")) { @@ -2442,8 +2469,6 @@ cmd_getinfo (assuan_context_t ctx, char *line) } else if (!strcmp (line, "pid")) { - char numbuf[50]; - snprintf (numbuf, sizeof numbuf, "%lu", (unsigned long)getpid ()); err = assuan_send_data (ctx, numbuf, strlen (numbuf)); } @@ -2452,6 +2477,11 @@ cmd_getinfo (assuan_context_t ctx, char *line) const char *s = dirmngr_get_current_socket_name (); err = assuan_send_data (ctx, s, strlen (s)); } + else if (!strcmp (line, "session_id")) + { + snprintf (numbuf, sizeof numbuf, "%u", ctrl->server_local->session_id); + err = assuan_send_data (ctx, numbuf, strlen (numbuf)); + } else if (!strcmp (line, "tor")) { int use_tor; @@ -2487,6 +2517,11 @@ cmd_getinfo (assuan_context_t ctx, char *line) } err = 0; } + else if (!strcmp (line, "workqueue")) + { + workqueue_dump_queue (ctrl); + err = 0; + } else err = set_error (GPG_ERR_ASS_PARAMETER, "unknown value for WHAT"); @@ -2614,9 +2649,10 @@ dirmngr_assuan_log_monitor (assuan_context_t ctx, unsigned int cat, /* Startup the server and run the main command loop. With FD = -1, - use stdin/stdout. */ + * use stdin/stdout. SESSION_ID is either 0 or a unique number + * identifying a session. */ void -start_command_handler (assuan_fd_t fd) +start_command_handler (assuan_fd_t fd, unsigned int session_id) { static const char hello[] = "Dirmngr " VERSION " at your service"; static char *hello_line; @@ -2693,6 +2729,8 @@ start_command_handler (assuan_fd_t fd) assuan_register_option_handler (ctx, option_handler); assuan_register_reset_notify (ctx, reset_notify); + ctrl->server_local->session_id = session_id; + for (;;) { rc = assuan_accept (ctx); @@ -2792,8 +2830,7 @@ dirmngr_status (ctrl_t ctrl, const char *keyword, ...) } -/* Print a help status line. TEXTLEN gives the length of the text - from TEXT to be printed. The function splits text at LFs. */ +/* Print a help status line. The function splits text at LFs. */ gpg_error_t dirmngr_status_help (ctrl_t ctrl, const char *text) { @@ -2823,6 +2860,26 @@ dirmngr_status_help (ctrl_t ctrl, const char *text) } +/* Print a help status line using a printf like format. The function + * splits text at LFs. */ +gpg_error_t +dirmngr_status_helpf (ctrl_t ctrl, const char *format, ...) +{ + va_list arg_ptr; + gpg_error_t err; + char *buf; + + va_start (arg_ptr, format); + buf = es_vbsprintf (format, arg_ptr); + err = buf? 0 : gpg_error_from_syserror (); + va_end (arg_ptr); + if (!err) + err = dirmngr_status_help (ctrl, buf); + es_free (buf); + return err; +} + + /* This function is similar to print_assuan_status but takes a CTRL * arg instead of an assuan context as first argument. */ gpg_error_t diff --git a/dirmngr/workqueue.c b/dirmngr/workqueue.c new file mode 100644 index 0000000..2cb8573 --- /dev/null +++ b/dirmngr/workqueue.c @@ -0,0 +1,214 @@ +/* workqueue.c - Maintain a queue of background tasks + * Copyright (C) 2017 Werner Koch + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * SPDX-License-Identifier: GPL-3.0+ + */ + +#include +#include +#include + +#include "dirmngr.h" + + +/* An object for one item in the workqueue. */ +struct wqitem_s +{ + struct wqitem_s *next; + + /* This flag is set if the task requires network access. */ + unsigned int need_network:1; + + /* The id of the session which created this task. If this is 0 the + * task is not associated with a specific session. */ + unsigned int session_id; + + /* The function to perform the backgrount task. */ + wqtask_t func; + + /* A string with the string argument for that task. */ + char args[1]; +}; +typedef struct wqitem_s *wqitem_t; + + +/* The workque is a simple linked list. */ +static wqitem_t workqueue; + + +/* Dump the queue using Assuan status comments. */ +void +workqueue_dump_queue (ctrl_t ctrl) +{ + wqitem_t saved_workqueue; + wqitem_t item; + unsigned int count; + + /* Temporay detach the entiere workqueue so that other threads don't + * get into our way. */ + saved_workqueue = workqueue; + workqueue = NULL; + + for (count=0, item = saved_workqueue; item; item = item->next) + count++; + + dirmngr_status_helpf (ctrl, "wq: number of entries: %u", count); + for (item = saved_workqueue; item; item = item->next) + dirmngr_status_helpf (ctrl, "wq: sess=%u net=%d %s(\"%.100s%s\")", + item->session_id, item->need_network, + item->func? item->func (NULL, NULL): "nop", + item->args, strlen (item->args) > 100? "[...]":""); + + /* Restore then workqueue. Actually we append the saved queue do a + * possibly updated workqueue. */ + if (!(item=workqueue)) + workqueue = saved_workqueue; + else + { + while (item->next) + item = item->next; + item->next = saved_workqueue; + } +} + + +/* Append the task (FUNC,ARGS) to the work queue. FUNC shall return + * its name when called with (NULL, NULL). */ +gpg_error_t +workqueue_add_task (wqtask_t func, const char *args, unsigned int session_id, + int need_network) +{ + wqitem_t item, wi; + + item = xtrycalloc (1, sizeof *item + strlen (args)); + if (!item) + return gpg_error_from_syserror (); + strcpy (item->args, args); + item->func = func; + item->session_id = session_id; + item->need_network = !!need_network; + + if (!(wi=workqueue)) + workqueue = item; + else + { + while (wi->next) + wi = wi->next; + wi->next = item; + } + return 0; +} + + +/* Run the task described by ITEM. ITEM must have been detached from + * the workqueue; its ownership is transferred to this fucntion. */ +static void +run_a_task (ctrl_t ctrl, wqitem_t item) +{ + log_assert (!item->next); + + if (opt.verbose) + log_info ("session %u: running %s(\"%s%s\")\n", + item->session_id, + item->func? item->func (NULL, NULL): "nop", + item->args, strlen (item->args) > 100? "[...]":""); + if (item->func) + item->func (ctrl, item->args); + + xfree (item); +} + + +/* Run tasks not associated with a session. This is called from the + * ticker every few minutes. If WITH_NETWORK is not set tasks which + * require the network are not run. */ +void +workqueue_run_global_tasks (ctrl_t ctrl, int with_network) +{ + wqitem_t item, prev; + + with_network = !!with_network; + + if (opt.verbose) + log_info ("running scheduled tasks%s\n", with_network?" (with network)":""); + + for (;;) + { + prev = NULL; + for (item = workqueue; item; prev = item, item = item->next) + if (!item->session_id + && (!item->need_network || (item->need_network && with_network))) + break; + if (!item) + break; /* No more tasks to run. */ + + /* Detach that item from the workqueue. */ + if (!prev) + workqueue = item->next; + else + prev->next = item->next; + item->next = NULL; + + /* Run the task. */ + run_a_task (ctrl, item); + } +} + + +/* Run tasks scheduled for running after a session. Those tasks are + * identified by the SESSION_ID. */ +void +workqueue_run_post_session_tasks (unsigned int session_id) +{ + struct server_control_s ctrlbuf; + ctrl_t ctrl = NULL; + wqitem_t item, prev; + + if (!session_id) + return; + + for (;;) + { + prev = NULL; + for (item = workqueue; item; prev = item, item = item->next) + if (item->session_id == session_id) + break; + if (!item) + break; /* No more tasks for this session. */ + + /* Detach that item from the workqueue. */ + if (!prev) + workqueue = item->next; + else + prev->next = item->next; + item->next = NULL; + + /* Create a CTRL object the first time we need it. */ + if (!ctrl) + { + memset (&ctrlbuf, 0, sizeof ctrlbuf); + ctrl = &ctrlbuf; + dirmngr_init_default_ctrl (ctrl); + } + + /* Run the task. */ + run_a_task (ctrl, item); + } + + dirmngr_deinit_default_ctrl (ctrl); +} commit 7a663c296e687f12ccd9a21d414de780feb4dfcf Author: Werner Koch Date: Tue Nov 14 08:37:27 2017 +0100 dirmngr: Limit the number of cached domains for WKD. * dirmngr/domaininfo.c (MAX_DOMAINBUCKET_LEN): New. (insert_or_update): Limit the length of a bucket chain. (domaininfo_print_stats): Print just one summary line. Signed-off-by: Werner Koch (cherry picked from commit 26f08343fbccdbaa177c3507a3c5e24a5cf94a2d) diff --git a/dirmngr/domaininfo.c b/dirmngr/domaininfo.c index 393db8c..90cdb85 100644 --- a/dirmngr/domaininfo.c +++ b/dirmngr/domaininfo.c @@ -26,7 +26,18 @@ #include "dirmngr.h" -#define NO_OF_DOMAINBUCKETS 103 +/* Number of bucket for the hash array and limit for the length of a + * bucket chain. For debugging values of 13 and 10 are more suitable + * and a command like + * for j in a b c d e f g h i j k l m n o p q r s t u v w z y z; do \ + * for i in a b c d e f g h i j k l m n o p q r s t u v w z y z; do \ + * gpg-connect-agent --dirmngr "wkd_get foo@$i.$j.gnupg.net" /bye \ + * >/dev/null ; done; done + * will quickly add a couple of domains. + */ +#define NO_OF_DOMAINBUCKETS 103 +#define MAX_DOMAINBUCKET_LEN 20 + /* Object to keep track of a domain name. */ struct domaininfo_s @@ -74,13 +85,18 @@ domaininfo_print_stats (void) int bidx; domaininfo_t di; int count, no_name, wkd_not_found, wkd_supported, wkd_not_supported; + int len, minlen, maxlen; + count = no_name = wkd_not_found = wkd_supported = wkd_not_supported = 0; + maxlen = 0; + minlen = -1; for (bidx = 0; bidx < NO_OF_DOMAINBUCKETS; bidx++) { - count = no_name = wkd_not_found = wkd_supported = wkd_not_supported = 0; + len = 0; for (di = domainbuckets[bidx]; di; di = di->next) { count++; + len++; if (di->no_name) no_name++; if (di->wkd_not_found) @@ -90,11 +106,16 @@ domaininfo_print_stats (void) if (di->wkd_not_supported) wkd_not_supported++; } - if (count) - log_info ("domaininfo: chain %3d length=%d nn=%d nf=%d s=%d ns=%d\n", - bidx, count, no_name, - wkd_not_found, wkd_supported, wkd_not_supported); + if (len > maxlen) + maxlen = len; + if (minlen == -1 || len < minlen) + minlen = len; } + log_info ("domaininfo: items=%d chainlen=%d..%d nn=%d nf=%d ns=%d s=%d\n", + count, + minlen > 0? minlen : 0, + maxlen, + no_name, wkd_not_found, wkd_not_supported, wkd_supported); } @@ -122,7 +143,9 @@ insert_or_update (const char *domain, { domaininfo_t di; domaininfo_t di_new; + domaininfo_t di_cut; u32 hash; + int count; hash = hash_domain (domain); for (di = domainbuckets[hash]; di; di = di->next) @@ -138,7 +161,8 @@ insert_or_update (const char *domain, /* Need to do another lookup because the malloc is a system call and * thus the hash array may have been changed by another thread. */ - for (di = domainbuckets[hash]; di; di = di->next) + di_cut = NULL; + for (count=0, di = domainbuckets[hash]; di; di = di->next, count++) if (!strcmp (di->name, domain)) { callback (di, 0); /* Update */ @@ -146,10 +170,32 @@ insert_or_update (const char *domain, return; } - callback (di_new, 1); /* Insert */ + /* Before we insert we need to check whether the chain gets too long. */ + di_cut = NULL; + if (count >= MAX_DOMAINBUCKET_LEN) + { + for (count=0, di = domainbuckets[hash]; di; di = di->next, count++) + if (count >= MAX_DOMAINBUCKET_LEN/2) + { + di_cut = di->next; + di->next = NULL; + break; + } + } + + /* Insert */ + callback (di_new, 1); di = di_new; di->next = domainbuckets[hash]; domainbuckets[hash] = di; + + /* Remove the rest of the cutted chain. */ + while (di_cut) + { + di = di_cut->next; + xfree (di_cut); + di_cut = di; + } } commit 6c1dcd79cf0977844179d9a7b189c10af5e42a7e Author: Werner Koch Date: Mon Nov 13 16:09:32 2017 +0100 dirmngr: Keep track of domains used for WKD queries * dirmngr/domaininfo.c: New file. * dirmngr/Makefile.am (dirmngr_SOURCES): Add file. * dirmngr/server.c (cmd_wkd_get): Check whether the domain is already known and tell domaininfo about the results. -- This adds a registry for domain information to eventually avoid useless queries for domains which do not support WKD. The missing part is a background task to check whether a queried domain supports WKD at all and to expire old entries. Signed-off-by: Werner Koch (cherry picked from commit 65038e6852185c20413d8f6602218ee636413b77) diff --git a/dirmngr/Makefile.am b/dirmngr/Makefile.am index b404165..421a325 100644 --- a/dirmngr/Makefile.am +++ b/dirmngr/Makefile.am @@ -16,6 +16,8 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, see . +# +# SPDX-License-Identifier: GPL-3.0+ ## Process this file with automake to produce Makefile.in @@ -57,6 +59,7 @@ noinst_HEADERS = dirmngr.h crlcache.h crlfetch.h misc.h dirmngr_SOURCES = dirmngr.c dirmngr.h server.c crlcache.c crlfetch.c \ certcache.c certcache.h \ + domaininfo.c \ loadswdb.c \ cdb.h cdblib.c misc.c dirmngr-err.h \ ocsp.c ocsp.h validate.c validate.h \ diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 5317c21..2b64655 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -17,6 +17,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, see . + * + * SPDX-License-Identifier: GPL-3.0+ */ #include @@ -1871,6 +1873,7 @@ handle_signal (int signo) case SIGUSR1: cert_cache_print_stats (); + domaininfo_print_stats (); break; case SIGUSR2: diff --git a/dirmngr/dirmngr.h b/dirmngr/dirmngr.h index 1f660de..b08e4fe 100644 --- a/dirmngr/dirmngr.h +++ b/dirmngr/dirmngr.h @@ -17,6 +17,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, see . + * + * SPDX-License-Identifier: GPL-3.0+ */ #ifndef DIRMNGR_H @@ -248,4 +250,14 @@ gpg_error_t gnupg_http_tls_verify_cb (void *opaque, gpg_error_t dirmngr_load_swdb (ctrl_t ctrl, int force); +/*-- domaininfo.c --*/ +void domaininfo_print_stats (void); +int domaininfo_is_wkd_not_supported (const char *domain); +void domaininfo_set_no_name (const char *domain); +void domaininfo_set_wkd_supported (const char *domain); +void domaininfo_set_wkd_not_supported (const char *domain); +void domaininfo_set_wkd_not_found (const char *domain); + + + #endif /*DIRMNGR_H*/ diff --git a/dirmngr/domaininfo.c b/dirmngr/domaininfo.c new file mode 100644 index 0000000..393db8c --- /dev/null +++ b/dirmngr/domaininfo.c @@ -0,0 +1,244 @@ +/* domaininfo.c - Gather statistics about accessed domains + * Copyright (C) 2017 Werner Koch + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * SPDX-License-Identifier: GPL-3.0+ + */ + +#include +#include +#include + +#include "dirmngr.h" + + +#define NO_OF_DOMAINBUCKETS 103 + +/* Object to keep track of a domain name. */ +struct domaininfo_s +{ + struct domaininfo_s *next; + unsigned int no_name:1; /* Domain name not found. */ + unsigned int wkd_not_found:1; /* A WKD query failed. */ + unsigned int wkd_supported:1; /* One WKD entry was found. */ + unsigned int wkd_not_supported:1; /* Definitely does not support WKD. */ + char name[1]; +}; +typedef struct domaininfo_s *domaininfo_t; + +/* And the hashed array. */ +static domaininfo_t domainbuckets[NO_OF_DOMAINBUCKETS]; + + +/* The hash function we use. Must not call a system function. */ +static inline u32 +hash_domain (const char *domain) +{ + const unsigned char *s = (const unsigned char*)domain; + u32 hashval = 0; + u32 carry; + + for (; *s; s++) + { + if (*s == '.') + continue; + hashval = (hashval << 4) + *s; + if ((carry = (hashval & 0xf0000000))) + { + hashval ^= (carry >> 24); + hashval ^= carry; + } + } + + return hashval % NO_OF_DOMAINBUCKETS; +} + + +void +domaininfo_print_stats (void) +{ + int bidx; + domaininfo_t di; + int count, no_name, wkd_not_found, wkd_supported, wkd_not_supported; + + for (bidx = 0; bidx < NO_OF_DOMAINBUCKETS; bidx++) + { + count = no_name = wkd_not_found = wkd_supported = wkd_not_supported = 0; + for (di = domainbuckets[bidx]; di; di = di->next) + { + count++; + if (di->no_name) + no_name++; + if (di->wkd_not_found) + wkd_not_found++; + if (di->wkd_supported) + wkd_supported++; + if (di->wkd_not_supported) + wkd_not_supported++; + } + if (count) + log_info ("domaininfo: chain %3d length=%d nn=%d nf=%d s=%d ns=%d\n", + bidx, count, no_name, + wkd_not_found, wkd_supported, wkd_not_supported); + } +} + + +/* Return true if DOMAIN definitely does not support WKD. Noet that + * DOMAIN is expected to be lowercase. */ +int +domaininfo_is_wkd_not_supported (const char *domain) +{ + domaininfo_t di; + + for (di = domainbuckets[hash_domain (domain)]; di; di = di->next) + if (!strcmp (di->name, domain)) + return !!di->wkd_not_supported; + + return 0; /* We don't know. */ +} + + +/* Core update function. DOMAIN is expected to be lowercase. + * CALLBACK is called to update the existing or the newly inserted + * item. */ +static void +insert_or_update (const char *domain, + void (*callback)(domaininfo_t di, int insert_mode)) +{ + domaininfo_t di; + domaininfo_t di_new; + u32 hash; + + hash = hash_domain (domain); + for (di = domainbuckets[hash]; di; di = di->next) + if (!strcmp (di->name, domain)) + { + callback (di, 0); /* Update */ + return; + } + + di_new = xtrycalloc (1, sizeof *di + strlen (domain)); + if (!di_new) + return; /* Out of core - we ignore this. */ + + /* Need to do another lookup because the malloc is a system call and + * thus the hash array may have been changed by another thread. */ + for (di = domainbuckets[hash]; di; di = di->next) + if (!strcmp (di->name, domain)) + { + callback (di, 0); /* Update */ + xfree (di_new); + return; + } + + callback (di_new, 1); /* Insert */ + di = di_new; + di->next = domainbuckets[hash]; + domainbuckets[hash] = di; +} + + +/* Helper for domaininfo_set_no_name. */ +static void +set_no_name_cb (domaininfo_t di, int insert_mode) +{ + (void)insert_mode; + + di->no_name = 1; + /* Obviously the domain is in this case also not supported. */ + di->wkd_not_supported = 1; + + /* The next should already be 0 but we clear it anyway in the case + * of a temporary DNS failure. */ + di->wkd_supported = 0; +} + + +/* Mark DOMAIN as not existent. */ +void +domaininfo_set_no_name (const char *domain) +{ + insert_or_update (domain, set_no_name_cb); +} + + +/* Helper for domaininfo_set_wkd_supported. */ +static void +set_wkd_supported_cb (domaininfo_t di, int insert_mode) +{ + (void)insert_mode; + + di->wkd_supported = 1; + /* The next will already be set unless the domain enabled WKD in the + * meantime. Thus we need to clear it. */ + di->wkd_not_supported = 0; +} + + +/* Mark DOMAIN as supporting WKD. */ +void +domaininfo_set_wkd_supported (const char *domain) +{ + insert_or_update (domain, set_wkd_supported_cb); +} + + +/* Helper for domaininfo_set_wkd_not_supported. */ +static void +set_wkd_not_supported_cb (domaininfo_t di, int insert_mode) +{ + (void)insert_mode; + + di->wkd_not_supported = 1; + di->wkd_supported = 0; +} + + +/* Mark DOMAIN as not supporting WKD queries (e.g. no policy file). */ +void +domaininfo_set_wkd_not_supported (const char *domain) +{ + insert_or_update (domain, set_wkd_not_supported_cb); +} + + + +/* Helper for domaininfo_set_wkd_not_found. */ +static void +set_wkd_not_found_cb (domaininfo_t di, int insert_mode) +{ + /* Set the not found flag but there is no need to do this if we + * already know that the domain either does not support WKD or we + * know that it supports WKD. */ + if (insert_mode) + di->wkd_not_found = 1; + else if (!di->wkd_not_supported && !di->wkd_supported) + di->wkd_not_found = 1; + + /* Better clear this flag in case we had a DNS failure in the + * past. */ + di->no_name = 0; +} + + +/* Update a counter for DOMAIN to keep track of failed WKD queries. */ +void +domaininfo_set_wkd_not_found (const char *domain) +{ + insert_or_update (domain, set_wkd_not_found_cb); +} diff --git a/dirmngr/server.c b/dirmngr/server.c index 7ed6cde..18a5f72 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -18,6 +18,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, see . + * + * SPDX-License-Identifier: GPL-3.0+ */ #include @@ -833,11 +835,13 @@ cmd_wkd_get (assuan_context_t ctx, char *line) char *mbox = NULL; char *domainbuf = NULL; char *domain; /* Points to mbox or domainbuf. */ + char *domain_orig;/* Points to mbox. */ char sha1buf[20]; char *uri = NULL; char *encodedhash = NULL; int opt_submission_addr; int opt_policy_flags; + int is_wkd_query; /* True if this is a real WKD query. */ int no_log = 0; char portstr[20] = { 0 }; @@ -846,6 +850,7 @@ cmd_wkd_get (assuan_context_t ctx, char *line) if (has_option (line, "--quick")) ctrl->timeout = opt.connect_quick_timeout; line = skip_options (line); + is_wkd_query = !(opt_policy_flags || opt_submission_addr); mbox = mailbox_from_userid (line); if (!mbox || !(domain = strchr (mbox, '@'))) @@ -854,6 +859,18 @@ cmd_wkd_get (assuan_context_t ctx, char *line) goto leave; } *domain++ = 0; + domain_orig = domain; + + /* First check whether we already know that the domain does not + * support WKD. */ + if (is_wkd_query) + { + if (domaininfo_is_wkd_not_supported (domain_orig)) + { + err = gpg_error (GPG_ERR_NO_DATA); + goto leave; + } + } /* Check for SRV records. */ if (1) @@ -962,6 +979,29 @@ cmd_wkd_get (assuan_context_t ctx, char *line) err = ks_action_fetch (ctrl, uri, outfp); es_fclose (outfp); ctrl->server_local->inhibit_data_logging = 0; + /* Register the result under the domain name of MBOX. */ + switch (gpg_err_code (err)) + { + case 0: + domaininfo_set_wkd_supported (domain_orig); + break; + + case GPG_ERR_NO_NAME: + /* There is no such domain. */ + domaininfo_set_no_name (domain_orig); + break; + + case GPG_ERR_NO_DATA: + if (is_wkd_query) /* Mark that - we will latter do a check. */ + domaininfo_set_wkd_not_found (domain_orig); + else if (opt_policy_flags) /* No policy file - no support. */ + domaininfo_set_wkd_not_supported (domain_orig); + break; + + default: + /* Don't register other errors. */ + break; + } } } ----------------------------------------------------------------------- Summary of changes: dirmngr/Makefile.am | 4 + dirmngr/dirmngr.c | 17 ++- dirmngr/dirmngr.h | 25 ++++- dirmngr/domaininfo.c | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++ dirmngr/ks-action.c | 3 +- dirmngr/misc.c | 7 +- dirmngr/server.c | 186 +++++++++++++++++++++++++++----- dirmngr/workqueue.c | 214 +++++++++++++++++++++++++++++++++++++ 8 files changed, 712 insertions(+), 35 deletions(-) create mode 100644 dirmngr/domaininfo.c create mode 100644 dirmngr/workqueue.c hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 16:38:16 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 11 Dec 2017 16:38:16 +0100 Subject: [git] GPG-ERROR - branch, master, updated. libgpg-error-1.27-240-gf9a33a7 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Error codes used by GnuPG et al.". The branch, master has been updated via f9a33a7f7e44a644ff4e31f7e9f1c2c1ec1f8eee (commit) via de167fa92d009745c51dae547990845282cbb351 (commit) from 4acf116ba6d144c2cfa39ff54a23b8864b4ce895 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f9a33a7f7e44a644ff4e31f7e9f1c2c1ec1f8eee Author: Werner Koch Date: Mon Dec 11 16:33:37 2017 +0100 core: Avoid using estream_t in the public API. * src/gpg-error.h.in: Always use gpgrt_stream-t. -- estream_t can only be used if GPGRT_ENABLE_ES_MACROS is defined. Fixes-commit: 1865c0ba1769b407a3c504f1ab0a4278704a9fc1 Signed-off-by: Werner Koch diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in index 86c6a8a..46e8f53 100644 --- a/src/gpg-error.h.in +++ b/src/gpg-error.h.in @@ -1035,7 +1035,7 @@ void _gpgrt_log_assert (const char *expr, const char *file, int line, #define GPGRT_SPAWN_DETACHED 128 /* Start the process in the background. */ /* Function and convenience macros to create pipes. */ -gpg_err_code_t gpgrt_make_pipe (int filedes[2], estream_t *r_fp, +gpg_err_code_t gpgrt_make_pipe (int filedes[2], gpgrt_stream_t *r_fp, int direction, int nonblock); #define gpgrt_create_pipe(a) gpgrt_make_pipe ((a),NULL, 0, 0); #define gpgrt_create_inbound_pipe(a,b,c) gpgrt_make_pipe ((a), (b), -1,(c)); @@ -1046,9 +1046,9 @@ gpg_err_code_t gpgrt_make_pipe (int filedes[2], estream_t *r_fp, gpg_err_code_t gpgrt_spawn_process (const char *pgmname, const char *argv[], int *execpt, void (*preexec)(void), unsigned int flags, - estream_t *r_infp, - estream_t *r_outfp, - estream_t *r_errfp, + gpgrt_stream_t *r_infp, + gpgrt_stream_t *r_outfp, + gpgrt_stream_t *r_errfp, pid_t *pid); /* Fork and exec PGNNAME and connect the process to the given FDs. */ @@ -1075,6 +1075,35 @@ void gpgrt_kill_process (pid_t pid); /* Release process resources identified by PID. */ void gpgrt_release_process (pid_t pid); +/* + * Time functions + */ + +/* Our representation of time requires 8 byte. The value guaranteed + * to be a C string with no '\n' in it. The time is always UTC. */ +typedef unsigned char gpgrt_time_t[8]; + +/* Check that ATIME is a valid time. */ +gpg_err_code_t gpgrt_check_time (const gpgrt_time_t atime); + +/* Convert time into a Julian Date. Returns 0 for invalid dates. */ +unsigned int gpgrt_time2jd (const gpgrt_time_t atime, int *r_seconds); + +/* Convert the Julian Date (JD,SECS) into a time. If SECS is -1 noon + * is assumed. */ +void gpgrt_jd2time (gpgrt_time_t atime, unsigned int jd, int secs); + +/* Convert a time into a Julian Date and return it as a float with + * fractional seconds. */ +static GPG_ERR_INLINE double +gpgrt_time2jd_dbl (const gpgrt_time_t atime) +{ + unsigned int jd; + int secs; + jd = gpgrt_time2jd (atime, &secs); + return jd + (secs/86400.0); +} + #ifdef __cplusplus commit de167fa92d009745c51dae547990845282cbb351 Author: Werner Koch Date: Fri Dec 8 13:31:07 2017 +0100 core: Rename the gpgrt_log_levels enum values. * src/gpg-error.h.in (gprt_log_levels): Rename to GPGRT_LOGLVL. -- Explicitly naming them and not distinguishing them from the other log constants is a Good Thing anyway. It also helps against the symbol name clash with the GPGRT enum values from gnupg's logging module. Signed-off-by: Werner Koch diff --git a/src/gpg-error.h.in b/src/gpg-error.h.in index 991636d..86c6a8a 100644 --- a/src/gpg-error.h.in +++ b/src/gpg-error.h.in @@ -928,18 +928,18 @@ gpg_error_t gpgrt_b64dec_finish (gpgrt_b64state_t state); /* Log levels as used by gpgrt_log. */ enum gpgrt_log_levels { - GPGRT_LOG_BEGIN, - GPGRT_LOG_CONT, - GPGRT_LOG_INFO, - GPGRT_LOG_WARN, - GPGRT_LOG_ERROR, - GPGRT_LOG_FATAL, - GPGRT_LOG_BUG, - GPGRT_LOG_DEBUG + GPGRT_LOGLVL_BEGIN, + GPGRT_LOGLVL_CONT, + GPGRT_LOGLVL_INFO, + GPGRT_LOGLVL_WARN, + GPGRT_LOGLVL_ERROR, + GPGRT_LOGLVL_FATAL, + GPGRT_LOGLVL_BUG, + GPGRT_LOGLVL_DEBUG }; -/* The next 4 fucntions are not thread-safe - call them early. */ +/* The next 4 functions are not thread-safe - call them early. */ void gpgrt_log_set_sink (const char *name, gpgrt_stream_t stream, int fd); void gpgrt_log_set_socket_dir_cb (const char *(*fnc)(void)); void gpgrt_log_set_pid_suffix_cb (int (*cb)(unsigned long *r_value)); diff --git a/src/logging.c b/src/logging.c index 70c13ba..1a4f620 100644 --- a/src/logging.c +++ b/src/logging.c @@ -688,7 +688,7 @@ print_prefix (int level, int leading_backspace) int rc; int length = 0; - if (level != GPGRT_LOG_CONT) + if (level != GPGRT_LOGLVL_CONT) { /* Note this does not work for multiple line logging as we would * need to print to a buffer first */ if (with_time && !force_prefixes) @@ -741,20 +741,20 @@ print_prefix (int level, int leading_backspace) switch (level) { - case GPGRT_LOG_BEGIN: break; - case GPGRT_LOG_CONT: break; - case GPGRT_LOG_INFO: break; - case GPGRT_LOG_WARN: break; - case GPGRT_LOG_ERROR: break; - case GPGRT_LOG_FATAL: + case GPGRT_LOGLVL_BEGIN: break; + case GPGRT_LOGLVL_CONT: break; + case GPGRT_LOGLVL_INFO: break; + case GPGRT_LOGLVL_WARN: break; + case GPGRT_LOGLVL_ERROR: break; + case GPGRT_LOGLVL_FATAL: _gpgrt_fputs_unlocked ("Fatal: ", logstream); length += 7; break; - case GPGRT_LOG_BUG: + case GPGRT_LOGLVL_BUG: _gpgrt_fputs_unlocked ("Ohhhh jeeee: ", logstream); length += 13; break; - case GPGRT_LOG_DEBUG: + case GPGRT_LOGLVL_DEBUG: _gpgrt_fputs_unlocked ("DBG: ", logstream); length += 5; break; @@ -800,7 +800,7 @@ _gpgrt_logv_internal (int level, int ignore_arg_ptr, const char *extrastring, } _gpgrt_flockfile (logstream); - if (missing_lf && level != GPGRT_LOG_CONT) + if (missing_lf && level != GPGRT_LOGLVL_CONT) _gpgrt_putc_unlocked ('\n', logstream ); missing_lf = 0; @@ -904,14 +904,14 @@ _gpgrt_logv_internal (int level, int ignore_arg_ptr, const char *extrastring, } } - if (level == GPGRT_LOG_FATAL) + if (level == GPGRT_LOGLVL_FATAL) { if (missing_lf) _gpgrt_putc_unlocked ('\n', logstream); _gpgrt_funlockfile (logstream); exit (2); } - else if (level == GPGRT_LOG_BUG) + else if (level == GPGRT_LOGLVL_BUG) { if (missing_lf) _gpgrt_putc_unlocked ('\n', logstream ); @@ -935,7 +935,7 @@ _gpgrt_logv_internal (int level, int ignore_arg_ptr, const char *extrastring, _gpgrt_funlockfile (logstream); /* Bumb the error counter for log_error. */ - if (level == GPGRT_LOG_ERROR) + if (level == GPGRT_LOGLVL_ERROR) { /* Protect against counter overflow. */ if (errorcount < 30000) @@ -1003,7 +1003,7 @@ _gpgrt_log_info (const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_INFO, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_INFO, 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -1014,7 +1014,7 @@ _gpgrt_log_error (const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_ERROR, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_ERROR, 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -1025,7 +1025,7 @@ _gpgrt_log_fatal (const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_FATAL, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_FATAL, 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); abort (); /* Never called; just to make the compiler happy. */ } @@ -1037,7 +1037,7 @@ _gpgrt_log_bug (const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_BUG, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_BUG, 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); abort (); /* Never called; just to make the compiler happy. */ } @@ -1049,7 +1049,7 @@ _gpgrt_log_debug (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -1063,7 +1063,7 @@ _gpgrt_log_debug_string (const char *string, const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, string, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, 0, string, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -1074,7 +1074,8 @@ _gpgrt_log_printf (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (fmt ? GPGRT_LOG_CONT : GPGRT_LOG_BEGIN, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (fmt ? GPGRT_LOGLVL_CONT : GPGRT_LOGLVL_BEGIN, + 0, NULL, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -1084,7 +1085,7 @@ _gpgrt_log_printf (const char *fmt, ...) void _gpgrt_log_flush (void) { - do_log_ignore_arg (GPGRT_LOG_CONT, NULL); + do_log_ignore_arg (GPGRT_LOGLVL_CONT, NULL); } @@ -1103,7 +1104,7 @@ _gpgrt_logv_printhex (const void *buffer, size_t length, /* FIXME: This printing is not yet protected by _gpgrt_flockfile. */ if (fmt && *fmt) { - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, NULL, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, 0, NULL, NULL, fmt, arg_ptr); wrap = 1; } @@ -1175,13 +1176,14 @@ _gpgrt_logv_clock (const char *fmt, va_list arg_ptr) initial = now; snprintf (clockbuf, sizeof clockbuf, "[%6llu] ", (now - initial)/1000); - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, NULL, clockbuf, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, 0, NULL, clockbuf, fmt, arg_ptr); #else /*!ENABLE_LOG_CLOCK*/ /* You may need to link with -ltr to use the above code. */ - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, NULL, "[no clock] ", fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, + 0, NULL, "[no clock] ", fmt, arg_ptr); #endif /*!ENABLE_LOG_CLOCK*/ } @@ -1204,10 +1206,10 @@ _gpgrt__log_assert (const char *expr, const char *file, int line, const char *func) { #ifdef GPGRT_HAVE_MACRO_FUNCTION - _gpgrt_log (GPGRT_LOG_BUG, "Assertion \"%s\" in %s failed (%s:%d)\n", + _gpgrt_log (GPGRT_LOGLVL_BUG, "Assertion \"%s\" in %s failed (%s:%d)\n", expr, func, file, line); #else /*!GPGRT_HAVE_MACRO_FUNCTION*/ - _gpgrt_log (GPGRT_LOG_BUG, "Assertion \"%s\" failed (%s:%d)\n", + _gpgrt_log (GPGRT_LOGLVL_BUG, "Assertion \"%s\" failed (%s:%d)\n", expr, file, line); #endif /*!GPGRT_HAVE_MACRO_FUNCTION*/ abort (); /* Never called; just to make the compiler happy. */ diff --git a/src/visibility.c b/src/visibility.c index fb187a5..2039ef7 100644 --- a/src/visibility.c +++ b/src/visibility.c @@ -905,7 +905,7 @@ gpgrt_log_info (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv (GPGRT_LOG_INFO, fmt, arg_ptr); + _gpgrt_logv (GPGRT_LOGLVL_INFO, fmt, arg_ptr); va_end (arg_ptr); } @@ -915,7 +915,7 @@ gpgrt_log_error (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv (GPGRT_LOG_ERROR, fmt, arg_ptr); + _gpgrt_logv (GPGRT_LOGLVL_ERROR, fmt, arg_ptr); va_end (arg_ptr); } @@ -925,7 +925,7 @@ gpgrt_log_fatal (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv (GPGRT_LOG_FATAL, fmt, arg_ptr); + _gpgrt_logv (GPGRT_LOGLVL_FATAL, fmt, arg_ptr); va_end (arg_ptr); abort (); /* Never called; just to make the compiler happy. */ } @@ -936,7 +936,7 @@ gpgrt_log_bug (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv (GPGRT_LOG_BUG, fmt, arg_ptr); + _gpgrt_logv (GPGRT_LOGLVL_BUG, fmt, arg_ptr); va_end (arg_ptr); abort (); /* Never called; just to make the compiler happy. */ } @@ -947,7 +947,7 @@ gpgrt_log_debug (const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv (GPGRT_LOG_DEBUG, fmt, arg_ptr); + _gpgrt_logv (GPGRT_LOGLVL_DEBUG, fmt, arg_ptr); va_end (arg_ptr); } @@ -957,7 +957,7 @@ gpgrt_log_debug_string (const char *string, const char *fmt, ...) va_list arg_ptr ; va_start (arg_ptr, fmt); - _gpgrt_logv_internal (GPGRT_LOG_DEBUG, 0, string, NULL, fmt, arg_ptr); + _gpgrt_logv_internal (GPGRT_LOGLVL_DEBUG, 0, string, NULL, fmt, arg_ptr); va_end (arg_ptr); } @@ -967,7 +967,7 @@ gpgrt_log_printf (const char *fmt, ...) va_list arg_ptr; va_start (arg_ptr, fmt); - _gpgrt_logv (fmt ? GPGRT_LOG_CONT : GPGRT_LOG_BEGIN, fmt, arg_ptr); + _gpgrt_logv (fmt ? GPGRT_LOGLVL_CONT : GPGRT_LOGLVL_BEGIN, fmt, arg_ptr); va_end (arg_ptr); } ----------------------------------------------------------------------- Summary of changes: src/gpg-error.h.in | 55 +++++++++++++++++++++++++++++++++++++++++------------- src/logging.c | 54 +++++++++++++++++++++++++++-------------------------- src/visibility.c | 14 +++++++------- 3 files changed, 77 insertions(+), 46 deletions(-) hooks/post-receive -- Error codes used by GnuPG et al. http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 11 17:08:40 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Mon, 11 Dec 2017 17:08:40 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-93-gb61d0fb Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via b61d0fbb74f04408dfe8637c719b97217e061a3c (commit) from 0a567a94d94cd93c5d88f5db802925c95f0974d0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b61d0fbb74f04408dfe8637c719b97217e061a3c Author: Andre Heinecke Date: Mon Dec 11 17:07:10 2017 +0100 qt: Don't use QDateTime::toSecsSinceEpoch * lang/qt/src/qgpgmequickjob.cpp (addSubkeyWorker) (createWorker): Use toMSecsSinceEpoch instead toSecsSinceEpoch. -- toSecsSinceEpoch was only introduced in Qt 5.8. diff --git a/lang/qt/src/qgpgmequickjob.cpp b/lang/qt/src/qgpgmequickjob.cpp index 13ec0a9..93027d9 100644 --- a/lang/qt/src/qgpgmequickjob.cpp +++ b/lang/qt/src/qgpgmequickjob.cpp @@ -59,7 +59,7 @@ static QGpgMEQuickJob::result_type createWorker(GpgME::Context *ctx, auto err = ctx->createKey(uid.toUtf8().constData(), algo, 0, - expires.isValid() ? (unsigned long) expires.toSecsSinceEpoch() : 0, + expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000) : 0, key, flags); return std::make_tuple(err, QString(), Error()); @@ -72,7 +72,7 @@ static QGpgMEQuickJob::result_type addSubkeyWorker(GpgME::Context *ctx, unsigned int flags) { auto err = ctx->createSubkey(key, algo, 0, - expires.isValid() ? (unsigned long) expires.toSecsSinceEpoch() : 0, + expires.isValid() ? (unsigned long) (expires.toMSecsSinceEpoch() / 1000): 0, flags); return std::make_tuple(err, QString(), Error()); } ----------------------------------------------------------------------- Summary of changes: lang/qt/src/qgpgmequickjob.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 08:27:56 2017 From: cvs at cvs.gnupg.org (by Andre Heinecke) Date: Tue, 12 Dec 2017 08:27:56 +0100 Subject: [git] GpgOL - branch, master, updated. gpgol-2.0.5-4-gb8276a4 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG extension for MS Outlook". The branch, master has been updated via b8276a4f3acecee2e467c0530007aedc9db5936a (commit) from c574893790b041dca19b8fe6fd45fe10b0b8b58e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b8276a4f3acecee2e467c0530007aedc9db5936a Author: Andre Heinecke Date: Tue Dec 12 08:23:04 2017 +0100 Take plain body from OOM and not MAPI * src/mail.cpp (Mail::Mail): Initialize cache variables. (Mail::take_cached_html_body): Optimize as take to avoid string copies. (Mail::take_cached_plain_body): New. (Mail::update_oom_data): Also cache plain body. * src/mail.h: Update accordingly. * src/mimemaker.cpp (add_body): Adapt to take html body logic. (do_mime_sign, mime_encrypt): Prefer cached body over MAPI. -- At least for multipart/alternative mails the MAPI property is not updated correctly if the mail was saved as draft. As we know that the update_oom_data / caching logic works nicely for the HTML body we can use a similar logic for the plain body to avoid any MAPI weirdness. GnuPG-Bug-Id: T3419 diff --git a/src/mail.cpp b/src/mail.cpp index be7be31..266a428 100644 --- a/src/mail.cpp +++ b/src/mail.cpp @@ -130,6 +130,8 @@ Mail::Mail (LPDISPATCH mailitem) : m_needs_encrypt(false), m_moss_position(0), m_crypto_flags(0), + m_cached_html_body(nullptr), + m_cached_plain_body(nullptr), m_type(MSGTYPE_UNKNOWN), m_do_inline(false), m_is_gsuite(false) @@ -1144,12 +1146,11 @@ Mail::update_oom_data () if (m_is_html_alternative) { log_debug ("%s:%s: Is html alternative mail.", SRCNAME, __func__); - const char * html_body = get_oom_string (m_mailitem, "HTMLBody"); - if (html_body) - { - m_html_body = html_body; - } + xfree (m_cached_html_body); + m_cached_html_body = get_oom_string (m_mailitem, "HTMLBody"); } + xfree (m_cached_plain_body); + m_cached_plain_body = get_oom_string (m_mailitem, "Body"); /* For some reason outlook may store the recipient address in the send using account field. If we have SMTP we prefer the SenderEmailAddress string. */ @@ -2356,10 +2357,20 @@ Mail::is_html_alternative () const return m_is_html_alternative; } -const std::string & -Mail::get_cached_html_body () const +char * +Mail::take_cached_html_body () { - return m_html_body; + char *ret = m_cached_html_body; + m_cached_html_body = nullptr; + return ret; +} + +char * +Mail::take_cached_plain_body () +{ + char *ret = m_cached_plain_body; + m_cached_plain_body = nullptr; + return ret; } int diff --git a/src/mail.h b/src/mail.h index d26f477..28b4bb5 100644 --- a/src/mail.h +++ b/src/mail.h @@ -304,8 +304,15 @@ public: Only valid if update_oom_data was called before. */ bool is_html_alternative () const; - /** Get the html body. It is updated in update_oom_data. */ - const std::string & get_cached_html_body () const; + /** Get the html body. It is updated in update_oom_data. + Caller takes ownership of the string and has to free it. + */ + char *take_cached_html_body (); + + /** Get the plain body. It is updated in update_oom_data. + Caller takes ownership of the string and has to free it. + */ + char *take_cached_plain_body (); /** Returns 1 if the mail was encrypted, 2 if signed, 3 if both. Only valid after decrypt_verify. @@ -349,7 +356,8 @@ private: int m_moss_position; /* The number of the original message attachment. */ int m_crypto_flags; std::string m_sender; - std::string m_html_body; /* Cached html body. */ + char *m_cached_html_body; /* Cached html body. */ + char *m_cached_plain_body; /* Cached plain body. */ msgtype_t m_type; /* Our messagetype as set in mapi */ std::shared_ptr m_parser; GpgME::VerificationResult m_verify_result; diff --git a/src/mimemaker.cpp b/src/mimemaker.cpp index ba9bddd..fe8d4b5 100644 --- a/src/mimemaker.cpp +++ b/src/mimemaker.cpp @@ -1366,17 +1366,19 @@ add_body (Mail *mail, const char *boundary, sink_t sink, } /* Now the html body. It is somehow not accessible through PR_HTML, - OutlookSpy also shows MAPI Unsported (but shows the data) strange. + OutlookSpy also shows MAPI Unsupported (but shows the data) strange. We just cache it. Memory is cheap :-) */ - const auto html_body = mail->get_cached_html_body(); - if (html_body.empty()) + char *html_body = mail->take_cached_html_body(); + if (!html_body) { log_error ("%s:%s: BUG: Body but no html body in alternative mail?", SRCNAME, __func__); + return -1; } - rc = write_part (sink, html_body.c_str(), html_body.size(), + rc = write_part (sink, html_body, strlen (html_body), alt_boundary, NULL, 2); + xfree (html_body); if (rc) { TRACEPOINT; @@ -1521,8 +1523,18 @@ do_mime_sign (LPMESSAGE message, HWND hwnd, protocol_t protocol, return -1; } + /* Take the Body from the mail if possible. This is a fix for + GnuPG-Bug-ID: T3614 because the body is not always properly + updated in MAPI when sending. */ + if (mail) + { + body = mail->take_cached_plain_body (); + } /* Get the attachment info and the body. */ - body = mapi_get_body (message, NULL); + if (!body) + { + body = mapi_get_body (message, NULL); + } if (body && !*body) { xfree (body); @@ -1948,12 +1960,24 @@ mime_encrypt (LPMESSAGE message, HWND hwnd, return -1; /* Get the attachment info and the body. We need to do this before - creating the engine's filter sue problem sending the cancel to - the engine with nothing for the engine to process. This is - actually a bug in our engine code but we better avoid triggering - this bug because the engine sometimes hangs. Fixme: Needs a - proper fix. */ - body = mapi_get_body (message, NULL); + creating the engine's filter because sending the cancel to + the engine with nothing for the engine to process. Will result + in an error. This is actually a bug in our engine code but + we better avoid triggering this bug because the engine + sometimes hangs. Fixme: Needs a proper fix. */ + + + /* Take the Body from the mail if possible. This is a fix for + GnuPG-Bug-ID: T3614 because the body is not always properly + updated in MAPI when sending. */ + if (mail) + { + body = mail->take_cached_plain_body (); + } + if (!body) + { + body = mapi_get_body (message, NULL); + } if (body && !*body) { xfree (body); ----------------------------------------------------------------------- Summary of changes: src/mail.cpp | 27 +++++++++++++++++++-------- src/mail.h | 14 +++++++++++--- src/mimemaker.cpp | 46 +++++++++++++++++++++++++++++++++++----------- 3 files changed, 65 insertions(+), 22 deletions(-) hooks/post-receive -- GnuPG extension for MS Outlook http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 09:47:23 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 12 Dec 2017 09:47:23 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-21-g17efcd2 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 17efcd2a2acdc3b7f00711272aa51e5be2476921 (commit) from 20b52be9ca29b0bc843fc68a279cb72728ede72f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 17efcd2a2acdc3b7f00711272aa51e5be2476921 Author: Werner Koch Date: Tue Dec 12 09:42:43 2017 +0100 build: New configure option --enable-run-gnupg-user-socket. * configure.ac: (USE_RUN_GNUPG_USER_SOCKET): New ac_define. * common/homedir.c (_gnupg_socketdir_internal): Add extra directories. -- This allows to build GnuPG with an extra socketdir below /run. See https://lists.gnupg.org/pipermail/gnupg-devel/2017-November/033250.html for a longer explanation why this is sometimes useful. Suggested-by: Rainer Perske Signed-off-by: Werner Koch diff --git a/common/homedir.c b/common/homedir.c index 149e1ec..a598900 100644 --- a/common/homedir.c +++ b/common/homedir.c @@ -541,7 +541,17 @@ _gnupg_socketdir_internal (int skip_checks, unsigned *r_info) #else /* Unix and stat(2) available. */ - static const char * const bases[] = { "/run", "/var/run", NULL}; + static const char * const bases[] = { +#ifdef USE_RUN_GNUPG_USER_SOCKET + "/run/gnupg", +#endif + "/run", +#ifdef USE_RUN_GNUPG_USER_SOCKET + "/var/run/gnupg", +#endif + "/var/run", + NULL + }; int i; struct stat sb; char prefix[13 + 1 + 20 + 6 + 1]; @@ -559,7 +569,7 @@ _gnupg_socketdir_internal (int skip_checks, unsigned *r_info) * as a background process with no (desktop) user logged in. Thus * we better don't do that. */ - /* Check whether we have a /run/user dir. */ + /* Check whether we have a /run/[gnupg/]user dir. */ for (i=0; bases[i]; i++) { snprintf (prefix, sizeof prefix, "%s/user/%u", diff --git a/configure.ac b/configure.ac index a9b7a05..382ef1d 100644 --- a/configure.ac +++ b/configure.ac @@ -1714,6 +1714,22 @@ if test x"$gnupg_builddir_envvar" = x"yes"; then [This is only used with "make distcheck"]) fi + +# +# To avoid problems with systemd cleaning up the /run/user directory, +# this option will make GnuPG try to use /run/gnupg/user as socket dir +# before /run/user +# +AC_ARG_ENABLE(run-gnupg-user-socket, + AC_HELP_STRING([--enable-run-gnupg-user-socket], + [try /run/gnupg/user for sockets prior to /run/user]), + use_run_gnupg_user_socket=$enableval) +if test x"$use_run_gnupg_user_socket" = x"yes"; then + AC_DEFINE(USE_RUN_GNUPG_USER_SOCKET, 1, + [If defined try /run/gnupg/user before /run/user]) +fi + + # # Decide what to build # ----------------------------------------------------------------------- Summary of changes: common/homedir.c | 14 ++++++++++++-- configure.ac | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 13:15:50 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 12 Dec 2017 13:15:50 +0100 Subject: [git] GPGME - branch, master, updated. gpgme-1.9.0-96-g7da01c7 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GnuPG Made Easy". The branch, master has been updated via 7da01c7352d41eb33e445968b248544d301588f9 (commit) via 6a42eb5f3809d5eb3767667c190b395d028886e7 (commit) via d4d04d6c0432b032f6ea23c8517fd6a5f623bb67 (commit) from b61d0fbb74f04408dfe8637c719b97217e061a3c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7da01c7352d41eb33e445968b248544d301588f9 Author: Werner Koch Date: Tue Dec 12 13:11:04 2017 +0100 Post release updates. -- diff --git a/NEWS b/NEWS index 879d1af..40d5b53 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +Noteworthy changes in version 1.10.1 (unreleased) +------------------------------------------------- + Noteworthy changes in version 1.10.0 (2017-12-12) ------------------------------------------------- diff --git a/configure.ac b/configure.ac index 6ea4bcd..608c376 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,7 @@ min_automake_version="1.14" # for the LT versions. m4_define(mym4_version_major, [1]) m4_define(mym4_version_minor, [10]) -m4_define(mym4_version_micro, [0]) +m4_define(mym4_version_micro, [1]) # Below is m4 magic to extract and compute the revision number, the # decimalized short revision number, a beta version string, and a flag commit 6a42eb5f3809d5eb3767667c190b395d028886e7 Author: Werner Koch Date: Tue Dec 12 12:46:00 2017 +0100 Release 1.10.0. Signed-off-by: Werner Koch diff --git a/AUTHORS b/AUTHORS index cdc93a8..6d2ce67 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,9 +1,9 @@ Package: gpgme Homepage: https://gnupg.org/related_software/gpgme/ -Download: ftp://ftp.gnupg.org/gcrypt/gpgme/ +Download: https://gnupg.org/ftp/gcrypt/gpgme/ Repository: git://git.gnupg.org/gpgme.git Maintainer: Werner Koch -Bug reports: https://bugs.gnupg.org (use category "gpgme") +Bug reports: https://bugs.gnupg.org Security related bug reports: security at gnupg.org License (software): LGPLv2.1+ License (manual+tools): GPLv3+ diff --git a/NEWS b/NEWS index fd26ad2..879d1af 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,28 @@ -Noteworthy changes in version 1.10.0 (unreleased) +Noteworthy changes in version 1.10.0 (2017-12-12) ------------------------------------------------- + * Now returns more specific error codes for decryption to distinguish + between bad passphrase, user canceled, and no secret key. + + * Now returns key origin information if available. + + * Added context flag "auto-key-retrieve" to selectively enable the + corresponding gpg option. + + * Added flag is_de_vs to decryption and verify results. + + * py: Use SEEK_SET as default for data.seek. + + * cpp: Various new APIs. + + * Reduced spawn overhead on Linux again. Added new configure option + --disable-linux-getdents to disable this feature for very old + Linux versions. + + * Improved the Python bindings build system. + + * Made the test suite less fragile. + * Interface changes relative to the 1.9.0 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpgme_decrypt_result_t EXTENDED: New field 'is_de_vs'. @@ -24,6 +46,8 @@ Noteworthy changes in version 1.10.0 (unreleased) py: Signature EXTENDED: New boolean field 'is_de_vs'. py: GpgError EXTENDED: Partial results in 'results'. + [c=C30/A19/R0 cpp=C11/A5/R0 qt=C10/A3/R0] + Noteworthy changes in version 1.9.0 (2017-03-28) ------------------------------------------------ diff --git a/README b/README index 214ea87..f7b006f 100644 --- a/README +++ b/README @@ -22,10 +22,10 @@ to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management. -GPGME comes with language bindings for Common Lisp, C++, QT, Python2 +GPGME comes with language bindings for Common Lisp, C++, QT, Python2, and Python 3. -GPGME uses GnuPG and GpgSM as its backends to support OpenPGP and the +GPGME uses GnuPG as its backend to support OpenPGP and the Cryptographic Message Syntax (CMS). See the files COPYING, COPYING.LESSER, and each file for copyright and @@ -41,16 +41,14 @@ See the file INSTALL for generic installation instructions. Check that you have unmodified sources. See below on how to do this. Don't skip it - this is an important step! -To build GPGME, you need to install libgpg-error (>= 1.11) and -Libassuan (>= 2.0.2). +To build GPGME, you need to install libgpg-error (>= 1.24) and +Libassuan (>= 2.4.2). -For support of the OpenPGP protocol (default), you should use the -latest version of GnuPG (>= 1.4) , available at: -ftp://ftp.gnupg.org/gcrypt/gnupg/. For support of the CMS -(Cryptographic Message Syntax) protocol and lot of other features, you -need a GnuPG version >= 2.0. +For support of the OpenPGP and the CMS protocols, you should use the +latest version of GnuPG (>= 2.1.18) , available at: +https://gnupg.org/ftp/gcrypt/gnupg/. -For building the GIT version of GPGME please see the file README.GIT +For building the Git version of GPGME please see the file README.GIT for more information. @@ -68,34 +66,25 @@ a) If you have a trusted Version of GnuPG installed, you can simply check This checks that the detached signature gpgme-x.y.z.tar.gz.sig is indeed a a signature of gpgme-x.y.z.tar.gz. The key used to create - this signature is either of: + this signature is at least one of: - rsa2048/4F25E3B6 2011-01-12 [expires: 2019-12-31] + rsa2048 2011-01-12 [expires: 2019-12-31] Key fingerprint = D869 2123 C406 5DEA 5E0F 3AB5 249B 39D2 4F25 E3B6 Werner Koch (dist sig) - rsa2048/E0856959 2014-10-29 [expires: 2019-12-31] + rsa2048 2014-10-29 [expires: 2019-12-31] Key fingerprint = 46CC 7308 65BB 5C78 EBAB ADCF 0437 6F3E E085 6959 David Shaw (GnuPG Release Signing Key) - rsa2048/33BD3F06 2014-10-29 [expires: 2016-10-28] + rsa2048 2014-10-29 [expires: 2020-10-30] Key fingerprint = 031E C253 6E58 0D8E A286 A9F2 2071 B08A 33BD 3F06 NIIBE Yutaka (GnuPG Release Key) - rsa2048/7EFD60D9 2014-10-19 [expires: 2020-12-31] - Key fingerprint = D238 EA65 D64C 67ED 4C30 73F2 8A86 1B1C 7EFD 60D9 - Werner Koch (Release Signing Key) - - rsa3072/4B092E28 2017-03-17 [expires: 2027-03-15] + rsa3072 2017-03-17 [expires: 2027-03-15] Key fingerprint = 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 Andre Heinecke (Release Signing Key) - You may retrieve these files from the keyservers using this command - - gpg --recv-keys 249B39D24F25E3B6 04376F3EE0856959 \ - 2071B08A33BD3F06 8A861B1C7EFD60D9 BCEF7E294B092E28 - - The keys are also available at https://gnupg.org/signature_key.html + The keys are available at and in released GnuPG tarballs in the file g10/distsigkey.gpg . You have to make sure that these are really the desired keys and not faked one. You should do this by comparing the fingerprints diff --git a/configure.ac b/configure.ac index bca7bbf..6ea4bcd 100644 --- a/configure.ac +++ b/configure.ac @@ -55,19 +55,19 @@ AC_INIT([gpgme],[mym4_full_version],[http://bugs.gnupg.org]) # (Interfaces added: AGE++) # (Interfaces removed/changed: AGE=0) # -LIBGPGME_LT_CURRENT=29 -LIBGPGME_LT_AGE=18 +LIBGPGME_LT_CURRENT=30 +LIBGPGME_LT_AGE=19 LIBGPGME_LT_REVISION=0 # If there is an ABI break in gpgmepp or qgpgme also bump the # version in IMPORTED_LOCATION in the GpgmeppConfig-w32.cmake.in.in -LIBGPGMEPP_LT_CURRENT=10 -LIBGPGMEPP_LT_AGE=4 +LIBGPGMEPP_LT_CURRENT=11 +LIBGPGMEPP_LT_AGE=5 LIBGPGMEPP_LT_REVISION=0 -LIBQGPGME_LT_CURRENT=9 -LIBQGPGME_LT_AGE=2 +LIBQGPGME_LT_CURRENT=10 +LIBQGPGME_LT_AGE=3 LIBQGPGME_LT_REVISION=0 # If the API is changed in an incompatible way: increment the next counter. commit d4d04d6c0432b032f6ea23c8517fd6a5f623bb67 Author: Werner Koch Date: Tue Dec 12 12:12:47 2017 +0100 Require libgpg-error 1.24 and libassuan 2.4.2 * src/util.h (GPG_ERR_FALSE): Remove due to newer libgpg-error. -- We require these over one year old versions to better allign with GnuPG's demand. Note that the required libassuan is acgtually 2 years old. Signed-off-by: Werner Koch diff --git a/configure.ac b/configure.ac index be06d94..bca7bbf 100644 --- a/configure.ac +++ b/configure.ac @@ -74,9 +74,9 @@ LIBQGPGME_LT_REVISION=0 GPGME_CONFIG_API_VERSION=1 ############################################## -NEED_GPG_ERROR_VERSION=1.17 +NEED_GPG_ERROR_VERSION=1.24 NEED_LIBASSUAN_API=2 -NEED_LIBASSUAN_VERSION=2.0.2 +NEED_LIBASSUAN_VERSION=2.4.2 PACKAGE=$PACKAGE_NAME diff --git a/src/util.h b/src/util.h index fd22d75..b4043ed 100644 --- a/src/util.h +++ b/src/util.h @@ -45,10 +45,6 @@ #define DIM(v) (sizeof(v)/sizeof((v)[0])) -#if GPG_ERROR_VERSION_NUMBER < 0x011500 /* 1.21 */ -# define GPG_ERR_FALSE 256 -#endif - #if GPG_ERROR_VERSION_NUMBER < 0x011900 /* 1.25 */ # define GPG_ERR_ENGINE_TOO_OLD 300 # define GPG_ERR_TOO_OLD 308 ----------------------------------------------------------------------- Summary of changes: AUTHORS | 4 ++-- NEWS | 29 ++++++++++++++++++++++++++++- README | 39 ++++++++++++++------------------------- configure.ac | 18 +++++++++--------- src/util.h | 4 ---- 5 files changed, 53 insertions(+), 41 deletions(-) hooks/post-receive -- GnuPG Made Easy http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 13:18:16 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 12 Dec 2017 13:18:16 +0100 Subject: [git] gnupg-doc - branch, master, updated. 6c02588df3a5f4c7d73a6242cd17aeda99e13f64 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 6c02588df3a5f4c7d73a6242cd17aeda99e13f64 (commit) from ffec1352a05c3dcd44e4199d632038ee0ff28c32 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 6c02588df3a5f4c7d73a6242cd17aeda99e13f64 Author: Werner Koch Date: Tue Dec 12 13:13:41 2017 +0100 swdb: Release gpgme 1.10.0 diff --git a/web/swdb.mac b/web/swdb.mac index 2a59fe8..44ccf77 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -110,11 +110,11 @@ # # GPGME # -#+macro: gpgme_ver 1.9.0 -#+macro: gpgme_date 2017-03-28 -#+macro: gpgme_size 1312k -#+macro: gpgme_sha1 870719cd3d2ef6a7fcb1d6af9ce5446edba7bfc3 -#+macro: gpgme_sha2 1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb +#+macro: gpgme_ver 1.10.0 +#+macro: gpgme_date 2017-12-12 +#+macro: gpgme_size 1338k +#+macro: gpgme_sha1 77d3390887da25ed70b7ac04392360efbdca501f +#+macro: gpgme_sha2 1a8fed1197c3b99c35f403066bb344a26224d292afc048cfdfc4ccd5690a0693 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 14:19:31 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 12 Dec 2017 14:19:31 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-22-gc81a447 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via c81a447190d2763ac4c64b2e74e22e824da8aba3 (commit) from 17efcd2a2acdc3b7f00711272aa51e5be2476921 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c81a447190d2763ac4c64b2e74e22e824da8aba3 Author: Werner Koch Date: Tue Dec 12 14:14:40 2017 +0100 Change backlog from 5 to 64 and provide option --listen-backlog. * agent/gpg-agent.c (oListenBacklog): New const. (opts): New option --listen-backlog. (listen_backlog): New var. (main): Parse new options. (create_server_socket): Use var instead of 5. * dirmngr/dirmngr.c: Likewise. * scd/scdaemon.c: Likewise. -- GnuPG-bug-id: 3473 Signed-off-by: Werner Koch diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index 21beb29..a1964ec 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -136,6 +136,7 @@ enum cmd_and_opt_values oDisableCheckOwnSocket, oS2KCount, oAutoExpandSecmem, + oListenBacklog, oWriteEnvFile }; @@ -255,6 +256,8 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_op_u (oAutoExpandSecmem, "auto-expand-secmem", "@"), + ARGPARSE_s_i (oListenBacklog, "listen-backlog", "@"), + /* Dummy options for backward compatibility. */ ARGPARSE_o_s (oWriteEnvFile, "write-env-file", "@"), ARGPARSE_s_n (oUseStandardSocket, "use-standard-socket", "@"), @@ -371,6 +374,10 @@ static assuan_sock_nonce_t socket_nonce_extra; static assuan_sock_nonce_t socket_nonce_browser; static assuan_sock_nonce_t socket_nonce_ssh; +/* Value for the listen() backlog argument. We use the same value for + * all sockets - 64 is on current Linux half of the default maximum. + * Let's try this as default. Change at runtime with --listen-backlog. */ +static int listen_backlog = 64; /* Default values for options passed to the pinentry. */ static char *default_display; @@ -1245,6 +1252,10 @@ main (int argc, char **argv ) (unsigned int)pargs.r.ret_ulong, 0); break; + case oListenBacklog: + listen_backlog = pargs.r.ret_int; + break; + case oDebugQuickRandom: /* Only used by the first stage command line parser. */ break; @@ -2248,9 +2259,10 @@ create_server_socket (char *name, int primary, int cygwin, log_error (_("can't set permissions of '%s': %s\n"), unaddr->sun_path, strerror (errno)); - if (listen (FD2INT(fd), 5 ) == -1) + if (listen (FD2INT(fd), listen_backlog ) == -1) { - log_error (_("listen() failed: %s\n"), strerror (errno)); + log_error ("listen(fd,%d) failed: %s\n", + listen_backlog, strerror (errno)); *name = 0; /* Inhibit removal of the socket by cleanup(). */ assuan_sock_close (fd); xfree (unaddr); diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c index 9cb0203..17adae2 100644 --- a/dirmngr/dirmngr.c +++ b/dirmngr/dirmngr.c @@ -151,6 +151,7 @@ enum cmd_and_opt_values { oResolverTimeout, oConnectTimeout, oConnectQuickTimeout, + oListenBacklog, aTest }; @@ -256,6 +257,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_i (oResolverTimeout, "resolver-timeout", "@"), ARGPARSE_s_i (oConnectTimeout, "connect-timeout", "@"), ARGPARSE_s_i (oConnectQuickTimeout, "connect-quick-timeout", "@"), + ARGPARSE_s_i (oListenBacklog, "listen-backlog", "@"), ARGPARSE_group (302,N_("@\n(See the \"info\" manual for a complete listing " "of all commands and options)\n")), @@ -296,6 +298,10 @@ static const char *redir_socket_name; POSIX systems). */ static assuan_sock_nonce_t socket_nonce; +/* Value for the listen() backlog argument. + * Change at runtime with --listen-backlog. */ +static int listen_backlog = 64; + /* Only if this flag has been set will we remove the socket file. */ static int cleanup_socket; @@ -1019,6 +1025,10 @@ main (int argc, char **argv) case oSocketName: socket_name = pargs.r.ret_str; break; + case oListenBacklog: + listen_backlog = pargs.r.ret_int; + break; + default : pargs.err = configfp? 1:2; break; } } @@ -1263,9 +1273,10 @@ main (int argc, char **argv) log_error (_("can't set permissions of '%s': %s\n"), serv_addr.sun_path, strerror (errno)); - if (listen (FD2INT (fd), 5) == -1) + if (listen (FD2INT (fd), listen_backlog) == -1) { - log_error (_("listen() failed: %s\n"), strerror (errno)); + log_error ("listen(fd,%d) failed: %s\n", + listen_backlog, strerror (errno)); assuan_sock_close (fd); dirmngr_exit (1); } diff --git a/doc/dirmngr.texi b/doc/dirmngr.texi index 9654a0e..800955c 100644 --- a/doc/dirmngr.texi +++ b/doc/dirmngr.texi @@ -282,6 +282,10 @@ default values are 15 and 2 seconds. Note that the timeout values are for each connection attempt; the connection code will attempt to connect all addresses listed for a server. + at item --listen-backlog @var{n} + at opindex listen-backlog +Set the size of the queue for pending connections. The default is 64. + @item --allow-version-check @opindex allow-version-check Allow Dirmngr to connect to @code{https://versions.gnupg.org} to get diff --git a/doc/gpg-agent.texi b/doc/gpg-agent.texi index 65df970..3e8bd89 100644 --- a/doc/gpg-agent.texi +++ b/doc/gpg-agent.texi @@ -563,6 +563,9 @@ Ignore requests to change the current @code{tty} or X window system's @code{DISPLAY} variable respectively. This is useful to lock the pinentry to pop up at the @code{tty} or display you started the agent. + at item --listen-backlog @var{n} + at opindex listen-backlog +Set the size of the queue for pending connections. The default is 64. @anchor{option --extra-socket} @item --extra-socket @var{name} diff --git a/doc/scdaemon.texi b/doc/scdaemon.texi index 4c6bb93..a9e6d1e 100644 --- a/doc/scdaemon.texi +++ b/doc/scdaemon.texi @@ -236,6 +236,12 @@ a list of categories see the Libassuan manual. Don't detach the process from the console. This is mainly useful for debugging. + at item --listen-backlog @var{n} + at opindex listen-backlog +Set the size of the queue for pending connections. The default is 64. +This option has an effect only if @option{--multi-server} is also +used. + @item --log-file @var{file} @opindex log-file Append all logging output to @var{file}. This is very helpful in diff --git a/scd/scdaemon.c b/scd/scdaemon.c index 0bedb8d..3ad2657 100644 --- a/scd/scdaemon.c +++ b/scd/scdaemon.c @@ -99,6 +99,7 @@ enum cmd_and_opt_values oDenyAdmin, oDisableApplication, oEnablePinpadVarlen, + oListenBacklog }; @@ -156,6 +157,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_n (oEnablePinpadVarlen, "enable-pinpad-varlen", N_("use variable length input for pinpad")), ARGPARSE_s_s (oHomedir, "homedir", "@"), + ARGPARSE_s_i (oListenBacklog, "listen-backlog", "@"), ARGPARSE_end () }; @@ -224,6 +226,10 @@ static char *redir_socket_name; POSIX systems). */ static assuan_sock_nonce_t socket_nonce; +/* Value for the listen() backlog argument. Change at runtime with + * --listen-backlog. */ +static int listen_backlog = 64; + #ifdef HAVE_W32_SYSTEM static HANDLE the_event; #else @@ -594,6 +600,10 @@ main (int argc, char **argv ) case oEnablePinpadVarlen: opt.enable_pinpad_varlen = 1; break; + case oListenBacklog: + listen_backlog = pargs.r.ret_int; + break; + default: pargs.err = configfp? ARGPARSE_PRINT_WARNING:ARGPARSE_PRINT_ERROR; break; @@ -1128,10 +1138,10 @@ create_server_socket (const char *name, char **r_redir_name, log_error (_("can't set permissions of '%s': %s\n"), unaddr->sun_path, strerror (errno)); - if (listen (FD2INT(fd), 5 ) == -1) + if (listen (FD2INT(fd), listen_backlog) == -1) { - log_error (_("listen() failed: %s\n"), - gpg_strerror (gpg_error_from_syserror ())); + log_error ("listen(fd, %d) failed: %s\n", + listen_backlog, gpg_strerror (gpg_error_from_syserror ())); assuan_sock_close (fd); scd_exit (2); } ----------------------------------------------------------------------- Summary of changes: agent/gpg-agent.c | 16 ++++++++++++++-- dirmngr/dirmngr.c | 15 +++++++++++++-- doc/dirmngr.texi | 4 ++++ doc/gpg-agent.texi | 3 +++ doc/scdaemon.texi | 6 ++++++ scd/scdaemon.c | 16 +++++++++++++--- 6 files changed, 53 insertions(+), 7 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 15:12:53 2017 From: cvs at cvs.gnupg.org (by Daniel Kahn Gillmor) Date: Tue, 12 Dec 2017 15:12:53 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-23-g8ede3ae Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 8ede3ae29a39641a2f98ad9a4cf61ea99085a892 (commit) from c81a447190d2763ac4c64b2e74e22e824da8aba3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8ede3ae29a39641a2f98ad9a4cf61ea99085a892 Author: Daniel Kahn Gillmor Date: Thu Sep 28 08:32:26 2017 -0400 gpg: default-preference-list: prefer SHA512. * g10/keygen.c (keygen_set_std_prefs): when producing default internal personal-digest-preferences, keep the same order. When publishing external preferences, state preference for SHA512 first. -- SHA-512 has a wider security margin than SHA-256. It is also slightly faster on most of the architectures on which GnuPG runs today. New keys should publish defaults that indicate we prefer the stronger, more performant digest. Specifically, this changes --default-preference-list from: SHA256 SHA384 SHA512 SHA224 to: SHA512 SHA384 SHA256 SHA224 This patch deliberately avoids touching --personal-digest-preferences (which itself would affect the default of --digest-algo and --cert-digest-algo), so that public-facing cleartext signatures and identity certifications will continue to be made with SHA256 by default. Signed-off-by: Daniel Kahn Gillmor diff --git a/g10/keygen.c b/g10/keygen.c index 38686b2..7ef3cac 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -384,19 +384,36 @@ keygen_set_std_prefs (const char *string,int personal) strcat(dummy_string,"S7 "); strcat(dummy_string,"S2 "); /* 3DES */ - /* The default hash algo order is: - SHA-256, SHA-384, SHA-512, SHA-224, SHA-1. - */ - if (!openpgp_md_test_algo (DIGEST_ALGO_SHA256)) - strcat (dummy_string, "H8 "); + if (personal) + { + /* The default internal hash algo order is: + * SHA-256, SHA-384, SHA-512, SHA-224, SHA-1. + */ + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA256)) + strcat (dummy_string, "H8 "); + + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA384)) + strcat (dummy_string, "H9 "); + + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA512)) + strcat (dummy_string, "H10 "); + } + else + { + /* The default advertised hash algo order is: + * SHA-512, SHA-384, SHA-256, SHA-224, SHA-1. + */ + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA512)) + strcat (dummy_string, "H10 "); - if (!openpgp_md_test_algo (DIGEST_ALGO_SHA384)) - strcat (dummy_string, "H9 "); + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA384)) + strcat (dummy_string, "H9 "); - if (!openpgp_md_test_algo (DIGEST_ALGO_SHA512)) - strcat (dummy_string, "H10 "); + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA256)) + strcat (dummy_string, "H8 "); + } - if (!openpgp_md_test_algo (DIGEST_ALGO_SHA224)) + if (!openpgp_md_test_algo (DIGEST_ALGO_SHA224)) strcat (dummy_string, "H11 "); strcat (dummy_string, "H2 "); /* SHA-1 */ ----------------------------------------------------------------------- Summary of changes: g10/keygen.c | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 12 18:25:27 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 12 Dec 2017 18:25:27 +0100 Subject: [git] gnupg-doc - branch, master, updated. 2ce6cfb084f75127faa08d5b689b526cf828498a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 2ce6cfb084f75127faa08d5b689b526cf828498a (commit) from 6c02588df3a5f4c7d73a6242cd17aeda99e13f64 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2ce6cfb084f75127faa08d5b689b526cf828498a Author: Werner Koch Date: Tue Dec 12 18:20:51 2017 +0100 web: gpgme 1.10 announcement diff --git a/misc/id/openpgp-webkey-service/draft.org b/misc/id/openpgp-webkey-service/draft.org index b5a4f08..fb0eb60 100644 --- a/misc/id/openpgp-webkey-service/draft.org +++ b/misc/id/openpgp-webkey-service/draft.org @@ -33,10 +33,10 @@ OpenPGP Web Key Directory - GnuPG Project + GnuPG e.V.
wk at gnupg.org - https://gnupg.org + https://gnupg.org/verein
diff --git a/web/index.org b/web/index.org index ed21006..67400e2 100644 --- a/web/index.org +++ b/web/index.org @@ -65,6 +65,11 @@ The latest release news:\\ # GnuPG's latest news are available as [[http://feedvalidator.org/check.cgi?url%3Dhttps://www.gnupg.org/news.en.rss][RSS 2.0 compliant]] feed. Just # point or paste the [[news.en.rss][RSS file]] into your aggregator. +** GnuPG Made Easy 1.10.0 released (2017-12-12) + +[[file:software/gpgme/index.org][GPGME]] is a library that allows to add support for cryptography to a +program. {[[https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000418.html][more]]} + ** GnuPG 2.2.3 released (2017-11-21) We are pleased to announce the availability of GnuPG version 2.2.3. ----------------------------------------------------------------------- Summary of changes: misc/id/openpgp-webkey-service/draft.org | 4 ++-- web/index.org | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 13 11:10:55 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 13 Dec 2017 11:10:55 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-27-g9f64143 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 9f641430dcdecbd7ee205d407cb19bb4262aa95d (commit) via cd26c5482b10bee7658959ae913f2ddb83190587 (commit) via 29119a6492eda5dd7920e45e7f2faa043d436591 (commit) via 8602b980dfff9ed1bd5e6c04ca2fd71d12fd8fa2 (commit) from 8ede3ae29a39641a2f98ad9a4cf61ea99085a892 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 9f641430dcdecbd7ee205d407cb19bb4262aa95d Author: Werner Koch Date: Wed Dec 13 11:00:24 2017 +0100 gpg: Simplify default_recipient(). * g10/pkclist.c (default_recipient): Use hexfingerprint. -- Note that on malloc failure this function now returns NULL instead of terminating the process. However, under memory pressure any function called latter will very likely fail as well. Signed-off-by: Werner Koch diff --git a/g10/pkclist.c b/g10/pkclist.c index 220936c..581cae4 100644 --- a/g10/pkclist.c +++ b/g10/pkclist.c @@ -730,40 +730,35 @@ key_present_in_pk_list(PK_LIST pk_list, PKT_public_key *pk) } -/**************** +/* * Return a malloced string with a default recipient if there is any + * Fixme: We don't distinguish between malloc failure and no-default-recipient. */ static char * -default_recipient(ctrl_t ctrl) +default_recipient (ctrl_t ctrl) { - PKT_public_key *pk; - byte fpr[MAX_FINGERPRINT_LEN+1]; - size_t n; - char *p; - int i; - - if( opt.def_recipient ) - return xstrdup( opt.def_recipient ); - if( !opt.def_recipient_self ) - return NULL; - pk = xmalloc_clear( sizeof *pk ); - i = get_seckey_default (ctrl, pk); - if( i ) { - free_public_key( pk ); - return NULL; + PKT_public_key *pk; + char *result; + + if (opt.def_recipient) + return xtrystrdup (opt.def_recipient); + + if (!opt.def_recipient_self) + return NULL; + pk = xtrycalloc (1, sizeof *pk ); + if (!pk) + return NULL; + if (get_seckey_default (ctrl, pk)) + { + free_public_key (pk); + return NULL; } - n = MAX_FINGERPRINT_LEN; - fingerprint_from_pk( pk, fpr, &n ); - free_public_key( pk ); - p = xmalloc( 2*n+3 ); - *p++ = '0'; - *p++ = 'x'; - for(i=0; i < n; i++ ) - sprintf( p+2*i, "%02X", fpr[i] ); - p -= 2; - return p; + result = hexfingerprint (pk, NULL, 0); + free_public_key (pk); + return result; } + static int expand_id(const char *id,strlist_t *into,unsigned int flags) { commit cd26c5482b10bee7658959ae913f2ddb83190587 Author: Werner Koch Date: Wed Dec 13 10:52:34 2017 +0100 gpg: Return an error from hexfingerprint on malloc error. * g10/keyid.c (hexfingerprint): Return NULL on malloc failure. Chnage all callers. Signed-off-by: Werner Koch diff --git a/g10/export.c b/g10/export.c index 8f6371b..c538dc1 100644 --- a/g10/export.c +++ b/g10/export.c @@ -1430,6 +1430,11 @@ print_pka_or_dane_records (iobuf_t out, kbnode_t keyblock, PKT_public_key *pk, char *hexfpr; hexfpr = hexfingerprint (pk, NULL, 0); + if (!hexfpr) + { + err = gpg_error_from_syserror (); + goto leave; + } hexdata = bin2hex (data, datalen, NULL); if (!hexdata) { diff --git a/g10/keygen.c b/g10/keygen.c index 7ef3cac..b42afa8 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4484,6 +4484,11 @@ card_write_key_to_backup_file (PKT_public_key *sk, const char *backup_dir) log_info (_("Note: backup of card key saved to '%s'\n"), fname); fprbuf = hexfingerprint (sk, NULL, 0); + if (!fprbuf) + { + err = gpg_error_from_syserror (); + goto leave; + } write_status_text_and_buffer (STATUS_BACKUP_KEY_CREATED, fprbuf, fname, strlen (fname), 0); xfree (fprbuf); diff --git a/g10/keyid.c b/g10/keyid.c index d733156..ba35ec2 100644 --- a/g10/keyid.c +++ b/g10/keyid.c @@ -790,12 +790,12 @@ fingerprint_from_pk (PKT_public_key *pk, byte *array, size_t *ret_len) /* Return an allocated buffer with the fingerprint of PK formatted as - a plain hexstring. If BUFFER is NULL the result is a malloc'd - string. If BUFFER is not NULL the result will be copied into this - buffer. In the latter case BUFLEN describes the length of the - buffer; if this is too short the function terminates the process. - Returns a malloc'ed string or BUFFER. A suitable length for BUFFER - is (2*MAX_FINGERPRINT_LEN + 1). */ + * a plain hexstring. If BUFFER is NULL the result is a malloc'd + * string. If BUFFER is not NULL the result will be copied into this + * buffer. In the latter case BUFLEN describes the length of the + * buffer; if this is too short the function terminates the process. + * Returns a malloc'ed string or BUFFER. A suitable length for BUFFER + * is (2*MAX_FINGERPRINT_LEN + 1). */ char * hexfingerprint (PKT_public_key *pk, char *buffer, size_t buflen) { @@ -804,7 +804,11 @@ hexfingerprint (PKT_public_key *pk, char *buffer, size_t buflen) fingerprint_from_pk (pk, fpr, &len); if (!buffer) - buffer = xmalloc (2 * len + 1); + { + buffer = xtrymalloc (2 * len + 1); + if (!buffer) + return NULL; + } else if (buflen < 2*len+1) log_fatal ("%s: buffer too short (%zu)\n", __func__, buflen); bin2hex (fpr, len, buffer); diff --git a/g10/revoke.c b/g10/revoke.c index 4578700..8465232 100644 --- a/g10/revoke.c +++ b/g10/revoke.c @@ -536,7 +536,20 @@ gen_standard_revoke (ctrl_t ctrl, PKT_public_key *psk, const char *cache_nonce) dir = get_openpgp_revocdir (gnupg_homedir ()); tmpstr = hexfingerprint (psk, NULL, 0); - fname = xstrconcat (dir, DIRSEP_S, tmpstr, NULL); + if (!tmpstr) + { + rc = gpg_error_from_syserror (); + xfree (dir); + return rc; + } + fname = strconcat (dir, DIRSEP_S, tmpstr, NULL); + if (!fname) + { + rc = gpg_error_from_syserror (); + xfree (tmpstr); + xfree (dir); + return rc; + } xfree (tmpstr); xfree (dir); diff --git a/g10/tofu.c b/g10/tofu.c index c183fc6..091d5b0 100644 --- a/g10/tofu.c +++ b/g10/tofu.c @@ -3332,8 +3332,8 @@ tofu_register_signature (ctrl_t ctrl, char *fingerprint = NULL; strlist_t user_id; char *email = NULL; - char *err = NULL; - char *sig_digest; + char *sqlerr = NULL; + char *sig_digest = NULL; unsigned long c; dbs = opendbs (ctrl); @@ -3354,11 +3354,20 @@ tofu_register_signature (ctrl_t ctrl, log_assert (pk_is_primary (pk)); sig_digest = make_radix64_string (sig_digest_bin, sig_digest_bin_len); + if (!sig_digest) + { + rc = gpg_error_from_syserror (); + goto leave; + } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + { + rc = gpg_error_from_syserror (); + goto leave; + } if (! origin) - /* The default origin is simply "unknown". */ - origin = "unknown"; + origin = "unknown"; /* The default origin is simply "unknown". */ for (user_id = user_id_list; user_id; user_id = user_id->next) { @@ -3384,7 +3393,7 @@ tofu_register_signature (ctrl_t ctrl, it again. */ rc = gpgsql_stepx (dbs->db, &dbs->s.register_already_seen, - get_single_unsigned_long_cb2, &c, &err, + get_single_unsigned_long_cb2, &c, &sqlerr, "select count (*)\n" " from signatures left join bindings\n" " on signatures.binding = bindings.oid\n" @@ -3396,9 +3405,9 @@ tofu_register_signature (ctrl_t ctrl, GPGSQL_ARG_END); if (rc) { - log_error (_("error reading TOFU database: %s\n"), err); + log_error (_("error reading TOFU database: %s\n"), sqlerr); print_further_info ("checking existence"); - sqlite3_free (err); + sqlite3_free (sqlerr); rc = gpg_error (GPG_ERR_GENERAL); } else if (c > 1) @@ -3436,7 +3445,7 @@ tofu_register_signature (ctrl_t ctrl, log_assert (c == 0); rc = gpgsql_stepx - (dbs->db, &dbs->s.register_signature, NULL, NULL, &err, + (dbs->db, &dbs->s.register_signature, NULL, NULL, &sqlerr, "insert into signatures\n" " (binding, sig_digest, origin, sig_time, time)\n" " values\n" @@ -3450,9 +3459,9 @@ tofu_register_signature (ctrl_t ctrl, GPGSQL_ARG_END); if (rc) { - log_error (_("error updating TOFU database: %s\n"), err); + log_error (_("error updating TOFU database: %s\n"), sqlerr); print_further_info ("insert signatures"); - sqlite3_free (err); + sqlite3_free (sqlerr); rc = gpg_error (GPG_ERR_GENERAL); } } @@ -3463,6 +3472,7 @@ tofu_register_signature (ctrl_t ctrl, break; } + leave: if (rc) rollback_transaction (ctrl); else @@ -3486,7 +3496,8 @@ tofu_register_encryption (ctrl_t ctrl, int free_user_id_list = 0; char *fingerprint = NULL; strlist_t user_id; - char *err = NULL; + char *sqlerr = NULL; + int in_batch = 0; dbs = opendbs (ctrl); if (! dbs) @@ -3531,8 +3542,14 @@ tofu_register_encryption (ctrl_t ctrl, } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + { + rc = gpg_error_from_syserror (); + goto leave; + } tofu_begin_batch_update (ctrl); + in_batch = 1; tofu_resume_batch_transaction (ctrl); for (user_id = user_id_list; user_id; user_id = user_id->next) @@ -3550,7 +3567,7 @@ tofu_register_encryption (ctrl_t ctrl, /* An error. */ rc = gpg_error (GPG_ERR_GENERAL); xfree (email); - goto die; + goto leave; } @@ -3576,7 +3593,7 @@ tofu_register_encryption (ctrl_t ctrl, free_strlist (conflict_set); rc = gpgsql_stepx - (dbs->db, &dbs->s.register_encryption, NULL, NULL, &err, + (dbs->db, &dbs->s.register_encryption, NULL, NULL, &sqlerr, "insert into encryptions\n" " (binding, time)\n" " values\n" @@ -3588,24 +3605,22 @@ tofu_register_encryption (ctrl_t ctrl, GPGSQL_ARG_END); if (rc) { - log_error (_("error updating TOFU database: %s\n"), err); + log_error (_("error updating TOFU database: %s\n"), sqlerr); print_further_info ("insert encryption"); - sqlite3_free (err); + sqlite3_free (sqlerr); rc = gpg_error (GPG_ERR_GENERAL); } xfree (email); } - die: - tofu_end_batch_update (ctrl); - - if (kb) - release_kbnode (kb); + leave: + if (in_batch) + tofu_end_batch_update (ctrl); + release_kbnode (kb); if (free_user_id_list) free_strlist (user_id_list); - xfree (fingerprint); return rc; @@ -3681,10 +3696,10 @@ tofu_write_tfs_record (ctrl_t ctrl, estream_t fp, PKT_public_key *pk, const char *user_id) { time_t now = gnupg_get_time (); - gpg_error_t err; + gpg_error_t err = 0; tofu_dbs_t dbs; char *fingerprint; - char *email; + char *email = NULL; enum tofu_policy policy; if (!*user_id) @@ -3699,14 +3714,20 @@ tofu_write_tfs_record (ctrl_t ctrl, estream_t fp, } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + { + err = gpg_error_from_syserror (); + goto leave; + } email = email_from_user_id (user_id); policy = get_policy (ctrl, dbs, pk, fingerprint, user_id, email, NULL, now); show_statistics (dbs, fingerprint, email, policy, fp, 0, now); + leave: xfree (email); xfree (fingerprint); - return 0; + return err; } @@ -3720,7 +3741,10 @@ tofu_write_tfs_record (ctrl_t ctrl, estream_t fp, will be prompted to choose a policy. If MAY_ASK is 0 and the policy is TOFU_POLICY_ASK, then TRUST_UNKNOWN is returned. - Returns TRUST_UNDEFINED if an error occurs. */ + Returns TRUST_UNDEFINED if an error occurs. + + Fixme: eturn an error code + */ int tofu_get_validity (ctrl_t ctrl, PKT_public_key *pk, strlist_t user_id_list, int may_ask) @@ -3744,6 +3768,8 @@ tofu_get_validity (ctrl_t ctrl, PKT_public_key *pk, strlist_t user_id_list, } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + log_fatal ("%s: malloc failed\n", __func__); tofu_begin_batch_update (ctrl); /* Start the batch transaction now. */ @@ -3889,6 +3915,8 @@ tofu_set_policy (ctrl_t ctrl, kbnode_t kb, enum tofu_policy policy) log_bug ("%s: Passed a subkey, but expecting a primary key.\n", __func__); fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + return gpg_error_from_syserror (); begin_transaction (ctrl, 0); @@ -3958,6 +3986,8 @@ tofu_get_policy (ctrl_t ctrl, PKT_public_key *pk, PKT_user_id *user_id, } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + return gpg_error_from_syserror (); email = email_from_user_id (user_id->name); @@ -3994,6 +4024,8 @@ tofu_notice_key_changed (ctrl_t ctrl, kbnode_t kb) } fingerprint = hexfingerprint (pk, NULL, 0); + if (!fingerprint) + return gpg_error_from_syserror (); rc = gpgsql_stepx (dbs->db, NULL, NULL, NULL, &sqlerr, "update bindings set effective_policy = ?" commit 29119a6492eda5dd7920e45e7f2faa043d436591 Author: Werner Koch Date: Wed Dec 13 10:06:37 2017 +0100 gpg: Remove some xmallocs. * g10/getkey.c (get_pubkeys): Do not use xmalloc. -- We eventually need to get rid of all xmallocs so that gpg won't fail easily when we make more use of the s server mode. Signed-off-by: Werner Koch diff --git a/g10/getkey.c b/g10/getkey.c index eaf15ad..e31e023 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -497,7 +497,7 @@ get_pubkeys (ctrl_t ctrl, search_terms, gpg_strerror (err)); if (!opt.quiet && source) log_info (_("(check argument of option '%s')\n"), source); - goto out; + goto leave; } if (warn_possibly_ambiguous @@ -517,8 +517,16 @@ get_pubkeys (ctrl_t ctrl, count = 0; do { - PKT_public_key *pk = xmalloc_clear (sizeof *pk); + PKT_public_key *pk; KBNODE kb; + + pk = xtrycalloc (1, sizeof *pk); + if (!pk) + { + err = gpg_error_from_syserror (); + goto leave; + } + pk->req_usage = use; if (! ctx) @@ -542,7 +550,13 @@ get_pubkeys (ctrl_t ctrl, /* Another result! */ count ++; - r = xmalloc_clear (sizeof (*r)); + r = xtrycalloc (1, sizeof (*r)); + if (!r) + { + err = gpg_error_from_syserror (); + xfree (pk); + goto leave; + } r->pk = pk; r->keyblock = kb; r->next = results; @@ -569,14 +583,14 @@ get_pubkeys (ctrl_t ctrl, if (!opt.quiet && source) log_info (_("(check argument of option '%s')\n"), source); - goto out; + goto leave; } else if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) ; /* No more matches. */ else if (err) { /* Some other error. An error message was already printed out. * Free RESULTS and continue. */ - goto out; + goto leave; } /* Check for duplicates. */ @@ -641,7 +655,7 @@ get_pubkeys (ctrl_t ctrl, fingerprint, sizeof fingerprint)); } - out: + leave: if (err) pubkeys_free (results); else @@ -712,8 +726,13 @@ get_pubkey (ctrl_t ctrl, PKT_public_key * pk, u32 * keyid) /* More init stuff. */ if (!pk) { - pk = xmalloc_clear (sizeof *pk); internal++; + pk = xtrycalloc (1, sizeof *pk); + if (!pk) + { + rc = gpg_error_from_syserror (); + goto leave; + } } commit 8602b980dfff9ed1bd5e6c04ca2fd71d12fd8fa2 Author: Werner Koch Date: Wed Dec 13 09:54:39 2017 +0100 indent: Re-indent get_pubkeys. -- diff --git a/g10/getkey.c b/g10/getkey.c index f73e443..eaf15ad 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -413,34 +413,35 @@ pubkeys_free (pubkey_t keys) } } -/* Returns all keys that match the search specification SEARCH_TERMS. - - This function also checks for and warns about duplicate entries in - the keydb, which can occur if the user has configured multiple - keyrings or keyboxes or if a keyring or keybox was corrupted. - - Note: SEARCH_TERMS will not be expanded (i.e., it may not be a - group). - - USE is the operation for which the key is required. It must be - either PUBKEY_USAGE_ENC, PUBKEY_USAGE_SIG, PUBKEY_USAGE_CERT or - PUBKEY_USAGE_AUTH. - - XXX: Currently, only PUBKEY_USAGE_ENC and PUBKEY_USAGE_SIG are - implemented. - INCLUDE_UNUSABLE indicates whether disabled keys are allowed. - (Recipients specified with --encrypt-to and --hidden-encrypt-to may - be disabled. It is possible to edit disabled keys.) - - SOURCE is the context in which SEARCH_TERMS was specified, e.g., - "--encrypt-to", etc. If this function is called interactively, - then this should be NULL. - - If WARN_POSSIBLY_AMBIGUOUS is set, then emits a warning if the user - does not specify a long key id or a fingerprint. - - The results are placed in *KEYS. *KEYS must be NULL! */ +/* Returns all keys that match the search specification SEARCH_TERMS. + * + * This function also checks for and warns about duplicate entries in + * the keydb, which can occur if the user has configured multiple + * keyrings or keyboxes or if a keyring or keybox was corrupted. + * + * Note: SEARCH_TERMS will not be expanded (i.e., it may not be a + * group). + * + * USE is the operation for which the key is required. It must be + * either PUBKEY_USAGE_ENC, PUBKEY_USAGE_SIG, PUBKEY_USAGE_CERT or + * PUBKEY_USAGE_AUTH. + * + * INCLUDE_UNUSABLE indicates whether disabled keys are allowed. + * (Recipients specified with --encrypt-to and --hidden-encrypt-to may + * be disabled. It is possible to edit disabled keys.) + * + * SOURCE is the context in which SEARCH_TERMS was specified, e.g., + * "--encrypt-to", etc. If this function is called interactively, + * then this should be NULL. + * + * If WARN_POSSIBLY_AMBIGUOUS is set, then emits a warning if the user + * does not specify a long key id or a fingerprint. + * + * The results are placed in *KEYS. *KEYS must be NULL! + * + * Fixme: Currently, only PUBKEY_USAGE_ENC and PUBKEY_USAGE_SIG are + * implemented. */ gpg_error_t get_pubkeys (ctrl_t ctrl, char *search_terms, int use, int include_unusable, char *source, @@ -448,30 +449,23 @@ get_pubkeys (ctrl_t ctrl, pubkey_t *r_keys) { /* We show a warning when a key appears multiple times in the DB. - This can happen for two reasons: - - - The user has configured multiple keyrings or keyboxes. - - - The keyring or keybox has been corrupted in some way, e.g., a - bug or a random process changing them. - - For each duplicate, we only want to show the key once. Hence, - this list. */ + * This can happen for two reasons: + * + * - The user has configured multiple keyrings or keyboxes. + * + * - The keyring or keybox has been corrupted in some way, e.g., a + * bug or a random process changing them. + * + * For each duplicate, we only want to show the key once. Hence, + * this list. */ static strlist_t key_dups; - - /* USE transformed to a string. */ - char *use_str; - gpg_error_t err; - + char *use_str; /* USE transformed to a string. */ KEYDB_SEARCH_DESC desc; - GETKEY_CTX ctx; pubkey_t results = NULL; pubkey_t r; - int count; - char fingerprint[2 * MAX_FINGERPRINT_LEN + 1]; if (DBG_LOOKUP) @@ -533,17 +527,14 @@ get_pubkeys (ctrl_t ctrl, else err = getkey_next (ctrl, ctx, pk, &kb); - if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) - /* No more results. */ + if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) /* No more results. */ { xfree (pk); break; } - else if (err) - /* An error (other than "not found"). */ + else if (err) /* An error (other than "not found"). */ { - log_error (_("error looking up: %s\n"), - gpg_strerror (err)); + log_error (_("error looking up: %s\n"), gpg_strerror (err)); xfree (pk); break; } @@ -570,8 +561,7 @@ get_pubkeys (ctrl_t ctrl, } if (! results && gpg_err_code (err) == GPG_ERR_NOT_FOUND) - /* No match. */ - { + { /* No match. */ if (DBG_LOOKUP) log_debug ("%s: '%s' not found.\n", __func__, search_terms); @@ -582,12 +572,12 @@ get_pubkeys (ctrl_t ctrl, goto out; } else if (gpg_err_code (err) == GPG_ERR_NOT_FOUND) - /* No more matches. */ - ; + ; /* No more matches. */ else if (err) - /* Some other error. An error message was already printed - out. Free RESULTS and continue. */ - goto out; + { /* Some other error. An error message was already printed out. + * Free RESULTS and continue. */ + goto out; + } /* Check for duplicates. */ if (DBG_LOOKUP) @@ -607,8 +597,7 @@ get_pubkeys (ctrl_t ctrl, { if (cmp_public_keys (r->keyblock->pkt->pkt.public_key, r2->keyblock->pkt->pkt.public_key) != 0) - /* Not a dup. */ - { + { /* Not a dup. */ prevp = &r2->next; next = r2->next; continue; ----------------------------------------------------------------------- Summary of changes: g10/export.c | 5 +++ g10/getkey.c | 138 +++++++++++++++++++++++++++++++--------------------------- g10/keygen.c | 5 +++ g10/keyid.c | 18 +++++--- g10/pkclist.c | 49 ++++++++++----------- g10/revoke.c | 15 ++++++- g10/tofu.c | 82 +++++++++++++++++++++++----------- 7 files changed, 187 insertions(+), 125 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 13 13:11:44 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 13 Dec 2017 13:11:44 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-30-g416cf9e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 416cf9e9be5d2daf0ef629208031989699b3653f (commit) via b5333e13cbc9db354ed90762190bf70605a02d1f (commit) via 067e62fe55721cac47c931f01fdb7c1563a64e9c (commit) from 9f641430dcdecbd7ee205d407cb19bb4262aa95d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 416cf9e9be5d2daf0ef629208031989699b3653f Author: Werner Koch Date: Wed Dec 13 13:02:34 2017 +0100 gpg: Print a warning for too much data encrypted with 3DES et al. * g10/filter.h (cipher_filter_context_t): Remove unused filed 'create_mdc'. Turn field 'header' into a bit field. Add new fields 'short_blklen_warn' and 'short_blklen_count'. * g10/cipher.c (write_header): Print a warning if MDC is not used. (cipher_filter): Print a warning for long messages encrypted with a short block length algorithm. -- Note that to test this warning in a reliable way compression needs to be disabled. Signed-off-by: Werner Koch diff --git a/g10/cipher.c b/g10/cipher.c index 409d0ad..b950d0c 100644 --- a/g10/cipher.c +++ b/g10/cipher.c @@ -64,6 +64,11 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a) if (DBG_HASHING) gcry_md_debug (cfx->mdc_hash, "creatmdc"); } + else if (!opt.no_mdc_warn) + { + log_info ("WARNING: " + "encrypting without integrity protection is dangerous\n"); + } write_status_printf (STATUS_BEGIN_ENCRYPTION, "%d %d", ed.mdc_method, cfx->dek->algo); @@ -91,7 +96,6 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a) BUG(); } - /* log_hexdump ("thekey", cfx->dek->key, cfx->dek->keylen); */ gcry_cipher_setkey (cfx->cipher_hd, cfx->dek->key, cfx->dek->keylen); gcry_cipher_setiv (cfx->cipher_hd, NULL, 0); @@ -101,7 +105,11 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a) gcry_cipher_encrypt (cfx->cipher_hd, temp, nprefix+2, NULL, 0); gcry_cipher_sync (cfx->cipher_hd); iobuf_write (a, temp, nprefix+2); - cfx->header = 1; + + cfx->short_blklen_warn = (blocksize < 16); + cfx->short_blklen_count = nprefix+2; + + cfx->wrote_header = 1; } @@ -122,11 +130,23 @@ cipher_filter (void *opaque, int control, iobuf_t a, byte *buf, size_t *ret_len) else if (control == IOBUFCTRL_FLUSH) /* encrypt */ { log_assert (a); - if (!cfx->header) + if (!cfx->wrote_header) write_header (cfx, a); if (cfx->mdc_hash) gcry_md_write (cfx->mdc_hash, buf, size); gcry_cipher_encrypt (cfx->cipher_hd, buf, size, NULL, 0); + if (cfx->short_blklen_warn) + { + cfx->short_blklen_count += size; + if (cfx->short_blklen_count > (150 * 1024 * 1024)) + { + log_info ("WARNING: encrypting more than %d MiB with algorithm " + "%s should be avoided\n", 150, + openpgp_cipher_algo_name (cfx->dek->algo)); + cfx->short_blklen_warn = 0; /* Don't show again. */ + } + } + rc = iobuf_write (a, buf, size); } else if (control == IOBUFCTRL_FREE) diff --git a/g10/filter.h b/g10/filter.h index 275608d..9e4b1e5 100644 --- a/g10/filter.h +++ b/g10/filter.h @@ -92,10 +92,11 @@ typedef struct { DEK *dek; u32 datalen; gcry_cipher_hd_t cipher_hd; - int header; + unsigned int wrote_header : 1; + unsigned int short_blklen_warn : 1; + unsigned long short_blklen_count; gcry_md_hd_t mdc_hash; byte enchash[20]; - int create_mdc; /* flag will be set by the cipher filter */ } cipher_filter_context_t; commit b5333e13cbc9db354ed90762190bf70605a02d1f Author: Werner Koch Date: Wed Dec 13 11:58:51 2017 +0100 gpg: Simplify cipher:write_header. * g10/cipher.c (write_header): Use write_status_printf. Signed-off-by: Werner Koch diff --git a/g10/cipher.c b/g10/cipher.c index 2677989..409d0ad 100644 --- a/g10/cipher.c +++ b/g10/cipher.c @@ -65,12 +65,8 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a) gcry_md_debug (cfx->mdc_hash, "creatmdc"); } - { - char buf[20]; - - snprintf (buf, sizeof buf, "%d %d", ed.mdc_method, cfx->dek->algo); - write_status_text (STATUS_BEGIN_ENCRYPTION, buf); - } + write_status_printf (STATUS_BEGIN_ENCRYPTION, "%d %d", + ed.mdc_method, cfx->dek->algo); init_packet (&pkt); pkt.pkttype = cfx->dek->use_mdc? PKT_ENCRYPTED_MDC : PKT_ENCRYPTED; commit 067e62fe55721cac47c931f01fdb7c1563a64e9c Author: Werner Koch Date: Wed Dec 13 11:56:28 2017 +0100 indent: Re-indent g10/cipher.c -- diff --git a/g10/cipher.c b/g10/cipher.c index 655937f..2677989 100644 --- a/g10/cipher.c +++ b/g10/cipher.c @@ -1,6 +1,6 @@ /* cipher.c - En-/De-ciphering filter - * Copyright (C) 1998, 1999, 2000, 2001, 2003, - * 2006, 2009 Free Software Foundation, Inc. + * Copyright (C) 1998-2003, 2006, 2009 Free Software Foundation, Inc. + * Copyright (C) 1998-2003, 2006, 2009, 2017 Werner koch * * This file is part of GnuPG. * @@ -16,6 +16,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, see . + * SPDX-License-Identifier: GPL-3.0+ */ #include @@ -39,124 +40,129 @@ static void -write_header( cipher_filter_context_t *cfx, IOBUF a ) +write_header (cipher_filter_context_t *cfx, iobuf_t a) { - gcry_error_t err; - PACKET pkt; - PKT_encrypted ed; - byte temp[18]; - unsigned int blocksize; - unsigned int nprefix; - - blocksize = openpgp_cipher_get_algo_blklen (cfx->dek->algo); - if ( blocksize < 8 || blocksize > 16 ) - log_fatal("unsupported blocksize %u\n", blocksize ); - - memset( &ed, 0, sizeof ed ); - ed.len = cfx->datalen; - ed.extralen = blocksize+2; - ed.new_ctb = !ed.len; - if( cfx->dek->use_mdc ) { - ed.mdc_method = DIGEST_ALGO_SHA1; - gcry_md_open (&cfx->mdc_hash, DIGEST_ALGO_SHA1, 0); - if ( DBG_HASHING ) - gcry_md_debug (cfx->mdc_hash, "creatmdc"); - } - + gcry_error_t err; + PACKET pkt; + PKT_encrypted ed; + byte temp[18]; + unsigned int blocksize; + unsigned int nprefix; + + blocksize = openpgp_cipher_get_algo_blklen (cfx->dek->algo); + if ( blocksize < 8 || blocksize > 16 ) + log_fatal ("unsupported blocksize %u\n", blocksize); + + memset (&ed, 0, sizeof ed); + ed.len = cfx->datalen; + ed.extralen = blocksize + 2; + ed.new_ctb = !ed.len; + if (cfx->dek->use_mdc) { - char buf[20]; - - sprintf (buf, "%d %d", ed.mdc_method, cfx->dek->algo); - write_status_text (STATUS_BEGIN_ENCRYPTION, buf); + ed.mdc_method = DIGEST_ALGO_SHA1; + gcry_md_open (&cfx->mdc_hash, DIGEST_ALGO_SHA1, 0); + if (DBG_HASHING) + gcry_md_debug (cfx->mdc_hash, "creatmdc"); } - init_packet( &pkt ); - pkt.pkttype = cfx->dek->use_mdc? PKT_ENCRYPTED_MDC : PKT_ENCRYPTED; - pkt.pkt.encrypted = &ed; - if( build_packet( a, &pkt )) - log_bug("build_packet(ENCR_DATA) failed\n"); - nprefix = blocksize; - gcry_randomize (temp, nprefix, GCRY_STRONG_RANDOM ); - temp[nprefix] = temp[nprefix-2]; - temp[nprefix+1] = temp[nprefix-1]; - print_cipher_algo_note( cfx->dek->algo ); - err = openpgp_cipher_open (&cfx->cipher_hd, - cfx->dek->algo, - GCRY_CIPHER_MODE_CFB, - (GCRY_CIPHER_SECURE - | ((cfx->dek->use_mdc || cfx->dek->algo >= 100)? - 0 : GCRY_CIPHER_ENABLE_SYNC))); - if (err) { - /* We should never get an error here cause we already checked, - * that the algorithm is available. */ - BUG(); + { + char buf[20]; + + snprintf (buf, sizeof buf, "%d %d", ed.mdc_method, cfx->dek->algo); + write_status_text (STATUS_BEGIN_ENCRYPTION, buf); + } + + init_packet (&pkt); + pkt.pkttype = cfx->dek->use_mdc? PKT_ENCRYPTED_MDC : PKT_ENCRYPTED; + pkt.pkt.encrypted = &ed; + if (build_packet( a, &pkt)) + log_bug ("build_packet(ENCR_DATA) failed\n"); + nprefix = blocksize; + gcry_randomize (temp, nprefix, GCRY_STRONG_RANDOM ); + temp[nprefix] = temp[nprefix-2]; + temp[nprefix+1] = temp[nprefix-1]; + print_cipher_algo_note (cfx->dek->algo); + err = openpgp_cipher_open (&cfx->cipher_hd, + cfx->dek->algo, + GCRY_CIPHER_MODE_CFB, + (GCRY_CIPHER_SECURE + | ((cfx->dek->use_mdc || cfx->dek->algo >= 100)? + 0 : GCRY_CIPHER_ENABLE_SYNC))); + if (err) + { + /* We should never get an error here cause we already checked, + * that the algorithm is available. */ + BUG(); } -/* log_hexdump( "thekey", cfx->dek->key, cfx->dek->keylen );*/ - gcry_cipher_setkey( cfx->cipher_hd, cfx->dek->key, cfx->dek->keylen ); - gcry_cipher_setiv( cfx->cipher_hd, NULL, 0 ); -/* log_hexdump( "prefix", temp, nprefix+2 ); */ - if (cfx->mdc_hash) /* Hash the "IV". */ - gcry_md_write (cfx->mdc_hash, temp, nprefix+2 ); - gcry_cipher_encrypt (cfx->cipher_hd, temp, nprefix+2, NULL, 0); - gcry_cipher_sync (cfx->cipher_hd); - iobuf_write(a, temp, nprefix+2); - cfx->header=1; + /* log_hexdump ("thekey", cfx->dek->key, cfx->dek->keylen); */ + gcry_cipher_setkey (cfx->cipher_hd, cfx->dek->key, cfx->dek->keylen); + gcry_cipher_setiv (cfx->cipher_hd, NULL, 0); + /* log_hexdump ("prefix", temp, nprefix+2); */ + if (cfx->mdc_hash) /* Hash the "IV". */ + gcry_md_write (cfx->mdc_hash, temp, nprefix+2 ); + gcry_cipher_encrypt (cfx->cipher_hd, temp, nprefix+2, NULL, 0); + gcry_cipher_sync (cfx->cipher_hd); + iobuf_write (a, temp, nprefix+2); + cfx->header = 1; } - -/**************** - * This filter is used to en/de-cipher data with a conventional algorithm +/* + * This filter is used to en/de-cipher data with a symmetric algorithm */ int -cipher_filter( void *opaque, int control, - IOBUF a, byte *buf, size_t *ret_len) +cipher_filter (void *opaque, int control, iobuf_t a, byte *buf, size_t *ret_len) { - size_t size = *ret_len; - cipher_filter_context_t *cfx = opaque; - int rc=0; + cipher_filter_context_t *cfx = opaque; + size_t size = *ret_len; + int rc = 0; - if( control == IOBUFCTRL_UNDERFLOW ) { /* decrypt */ - rc = -1; /* not yet used */ + if (control == IOBUFCTRL_UNDERFLOW) /* decrypt */ + { + rc = -1; /* not yet used */ } - else if( control == IOBUFCTRL_FLUSH ) { /* encrypt */ - log_assert(a); - if( !cfx->header ) { - write_header( cfx, a ); - } - if (cfx->mdc_hash) - gcry_md_write (cfx->mdc_hash, buf, size); - gcry_cipher_encrypt (cfx->cipher_hd, buf, size, NULL, 0); - rc = iobuf_write( a, buf, size ); + else if (control == IOBUFCTRL_FLUSH) /* encrypt */ + { + log_assert (a); + if (!cfx->header) + write_header (cfx, a); + if (cfx->mdc_hash) + gcry_md_write (cfx->mdc_hash, buf, size); + gcry_cipher_encrypt (cfx->cipher_hd, buf, size, NULL, 0); + rc = iobuf_write (a, buf, size); } - else if( control == IOBUFCTRL_FREE ) { - if( cfx->mdc_hash ) { - byte *hash; - int hashlen = gcry_md_get_algo_dlen (gcry_md_get_algo - (cfx->mdc_hash)); - byte temp[22]; - - log_assert( hashlen == 20 ); - /* We must hash the prefix of the MDC packet here. */ - temp[0] = 0xd3; - temp[1] = 0x14; - gcry_md_putc (cfx->mdc_hash, temp[0]); - gcry_md_putc (cfx->mdc_hash, temp[1]); - - gcry_md_final (cfx->mdc_hash); - hash = gcry_md_read (cfx->mdc_hash, 0); - memcpy(temp+2, hash, 20); - gcry_cipher_encrypt (cfx->cipher_hd, temp, 22, NULL, 0); - gcry_md_close (cfx->mdc_hash); cfx->mdc_hash = NULL; - if( iobuf_write( a, temp, 22 ) ) - log_error("writing MDC packet failed\n" ); + else if (control == IOBUFCTRL_FREE) + { + if (cfx->mdc_hash) + { + byte *hash; + int hashlen = gcry_md_get_algo_dlen (gcry_md_get_algo(cfx->mdc_hash)); + byte temp[22]; + + log_assert (hashlen == 20); + /* We must hash the prefix of the MDC packet here. */ + temp[0] = 0xd3; + temp[1] = 0x14; + gcry_md_putc (cfx->mdc_hash, temp[0]); + gcry_md_putc (cfx->mdc_hash, temp[1]); + + gcry_md_final (cfx->mdc_hash); + hash = gcry_md_read (cfx->mdc_hash, 0); + memcpy(temp+2, hash, 20); + gcry_cipher_encrypt (cfx->cipher_hd, temp, 22, NULL, 0); + gcry_md_close (cfx->mdc_hash); cfx->mdc_hash = NULL; + if (iobuf_write( a, temp, 22)) + log_error ("writing MDC packet failed\n"); } - gcry_cipher_close (cfx->cipher_hd); + + gcry_cipher_close (cfx->cipher_hd); } - else if( control == IOBUFCTRL_DESC ) { - mem2str (buf, "cipher_filter", *ret_len); + else if (control == IOBUFCTRL_DESC) + { + mem2str (buf, "cipher_filter", *ret_len); } - return rc; + + return rc; } ----------------------------------------------------------------------- Summary of changes: g10/cipher.c | 226 ++++++++++++++++++++++++++++++++--------------------------- g10/filter.h | 5 +- 2 files changed, 127 insertions(+), 104 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 13 15:06:03 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 13 Dec 2017 15:06:03 +0100 Subject: [git] GCRYPT - branch, LIBGCRYPT-1.8-BRANCH, updated. libgcrypt-1.8.1-8-g32577d5 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU crypto library". The branch, LIBGCRYPT-1.8-BRANCH has been updated via 32577d5b91f853b6d6807339aa93f5a443802732 (commit) via eb84e429950b6a61c00112e70a584940c1d352e4 (commit) from 59df8d6295426d0a9cf7646c381df2ea29fdb8c5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 32577d5b91f853b6d6807339aa93f5a443802732 Author: Werner Koch Date: Wed Dec 13 15:01:26 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index d5288df..204ca66 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes in version 1.8.3 (unreleased) [C22/A2/R3] +------------------------------------------------ + + Noteworthy changes in version 1.8.2 (2017-12-13) [C22/A2/R2] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 672396c..f20aa4f 100644 --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,7 @@ min_automake_version="1.14" # for the LT versions. m4_define(mym4_version_major, [1]) m4_define(mym4_version_minor, [8]) -m4_define(mym4_version_micro, [2]) +m4_define(mym4_version_micro, [3]) # Below is m4 magic to extract and compute the revision number, the # decimalized short revision number, a beta version string, and a flag @@ -56,7 +56,7 @@ AC_INIT([libgcrypt],[mym4_full_version],[http://bugs.gnupg.org]) # (No interfaces changed: REVISION++) LIBGCRYPT_LT_CURRENT=22 LIBGCRYPT_LT_AGE=2 -LIBGCRYPT_LT_REVISION=2 +LIBGCRYPT_LT_REVISION=3 # If the API is changed in an incompatible way: increment the next counter. commit eb84e429950b6a61c00112e70a584940c1d352e4 Author: Werner Koch Date: Wed Dec 13 14:52:08 2017 +0100 Release 1.8.2 Signed-off-by: Werner Koch diff --git a/NEWS b/NEWS index 8ae0d12..d5288df 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,22 @@ -Noteworthy changes in version 1.8.2 (unreleased) [C22/A2/R2] +Noteworthy changes in version 1.8.2 (2017-12-13) [C22/A2/R2] ------------------------------------------------ + * Bug fixes: + + - Do not use /dev/srandom on OpenBSD. + + - Fix test suite failure on systems with large pages. [#3351] + + - Fix test suite to not use mmap on Windows. + + - Fix fatal out of secure memory status in the s-expression parser + on heavy loaded systems. + + * Other: + + - Backport the auto expand secmem feature from master for use by + the forthcoming GnuPG 2.2.4. + Noteworthy changes in version 1.8.1 (2017-08-27) [C22/A2/R1] ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 6c23a04..672396c 100644 --- a/configure.ac +++ b/configure.ac @@ -56,7 +56,7 @@ AC_INIT([libgcrypt],[mym4_full_version],[http://bugs.gnupg.org]) # (No interfaces changed: REVISION++) LIBGCRYPT_LT_CURRENT=22 LIBGCRYPT_LT_AGE=2 -LIBGCRYPT_LT_REVISION=1 +LIBGCRYPT_LT_REVISION=2 # If the API is changed in an incompatible way: increment the next counter. ----------------------------------------------------------------------- Summary of changes: NEWS | 22 +++++++++++++++++++++- configure.ac | 4 ++-- 2 files changed, 23 insertions(+), 3 deletions(-) hooks/post-receive -- The GNU crypto library http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 13 15:08:24 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 13 Dec 2017 15:08:24 +0100 Subject: [git] gnupg-doc - branch, master, updated. c45870b95706acc7f72a50085ad320e4381858e3 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via c45870b95706acc7f72a50085ad320e4381858e3 (commit) from 2ce6cfb084f75127faa08d5b689b526cf828498a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c45870b95706acc7f72a50085ad320e4381858e3 Author: Werner Koch Date: Wed Dec 13 15:03:23 2017 +0100 swdb: release libgcrypt 1.8.2 diff --git a/web/swdb.mac b/web/swdb.mac index 44ccf77..b0fb5c2 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -120,11 +120,11 @@ # # LIBGCRYPT # -#+macro: libgcrypt_ver 1.8.1 -#+macro: libgcrypt_date 2017-08-27 +#+macro: libgcrypt_ver 1.8.2 +#+macro: libgcrypt_date 2017-12-13 #+macro: libgcrypt_size 2897k -#+macro: libgcrypt_sha1 dd35f00da45602afe81e01f4d60c40bbdd826fe6 -#+macro: libgcrypt_sha2 7a2875f8b1ae0301732e878c0cca2c9664ff09ef71408f085c50e332656a78b3 +#+macro: libgcrypt_sha1 ab8aae5d7a68f8e0988f90e11e7f6a4805af5c8d +#+macro: libgcrypt_sha2 c8064cae7558144b13ef0eb87093412380efa16c4ee30ad12ecb54886a524c07 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 06:20:37 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 18 Dec 2017 06:20:37 +0100 Subject: [git] GnuPG - branch, master, updated. gnupg-2.2.3-94-g77e2fcb Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, master has been updated via 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 (commit) from b38ca59bdb0b9173aca620210afc8b52a6882e85 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 Author: NIIBE Yutaka Date: Mon Dec 18 14:09:53 2017 +0900 po: Update Japanese translation. * po/ja.po: Fix message with no "%s". -- The wrong message caused segmentation fault for key generation when no expiration is specified. GnuPG-bug-id: 3619 Signed-off-by: NIIBE Yutaka diff --git a/po/ja.po b/po/ja.po index 26c032f..a3e8ab8 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,9 +8,9 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg 2.2.2\n" +"Project-Id-Version: gnupg 2.2.3\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2017-11-07 11:11+0900\n" +"PO-Revision-Date: 2017-12-18 14:07+0900\n" "Last-Translator: NIIBE Yutaka \n" "Language-Team: none\n" "Language: ja\n" @@ -1340,10 +1340,9 @@ msgstr "????????? (%u) " msgid "What keysize do you want for the Authentication key? (%u) " msgstr "???????? (%u) " -#, 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 "??%u????????????????????????????\n" +msgstr "???????????????????????????????????: %s\n" #, c-format msgid "rounded up to %u bits\n" @@ -3775,10 +3774,10 @@ msgid "invalid value\n" msgstr "????\n" msgid "Key does not expire at all\n" -msgstr "%s??????\n" +msgstr "???????\n" msgid "Signature does not expire at all\n" -msgstr "%????????\n" +msgstr "????????\n" #, c-format msgid "Key expires at %s\n" ----------------------------------------------------------------------- Summary of changes: po/ja.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 06:23:18 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 18 Dec 2017 06:23:18 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-31-ge3ddeff Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via e3ddeff66e8c08a37ddf8b6510d69579c245e192 (commit) from 416cf9e9be5d2daf0ef629208031989699b3653f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e3ddeff66e8c08a37ddf8b6510d69579c245e192 Author: NIIBE Yutaka Date: Mon Dec 18 14:09:53 2017 +0900 po: Update Japanese translation. * po/ja.po: Fix message with no "%s". -- Backport of master commit from: 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 The wrong message caused segmentation fault for key generation when no expiration is specified. GnuPG-bug-id: 3619 Signed-off-by: NIIBE Yutaka diff --git a/po/ja.po b/po/ja.po index 26c032f..a3e8ab8 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,9 +8,9 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg 2.2.2\n" +"Project-Id-Version: gnupg 2.2.3\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2017-11-07 11:11+0900\n" +"PO-Revision-Date: 2017-12-18 14:07+0900\n" "Last-Translator: NIIBE Yutaka \n" "Language-Team: none\n" "Language: ja\n" @@ -1340,10 +1340,9 @@ msgstr "????????? (%u) " msgid "What keysize do you want for the Authentication key? (%u) " msgstr "???????? (%u) " -#, 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 "??%u????????????????????????????\n" +msgstr "???????????????????????????????????: %s\n" #, c-format msgid "rounded up to %u bits\n" @@ -3775,10 +3774,10 @@ msgid "invalid value\n" msgstr "????\n" msgid "Key does not expire at all\n" -msgstr "%s??????\n" +msgstr "???????\n" msgid "Signature does not expire at all\n" -msgstr "%????????\n" +msgstr "????????\n" #, c-format msgid "Key expires at %s\n" ----------------------------------------------------------------------- Summary of changes: po/ja.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 06:29:46 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 18 Dec 2017 06:29:46 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-1-4, updated. gnupg-1.4.22-12-g1338bce Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-1-4 has been updated via 1338bce5f66a95b53f18c4b54f0e9ac79604500a (commit) from 9441946e1824eb58249c58432ed1f554d0d8a102 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1338bce5f66a95b53f18c4b54f0e9ac79604500a Author: NIIBE Yutaka Date: Mon Dec 18 14:09:53 2017 +0900 po: Update Japanese translation. * po/ja.po: Fix message with no "%s". -- Backport of master commit from: 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 The wrong message caused segmentation fault for key generation when no expiration is specified. GnuPG-bug-id: 3619 Signed-off-by: NIIBE Yutaka diff --git a/po/ja.po b/po/ja.po index 76383a3..59dd8e6 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,9 +7,9 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg 1.4.20\n" +"Project-Id-Version: gnupg 1.4.22\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2015-12-21 21:25+0900\n" +"PO-Revision-Date: 2017-12-18 14:27+0900\n" "Last-Translator: NIIBE Yutaka \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -3156,10 +3156,10 @@ msgid "invalid value\n" msgstr "????\n" msgid "Key does not expire at all\n" -msgstr "%s??????\n" +msgstr "???????\n" msgid "Signature does not expire at all\n" -msgstr "%????????\n" +msgstr "????????\n" #, c-format msgid "Key expires at %s\n" ----------------------------------------------------------------------- Summary of changes: po/ja.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 06:35:21 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Mon, 18 Dec 2017 06:35:21 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-0, updated. gnupg-2.0.30-32-gcdbb19e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-0 has been updated via cdbb19e9e6afdd0dd251b2fb0965945ded45d51a (commit) from 9ba0e2c76c0c040e69e50ed9d89eadb3269052f9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit cdbb19e9e6afdd0dd251b2fb0965945ded45d51a Author: NIIBE Yutaka Date: Mon Dec 18 14:09:53 2017 +0900 po: Update Japanese translation. * po/ja.po: Fix message with no "%s". -- Backport of master commit from: 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 The wrong message caused segmentation fault for key generation when no expiration is specified. GnuPG-bug-id: 3619 Signed-off-by: NIIBE Yutaka diff --git a/po/ja.po b/po/ja.po index 2f9ede8..23176f9 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,9 +7,9 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU gnupg 2.0.29\n" +"Project-Id-Version: GNU gnupg 2.0.30\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2015-09-15 15:14+0900\n" +"PO-Revision-Date: 2017-12-18 14:34+0900\n" "Last-Translator: NIIBE Yutaka \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -3504,10 +3504,10 @@ msgid "invalid value\n" msgstr "????\n" msgid "Key does not expire at all\n" -msgstr "%s??????\n" +msgstr "???????\n" msgid "Signature does not expire at all\n" -msgstr "%????????\n" +msgstr "????????\n" #, c-format msgid "Key expires at %s\n" ----------------------------------------------------------------------- Summary of changes: po/ja.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 12:10:41 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 18 Dec 2017 12:10:41 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-32-g8c878ae Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 8c878ae4c9dfa9fe26aa15f4f9db3e86833575e9 (commit) from e3ddeff66e8c08a37ddf8b6510d69579c245e192 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8c878ae4c9dfa9fe26aa15f4f9db3e86833575e9 Author: Werner Koch Date: Mon Dec 18 12:05:02 2017 +0100 sm: Allow explicit setting of the default --compliance=gnupg * sm/gpgsm.c (main): Allow setting of the default compliance. * tools/gpgconf-comp.c (gc_options_gpgsm): Add "compliance". -- This is required so that we can use this option in in gpgconf.conf. Signed-off-by: Werner Koch diff --git a/doc/examples/gpgconf.conf b/doc/examples/gpgconf.conf index f401602..95e463b 100644 --- a/doc/examples/gpgconf.conf +++ b/doc/examples/gpgconf.conf @@ -31,8 +31,7 @@ # # Example file: #========== -# :staff gpg-agent allow-mark-trusted [change] -# gpg-agent min-passphrase-len 6 +# :staff gpg-agent min-passphrase-len 6 [change] # # * gpg-agent min-passphrase-len [no-change] 8 # gpg-agent min-passphrase-nonalpha [no-change] 1 @@ -42,9 +41,9 @@ # gpg-agent enforce-passphrase-constraints [no-change] # gpg-agent max-cache-ttl [no-change] 10800 # gpg-agent max-cache-ttl-ssh [no-change] 10800 -# gpg-agent allow-mark-trusted [default] -# gpg-agent allow-mark-trusted [no-change] # gpgsm enable-ocsp +# gpg compliance [no-change] +# gpgsm compliance [no-change] #=========== # All users in the group "staff" are allowed to change the value for # --allow-mark-trusted; gpgconf's default is not to allow a change diff --git a/sm/gpgsm.c b/sm/gpgsm.c index 0feda90..b505be1 100644 --- a/sm/gpgsm.c +++ b/sm/gpgsm.c @@ -1450,6 +1450,7 @@ main ( int argc, char **argv) { struct gnupg_compliance_option compliance_options[] = { + { "gnupg", CO_GNUPG }, { "de-vs", CO_DE_VS } }; int compliance = gnupg_parse_compliance_option (pargs.r.ret_str, @@ -1786,6 +1787,7 @@ main ( int argc, char **argv) proc_parameters actually implements. */ es_printf ("default_pubkey_algo:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT, "RSA-2048"); + es_printf ("compliance:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT, "gnupg"); } break; diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index 9ce752b..dd562d2 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -833,6 +833,9 @@ static gc_option_t gc_options_gpgsm[] = (GC_OPT_FLAG_ARG_OPT|GC_OPT_FLAG_NO_CHANGE), GC_LEVEL_INVISIBLE, NULL, NULL, GC_ARG_TYPE_STRING, GC_BACKEND_GPGSM }, + { "compliance", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE, + NULL, NULL, + GC_ARG_TYPE_STRING, GC_BACKEND_GPGSM }, { "Debug", GC_OPT_FLAG_GROUP, GC_LEVEL_ADVANCED, ----------------------------------------------------------------------- Summary of changes: doc/examples/gpgconf.conf | 7 +++---- sm/gpgsm.c | 2 ++ tools/gpgconf-comp.c | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 16:41:16 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 18 Dec 2017 16:41:16 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-33-gd74c40c Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via d74c40cef0a97cd98aa05f13b1541a94eda502a6 (commit) from 8c878ae4c9dfa9fe26aa15f4f9db3e86833575e9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d74c40cef0a97cd98aa05f13b1541a94eda502a6 Author: Werner Koch Date: Mon Dec 18 16:31:54 2017 +0100 gpgconf: Show --compliance in expert mode. * tools/gpgconf-comp.c (gc_options_gpg): Set compliance to expert. (gc_options_gpgsm): Ditto. Signed-off-by: Werner Koch diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index dd562d2..b74ee04 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -714,7 +714,7 @@ static gc_option_t gc_options_gpg[] = { "options", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE, NULL, NULL, GC_ARG_TYPE_FILENAME, GC_BACKEND_GPG }, - { "compliance", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE, + { "compliance", GC_OPT_FLAG_NONE, GC_LEVEL_EXPERT, NULL, NULL, GC_ARG_TYPE_STRING, GC_BACKEND_GPG }, { "default-new-key-algo", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE, @@ -833,7 +833,7 @@ static gc_option_t gc_options_gpgsm[] = (GC_OPT_FLAG_ARG_OPT|GC_OPT_FLAG_NO_CHANGE), GC_LEVEL_INVISIBLE, NULL, NULL, GC_ARG_TYPE_STRING, GC_BACKEND_GPGSM }, - { "compliance", GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE, + { "compliance", GC_OPT_FLAG_NONE, GC_LEVEL_EXPERT, NULL, NULL, GC_ARG_TYPE_STRING, GC_BACKEND_GPGSM }, ----------------------------------------------------------------------- Summary of changes: tools/gpgconf-comp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 17:22:39 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 18 Dec 2017 17:22:39 +0100 Subject: [git] GnuPG - branch, master, updated. gnupg-2.2.3-112-gc817e75 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, master has been updated via c817e750283278e7e8317c1b47981e71ddcc9dbf (commit) via d74c40cef0a97cd98aa05f13b1541a94eda502a6 (commit) via 8c878ae4c9dfa9fe26aa15f4f9db3e86833575e9 (commit) via e3ddeff66e8c08a37ddf8b6510d69579c245e192 (commit) via 416cf9e9be5d2daf0ef629208031989699b3653f (commit) via b5333e13cbc9db354ed90762190bf70605a02d1f (commit) via 067e62fe55721cac47c931f01fdb7c1563a64e9c (commit) via 9f641430dcdecbd7ee205d407cb19bb4262aa95d (commit) via cd26c5482b10bee7658959ae913f2ddb83190587 (commit) via 29119a6492eda5dd7920e45e7f2faa043d436591 (commit) via 8602b980dfff9ed1bd5e6c04ca2fd71d12fd8fa2 (commit) via 8ede3ae29a39641a2f98ad9a4cf61ea99085a892 (commit) via c81a447190d2763ac4c64b2e74e22e824da8aba3 (commit) via 17efcd2a2acdc3b7f00711272aa51e5be2476921 (commit) via 20b52be9ca29b0bc843fc68a279cb72728ede72f (commit) via f2997adee0455c8c0fa391a853ec1b0c9fc43342 (commit) via 7a663c296e687f12ccd9a21d414de780feb4dfcf (commit) via 6c1dcd79cf0977844179d9a7b189c10af5e42a7e (commit) from 77e2fcb4ffbad8577a2cf41f17bf92dec6a93ad8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c817e750283278e7e8317c1b47981e71ddcc9dbf Merge: 77e2fcb d74c40c Author: Werner Koch Date: Mon Dec 18 16:38:02 2017 +0100 Merge branch 'STABLE-BRANCH-2-2' into master -- Signed-off-by: Werner Koch ----------------------------------------------------------------------- Summary of changes: agent/gpg-agent.c | 16 +++- common/homedir.c | 14 ++- configure.ac | 16 ++++ dirmngr/dirmngr.c | 15 ++- doc/dirmngr.texi | 4 + doc/examples/gpgconf.conf | 7 +- doc/gpg-agent.texi | 3 + doc/scdaemon.texi | 6 ++ g10/cipher.c | 226 +++++++++++++++++++++++++--------------------- g10/export.c | 5 + g10/filter.h | 5 +- g10/getkey.c | 138 +++++++++++++++------------- g10/keygen.c | 42 +++++++-- g10/keyid.c | 18 ++-- g10/pkclist.c | 49 +++++----- g10/revoke.c | 15 ++- g10/tofu.c | 82 ++++++++++++----- scd/scdaemon.c | 16 +++- sm/gpgsm.c | 1 + tools/gpgconf-comp.c | 5 +- 20 files changed, 430 insertions(+), 253 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Mon Dec 18 17:50:48 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Mon, 18 Dec 2017 17:50:48 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-34-g482e000 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 482e000b8a7e336f342a7fac3b7379257e944b6e (commit) from d74c40cef0a97cd98aa05f13b1541a94eda502a6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 482e000b8a7e336f342a7fac3b7379257e944b6e Author: Werner Koch Date: Mon Dec 18 17:46:05 2017 +0100 conf: New option --status-fd. * tools/gpgconf.c (oStatusFD): New const. (opts): New option --status-fd. (statusfp): New var. (set_status_fd): New. (gpgconf_write_status): New. (gpgconf_failure): New. (main): Set status fd and replace exit by gpgconf_failure. * tools/gpgconf-comp.c: Repalce exit by gpgconf_failure. (gc_process_gpgconf_conf): Print a few warning status messages. Signed-off-by: Werner Koch diff --git a/doc/tools.texi b/doc/tools.texi index 5104bea..9301334 100644 --- a/doc/tools.texi +++ b/doc/tools.texi @@ -407,6 +407,14 @@ changing. This means that the changes will take effect at run-time, as far as this is possible. Otherwise, they will take effect at the next start of the respective backend programs. + + at item --status-fd @var{n} + at opindex status-fd +Write special status strings to the file descriptor @var{n}. This +program returns the status messages SUCCESS or FAILURE which are +helpful when the caller uses a double fork approach and can't easily +get the return code of the process. + @manpause @end table diff --git a/tools/applygnupgdefaults b/tools/applygnupgdefaults index 54365ce..316509f 100755 --- a/tools/applygnupgdefaults +++ b/tools/applygnupgdefaults @@ -1,5 +1,5 @@ #!/bin/sh -# Apply defaults from /etc/gnupg/gpg.conf to all users -*- sh -*- +# Apply defaults from /etc/gnupg/gpgconf.conf to all users -*- sh -*- # # Copyright 2007 Free Software Foundation, Inc. # diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c index b74ee04..f705f3a 100644 --- a/tools/gpgconf-comp.c +++ b/tools/gpgconf-comp.c @@ -48,6 +48,7 @@ #include "../common/i18n.h" #include "../common/exechelp.h" #include "../common/sysutils.h" +#include "../common/status.h" #include "../common/gc-opt-flags.h" #include "gpgconf.h" @@ -99,7 +100,7 @@ gc_error (int status, int errnum, const char *fmt, ...) { log_printf (NULL); log_printf ("fatal error (exit status %i)\n", status); - exit (status); + gpgconf_failure (gpg_error_from_errno (errnum)); } } @@ -1310,7 +1311,7 @@ gc_component_launch (int component) { es_fputs (_("Component not suitable for launching"), es_stderr); es_putc ('\n', es_stderr); - exit (1); + gpgconf_failure (0); } pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT); @@ -3757,6 +3758,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "missing rule at '%s', line %d", fname, lineno); result = -1; + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + "missing rule", + GPG_ERR_SYNTAX, fname, lineno); continue; } *p++ = 0; @@ -3786,6 +3791,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "missing component at '%s', line %d", fname, lineno); + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + " missing component", + GPG_ERR_NO_NAME, fname, lineno); result = -1; continue; } @@ -3797,6 +3806,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "unknown component at '%s', line %d", fname, lineno); + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + "unknown component", + GPG_ERR_UNKNOWN_NAME, fname, lineno); result = -1; } @@ -3809,6 +3822,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "missing option at '%s', line %d", fname, lineno); + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + "missing option", + GPG_ERR_INV_NAME, fname, lineno); result = -1; continue; } @@ -3821,6 +3838,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "unknown option at '%s', line %d", fname, lineno); + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + "unknown option", + GPG_ERR_UNKNOWN_OPTION, fname, lineno); result = -1; } } @@ -3837,6 +3858,10 @@ gc_process_gpgconf_conf (const char *fname_arg, int update, int defaults, { gc_error (0, 0, "syntax error in rule at '%s', line %d", fname, lineno); + gpgconf_write_status (STATUS_WARNING, + "gpgconf.conf %d file '%s' line %d " + "syntax error in rule", + GPG_ERR_SYNTAX, fname, lineno); result = -1; continue; } diff --git a/tools/gpgconf.c b/tools/gpgconf.c index 09b2a76..59085d8 100644 --- a/tools/gpgconf.c +++ b/tools/gpgconf.c @@ -29,6 +29,7 @@ #include "../common/i18n.h" #include "../common/sysutils.h" #include "../common/init.h" +#include "../common/status.h" /* Constants to identify the commands and options. */ @@ -45,6 +46,7 @@ enum cmd_and_opt_values oNoVerbose = 500, oHomedir, oBuilddir, + oStatusFD, aListComponents, aCheckPrograms, @@ -100,6 +102,7 @@ static ARGPARSE_OPTS opts[] = { oQuiet, "quiet", 0, N_("quiet") }, { oDryRun, "dry-run", 0, N_("do not make any changes") }, { oRuntime, "runtime", 0, N_("activate changes at runtime, if possible") }, + ARGPARSE_s_i (oStatusFD, "status-fd", N_("|FD|write status info to this FD")), /* hidden options */ { oHomedir, "homedir", 2, "@" }, { oBuilddir, "build-prefix", 2, "@" }, @@ -110,6 +113,11 @@ static ARGPARSE_OPTS opts[] = }; +/* The stream to output the status information. Status Output is disabled if + * this is NULL. */ +static estream_t statusfp; + + /* Print usage information and provide strings for help. */ static const char * my_strusage( int level ) @@ -159,6 +167,60 @@ get_outfp (estream_t *fp) } +/* Set the status FD. */ +static void +set_status_fd (int fd) +{ + static int last_fd = -1; + + if (fd != -1 && last_fd == fd) + return; + + if (statusfp && statusfp != es_stdout && statusfp != es_stderr) + es_fclose (statusfp); + statusfp = NULL; + if (fd == -1) + return; + + if (fd == 1) + statusfp = es_stdout; + else if (fd == 2) + statusfp = es_stderr; + else + statusfp = es_fdopen (fd, "w"); + if (!statusfp) + { + log_fatal ("can't open fd %d for status output: %s\n", + fd, gpg_strerror (gpg_error_from_syserror ())); + } + last_fd = fd; +} + + +/* Write a status line with code NO followed by the output of the + * printf style FORMAT. The caller needs to make sure that LFs and + * CRs are not printed. */ +void +gpgconf_write_status (int no, const char *format, ...) +{ + va_list arg_ptr; + + if (!statusfp) + return; /* Not enabled. */ + + es_fputs ("[GNUPG:] ", statusfp); + es_fputs (get_status_string (no), statusfp); + if (format) + { + es_putc (' ', statusfp); + va_start (arg_ptr, format); + es_vfprintf (statusfp, format, arg_ptr); + va_end (arg_ptr); + } + es_putc ('\n', statusfp); +} + + static void list_dirs (estream_t fp, char **names) { @@ -493,6 +555,9 @@ main (int argc, char **argv) case oHomedir: gnupg_set_homedir (pargs.r.ret_str); break; case oBuilddir: gnupg_set_builddir (pargs.r.ret_str); break; case oNull: opt.null = 1; break; + case oStatusFD: + set_status_fd (translate_sys2libc_fd_int (pargs.r.ret_int, 1)); + break; case aListDirs: case aListComponents: @@ -518,7 +583,7 @@ main (int argc, char **argv) } if (log_get_errorcount (0)) - exit (2); + gpgconf_failure (GPG_ERR_USER_2); /* Print a warning if an argument looks like an option. */ if (!opt.quiet && !(pargs.flags & ARGPARSE_FLAG_STOP_SEEN)) @@ -554,7 +619,7 @@ main (int argc, char **argv) es_putc ('\n', es_stderr); es_fputs (_("Need one component argument"), es_stderr); es_putc ('\n', es_stderr); - exit (2); + gpgconf_failure (GPG_ERR_USER_2); } else { @@ -563,7 +628,7 @@ main (int argc, char **argv) { es_fputs (_("Component not found"), es_stderr); es_putc ('\n', es_stderr); - exit (1); + gpgconf_failure (0); } if (cmd == aCheckOptions) gc_component_check_options (idx, get_outfp (&outfp), NULL); @@ -571,7 +636,7 @@ main (int argc, char **argv) { gc_component_retrieve_options (idx); if (gc_process_gpgconf_conf (NULL, 1, 0, NULL)) - exit (1); + gpgconf_failure (0); if (cmd == aListOptions) gc_component_list_options (idx, get_outfp (&outfp)); else if (cmd == aChangeOptions) @@ -589,14 +654,14 @@ main (int argc, char **argv) es_putc ('\n', es_stderr); es_fputs (_("Need one component argument"), es_stderr); es_putc ('\n', es_stderr); - exit (2); + gpgconf_failure (GPG_ERR_USER_2); } else if (!strcmp (fname, "all")) { if (cmd == aLaunch) { if (gc_component_launch (-1)) - exit (1); + gpgconf_failure (0); } else { @@ -613,12 +678,12 @@ main (int argc, char **argv) { es_fputs (_("Component not found"), es_stderr); es_putc ('\n', es_stderr); - exit (1); + gpgconf_failure (0); } else if (cmd == aLaunch) { if (gc_component_launch (idx)) - exit (1); + gpgconf_failure (0); } else { @@ -646,7 +711,7 @@ main (int argc, char **argv) { es_fputs (_("Component not found"), es_stderr); es_putc ('\n', es_stderr); - exit (1); + gpgconf_failure (0); } else { @@ -657,12 +722,12 @@ main (int argc, char **argv) case aListConfig: if (gc_process_gpgconf_conf (fname, 0, 0, get_outfp (&outfp))) - exit (1); + gpgconf_failure (0); break; case aCheckConfig: if (gc_process_gpgconf_conf (fname, 0, 0, NULL)) - exit (1); + gpgconf_failure (0); break; case aApplyDefaults: @@ -672,17 +737,17 @@ main (int argc, char **argv) es_putc ('\n', es_stderr); es_fputs (_("No argument allowed"), es_stderr); es_putc ('\n', es_stderr); - exit (2); + gpgconf_failure (GPG_ERR_USER_2); } gc_component_retrieve_options (-1); if (gc_process_gpgconf_conf (NULL, 1, 1, NULL)) - exit (1); + gpgconf_failure (0); break; case aApplyProfile: gc_component_retrieve_options (-1); if (gc_apply_profile (fname)) - exit (1); + gpgconf_failure (0); break; case aListDirs: @@ -697,7 +762,7 @@ main (int argc, char **argv) { es_fprintf (es_stderr, "usage: %s --query-swdb NAME [VERSION]\n", GPGCONF_NAME); - exit (2); + gpgconf_failure (GPG_ERR_USER_2); } get_outfp (&outfp); query_swdb (outfp, fname, argc > 1? argv[1] : NULL); @@ -804,5 +869,22 @@ main (int argc, char **argv) if (es_fclose (outfp)) gc_error (1, errno, "error closing '%s'", opt.outfile); + + if (log_get_errorcount (0)) + gpgconf_failure (0); + else + gpgconf_write_status (STATUS_SUCCESS, NULL); return 0; } + + +void +gpgconf_failure (gpg_error_t err) +{ + if (!err) + err = gpg_error (GPG_ERR_GENERAL); + gpgconf_write_status + (STATUS_FAILURE, "- %u", + gpg_err_code (err) == GPG_ERR_USER_2? GPG_ERR_EINVAL : err); + exit (gpg_err_code (err) == GPG_ERR_USER_2? 2 : 1); +} diff --git a/tools/gpgconf.h b/tools/gpgconf.h index d6d7627..8a061ef 100644 --- a/tools/gpgconf.h +++ b/tools/gpgconf.h @@ -36,6 +36,10 @@ struct } opt; +/*-- gpgconf.c --*/ +void gpgconf_write_status (int no, const char *format, + ...) GPGRT_ATTR_PRINTF(2,3); +void gpgconf_failure (gpg_error_t err) GPGRT_ATTR_NORETURN; /*-- gpgconf-comp.c --*/ ----------------------------------------------------------------------- Summary of changes: doc/tools.texi | 8 ++++ tools/applygnupgdefaults | 2 +- tools/gpgconf-comp.c | 29 +++++++++++- tools/gpgconf.c | 112 ++++++++++++++++++++++++++++++++++++++++------- tools/gpgconf.h | 4 ++ 5 files changed, 137 insertions(+), 18 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 12:44:11 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 19 Dec 2017 12:44:11 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-36-gfaecaf8 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via faecaf80f0b5f0dd50d4ff20a8ba3bd6a592fe1f (commit) via 3a48455b0baec6e516e16370a63b1175af89e7af (commit) from 482e000b8a7e336f342a7fac3b7379257e944b6e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit faecaf80f0b5f0dd50d4ff20a8ba3bd6a592fe1f Author: Werner Koch Date: Tue Dec 19 12:39:25 2017 +0100 po: Auto-update -- Mainly due to removed translations in debug messages. diff --git a/po/ca.po b/po/ca.po index 4d9ce66..a65380c 100644 --- a/po/ca.po +++ b/po/ca.po @@ -496,10 +496,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "AV?S: els permissos s?n insegurs en %s ?%s?\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "ha fallat l'actualitzaci?: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "s'est? escrivint la clau secreta a ?%s?\n" @@ -9154,6 +9150,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "ha fallat l'actualitzaci?: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "clau %08lX: l'algoritme de clau p?blica no ?s suportat\n" diff --git a/po/cs.po b/po/cs.po index 24d54c7..0a59a33 100644 --- a/po/cs.po +++ b/po/cs.po @@ -471,10 +471,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "Varov?n?: p??stupov? pr?va %s ?%s? nejsou bezpe?n?\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "vol?n? listen() selhalo: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "naslouch? se na socketu ?%s?\n" @@ -8710,6 +8706,9 @@ msgstr "" "Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n" "Prov??? heslo zadan? na vstupu proti souboru se vzory\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "vol?n? listen() selhalo: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "neuzurpovat si kl?vesnici a my?" diff --git a/po/da.po b/po/da.po index abc1257..e30e3b6 100644 --- a/po/da.po +++ b/po/da.po @@ -505,10 +505,6 @@ msgstr "fejl ved binding af sokkel til ?%s?: %s\n" msgid "can't set permissions of '%s': %s\n" msgstr "Advarsel: usikre rettigheder p? %s ?%s?\n" -#, c-format -msgid "listen() failed: %s\n" -msgstr "listen() mislykkedes: %s\n" - #, fuzzy, c-format #| msgid "listening on socket `%s'\n" msgid "listening on socket '%s'\n" @@ -9213,6 +9209,9 @@ msgstr "" "Syntaks: gpg-check-pattern [tilvalg] m?nsterfil\n" "Kontroller en adgangsfrase angivet p? stdin mod m?nsterfilen\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() mislykkedes: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "fang ikke tastatur og mus" diff --git a/po/de.po b/po/de.po index 5408650..4351d32 100644 --- a/po/de.po +++ b/po/de.po @@ -453,10 +453,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "Zugriffsrechte f?r '%s' k?nnen nicht gesetzt werden: %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "Es wird auf Socket `%s' geh?rt\n" @@ -8759,6 +8755,9 @@ msgstr "" "Syntax: gpg-check-pattern [optionen] Musterdatei\n" "Die von stdin gelesene Passphrase gegen die Musterdatei pr?fen\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "Tastatur und Maus nicht \"grabben\"" diff --git a/po/el.po b/po/el.po index cc9439e..749b333 100644 --- a/po/el.po +++ b/po/el.po @@ -467,10 +467,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "?????????????: ?? ???????? ?????? ??? %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "? ????????? ???????: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "??????? ??? ???????? ???????? ??? `%s'\n" @@ -8980,6 +8976,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "? ????????? ???????: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "?????? %08lX: ?? ??????????????? ?????????? ???????? ????????\n" diff --git a/po/eo.po b/po/eo.po index 611b987..002e2dc 100644 --- a/po/eo.po +++ b/po/eo.po @@ -467,10 +467,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "aktualigo malsukcesis: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "skribas sekretan ?losilon al '%s'\n" @@ -8921,6 +8917,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "aktualigo malsukcesis: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "?losilo %08lX: nerealigita publik?losila metodo\n" diff --git a/po/es.po b/po/es.po index 76d3952..a631ced 100644 --- a/po/es.po +++ b/po/es.po @@ -521,10 +521,6 @@ msgstr "error enlazando el socket con `%s': %s\n" msgid "can't set permissions of '%s': %s\n" msgstr "Aviso: permisos inseguros en %s \"%s\"\n" -#, c-format -msgid "listen() failed: %s\n" -msgstr "listen() fall?: %s\n" - #, fuzzy, c-format #| msgid "listening on socket `%s'\n" msgid "listening on socket '%s'\n" @@ -9252,6 +9248,9 @@ msgstr "" "Compara frase contrase?a dada en entrada est?ndar con un fichero de " "patrones\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() fall?: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "no acaparar teclado y rat?n" diff --git a/po/et.po b/po/et.po index 66e905b..b6a12e4 100644 --- a/po/et.po +++ b/po/et.po @@ -464,10 +464,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "HOIATUS: ebaturvalised ?igused %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "uuendamine eba?nnestus: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "kirjutan salajase v?tme faili `%s'\n" @@ -8896,6 +8892,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "uuendamine eba?nnestus: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "v?ti %08lX: mittetoetatud avaliku v?tme algoritm\n" diff --git a/po/fi.po b/po/fi.po index 15f7ce7..96ed735 100644 --- a/po/fi.po +++ b/po/fi.po @@ -481,10 +481,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eiv?t ole turvallisia\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "p?ivitys ep?onnistui: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n" @@ -8958,6 +8954,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "p?ivitys ep?onnistui: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "avain %08lX: julkisen avaimen algoritmia ei tueta\n" diff --git a/po/fr.po b/po/fr.po index fa1e87f..30f61bb 100644 --- a/po/fr.po +++ b/po/fr.po @@ -468,10 +468,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "Avertissement?: les droits de %s ne sont pas s?rs ??%s??\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "?chec de listen()?: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "?coute sur la socket ??%s??\n" @@ -8935,6 +8931,9 @@ msgstr "" "V?rifier une phrase secr?te donn?e sur l'entr?e standard par rapport ? " "ficmotif\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "?chec de listen()?: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "ne pas capturer le clavier et la souris" diff --git a/po/gl.po b/po/gl.po index 3b18702..ac878c6 100644 --- a/po/gl.po +++ b/po/gl.po @@ -468,10 +468,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "AVISO: permisos inseguros en %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "a actualizaci?n fallou: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "gravando a chave secreta en `%s'\n" @@ -8987,6 +8983,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "a actualizaci?n fallou: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "chave %08lX: algoritmo de chave p?blica non soportado\n" diff --git a/po/hu.po b/po/hu.po index f18609d..4afd8ef 100644 --- a/po/hu.po +++ b/po/hu.po @@ -464,10 +464,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "FIGYELEM: nem biztons?gos enged?lyek: %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "Friss?t?s sikertelen: %s.\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "?rom a titkos kulcsot a %s ?llom?nyba.\n" @@ -8926,6 +8922,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "Friss?t?s sikertelen: %s.\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "%08lX kulcs: Nem t?mogatott nyilv?nos kulcs? algoritmus!\n" diff --git a/po/id.po b/po/id.po index 635ed7d..e3f4b50 100644 --- a/po/id.po +++ b/po/id.po @@ -469,10 +469,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "gagal memperbarui: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "menulis kunci rahasia ke `%s'\n" @@ -8919,6 +8915,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "gagal memperbarui: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "kunci %08lX: algoritma publik key tidak didukung\n" diff --git a/po/it.po b/po/it.po index fc43244..1eb3a79 100644 --- a/po/it.po +++ b/po/it.po @@ -464,10 +464,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "ATTENZIONE: i permessi \"%s\" di %s sono insicuri\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "aggiornamento fallito: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "scrittura della chiave segreta in `%s'\n" @@ -8960,6 +8956,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "aggiornamento fallito: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "chiave %08lX: algoritmo a chiave pubblica non gestito\n" diff --git a/po/ja.po b/po/ja.po index a3e8ab8..ac4ad78 100644 --- a/po/ja.po +++ b/po/ja.po @@ -434,10 +434,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "'%s'???????????: %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "listen() ???????: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "????'%s'?listen\n" @@ -1342,7 +1338,8 @@ msgstr "???????? (%u) " #, c-format msgid "The card will now be re-configured to generate a key of type: %s\n" -msgstr "???????????????????????????????????: %s\n" +msgstr "" +"???????????????????????????????????: %s\n" #, c-format msgid "rounded up to %u bits\n" @@ -8322,6 +8319,9 @@ msgstr "" "??: gpg-check-pattern [?????] ????????\n" "????????????????????????????\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() ???????: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "???????????????" diff --git a/po/nb.po b/po/nb.po index 8be6724..eea3fd7 100644 --- a/po/nb.po +++ b/po/nb.po @@ -438,10 +438,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "klarte ikke ? endre tillatelser til ?%s?: %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "listen() mislyktes: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "lytter p? sokkel ?%s?\n" @@ -8440,6 +8436,9 @@ msgstr "" "Syntaks: gpg-check-pattern [valg] m?nsterfil\n" "Kontroller passordfrase oppgitt p? standard innkanal mot valgt m?nsterfil\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() mislyktes: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "ikke bruk tastatur og mus" diff --git a/po/pl.po b/po/pl.po index ef392ac..74ade4f 100644 --- a/po/pl.po +++ b/po/pl.po @@ -494,10 +494,6 @@ msgstr "b??d podczas przypisywania gniazda do ,,%s'': %s\n" msgid "can't set permissions of '%s': %s\n" msgstr "Ostrze?enie: niebezpieczne prawa dost?pu do %s ,,%s''\n" -#, c-format -msgid "listen() failed: %s\n" -msgstr "listen() nie powiod?o si?: %s\n" - #, fuzzy, c-format #| msgid "listening on socket `%s'\n" msgid "listening on socket '%s'\n" @@ -9281,6 +9277,9 @@ msgstr "" "Sk?adnia: gpg-check-pattern [opcje] plik-wzorc?w\n" "Sprawdzanie has?a ze standardowego wej?cia wzgl?dem pliku wzorc?w\n" +#~ msgid "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" diff --git a/po/pt.po b/po/pt.po index 3caa5ca..dab31d8 100644 --- a/po/pt.po +++ b/po/pt.po @@ -469,10 +469,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "AVISO: permiss?es pouco seguras em %s \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "actualiza??o falhou: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "a escrever chave privada para `%s'\n" @@ -8928,6 +8924,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "actualiza??o falhou: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "chave %08lX: algoritmo de chave p?blica n?o suportado\n" diff --git a/po/ro.po b/po/ro.po index fc061dc..bf4daec 100644 --- a/po/ro.po +++ b/po/ro.po @@ -479,10 +479,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "AVERTISMENT: permisiuni nesigure (unsafe) pentru extensia `%s'\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "actualizarea a e?uat: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "scriu cheia secret? ?n `%s'\n" @@ -9003,6 +8999,10 @@ msgid "" "Check a passphrase given on stdin against the patternfile\n" msgstr "" +#, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "actualizarea a e?uat: %s\n" + #~ msgid "Error: URL too long (limit is %d characters).\n" #~ msgstr "Eroare: URL prea lung (limita este de %d caractere).\n" diff --git a/po/ru.po b/po/ru.po index a2d0383..4bc3f09 100644 --- a/po/ru.po +++ b/po/ru.po @@ -445,10 +445,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "?? ??????? ?????? ????? ??????? ??? '%s': %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "???? listen(): %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "??????? ????? '%s'\n" @@ -8583,6 +8579,9 @@ msgstr "" "?????????: gpg-check-pattern [?????????] ????_????????\n" "????????? ?????-??????, ??????????? ?? stdin, ?? ????? ????????\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "???? listen(): %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "?? ??????????? ?????????? ? ????" diff --git a/po/sk.po b/po/sk.po index 9c12396..cb0a41f 100644 --- a/po/sk.po +++ b/po/sk.po @@ -469,10 +469,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "VAROVANIE: pr?stupov? pr?va pre %s nie s? nastaven? bezpe?ne \"%s\"\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "aktualiz?cia zlyhala: %s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "zapisujem tajn? k??? do `%s'\n" @@ -8951,6 +8947,10 @@ msgid "" msgstr "" #, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "aktualiz?cia zlyhala: %s\n" + +#, fuzzy #~ msgid "" #~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" #~ msgstr "k??? %08lX: nepodporovan? algoritmus verejn?ho k???a\n" diff --git a/po/sv.po b/po/sv.po index 8d94c9a..d5da7ca 100644 --- a/po/sv.po +++ b/po/sv.po @@ -523,10 +523,6 @@ msgstr "fel n?r \"%s\" bands till uttag: %s\n" msgid "can't set permissions of '%s': %s\n" msgstr "Varning: os?kra r?ttigheter p? %s \"%s\"\n" -#, c-format -msgid "listen() failed: %s\n" -msgstr "listen() misslyckades: %s\n" - #, fuzzy, c-format #| msgid "listening on socket `%s'\n" msgid "listening on socket '%s'\n" @@ -9359,6 +9355,9 @@ msgstr "" "Syntax: gpg-check-pattern [flaggor] m?nsterfil\n" "Kontrollera en l?senfras angiven p? standard in mot m?nsterfilen\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() misslyckades: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "f?nga inte tangentbord och mus" diff --git a/po/tr.po b/po/tr.po index cc77eb9..f5e08eb 100644 --- a/po/tr.po +++ b/po/tr.po @@ -489,10 +489,6 @@ msgstr "soket `%s'e ba?lan?rken hata: %s\n" msgid "can't set permissions of '%s': %s\n" msgstr "UYARI: %s ?zerinde izinler g?vensiz: \"%s\"\n" -#, c-format -msgid "listen() failed: %s\n" -msgstr "soket dinleme ba?ar?s?z: %s\n" - #, fuzzy, c-format #| msgid "listening on socket `%s'\n" msgid "listening on socket '%s'\n" @@ -9265,6 +9261,9 @@ msgstr "" "Standart girdiden verilen anahtar parolas?n? ?r?nt? dosyas?yla " "kar??la?t?r?r\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "soket dinleme ba?ar?s?z: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "klavye ve fare gaspedilmez" diff --git a/po/uk.po b/po/uk.po index 9316d81..2881bb2 100644 --- a/po/uk.po +++ b/po/uk.po @@ -440,10 +440,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "?? ??????? ?????????? ????? ??????? ?? ?%s?: %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "??????? listen(): %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "?????????? ????? ?? ?????? ?%s?\n" @@ -8693,6 +8689,9 @@ msgstr "" "?????????: gpg-check-pattern [?????????] ????_????????\n" "?????????? ??????, ???????? ? stdin, ?? ????????? ?????_????????\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "??????? listen(): %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "?? ??????????? ????????? ??????????? ? ?????" diff --git a/po/zh_CN.po b/po/zh_CN.po index 4b3954c..9caeaef 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -477,10 +477,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "????????%s??????\n" #, fuzzy, c-format -msgid "listen() failed: %s\n" -msgstr "?????%s\n" - -#, fuzzy, c-format msgid "listening on socket '%s'\n" msgstr "???????`%s'\n" @@ -8826,6 +8822,10 @@ msgid "" "Check a passphrase given on stdin against the patternfile\n" msgstr "" +#, fuzzy +#~ msgid "listen() failed: %s\n" +#~ msgstr "?????%s\n" + #~ msgid "Error: URL too long (limit is %d characters).\n" #~ msgstr "???URL ??(?? %d ???)\n" diff --git a/po/zh_TW.po b/po/zh_TW.po index f997fa1..51b3798 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -447,10 +447,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "??: %s ??? \"%s\" ????\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "listen() ??: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "???? socket '%s'\n" @@ -8476,6 +8472,9 @@ msgstr "" "??: gpg-check-pattern [??] ????\n" "??????????????????\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "listen() ??: %s\n" + #~ msgid "do not grab keyboard and mouse" #~ msgstr "?????????" commit 3a48455b0baec6e516e16370a63b1175af89e7af Author: Werner Koch Date: Tue Dec 19 12:36:49 2017 +0100 po: Fix a string in de and nl. Mark a string in ro and sk fuzzy. -- These wrong translations are propably due to accidently removing a fuzzy mark. A German translation (gpgsm audit feature) was actually reversed. A Dutch translation has an unused ": %s" at the end. I am not 100% of the Romanian and Slovak strings, thus I marked them as fuzzy. GnuPG-bug-id: 3619 Signed-off-by: Werner Koch diff --git a/po/de.po b/po/de.po index e974ddc..5408650 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg-2.1.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2017-11-02 17:36+0100\n" +"PO-Revision-Date: 2017-12-19 12:28+0100\n" "Last-Translator: Werner Koch \n" "Language-Team: German \n" "Language: de\n" @@ -955,7 +955,7 @@ msgid "Data decryption succeeded" msgstr "Entschl?sselung der Daten erfolgreich" msgid "Encryption algorithm supported" -msgstr "Verschl?sselungsverfahren %d%s wird nicht unterst?tzt" +msgstr "Verschl?sselungsverfahren wird unterst?tzt" msgid "Data verification succeeded" msgstr "Pr?fung der Signatur erfolgreich" diff --git a/po/nl.po b/po/nl.po index 6c447ec..f8a53e8 100644 --- a/po/nl.po +++ b/po/nl.po @@ -30,7 +30,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 2.0.28\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2015-06-07 16:56+0200\n" +"PO-Revision-Date: 2017-12-19 12:28+0100\n" "Last-Translator: Frans Spiesschaert \n" "Language-Team: Debian Dutch l10n Team \n" "Language: nl\n" @@ -6501,7 +6501,7 @@ msgid "keybox `%s' created\n" msgstr "sleuteldoosje `%s' is aangemaakt\n" msgid "failed to get the fingerprint\n" -msgstr "opvragen van de vingerafdruk is mislukt: %s\n" +msgstr "opvragen van de vingerafdruk is mislukt\n" #, c-format msgid "problem looking for existing certificate: %s\n" diff --git a/po/ro.po b/po/ro.po index 30a9924..fc061dc 100644 --- a/po/ro.po +++ b/po/ro.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 1.4.2rc1\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2005-05-31 22:00-0500\n" +"PO-Revision-Date: 2017-12-19 12:30+0100\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -3078,8 +3078,9 @@ msgstr "" msgid "User ID \"%s\" is revoked." msgstr "ID utilizator \"%s\" a fost revocat." +#, fuzzy msgid "Are you sure you still want to sign it? (y/N) " -msgstr "Sunte?i sigur(?) c? dori?i s? ?terge?i permanent \"%s\"? (d/N)" +msgstr "Sunte?i sigur(?) c? dori?i s? ?terge?i permanent? (d/N)" msgid " Unable to sign.\n" msgstr " Nu pot semna.\n" diff --git a/po/sk.po b/po/sk.po index 6880122..9c12396 100644 --- a/po/sk.po +++ b/po/sk.po @@ -4951,6 +4951,7 @@ msgstr "\"%s\" nie je s?bor JPEG\n" msgid "Is this photo correct (y/N/q)? " msgstr "Je t?to fotografia spr?vna (a/N/u)? " +#, fuzzy msgid "unable to display photo ID!\n" msgstr "nemo?no nastavi? exec-path na %s\n" ----------------------------------------------------------------------- Summary of changes: po/ca.po | 8 ++++---- po/cs.po | 7 +++---- po/da.po | 7 +++---- po/de.po | 11 +++++------ po/el.po | 8 ++++---- po/eo.po | 8 ++++---- po/es.po | 7 +++---- po/et.po | 8 ++++---- po/fi.po | 8 ++++---- po/fr.po | 7 +++---- po/gl.po | 8 ++++---- po/hu.po | 8 ++++---- po/id.po | 8 ++++---- po/it.po | 8 ++++---- po/ja.po | 10 +++++----- po/nb.po | 7 +++---- po/nl.po | 4 ++-- po/pl.po | 7 +++---- po/pt.po | 8 ++++---- po/ro.po | 13 +++++++------ po/ru.po | 7 +++---- po/sk.po | 9 +++++---- po/sv.po | 7 +++---- po/tr.po | 7 +++---- po/uk.po | 7 +++---- po/zh_CN.po | 8 ++++---- po/zh_TW.po | 7 +++---- 27 files changed, 101 insertions(+), 111 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 12:47:39 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 19 Dec 2017 12:47:39 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-0, updated. gnupg-2.0.30-33-g66f9dbb Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-0 has been updated via 66f9dbb1ea1805d54e49be559811f7509dbef39f (commit) from cdbb19e9e6afdd0dd251b2fb0965945ded45d51a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 66f9dbb1ea1805d54e49be559811f7509dbef39f Author: Werner Koch Date: Tue Dec 19 12:36:49 2017 +0100 po: Fix a string in de and nl. Mark a string in ro and sk fuzzy. -- These wrong translations are propably due to accidently removing a fuzzy mark. A German translation (gpgsm audit feature) was actually reversed. A Dutch translation has an unused ": %s" at the end. I am not 100% of the Romanian and Slovak strings, thus I marked them as fuzzy. GnuPG-bug-id: 3619 Signed-off-by: Werner Koch diff --git a/po/de.po b/po/de.po index 17821d4..9d8c33d 100644 --- a/po/de.po +++ b/po/de.po @@ -893,7 +893,7 @@ msgid "Data decryption succeeded" msgstr "Entschl??sselung der Daten erfolgreich" msgid "Encryption algorithm supported" -msgstr "Verschl??sselungsverfahren %d%s wird nicht unterst??tzt" +msgstr "Verschl??sselungsverfahren wird unterst??tzt" msgid "Data verification succeeded" msgstr "Pr??fung der Signatur erfolgreich" diff --git a/po/nl.po b/po/nl.po index e54e8c2..03fdaf1 100644 --- a/po/nl.po +++ b/po/nl.po @@ -30,7 +30,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 2.0.28\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2015-06-07 16:56+0200\n" +"PO-Revision-Date: 2017-12-19 12:28+0100\n" "Last-Translator: Frans Spiesschaert \n" "Language-Team: Debian Dutch l10n Team \n" "Language: nl\n" @@ -6501,7 +6501,7 @@ msgid "keybox `%s' created\n" msgstr "sleuteldoosje `%s' is aangemaakt\n" msgid "failed to get the fingerprint\n" -msgstr "opvragen van de vingerafdruk is mislukt: %s\n" +msgstr "opvragen van de vingerafdruk is mislukt\n" #, c-format msgid "problem looking for existing certificate: %s\n" diff --git a/po/ro.po b/po/ro.po index 77c663c..fb3fed7 100644 --- a/po/ro.po +++ b/po/ro.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 1.4.2rc1\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2005-05-31 22:00-0500\n" +"PO-Revision-Date: 2017-12-19 12:30+0100\n" "Last-Translator: Laurentiu Buzdugan \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -2720,6 +2720,7 @@ msgstr "" msgid "User ID \"%s\" is revoked." msgstr "ID utilizator \"%s\" a fost revocat." +#, fuzzy msgid "Are you sure you still want to sign it? (y/N) " msgstr "Sunte?i sigur(?) c? dori?i s? ?terge?i permanent \"%s\"? (d/N)" diff --git a/po/sk.po b/po/sk.po index ecd03b9..53f88e0 100644 --- a/po/sk.po +++ b/po/sk.po @@ -4604,6 +4604,7 @@ msgstr "\"%s\" nie je s msgid "Is this photo correct (y/N/q)? " msgstr "Je t?to fotografia spr?vna (a/N/u)? " +#, fuzzy msgid "unable to display photo ID!\n" msgstr "nemo?no nastavi? exec-path na %s\n" ----------------------------------------------------------------------- Summary of changes: po/de.po | 2 +- po/nl.po | 4 ++-- po/ro.po | 3 ++- po/sk.po | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 12:52:08 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 19 Dec 2017 12:52:08 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-1-4, updated. gnupg-1.4.22-13-g097c593 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-1-4 has been updated via 097c59315813b3568d1682bccd37e16411006d5b (commit) from 1338bce5f66a95b53f18c4b54f0e9ac79604500a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 097c59315813b3568d1682bccd37e16411006d5b Author: Werner Koch Date: Tue Dec 19 12:47:23 2017 +0100 po: Fix a fr string. Mark a string fuzzy in ro and sk. -- The French string has an extra %s which would result in garbage output or segv. I am not sure about the sk andro and thus better mark them as fuzzy. GnuPG-bug-id: 3619 Signed-off-by: Werner Koch diff --git a/po/fr.po b/po/fr.po index a664e59..67a369c 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnupg 1.4.19\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2014-09-06 15:56-0400\n" +"PO-Revision-Date: 2017-12-19 12:44+0100\n" "Last-Translator: David Pr??vot \n" "Language-Team: French \n" "Language: fr\n" @@ -408,7 +408,7 @@ msgid "Error: Combined name too long (limit is %d characters).\n" msgstr "Erreur??: nom combin?? trop long (limit?? ?? %d??caract??res).\n" msgid "URL to retrieve public key: " -msgstr "URL pour r??cup??rer la clef publique??: %s" +msgstr "URL pour r??cup??rer la clef publique??: " #, c-format msgid "Error: URL too long (limit is %d characters).\n" diff --git a/po/ro.po b/po/ro.po index 9e02f26..3ebcf35 100644 --- a/po/ro.po +++ b/po/ro.po @@ -2315,6 +2315,7 @@ msgstr "" msgid "User ID \"%s\" is revoked." msgstr "ID utilizator \"%s\" a fost revocat." +#, fuzzy msgid "Are you sure you still want to sign it? (y/N) " msgstr "Sunte??i sigur(??) c?? dori??i s?? ??terge??i permanent \"%s\"? (d/N)" diff --git a/po/sk.po b/po/sk.po index 7820c9c..40d3027 100644 --- a/po/sk.po +++ b/po/sk.po @@ -4190,6 +4190,7 @@ msgstr "Je t msgid "no photo viewer set\n" msgstr "" +#, fuzzy msgid "unable to display photo ID!\n" msgstr "nemo?no nastavi? exec-path na %s\n" ----------------------------------------------------------------------- Summary of changes: po/fr.po | 4 ++-- po/ro.po | 1 + po/sk.po | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 17:46:59 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Tue, 19 Dec 2017 17:46:59 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-37-g7449063 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 7449063b1af2eef73d621a69cdb2fb713ab1ae6c (commit) from faecaf80f0b5f0dd50d4ff20a8ba3bd6a592fe1f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7449063b1af2eef73d621a69cdb2fb713ab1ae6c Author: Werner Koch Date: Tue Dec 19 17:42:10 2017 +0100 wks: New server options --check, --with-dir, with-file. * tools/gpg-wks-server.c (aCheck, oWithDir, oWithFile): New const. (opts): New options --check, --with-dir, and --with-file. (main): Call command_check_key. (command_list_domains): Implement option --with-dir. (fname_from_userid): New. (command_check_key): New. (command_remove_key): Implement existsing command. (command_revoke_key): Call command_remove_key as a simple implementation. Signed-off-by: Werner Koch diff --git a/doc/wks.texi b/doc/wks.texi index 029dbf0..7f7d515 100644 --- a/doc/wks.texi +++ b/doc/wks.texi @@ -174,18 +174,23 @@ Display a brief help page and exit. .br .B gpg-wks-server .RI [ options ] +.B \-\-check-key +.I user-id +.br +.B gpg-wks-server +.RI [ options ] .B \-\-install-key .I file .br .B gpg-wks-server .RI [ options ] .B \-\-remove-key -.I mailaddr +.I user-id .br .B gpg-wks-server .RI [ options ] .B \-\-revoke-key -.I mailaddr +.I user-id @end ifset @mansect description @@ -208,8 +213,22 @@ The command @option{--list-domains} prints all configured domains. Further it creates missing directories for the configuration and prints warnings pertaining to problems in the configuration. -The commands @option{--install-key}, @option{--remove-key}, and - at option{--revoke-key} are not yet functional. +The command @option{--check-key} (or just @option{--check}) checks +whether a key with the given user-id is installed. The process return +success in this case; to also print a diagnostic, use option + at option{-v}. If the key is not installed a diagnostics is printed and +the process returns failure; to suppress the diagnostic, use option + at option{-q}. More than one user-id can be given; see also option + at option{with-file}. + +The command @option{--remove-key} uninstalls a key from the WKD. The +process return success in this case; to also print a diagnostic, use +option @option{-v}. If the key is not installed a diagnostics is +printed and the process returns failure; to suppress the diagnostic, +use option @option{-q}. + +The commands @option{--install-key} and @option{--revoke-key} are not +yet functional. @mansect options @@ -237,6 +256,16 @@ Requires installation of that command. Write the created mail also to @var{file}. Note that the value @code{-} for @var{file} would write it to stdout. + at item --with-dir + at opindex with-dir +Also print the directory name for each domain listed by command + at option{--list-domains}. + + at item --with-file + at opindex with-file +With command @option{--check-key} print for each user-id, the address, +'i' for installed key or 'n' for not installed key, and the filename. + @item --verbose @opindex verbose Enable extra informational output. diff --git a/tools/gpg-wks-server.c b/tools/gpg-wks-server.c index 7e3f050..0b1d642 100644 --- a/tools/gpg-wks-server.c +++ b/tools/gpg-wks-server.c @@ -66,11 +66,14 @@ enum cmd_and_opt_values aInstallKey, aRevokeKey, aRemoveKey, + aCheck, oGpgProgram, oSend, oFrom, oHeader, + oWithDir, + oWithFile, oDummy }; @@ -86,12 +89,15 @@ static ARGPARSE_OPTS opts[] = { ("run regular jobs")), ARGPARSE_c (aListDomains, "list-domains", ("list configured domains")), + ARGPARSE_c (aCheck, "check", + ("check whether a key is installed")), + ARGPARSE_c (aCheck, "check-key", "@"), ARGPARSE_c (aInstallKey, "install-key", - "|FILE|install a key from FILE into the WKD"), + "install a key from FILE into the WKD"), ARGPARSE_c (aRemoveKey, "remove-key", - "|ADDR|remove the key ADDR from the WKD"), + "remove a key from the WKD"), ARGPARSE_c (aRevokeKey, "revoke-key", - "|ADDR|mark the key ADDR in the WKD as revoked"), + "mark a key as revoked"), ARGPARSE_group (301, ("@\nOptions:\n ")), @@ -104,6 +110,8 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_s (oFrom, "from", "|ADDR|use ADDR as the default sender"), ARGPARSE_s_s (oHeader, "header" , "|NAME=VALUE|add \"NAME: VALUE\" as header to all mails"), + ARGPARSE_s_n (oWithDir, "with-dir", "@"), + ARGPARSE_s_n (oWithFile, "with-file", "@"), ARGPARSE_end () }; @@ -132,6 +140,13 @@ struct server_ctx_s }; typedef struct server_ctx_s *server_ctx_t; + +/* Flag for --with-dir. */ +static int opt_with_dir; +/* Flag for --with-file. */ +static int opt_with_file; + + /* Prototypes. */ static gpg_error_t get_domain_list (strlist_t *r_list); @@ -142,6 +157,7 @@ static gpg_error_t command_list_domains (void); static gpg_error_t command_install_key (const char *fname); static gpg_error_t command_remove_key (const char *mailaddr); static gpg_error_t command_revoke_key (const char *mailaddr); +static gpg_error_t command_check_key (const char *mailaddr); static gpg_error_t command_cron (void); @@ -220,10 +236,17 @@ parse_arguments (ARGPARSE_ARGS *pargs, ARGPARSE_OPTS *popts) case oOutput: opt.output = pargs->r.ret_str; break; + case oWithDir: + opt_with_dir = 1; + break; + case oWithFile: + opt_with_file = 1; + break; case aReceive: case aCron: case aListDomains: + case aCheck: case aInstallKey: case aRemoveKey: case aRevokeKey: @@ -243,7 +266,7 @@ parse_arguments (ARGPARSE_ARGS *pargs, ARGPARSE_OPTS *popts) int main (int argc, char **argv) { - gpg_error_t err; + gpg_error_t err, firsterr; ARGPARSE_ARGS pargs; enum cmd_and_opt_values cmd; @@ -360,16 +383,29 @@ main (int argc, char **argv) case aRemoveKey: if (argc != 1) - wrong_args ("--remove-key MAILADDR"); + wrong_args ("--remove-key USER-ID"); err = command_remove_key (*argv); break; case aRevokeKey: if (argc != 1) - wrong_args ("--revoke-key MAILADDR"); + wrong_args ("--revoke-key USER-ID"); err = command_revoke_key (*argv); break; + case aCheck: + if (!argc) + wrong_args ("--check USER-IDs"); + firsterr = 0; + for (; argc; argc--, argv++) + { + err = command_check_key (*argv); + if (!firsterr) + firsterr = err; + } + err = firsterr; + break; + default: usage (1); err = gpg_error (GPG_ERR_BUG); @@ -1776,7 +1812,11 @@ command_list_domains (void) domain = strrchr (sl->d, '/'); log_assert (domain); domain++; - es_printf ("%s\n", domain); + if (opt_with_dir) + es_printf ("%s %s\n", domain, sl->d); + else + es_printf ("%s\n", domain); + /* Check that the required directories are there. */ for (i=0; i < DIM (requireddirs); i++) @@ -1900,12 +1940,140 @@ command_install_key (const char *fname) } -/* Remove the key with mail address MAILADDR. */ +/* Return the filename and optioanlly the addrspec for USERID at + * R_FNAME and R_ADDRSPEC. R_ADDRSPEC might also be set on error. */ static gpg_error_t -command_remove_key (const char *mailaddr) +fname_from_userid (const char *userid, char **r_fname, char **r_addrspec) { - (void)mailaddr; - return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + gpg_error_t err; + char *addrspec = NULL; + const char *domain; + char *hash = NULL; + const char *s; + char shaxbuf[32]; /* Used for SHA-1 and SHA-256 */ + + *r_fname = NULL; + if (r_addrspec) + *r_addrspec = NULL; + + addrspec = mailbox_from_userid (userid); + if (!addrspec) + { + if (opt.verbose) + log_info ("\"%s\" is not a proper mail address\n", userid); + err = gpg_error (GPG_ERR_INV_USER_ID); + goto leave; + } + + domain = strchr (addrspec, '@'); + log_assert (domain); + domain++; + + /* Hash user ID and create filename. */ + s = strchr (addrspec, '@'); + log_assert (s); + gcry_md_hash_buffer (GCRY_MD_SHA1, shaxbuf, addrspec, s - addrspec); + hash = zb32_encode (shaxbuf, 8*20); + if (!hash) + { + err = gpg_error_from_syserror (); + goto leave; + } + + *r_fname = make_filename_try (opt.directory, domain, "hu", hash, NULL); + if (!*r_fname) + err = gpg_error_from_syserror (); + else + err = 0; + + leave: + if (r_addrspec && addrspec) + *r_addrspec = addrspec; + else + xfree (addrspec); + xfree (hash); + return err; +} + + +/* Check whether the key with USER_ID is installed. */ +static gpg_error_t +command_check_key (const char *userid) +{ + gpg_error_t err; + char *addrspec = NULL; + char *fname = NULL; + + err = fname_from_userid (userid, &fname, &addrspec); + if (err) + goto leave; + + if (access (fname, R_OK)) + { + err = gpg_error_from_syserror (); + if (opt_with_file) + es_printf ("%s n %s\n", addrspec, fname); + if (gpg_err_code (err) == GPG_ERR_ENOENT) + { + if (!opt.quiet) + log_info ("key for '%s' is NOT installed\n", addrspec); + log_inc_errorcount (); + err = 0; + } + else + log_error ("error stating '%s': %s\n", fname, gpg_strerror (err)); + goto leave; + } + + if (opt_with_file) + es_printf ("%s i %s\n", addrspec, fname); + + if (opt.verbose) + log_info ("key for '%s' is installed\n", addrspec); + err = 0; + + leave: + xfree (fname); + xfree (addrspec); + return err; +} + + +/* Remove the key with mail address in USERID. */ +static gpg_error_t +command_remove_key (const char *userid) +{ + gpg_error_t err; + char *addrspec = NULL; + char *fname = NULL; + + err = fname_from_userid (userid, &fname, &addrspec); + if (err) + goto leave; + + if (gnupg_remove (fname)) + { + err = gpg_error_from_syserror (); + if (gpg_err_code (err) == GPG_ERR_ENOENT) + { + if (!opt.quiet) + log_info ("key for '%s' is not installed\n", addrspec); + log_inc_errorcount (); + err = 0; + } + else + log_error ("error removing '%s': %s\n", fname, gpg_strerror (err)); + goto leave; + } + + if (opt.verbose) + log_info ("key for '%s' removed\n", addrspec); + err = 0; + + leave: + xfree (fname); + xfree (addrspec); + return err; } @@ -1913,6 +2081,7 @@ command_remove_key (const char *mailaddr) static gpg_error_t command_revoke_key (const char *mailaddr) { - (void)mailaddr; - return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + /* Remove should be different from removing but we have not yet + * defined a suitable way to do this. */ + return command_remove_key (mailaddr); } ----------------------------------------------------------------------- Summary of changes: doc/wks.texi | 37 +++++++++- tools/gpg-wks-server.c | 195 +++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 215 insertions(+), 17 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 19:51:18 2017 From: cvs at cvs.gnupg.org (by Ineiev) Date: Tue, 19 Dec 2017 19:51:18 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-38-gc7b8ec6 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via c7b8ec6c8e57797f0b77dbf7fca85fb600323328 (commit) from 7449063b1af2eef73d621a69cdb2fb713ab1ae6c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c7b8ec6c8e57797f0b77dbf7fca85fb600323328 Author: Ineiev Date: Wed Dec 13 13:40:02 2017 +0000 po: Update Russian translation diff --git a/po/ru.po b/po/ru.po index 4bc3f09..793bb0b 100644 --- a/po/ru.po +++ b/po/ru.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: GnuPG 2.2.0\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2017-11-02 17:41+0100\n" +"PO-Revision-Date: 2017-12-13 17:41+0100\n" "Last-Translator: Ineiev \n" "Language-Team: Russian \n" "Language: ru\n" @@ -1345,10 +1345,9 @@ msgstr "????? ??? ????? ?????? ????? ??? ?????? msgid "What keysize do you want for the Authentication key? (%u) " msgstr "????? ??? ????? ?????? ????? ??? ????????????? ????????? (%u) " -#, 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 "?????? ????? ????? ????????????? ?? ????????? ????? ?????? %u ???\n" +msgstr "?????? ????? ????? ????????????? ?? ????????? ????? ???? %s\n" #, c-format msgid "rounded up to %u bits\n" ----------------------------------------------------------------------- Summary of changes: po/ru.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Tue Dec 19 19:55:39 2017 From: cvs at cvs.gnupg.org (by Petr Pisar) Date: Tue, 19 Dec 2017 19:55:39 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-39-g43aaf60 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 43aaf60449036e870cc25b77fbb7312cf3fb534c (commit) from c7b8ec6c8e57797f0b77dbf7fca85fb600323328 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 43aaf60449036e870cc25b77fbb7312cf3fb534c Author: Petr Pisar Date: Tue Dec 19 19:50:30 2017 +0100 po: Update Czech translation Signed-off-by: Werner Koch diff --git a/po/cs.po b/po/cs.po index 0a59a33..cbf02cd 100644 --- a/po/cs.po +++ b/po/cs.po @@ -3,7 +3,8 @@ # 2005 Free Software Foundation, Inc. # Magda Proch?zkov? 2001, # Roman Pavlik 2001, 2002, 2003, 2004, 2005. -# Petr Pisar , 2009, 2010, 2011, 2013, 2014, 2015. +# Petr Pisar , 2009, 2010, 2011, 2013, 2014, 2015, 2016. +# Petr Pisar , 2017. # # A "%%0A" is used by Pinentry to insert a line break. The double percent # sign is actually needed because it is also a printf format string. If you @@ -24,6 +25,7 @@ # z?kon o?elektronick?m podpisu, : # kvalifikovan? certifik?t/podpis # +# administrator ? spr?vce # cache ? ke? # distribution point ? m?sto distribuce # DP (distribution point (of CRL)) ? DP @@ -33,9 +35,9 @@ # msgid "" msgstr "" -"Project-Id-Version: gnupg2 2.1.10\n" +"Project-Id-Version: gnupg2 2.2.1\n" "Report-Msgid-Bugs-To: translations at gnupg.org\n" -"PO-Revision-Date: 2017-11-02 17:38+0100\n" +"PO-Revision-Date: 2017-11-17 10:33+01:00\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -174,10 +176,9 @@ msgstr "na kart? nen? autentiza?n? kl?? pro SSH: %s\n" msgid "no suitable card key found: %s\n" msgstr "nenalezen ??dn? vhodn? kl?? karty: %s\n" -#, fuzzy, c-format -#| msgid "error getting stored flags: %s\n" +#, c-format msgid "error getting list of cards: %s\n" -msgstr "chyba p?i z?sk?n? ulo?en?ch p??znak?: %s\n" +msgstr "chyba p?i z?sk?v?n? seznamu karet: %s\n" #, c-format msgid "" @@ -329,10 +330,8 @@ msgstr "pob??? v?re?imu d?mona (na pozad?)" msgid "run in server mode (foreground)" msgstr "pob??? v?re?imu serveru (na pop?ed?)" -#, fuzzy -#| msgid "run in server mode" msgid "run in supervised mode" -msgstr "pracovat v?re?imu serveru" +msgstr "pob??? v?re?imu dohledu" msgid "verbose" msgstr "upov?dan? re?im" @@ -388,10 +387,8 @@ msgstr "nedovolit klient?m ozna?ovat kl??e za ?d?v?ryhodn??" msgid "allow presetting passphrase" msgstr "umo?nit p?ednastaven? hesla" -#, fuzzy -#| msgid "allow caller to override the pinentry" msgid "disallow caller to override the pinentry" -msgstr "umo?nit volaj?c?mu p?eb?t pinentry" +msgstr "zmemo?nit volaj?c?mu p?eb?t pinentry" msgid "allow passphrase to be prompted through Emacs" msgstr "umo?nit zad?n? hesla skrze Emacs" @@ -400,7 +397,7 @@ msgid "enable ssh support" msgstr "zapnout podporu pro OpenSSH" msgid "|ALGO|use ALGO to show ssh fingerprints" -msgstr "" +msgstr "|ALGORITMUS|ukazovat otkisky SSH?pomoc? ALGORITMU" msgid "enable putty support" msgstr "zapnout podporu pro PuTTY" @@ -464,11 +461,13 @@ msgstr "chyba p?i z?sk?v?n? soli pro socket\n" msgid "error binding socket to '%s': %s\n" msgstr "chyba p?i p?ilepov?n? socketu na ?%s?: %s\n" -# TODO: i18n of first %s -#, fuzzy, c-format -#| msgid "Warning: unsafe permissions on %s \"%s\"\n" +#, c-format msgid "can't set permissions of '%s': %s\n" -msgstr "Varov?n?: p??stupov? pr?va %s ?%s? nejsou bezpe?n?\n" +msgstr "p??stupov? pr?va ?%s? nelze nastavit: %s\n" + +#, c-format +msgid "listen() failed: %s\n" +msgstr "vol?n? listen() selhalo: %s\n" #, c-format msgid "listening on socket '%s'\n" @@ -752,10 +751,9 @@ msgstr "chyba v b?hu ?%s?: n?vratov? k?d %d\n" msgid "error running '%s': terminated\n" msgstr "chyba v?b?hu ?%s?: n?siln? ukon?eno\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 "?ek?n? na konec procesu %d se nezda?ilo: %s\n" +msgstr "?ek?n? na ukon?en? procesu se nezda?ilo: %s\n" #, c-format msgid "error getting exit code of process %d: %s\n" @@ -782,10 +780,9 @@ msgstr "Varov?n?: vlastnictv? %s ?%s? nen? nastaveno bezpe?n?\n" msgid "Warning: unsafe permissions on %s \"%s\"\n" msgstr "Varov?n?: p??stupov? pr?va %s ?%s? nejsou bezpe?n?\n" -#, fuzzy, c-format -#| msgid "waiting for the agent to come up ... (%ds)\n" +#, c-format msgid "waiting for file '%s' to become accessible ...\n" -msgstr "?ek? se na agenta? (%d?s)\n" +msgstr "?ek?n?, a? se soubor ?%s? stane p??stupn?m?\n" #, c-format msgid "renaming '%s' to '%s' failed: %s\n" @@ -1186,10 +1183,10 @@ msgstr "" "neplatn? znak (quoted-printable) v ASCII k?dov?n??? pravd?podobn? byl pou?it " "?patn? MTA\n" -#, fuzzy, c-format -#| msgid "not human readable" +# TODO: Pluralize +#, c-format msgid "[ not human readable (%zu bytes: %s%s) ]" -msgstr "nen? v p??mo ?iteln?m form?tu" +msgstr "[ ne?iteln? pro lidi (%zu bajt?: %s%s) ]" msgid "" "a notation name must have only printable characters or spaces, and end with " @@ -1207,19 +1204,11 @@ msgstr "jm?no u?ivatele nesm? obsahovat v?ce ne? jeden znak ?@?\n" msgid "a notation value must not use any control characters\n" msgstr "hodnota nem??e obsahovat ??dn? kontroln? znaky\n" -#, fuzzy -#| msgid "a notation name must not contain more than one '@' character\n" msgid "a notation name may not contain an '=' character\n" -msgstr "jm?no u?ivatele nesm? obsahovat v?ce ne? jeden znak ?@?\n" +msgstr "jm?no u?ivatele nesm? obsahovat znak ?=?\n" -#, fuzzy -#| msgid "" -#| "a notation name must have only printable characters or spaces, and end " -#| "with an '='\n" msgid "a notation name must have only printable characters or spaces\n" -msgstr "" -"symbolick? jm?no sm? obsahovat pouze p?smena, ??slice, te?ky nebo podtr??tka " -"a mus? kon?it znakem ?=?\n" +msgstr "jm?no u?ivatele mus? obsahovat pouze tisknuteln? znaky nebo mezery\n" msgid "WARNING: invalid notation data found\n" msgstr "VAROV?N?: nalezen neplatn? form?t z?pisu data\n" @@ -1231,32 +1220,29 @@ msgstr "p?ed?n? dotazu %s klientovi se nezda?ilo\n" msgid "Enter passphrase: " msgstr "Vlo?te heslo: " -#, fuzzy, c-format -#| msgid "error creating keyring '%s': %s\n" +#, c-format msgid "error getting version from '%s': %s\n" -msgstr "chyba p?i vytv??en? souboru kl??? (keyring) ?%s?: %s\n" +msgstr "chyba p?i z?sk?v?n? verze z??%s?: %s\n" #, c-format msgid "server '%s' is older than us (%s < %s)" -msgstr "" +msgstr "server ?%s? je star?? ne? my (%s < %s)" -#, fuzzy, c-format -#| msgid "WARNING: " +#, c-format msgid "WARNING: %s\n" -msgstr "VAROV?N?: " +msgstr "VAROV?N?: %s\n" msgid "Note: Outdated servers may lack important security fixes.\n" msgstr "" +"Pozn?mka: Zastaral? servery mohou postr?dat d?le?it? bezpe?nostn? opravy.\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 "Pros?m, nejd??ve pou?ijte p??kaz ?toggle? (p?epnout).\n" +msgstr "Pozn?mka: Restartovat je m??ete p??kazem ?%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 dosud nen? funk?n? s %s\n" +msgstr "%s nen? v?souladu s?re?imem %s\n" #, c-format msgid "OpenPGP card not available: %s\n" @@ -1267,7 +1253,7 @@ msgid "OpenPGP card no. %s detected\n" msgstr "Nalezena OpenPGP karta ??slo %s\n" msgid "can't do this in batch mode\n" -msgstr "nelze prov?st v d?vkov?m m?du\n" +msgstr "nelze prov?st v d?vkov?m re?imu\n" msgid "This command is only available for version 2 cards\n" msgstr "Tento p??kaz je dostupn? pouze pro karty verze 2\n" @@ -1279,7 +1265,7 @@ msgid "Your selection? " msgstr "V?? v?b?r? " msgid "[not set]" -msgstr "[nen? nastaven]" +msgstr "[nen? nastaveno]" msgid "male" msgstr "mu?" @@ -1389,11 +1375,6 @@ msgstr "Jakou d?lku kl??e pro ?ifrov?n? si p?ejete? (%u) " msgid "What keysize do you want for the Authentication key? (%u) " msgstr "Jakou d?lku kl??e pro autentizaci si p?ejete? (%u) " -#, fuzzy, c-format -#| msgid "The card will now be re-configured to generate a key of %u bits\n" -msgid "The card will now be re-configured to generate a key of type: %s\n" -msgstr "Karta bude nyn? p?enastavena na generov?n? kl??e dlouh?ho %u bit?\n" - #, c-format msgid "rounded up to %u bits\n" msgstr "zaokrouhleno na %u bit?\n" @@ -1426,7 +1407,7 @@ msgid "" "You should change them using the command --change-pin\n" msgstr "" "Pros?m nezapome?te, ?e tov?rn? nastaven? PIN? je\n" -" PIN = ?%s? PIN administr?tora = ?%s?\n" +" PIN = ?%s? PIN spr?vce = ?%s?\n" "M?li byste je zm?nit p??kazem --change-pin\n" msgid "Please select the type of key to generate:\n" @@ -1445,7 +1426,7 @@ msgid "Invalid selection.\n" msgstr "Neplatn? v?b?r.\n" msgid "Please select where to store the key:\n" -msgstr "Pros?m vyberte m?sto pro uchov?n? kl??e:\n" +msgstr "Pros?m vyberte, kam ulo?it kl??:\n" #, c-format msgid "KEYTOCARD failed: %s\n" @@ -1468,7 +1449,7 @@ msgid "quit this menu" msgstr "ukon?it toto menu" msgid "show admin commands" -msgstr "zobraz administr?torsk? p??kazy" +msgstr "zobraz p??kazy spr?vce" msgid "show this help" msgstr "uk?zat tuto pomoc" @@ -1519,13 +1500,13 @@ msgid "gpg/card> " msgstr "gpg/karta> " msgid "Admin-only command\n" -msgstr "pouze administr?torsk? p??kazy\n" +msgstr "pouze p??kazy spr?vce\n" msgid "Admin commands are allowed\n" -msgstr "administr?torsk? p??kazy jsou povoleny\n" +msgstr "p??kazy spr?vce jsou povoleny\n" msgid "Admin commands are not allowed\n" -msgstr "administr?torsk? p??kazy nejsou povoleny\n" +msgstr "p??kazy spr?vce nejsou povoleny\n" msgid "Invalid command (try \"help\")\n" msgstr "Neplatn? p??kaz (zkuste ?help?)\n" @@ -1553,7 +1534,7 @@ msgid "(unless you specify the key by fingerprint)\n" msgstr "(dokud neur??te kl?? jeho otiskem)\n" msgid "can't do this in batch mode without \"--yes\"\n" -msgstr "bez parametru ?--yes? to nemohu v d?vkov?m m?du prov?st\n" +msgstr "bez parametru ?--yes? to nelze v d?vkov?m re?imu prov?st\n" msgid "Delete this key from the keyring? (y/N) " msgstr "Smazat tento kl?? ze souboru kl???? (a/N) " @@ -1594,7 +1575,7 @@ msgid "error creating passphrase: %s\n" msgstr "chyba p?i vytv??en? hesla: %s\n" msgid "can't use a symmetric ESK packet due to the S2K mode\n" -msgstr "v m?du S2K nelze pou??t symetrick? ESK paket\n" +msgstr "v re?imu S2K nelze pou??t symetrick? ESK paket\n" #, c-format msgid "using cipher %s\n" @@ -1618,15 +1599,13 @@ msgid "" msgstr "" "VAROV?N?: vy??dan? symetrick? ?ifra %s (%d) nevyhovuje p?edvolb?m p??jemce\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 "pou?it? ?ifrovac?ho algoritmu ?%s? v m?du %s nen? dovoleno\n" +msgstr "?ifrovac? algoritmus ?%s? se nesm? pou??vat v?re?imu %s\n" -#, fuzzy, c-format -#| msgid "WARNING: \"%s%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 "VAROV?N?: ?%s%s? je zastaral? parametr?? ne??inkuje\n" +msgstr "VAROV?N?: kl?? %s nen? vhodn? pro ?ifrov?n? v?re?imu %s\n" #, c-format msgid "" @@ -1644,10 +1623,9 @@ msgstr "vy??dan? symetrick? ?ifra %s (%d) nevyhovuje p?edvolb?m p??jemc msgid "%s/%s encrypted for: \"%s\"\n" msgstr "%s/%s za?ifrovan? pro: ?%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 "pou?it? %s nen? v m?du %s dovoleno\n" +msgstr "volba ?%s? se nesm? pou??vat v?re?imu %s\n" #, c-format msgid "%s encrypted data\n" @@ -1724,7 +1702,7 @@ msgid "remove as much as possible from key during export" msgstr "odstranit p?i exportu z?kl??e v?e, co lze" msgid "use the GnuPG key backup format" -msgstr "" +msgstr "pou??t z?lo?n? form?t kl??e GnuPG" msgid " - skipped" msgstr "?? p?esko?eno" @@ -1759,24 +1737,17 @@ msgstr "[ID u?ivatele nenalezeno]" msgid "(check argument of option '%s')\n" msgstr "(zkontrolujte argument volby ?%s?)\n" -#, fuzzy, c-format -#| msgid "" -#| "Warning: value '%s' for option '%s' should be a long key ID or a " -#| "fingerprint\n" +#, c-format msgid "Warning: '%s' should be a long key ID or a fingerprint\n" -msgstr "" -"Pozor: hodnota ?%s? volby ?%s? by m?la b?t\n" -"dlouh? identifik?tor kl??e nebo jeho otisk\n" +msgstr "Pozor: ?%s? by m?l b?t dlouh? identifik?tor kl??e nebo jeho otisk\n" -#, fuzzy, c-format -#| msgid "error closing %s: %s\n" +#, c-format msgid "error looking up: %s\n" -msgstr "chyba p?i zav?r?n? chyba %s: %s\n" +msgstr "chyba p?i vyhled?v?n?: %s\n" -#, fuzzy, c-format -#| msgid "error searching the keyring: %s\n" +#, c-format msgid "Warning: %s appears in the keyring %d times\n" -msgstr "chyba p?i prohled?v?n? souboru kl??? (keyring): %s\n" +msgstr "Pozor: %s se nach?z? v?souboru kl??? (keyring) %dkr?t\n" #, c-format msgid "automatically retrieved '%s' via %s\n" @@ -1793,19 +1764,17 @@ msgstr "Chyb? otisk" msgid "secret key \"%s\" not found: %s\n" msgstr "tajn? kl?? ?%s? nenalezen: %s\n" -#, fuzzy, c-format -#| msgid "using \"%s\" as default secret key\n" +#, c-format msgid "Warning: not using '%s' as default key: %s\n" -msgstr "jako v?choz? tajn? kl?? se pou?ije ?%s?\n" +msgstr "Pozor: jako v?choz? kl?? se nepou?ije ?%s?: %s\n" -#, fuzzy, c-format -#| msgid "using \"%s\" as default secret key\n" +#, c-format msgid "using \"%s\" as default secret key for signing\n" -msgstr "jako v?choz? tajn? kl?? se pou?ije ?%s?\n" +msgstr "jako v?choz? tajn? kl?? pro podepisov?n? se pou?ije ?%s?\n" #, c-format msgid "all values passed to '%s' ignored\n" -msgstr "" +msgstr "v?echny hodnoty p?ed?ny ?%s? se ignoruj?\n" # c-format #, c-format @@ -1816,10 +1785,9 @@ msgstr "Neplatn? kl?? %s zm?n?n na platn? pomoc? --always-non-selfsigned- msgid "using subkey %s instead of primary key %s\n" msgstr "pou??v?m podkl?? %s m?sto prim?rn?ho kl??e %s\n" -#, fuzzy, c-format -#| msgid "invalid argument for option \"%.50s\"\n" +#, c-format msgid "valid values for option '%s':\n" -msgstr "neplatn? argument u?volby ?%.50s?\n" +msgstr "platn? hodnoty pro volbu ?%s?:\n" msgid "make a signature" msgstr "vytvo?it podpis" @@ -1866,15 +1834,11 @@ msgstr "rychle vytvo?it nov? p?r kl???" msgid "quickly add a new user-id" msgstr "rychle p?idat novou identitu u?ivatele" -#, fuzzy -#| msgid "quickly add a new user-id" msgid "quickly revoke a user-id" -msgstr "rychle p?idat novou identitu u?ivatele" +msgstr "rychle odvolat identitu u?ivatele" -#, fuzzy -#| msgid "quickly generate a new key pair" msgid "quickly set a new expiration date" -msgstr "rychle vytvo?it nov? p?r kl???" +msgstr "rychle nastavit nov? datum konce platnosti" msgid "full featured key pair generation" msgstr "komplexn? vytvo?en? p?ru kl???" @@ -1942,15 +1906,11 @@ msgstr "vypsat hash zpr?vy" msgid "run in server mode" msgstr "pracovat v?re?imu serveru" -#, fuzzy -#| msgid "|VALUE|set the TOFU policy for a key (good, unknown, bad, ask, auto)" msgid "|VALUE|set the TOFU policy for a key" -msgstr "" -"|HODNOTA|nastavit TOFU politiku kl??i (good [dobr?], unknown [nezn?m?], bad " -"[?patn?], ask [zeptat se], auto)" +msgstr "|HODNOTA|nastavit TOFU politiku kl??i" msgid "create ascii armored output" -msgstr "vytvo? v?stup zak?dovan? pomoc? ASCII" +msgstr "vytvo?it v?stup zapsan? v?ASCII" msgid "|USER-ID|encrypt for USER-ID" msgstr "|ID_U?IVATELE|?ifrovat pro ID_U?IVATELE" @@ -1962,7 +1922,7 @@ msgid "|N|set compress level to N (0 disables)" msgstr "|N|nastavit ?rove? komprese na N (0?? ??dn?)" msgid "use canonical text mode" -msgstr "pou??t kanonick? textov? m?d" +msgstr "pou??t kanonick? textov? re?im" msgid "|FILE|write output to FILE" msgstr "|SOUBOR|zapsat v?stup do SOUBORU" @@ -1981,18 +1941,8 @@ msgid "" "(See the man page for a complete listing of all commands and options)\n" msgstr "" "@\n" -"(Pro kompletn? seznam v?ech p??kaz? a mo?nost? pou?ijte manu?lov? str?nky.)\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" +"(Pro ?pln? seznam v?ech p??kaz? a voleb nahl?dn?te do manu?lov? str?nky.)\n" + msgid "" "@\n" "Examples:\n" @@ -2004,11 +1954,13 @@ msgid "" " --fingerprint [names] show fingerprints\n" msgstr "" "@\n" +"P??klady:\n" +"\n" " -se -r Bob [soubor] podepsat a za?ifrovat pro u?ivatele Bob\n" -" --clear-sign [soubor] vytvo?it podpis ?iteln?ho dokumentu\n" +" --clearsign [soubor] vytvo?it podpis ?iteln?ho dokumentu\n" " --detach-sign [soubor] vytvo?it podpis odd?len? od dokumentu\n" -" --list-keys [jm?na] vypsat kl??e\n" -" --fingerprint [jm?na] vypsat otisky\n" +" --list-keys [jm?na] uk?zat kl??e\n" +" --fingerprint [jm?na] uk?zat otisky\n" msgid "Usage: @GPG@ [options] [files] (-h for help)" msgstr "Pou?it?: @GPG@ [mo?nosti] [soubory] (-h pro n?pov?du)" @@ -2178,10 +2130,9 @@ msgstr "Pozn?mka: %s nen? pro norm?ln? pou?it?!\n" msgid "'%s' is not a valid signature expiration\n" msgstr "?%s? nen? platn? doba expirace 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 "??dek %d: neplatn? e-mailov? adresa\n" +msgstr "?%s? nen? spr?vn? e-mailov? adresa\n" #, c-format msgid "invalid pinentry mode '%s'\n" @@ -2208,10 +2159,9 @@ msgstr "%s:%d: neplatn? parametr pro import\n" msgid "invalid import options\n" msgstr "neplatn? parametr pro import\n" -#, fuzzy, c-format -#| msgid "invalid list options\n" +#, c-format msgid "invalid filter option: %s\n" -msgstr "neplatn? parametr pro v?pis\n" +msgstr "neplatn? volba filtru: %s\n" #, c-format msgid "%s:%d: invalid export options\n" @@ -2329,10 +2279,10 @@ msgstr "" "nebo 3\n" msgid "Note: simple S2K mode (0) is strongly discouraged\n" -msgstr "Pozn?mka: jednoduch? m?d S2K (0) je d?razn? nedoporu?ov?n\n" +msgstr "Pozn?mka: jednoduch? re?im S2K (0) je d?razn? nedoporu?ov?n\n" msgid "invalid S2K mode; must be 0, 1 or 3\n" -msgstr "neplatn? m?d S2K; mus? b?t 0, 1 nebo 3\n" +msgstr "neplatn? re?im S2K; mus? b?t 0, 1 nebo 3\n" msgid "invalid default preferences\n" msgstr "neplatn? implicitn? p?edvolby\n" @@ -2350,15 +2300,13 @@ msgstr "neplatn? u?ivatelsk? p?edvolby pro komprimaci\n" msgid "%s does not yet work with %s\n" msgstr "%s dosud nen? funk?n? s %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 "pou?it? hashovac?ho algoritmu ?%s? v m?du %s nen? dovoleno\n" +msgstr "hashovac? algoritmus ?%s? se nesm? pou??vat v?re?imu %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 "pou?it? kompresn?ho algoritmu ?%s? v m?du %s nen? dovoleno\n" +msgstr "kompresn? algoritmus ?%s? se nesm? pou??vat v?re?imu %s\n" #, c-format msgid "failed to initialize the TrustDB: %s\n" @@ -2375,18 +2323,16 @@ msgstr "symetrick? ?ifrov?n? ?%s? se nepovedlo: %s\n" msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n" msgstr "nelze pou??t --symmetric --encrypt s p??kazem --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 "nelze pou??t --symmetric --encrypt v m?du %s\n" +msgstr "nelze pou??t --symmetric --encrypt v re?imu %s\n" msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n" msgstr "nelze pou??t --symmetric --sign --encrypt s p??kazem --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 "nelze pou??t --symmetric --sign --encrypt v m?du %s\n" +msgstr "nelze pou??t --symmetric --sign --encrypt v?re?imu %s\n" #, c-format msgid "keyserver send failed: %s\n" @@ -2400,10 +2346,9 @@ msgstr "z?sk?n? dat z serveru kl??? se nezda?ilo: %s\n" msgid "key export failed: %s\n" msgstr "export kl??e se nepoda?il: %s\n" -#, fuzzy, c-format -#| msgid "key export failed: %s\n" +#, c-format msgid "export as ssh key failed: %s\n" -msgstr "export kl??e se nepoda?il: %s\n" +msgstr "export jako SSH kl?? se nepoda?il: %s\n" #, c-format msgid "keyserver search failed: %s\n" @@ -2434,7 +2379,7 @@ msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n" msgstr "?%s? nevypad? jako platn? ID kl??e, otisk kl??e nebo keygrip\n" msgid "WARNING: no command supplied. Trying to guess what you mean ...\n" -msgstr "" +msgstr "POZOR:?nezad?n ??dn? p??kaz. V?? z?m?r bude odhadnut?\n" msgid "Go ahead and type your message ...\n" msgstr "Za?n?te ps?t svou zpr?vu?\n" @@ -2458,7 +2403,7 @@ msgid "|FD|write status info to this FD" msgstr "|FD|zapsat informace o stavu do tohoto FD" msgid "|ALGO|reject signatures made with ALGO" -msgstr "" +msgstr "|ALGORITMUS|zam?tnout podpisy zalo?en? na ALGORITMU" msgid "Usage: gpgv [options] [files] (-h for help)" msgstr "Pou?it?: gpg [volby] [soubory] (-h pro pomoc)" @@ -2489,10 +2434,8 @@ msgstr "nemazat ?daje o?d?v??e b?hem importu" msgid "do not update the trustdb after import" msgstr "neaktualizovat datab?zi d?v?ry po importu" -#, fuzzy -#| msgid "show key fingerprint" msgid "show key during import" -msgstr "vypsat otisk kl??e" +msgstr "p?i importu uk?zat kl??" msgid "only accept updates to existing keys" msgstr "p?ij?mat aktualizace pouze u?existuj?c?ch kl???" @@ -2504,17 +2447,13 @@ msgid "remove as much as possible from key after import" msgstr "odstranit po importu z?kl??e v?e, co lze" msgid "run import filters and export key immediately" -msgstr "" +msgstr "spustit importn? filtry a exportovat kl?? okam?it?" -#, fuzzy -#| msgid "assume input is in binary format" msgid "assume the GnuPG key backup format" -msgstr "p?edpokl?dat vstup v?bin?rn?m form?tu" +msgstr "p?edpokl?dat vstup ve form?tu z?lohy kl??? GnuPG" -#, fuzzy -#| msgid "show key fingerprint" msgid "repair keys on import" -msgstr "vypsat otisk kl??e" +msgstr "p?i importu opravit kl??e" #, c-format msgid "skipping block of type %d\n" @@ -2671,6 +2610,14 @@ msgid "key %s: doesn't match our copy\n" msgstr "kl?? %s: neodpov?d? na?? kopii\n" #, c-format +msgid "key %s: can't locate original keyblock: %s\n" +msgstr "kl?? %s: nemohu naj?t origin?ln? blok kl??e: %s\n" + +#, c-format +msgid "key %s: can't read original keyblock: %s\n" +msgstr "kl?? %s: nemohu ??st origin?ln? blok kl??e: %s\n" + +#, c-format msgid "key %s: \"%s\" 1 new user ID\n" msgstr "kl?? %s: ?%s? 1 nov? identifik?tor u?ivatele\n" @@ -2756,14 +2703,6 @@ msgid "key %s: no public key - can't apply revocation certificate\n" msgstr "kl?? %s: chyb? ve?ejn? kl???? nemohu aplikovat revoka?n? certifik?t\n" #, c-format -msgid "key %s: can't locate original keyblock: %s\n" -msgstr "kl?? %s: nemohu naj?t origin?ln? blok kl??e: %s\n" - -#, c-format -msgid "key %s: can't read original keyblock: %s\n" -msgstr "kl?? %s: nemohu ??st origin?ln? blok kl??e: %s\n" - -#, c-format msgid "key %s: invalid revocation certificate: %s - rejected\n" msgstr "kl?? %s: neplatn? revoka?n? certifik?t: %s?? zam?tnuto\n" @@ -2806,15 +2745,15 @@ msgstr "kl?? %s: smaz?na v?cen?sobn? vazba podkl??e\n" #, c-format msgid "key %s: no subkey for key revocation\n" -msgstr "kl?? %s: neexistuje podkl?? pro revokaci kl??e\n" +msgstr "kl?? %s: neexistuje podkl?? pro odvol?n? kl??e\n" #, c-format msgid "key %s: invalid subkey revocation\n" -msgstr "kl?? %s: neplatn? revoka?n? podkl??\n" +msgstr "kl?? %s: neplatn? odvolac? podkl??\n" #, c-format msgid "key %s: removed multiple subkey revocation\n" -msgstr "kl?? %s: smaz?na v?cen?sobn? revokace podkl??e\n" +msgstr "kl?? %s: v?cen?sobn? odvol?n? podkl??e smaz?no\n" #, c-format msgid "key %s: skipped user ID \"%s\"\n" @@ -2850,12 +2789,11 @@ msgstr "kl?? %s: objeven duplikovan? identifik?tor u?ivatele - slou?en\n" #, c-format msgid "WARNING: key %s may be revoked: fetching revocation key %s\n" -msgstr "" -"VAROV?N?: kl?? %s m??e b?t revokov?n: zkou??m z?skat revoka?n? kl?? %s\n" +msgstr "VAROV?N?: kl?? %s m??e b?t odvol?n: zkou??m z?skat revoka?n? kl?? %s\n" #, c-format msgid "WARNING: key %s may be revoked: revocation key %s not present.\n" -msgstr "VAROV?N?: kl?? %s m??e b?t revokov?n: revoka?n? kl?? %s nenalezen.\n" +msgstr "VAROV?N?: kl?? %s m??e b?t odvol?n: revoka?n? kl?? %s nenalezen.\n" #, c-format msgid "key %s: \"%s\" revocation certificate added\n" @@ -2894,7 +2832,7 @@ msgid "failed to rebuild keyring cache: %s\n" msgstr "selhalo obnoven? vyrovn?vac? pam?ti kl???: %s\n" msgid "[revocation]" -msgstr "[revokace]" +msgstr "[odvol?n?]" msgid "[self-signature]" msgstr "[podpis kl??e j?m sam?m]" @@ -2938,7 +2876,7 @@ msgstr "P?eskakuje se ID u?ivatele ?%s?, co? nen? textov? ID.\n" #, c-format msgid "User ID \"%s\" is revoked." -msgstr "U?ivatelsk? ID ?%s? je revokov?no." +msgstr "U?ivatelsk? ID ?%s? je odvol?no." msgid "Are you sure you still want to sign it? (y/N) " msgstr "Jste si jist?(?), ?e st?le chcete podepsat tento kl??? (a/N) " @@ -3215,11 +3153,6 @@ msgstr "sm?stnat nepou?iteln? ID u?ivatel? a odstranit z?kl??e v?echny msgid "Secret key is available.\n" msgstr "Tajn? kl?? je dostupn?.\n" -#, fuzzy -#| msgid "Secret key is available.\n" -msgid "Secret subkeys are available.\n" -msgstr "Tajn? kl?? je dostupn?.\n" - msgid "Need the secret key to do this.\n" msgstr "Pro proveden? t?to operace je pot?eba tajn? kl??.\n" @@ -3234,7 +3167,7 @@ msgstr "" " podpis (nrsign) nebo libovolnou jejich kombinac? (ltsign, tnrsign, atd.).\n" msgid "Key is revoked." -msgstr "Kl?? revokov?n." +msgstr "Kl?? je odvol?n." msgid "Really sign all user IDs? (y/N) " msgstr "Opravdu podepsat v?echny id u?ivatele? (a/N) " @@ -3251,7 +3184,7 @@ msgstr "Nezn?m? typ podpisu ?%s?\n" #, c-format msgid "This command is not allowed while in %s mode.\n" -msgstr "Tento p??kaz nen? v m?d? %s dovolen?.\n" +msgstr "Tento p??kaz nen? v re?imu %s dovolen.\n" msgid "You must select at least one user ID.\n" msgstr "Mus?te vybrat alespo? jeden id u?ivatele.\n" @@ -3298,19 +3231,19 @@ msgid "Do you really want to delete this key? (y/N) " msgstr "Opravdu chcete smazat tento kl??? (a/N) " msgid "Really revoke all selected user IDs? (y/N) " -msgstr "Opravdu revokovat v?echny vybran? id u?ivatele? (a/N) " +msgstr "Opravdu odvolat v?echna vybran? ID u?ivatele? (a/N) " msgid "Really revoke this user ID? (y/N) " -msgstr "Opravdu revokovat tento id u?ivatele? (a/N) " +msgstr "Opravdu odvolat toto ID u?ivatele? (a/N) " msgid "Do you really want to revoke the entire key? (y/N) " -msgstr "Opravdu chcete revokovat cel? kl??? (a/N) " +msgstr "Opravdu chcete odvolat cel? kl??? (a/N) " msgid "Do you really want to revoke the selected subkeys? (y/N) " -msgstr "Opravdu chcete revokovat vybran? podkl??e? (a/N) " +msgstr "Opravdu chcete odvolat vybran? podkl??e? (a/N) " msgid "Do you really want to revoke this subkey? (y/N) " -msgstr "Opravdu chcete revokovat tento podkl??? (a/N) " +msgstr "Opravdu chcete odvolat tento podkl??? (a/N) " msgid "Owner trust may not be set while using a user provided trust database\n" msgstr "" @@ -3339,20 +3272,16 @@ msgstr "aktualizace selhala: %s\n" msgid "Key not changed so no update needed.\n" msgstr "Kl?? nebyl zm?n?n, tak?e nen? pot?eba jej aktualizovat.\n" -#, fuzzy -#| msgid "You can't delete the last user ID!\n" msgid "cannot revoke the last valid user ID.\n" -msgstr "Nem??ete smazat posledn? id u?ivatele!\n" +msgstr "posledn? platn? ID u?ivatele nelze odvolat.\n" -#, fuzzy, c-format -#| msgid "checking the trust list failed: %s\n" +#, c-format msgid "revoking the user ID failed: %s\n" -msgstr "kontrola seznamu d?v?ry se nepoda?ila: %s\n" +msgstr "odvol?n? ID u?ivatele se nepoda?ilo: %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 "kontrola seznamu d?v?ry se nepoda?ila: %s\n" +msgstr "nastaven? prim?rn?ho ID?u?ivatele se nepoda?ilo: %s\n" #, c-format msgid "\"%s\" is not a fingerprint\n" @@ -3362,10 +3291,9 @@ msgstr "?%s? nen? otisk\n" msgid "\"%s\" is not the primary fingerprint\n" msgstr "?%s? nen? prim?rn? otisk\n" -#, fuzzy, c-format -#| msgid "read error in '%s': %s\n" +#, c-format msgid "Invalid user ID '%s': %s\n" -msgstr "chyba p?i ?ten? v ?%s?: %s\n" +msgstr "Neplatn? ID?u?ivatele ?%s?: %s\n" msgid "No matching user IDs." msgstr "??dn? identifik?tor u?ivatele neodpov?d?." @@ -3373,20 +3301,17 @@ msgstr "??dn? identifik?tor u?ivatele neodpov?d?." msgid "Nothing to sign.\n" msgstr "Nic na podeps?n?.\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? nen? platn? doba expirace podpisu\n" +msgstr "?%s? nen? platn? doba expirace\n" -#, fuzzy, c-format -#| msgid "\"%s\" is not a fingerprint\n" +#, c-format msgid "\"%s\" is not a proper fingerprint\n" -msgstr "?%s? nen? otisk\n" +msgstr "?%s? nen? ??dn? otisk\n" -#, fuzzy, c-format -#| msgid "key \"%s\" not found\n" +#, c-format msgid "subkey \"%s\" not found\n" -msgstr "kl?? ?%s? nenalezen\n" +msgstr "podkl?? ?%s? nenalezen\n" msgid "Digest: " msgstr "Hash: " @@ -3408,11 +3333,11 @@ msgstr "U?ivatelsk? ID form?tu PGP 2.x nem? ??dn? p?edvolby\n" #, c-format msgid "The following key was revoked on %s by %s key %s\n" -msgstr "V?%s byl n?sleduj?c? kl?? revokov?n %s kl??em %s\n" +msgstr "V?%s byl n?sleduj?c? kl?? odvol?n %s kl??em %s\n" #, c-format msgid "This key may be revoked by %s key %s" -msgstr "Tento kl?? m??e b?t revokov?n %s kl??em %s " +msgstr "Tento kl?? m??e b?t odvol?n %s kl??em %s " msgid "(sensitive)" msgstr "(citliv? informace)" @@ -3423,7 +3348,7 @@ msgstr "vytvo?en: %s" #, c-format msgid "revoked: %s" -msgstr "revokov?n: %s" +msgstr "odvol?n: %s" #, c-format msgid "expired: %s" @@ -3507,13 +3432,12 @@ msgstr "Smazat tento nezn?m? podpis? (a/N/u)" msgid "Really delete this self-signature? (y/N)" msgstr "Opravdu smazat tento podpis podepsan? sebou sam?m? (a/N)" -#, fuzzy, c-format -#| msgid "Deleted %d signature.\n" +#, c-format msgid "Deleted %d signature.\n" msgid_plural "Deleted %d signatures.\n" msgstr[0] "Smaz?n %d podpis.\n" -msgstr[1] "Smaz?n %d podpis.\n" -msgstr[2] "Smaz?n %d podpis.\n" +msgstr[1] "Smaz?ny %d podpisy.\n" +msgstr[2] "Smaz?no %d podpis?.\n" msgid "Nothing deleted.\n" msgstr "Nic nebylo smaz?no.\n" @@ -3525,13 +3449,12 @@ msgstr "neplatn?" msgid "User ID \"%s\" compacted: %s\n" msgstr "U?ivatelsk? ID ?%s? sm?stn?no: %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] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" -msgstr[1] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" -msgstr[2] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" +msgstr[0] "U?ivatelsk? ID ?%s?: odstran?n %d podpis\n" +msgstr[1] "U?ivatelsk? ID ?%s?: odstran?ny %d podpisy\n" +msgstr[2] "U?ivatelsk? ID ?%s?: odstran?no %d podpis?\n" #, c-format msgid "User ID \"%s\": already minimized\n" @@ -3546,31 +3469,31 @@ msgid "" "cause\n" " some versions of PGP to reject this key.\n" msgstr "" -"VAROV?N?: Toto je PGP2 kl??. P?id?n? 'pov??en? revokace' m??e v n?kter?ch\n" +"VAROV?N?: Toto je PGP2 kl??. P?id?n? pov??e?ho odvolatele m??e v n?kter?ch\n" " verz?ch PGP v?st k odm?tnut? tohoto kl??e.\n" msgid "You may not add a designated revoker to a PGP 2.x-style key.\n" -msgstr "Nem?li by jste p?id?vat 'pov??en? revokace' k PGP2 kl??i.\n" +msgstr "K?PGP2 kl??i byste nem?li p?id?vat pov??en?ho odvolatele.\n" msgid "Enter the user ID of the designated revoker: " -msgstr "Vlo?te identifik?tor u?ivatele pov??en?ho revokac?: " +msgstr "Vlo?te identifik?tor pov??en?ho odvolatele: " msgid "cannot appoint a PGP 2.x style key as a designated revoker\n" -msgstr "kl?? form?tu PGP 2.x nelze pov??it revokac?\n" +msgstr "kl?? form?tu PGP 2.x nelze pov??it odvol?n?m\n" msgid "you cannot appoint a key as its own designated revoker\n" -msgstr "kl?? nelze pov??it revokac? j?m sam?m\n" +msgstr "kl?? nelze pov??it odvol?n?m sama sebe\n" msgid "this key has already been designated as a revoker\n" -msgstr "tento kl?? ji? byl pov??en revokac?\n" +msgstr "tento kl?? ji? byl ur?en jako odvolatel\n" msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n" msgstr "" -"VAROV?N?: ustanoven? kl??e ?pov??en?m odvolatelem? je nevratn? operace!\n" +"VAROV?N?: ustanoven? kl??e pov??en?m odvolatelem je nevratn? operace!\n" msgid "" "Are you sure you want to appoint this key as a designated revoker? (y/N) " -msgstr "Jste si jist?, ?e tento kl?? chcete pov??it revokac?? (a/N) " +msgstr "Jste si jist?, ?e tento kl?? chcete pov??it odvol?n?m? (a/N) " msgid "" "Are you sure you want to change the expiration time for multiple subkeys? (y/" @@ -3648,10 +3571,10 @@ msgid "This signature expired on %s.\n" msgstr "Platnost podpisu vypr?? %s.\n" msgid "Are you sure you still want to revoke it? (y/N) " -msgstr "Jste si jist?, ?e jej chcete st?le revokovat? (a/N) " +msgstr "Jste si jisti, ?e jej chcete st?le odvolat? (a/N) " msgid "Create a revocation certificate for this signature? (y/N) " -msgstr "Vytvo?it pro tento podpis revoka?n? certifik?t? (a/N)" +msgstr "Vytvo?it pro tento podpis odvolac? certifik?t? (a/N)" msgid "Not signed by you.\n" msgstr "Nepodeps?no v?mi.\n" @@ -3665,50 +3588,47 @@ msgstr " (neodvolateln?)" #, c-format msgid "revoked by your key %s on %s\n" -msgstr "revokov?no va??m kl??em %s v %s\n" +msgstr "odvol?no va??m kl??em %s v %s\n" msgid "You are about to revoke these signatures:\n" -msgstr "Chyst?te se revokovat tyto podpisy:\n" +msgstr "Chyst?te se odvolat tyto podpisy:\n" msgid "Really create the revocation certificates? (y/N) " -msgstr "Opravdu vytvo?it revoka?n? certifik?ty? (a/N) " +msgstr "Opravdu vytvo?it odvolac? certifik?ty? (a/N) " msgid "no secret key\n" msgstr "neexistuje tajn? kl??\n" #, c-format msgid "tried to revoke a non-user ID: %s\n" -msgstr "" +msgstr "pokud odvolat ID neu?ivatele: %s\n" #, c-format msgid "user ID \"%s\" is already revoked\n" -msgstr "u?ivatelsk? ID ?%s? je ji? revokov?no\n" +msgstr "u?ivatelsk? ID ?%s? je ji? odvol?no\n" #, c-format msgid "WARNING: a user ID signature is dated %d seconds in the future\n" msgstr "VAROV?N?: podpis ID u?ivatele je datov?n %d sekund v budoucnosti\n" -#, fuzzy -#| msgid "You can't delete the last user ID!\n" msgid "Cannot revoke the last valid user ID.\n" -msgstr "Nem??ete smazat posledn? id u?ivatele!\n" +msgstr "Posledn? platn? ID u?ivatele nelze odvolat.\n" #, c-format msgid "Key %s is already revoked.\n" -msgstr "Kl?? %s je ji? revokov?n.\n" +msgstr "Kl?? %s je ji? odvol?n.\n" #, c-format msgid "Subkey %s is already revoked.\n" -msgstr "Podkl?? %s je ji? revokov?n.\n" +msgstr "Podkl?? %s je ji? odvol?n.\n" #, c-format msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n" msgstr "Zobrazuji %s fotografick? ID o velikosti %ld pro kl?? %s (uid %d)\n" -#, fuzzy, c-format -#| msgid "invalid argument for option \"%.50s\"\n" +#, c-format msgid "invalid value for option '%s'\n" -msgstr "neplatn? argument u?volby ?%.50s?\n" +msgstr "neplatn? argument u?volby ?%s?\n" #, c-format msgid "preference '%s' duplicated\n" @@ -3916,7 +3836,7 @@ msgstr "" " y = doba platnosti podpisu skon?? za n let\n" msgid "Key is valid for? (0) " -msgstr "Kl?? je platn? pro? (0) " +msgstr "Kl?? je platn? po? (0) " #, c-format msgid "Signature is valid for? (%s) " @@ -4174,45 +4094,40 @@ msgstr "Kritick? podepisovac? notace: " msgid "Signature notation: " msgstr "Podepisovac? notace: " -#, fuzzy, c-format -#| msgid "%d good signatures\n" +#, c-format msgid "%d good signature\n" msgid_plural "%d good signatures\n" -msgstr[0] "%d dobr?ch podpis?\n" -msgstr[1] "%d dobr?ch podpis?\n" +msgstr[0] "%d dobr? podpis\n" +msgstr[1] "%d dobr? podpisy\n" msgstr[2] "%d dobr?ch podpis?\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 ?patn?ch podpis?\n" -msgstr[1] "%d ?patn?ch podpis?\n" +msgstr[0] "%d ?patn? podpis\n" +msgstr[1] "%d ?patn? podpisy\n" msgstr[2] "%d ?patn?ch podpis?\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 neov??en, proto?e chyb? kl??\n" -msgstr[1] "1 podpis neov??en, proto?e chyb? kl??\n" -msgstr[2] "1 podpis neov??en, proto?e chyb? kl??\n" +msgstr[0] "%d podpis neov??en, proto?e chyb? kl??\n" +msgstr[1] "%d podpisy neov??eny, proto?e chyb? kl??e\n" +msgstr[2] "%d podpis? neov??eno, proto?e chyb? kl??e\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 neov??en, proto?e vznikla chyba\n" -msgstr[1] "1 podpis neov??en, proto?e vznikla chyba\n" -msgstr[2] "1 podpis neov??en, proto?e vznikla chyba\n" +msgstr[0] "%d podpis neov??en, proto?e do?lo k?chyb?\n" +msgstr[1] "%d podpisy neov??eny, proto?e do?lo k?chyb?m\n" +msgstr[2] "%d podpis? neov??eno, proto?e do?lo k?chyb?m\n" -#, fuzzy, c-format -#| msgid "Warning: %lu key(s) skipped due to their large size\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] "Pozor: %lu kl??(?) p?esko?en(o) kv?li jejich p??li?n? velikosti\n" -msgstr[1] "Pozor: %lu kl??(?) p?esko?en(o) kv?li jejich p??li?n? velikosti\n" -msgstr[2] "Pozor: %lu kl??(?) p?esko?en(o) kv?li jejich p??li?n? velikosti\n" +msgstr[0] "Pozor: %lu kl?? p?esko?en kv?li jeho p??li?n? velikosti\n" +msgstr[1] "Pozor: %lu kl??e p?esko?eny kv?li jejich p??li?n? velikosti\n" +msgstr[2] "Pozor: %lu kl??? p?esko?eno kv?li jejich p??li?n? velikosti\n" msgid "Keyring" msgstr "Soubor kl??? (keyring)" @@ -4241,29 +4156,26 @@ msgstr " S?riov? ??slo karty =" msgid "caching keyring '%s'\n" msgstr "zapamatov?v? se soubor kl??? ?%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 kl??? ji? ulo?eno v ke?i (%lu podpis?)\n" -msgstr[1] "%lu kl??? ji? ulo?eno v ke?i (%lu podpis?)\n" +msgstr[0] "%lu kl??? ji? ulo?eno v ke?i (%lu podpis)\n" +msgstr[1] "%lu kl??? ji? ulo?eno v ke?i (%lu podpisy)\n" msgstr[2] "%lu kl??? ji? ulo?eno v ke?i (%lu podpis?)\n" -#, fuzzy, c-format -#| msgid "flush the cache" +#, c-format msgid "%lu key cached" msgid_plural "%lu keys cached" -msgstr[0] "vypr?zdn? ke?" -msgstr[1] "vypr?zdn? ke?" -msgstr[2] "vypr?zdn? ke?" +msgstr[0] "%lu kl?? ulo?en v?ke?i" +msgstr[1] "%lu kl??e ulo?eny v?ke?i" +msgstr[2] "%lu kl??? ulo?eno v?ke?i" -#, fuzzy, c-format -#| msgid "1 bad signature\n" +#, c-format msgid " (%lu signature)\n" msgid_plural " (%lu signatures)\n" -msgstr[0] "1 ?patn? podpis\n" -msgstr[1] "1 ?patn? podpis\n" -msgstr[2] "1 ?patn? podpis\n" +msgstr[0] " (%lu podpis)\n" +msgstr[1] " (%lu podpisy)\n" +msgstr[2] " (%lu podpis?)\n" #, c-format msgid "%s: keyring created\n" @@ -4304,13 +4216,12 @@ msgstr "neplatn? protokol serveru kl??? (na?e %d!=obsluha %d)\n" msgid "\"%s\" not a key ID: skipping\n" msgstr "?%s? nen? ID kl??e: p?esko?eno\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] "aktualizuji %d kl??? z %s\n" -msgstr[1] "aktualizuji %d kl??? z %s\n" -msgstr[2] "aktualizuji %d kl??? z %s\n" +msgstr[0] "aktualizuje se %d kl?? z %s\n" +msgstr[1] "aktualizuj? se %d kl??e z %s\n" +msgstr[2] "aktualizuje se %d kl??? z %s\n" #, c-format msgid "WARNING: unable to refresh key %s via %s: %s\n" @@ -4328,16 +4239,14 @@ msgstr "??dn? server kl??? nen? zn?m (pou?ijte volbu --keyserver)\n" #, c-format msgid "requesting key %s from %s server %s\n" -msgstr "po?aduji kl?? %s ze %s server %s\n" +msgstr "po?aduji kl?? %s z?%s serveru %s\n" #, c-format msgid "requesting key %s from %s\n" msgstr "po?aduji kl?? %s z %s\n" -#, fuzzy -#| msgid "no keyserver action!\n" msgid "no keyserver known\n" -msgstr "??dn? operace se serverem kl???!\n" +msgstr "nen? zn?m ??dn? server s?kl??i\n" #, c-format msgid "skipped \"%s\": %s\n" @@ -4472,10 +4381,9 @@ msgstr " pou?it? %s kl??e %s\n" msgid "Signature made %s using %s key ID %s\n" msgstr "Podpis vytvo?en %s pomoc? kl??e %s s ID u?ivatele %s\n" -#, fuzzy, c-format -#| msgid " aka \"%s\"" +#, c-format msgid " issuer \"%s\"\n" -msgstr " alias ?%s?" +msgstr " vydavatel ?%s?\n" msgid "Key available at: " msgstr "Kl?? k dispozici na: " @@ -4487,10 +4395,9 @@ msgstr "[nejist?]" 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 "VAROV?N?: Tento kl?? nen? certifikov?n d?v?ryhodn?m podpisem!\n" +msgstr "POZOR: Tento kl?? se nehod? na podepisov?n? v?re?imu %s\n" #, c-format msgid "Signature expired %s\n" @@ -4569,18 +4476,16 @@ msgstr "VAROV?N?: vy??dan? algoritmus %s nen? doporu?en\n" msgid "Note: signatures using the %s algorithm are rejected\n" msgstr "Pozn?mka: podpisy pou??vaj?c? algoritmus %s jsou zam?t?ny\n" -#, fuzzy, c-format -#| msgid "%s:%u: read error: %s\n" +#, c-format msgid "(reported error: %s)\n" -msgstr "%s:%u: chyba ?ten?: %s\n" +msgstr "(nahl??en? chyba: %s)\n" -#, fuzzy, c-format -#| msgid "read error in '%s': %s\n" +#, c-format msgid "(reported error: %s <%s>)\n" -msgstr "chyba p?i ?ten? v ?%s?: %s\n" +msgstr "(nahl??en? chyba: %s <%s>)\n" msgid "(further info: " -msgstr "" +msgstr "(podrobnosti: " #, c-format msgid "%s:%d: deprecated option \"%s\"\n" @@ -4847,25 +4752,18 @@ msgstr "Tento kl?? pravd?podobn? n?le?? uveden?mu u?ivateli\n" msgid "This key belongs to us\n" msgstr "Tento kl?? n?le?? n?m (m?me odpov?daj?c? tajn? kl??)\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 "ko?enov? certifik?t byl nyn? ozna?en za d?v?ryhodn?\n" +msgstr "%s: Tento kl?? je ?patn?! Byl ozna?en jako ned?v?ryhodn?!\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 "" -"NEN? jist?, zda tento kl?? pat?? osob?, jej?? jm?no je uvedeno\n" -"v u?ivatelsk?m ID. Pokud *skute?n?* v?te, co d?l?te, m??ete na\n" -"n?sleduj?c? ot?zku odpov?d?t ano\n" -"\n" +"Tento kl?? je ?patn?! Byl ozna?en jako ned?v?ryhodn?!\n" +"Pokud *skute?n?* v?te, co d?l?te, m??ete na\n" +"n?sleduj?c? ot?zku odpov?d?t ano.\n" msgid "" "It is NOT certain that the key belongs to the person named\n" @@ -4874,8 +4772,7 @@ msgid "" msgstr "" "NEN? jist?, zda tento kl?? pat?? osob?, jej?? jm?no je uvedeno\n" "v u?ivatelsk?m ID. Pokud *skute?n?* v?te, co d?l?te, m??ete na\n" -"n?sleduj?c? ot?zku odpov?d?t ano\n" -"\n" +"n?sleduj?c? ot?zku odpov?d?t ano.\n" msgid "Use this key anyway? (y/N) " msgstr "Pou??t p?esto tento kl??? (a/N) " @@ -4952,10 +4849,9 @@ msgstr "%s: p?esko?eno: ve?ejn? kl?? je neplatn? (disabled)\n" msgid "%s: skipped: public key already present\n" msgstr "%s: p?esko?eno: ve?ejn? kl?? je ji? obsa?en v datab?zi\n" -#, fuzzy, c-format -#| msgid "can't connect to '%s': %s\n" +#, c-format msgid "can't encrypt to '%s'\n" -msgstr "nelze se p?ipojit k??%s?: %s\n" +msgstr "nelze za?ifrovat pro??%s?\n" #, c-format msgid "option '%s' given, but no valid default keys given\n" @@ -4966,8 +4862,7 @@ msgid "option '%s' given, but option '%s' not given\n" msgstr "zad?na volba ?%s?, ale chyb? volba ?%s?\n" msgid "You did not specify a user ID. (you may use \"-r\")\n" -msgstr "" -"Nespecifikoval jste identifik?tor u?ivatele (user ID). M??ete pou??t \"-r\"\n" +msgstr "Nezadali jste identifik?tor u?ivatele (m??ete pou??t \"-r\")\n" msgid "Current recipients:\n" msgstr "Aktu?ln? p??jemci:\n" @@ -5030,17 +4925,16 @@ msgstr "nelze otev??t podepsan? data ?%s?\n" msgid "can't open signed data fd=%d: %s\n" msgstr "nelze otev??t podepsan? data na deskriptoru=%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 "certifik?t nen? pou?iteln? pro ?ifrov?n?\n" +msgstr "kl?? %s se nehod? na roz?ifrov?n? v?re?imu %s\n" #, c-format msgid "anonymous recipient; trying secret key %s ...\n" -msgstr "anonymn? adres?t; zkou??m tajn? kl?? %s?\n" +msgstr "anonymn? adres?t; zkus? se tajn? kl?? %s?\n" msgid "okay, we are the anonymous recipient.\n" -msgstr "o.k., my jsme anonymn? adres?t.\n" +msgstr "dobr?, my jsme anonymn? adres?t.\n" msgid "old encoding of the DEK is not supported\n" msgstr "star? k?dov?n? DEK nen? podporov?no\n" @@ -5102,13 +4996,10 @@ msgid "" "declare that a key shall not anymore be used. It is not possible\n" "to retract such a revocation certificate once it has been published." msgstr "" +"Odovolac? certifik?t je sv?m zp?soben ?bezpe?nostn? vyp?na??, kter?\n" +"ve?ejn? prohla?uje, ?e kl?? by se ji? nem?l pou??vat. Jednou zve?ejn?n?\n" +"odvolac? certifik?t ji? nelze vz?t zp?t." -#, fuzzy -#| msgid "" -#| "Use it to revoke this key in case of a compromise or loss of\n" -#| "the secret key. However, if the secret key is still accessible,\n" -#| "it is better to generate a new revocation certificate and give\n" -#| "a reason for the revocation." msgid "" "Use it to revoke this key in case of a compromise or loss of\n" "the secret key. However, if the secret key is still accessible,\n" @@ -5118,26 +5009,24 @@ msgid "" msgstr "" "Pou?ijte jej pro odvol?n? tohoto kl??e v?p??pad? zneu?it? nebo ztr?ty\n" "soukrom?ho kl??e. Av?ak bude-li soukrom? kl?? st?le p??stupn?, bude\n" -"lep?? vytvo?it nov? revoka?n? certifik?t s?vysv?tlen?m odvol?n?." +"lep?? vytvo?it nov? odvolac? certifik?t s?od?vodn?n?m odvol?n?.\n" +"Podrobnosti naleznete v?manu?lu?GnuPG u?popisu?p??kazu\n" +"?gpg --generate-revocation?." -#, fuzzy -#| 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 making use of this revocation certificate." 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 se zabr?nilo necht?n?mu pou?it? tohoto souboru, p?ed 5 poml?ek byla\n" -"vlo?ena dvojte?ka. P?ed pou?it?m tohoto revoka?n?ho certifik?tu odstra?te\n" -"tuto dvojte?ku textov?m editorem." +"Aby se zabr?nilo necht?n?mu pou?it? tohoto souboru, n??e p?ed 5 poml?ek " +"byla\n" +"vlo?ena dvojte?ka. P?ed importem a zve?ejn?n?m tohoto odvolac?ho " +"certifik?tu\n" +"odstra?te tuto dvojte?ku textov?m editorem." -#, fuzzy, c-format -#| msgid "Revocation certificate created.\n" +#, c-format msgid "revocation certificate stored as '%s.rev'\n" -msgstr "Revoka?n? certifik?t vytvo?en.\n" +msgstr "odvolac? certifik?t ulo?en jako ?%s.rev?\n" #, c-format msgid "secret key \"%s\" not found\n" @@ -5218,10 +5107,9 @@ msgstr "%s kl?? %s vy?aduje hash o?d?lce %zu nebo v?ce bit? (hash je %s)\ msgid "WARNING: signature digest conflict in message\n" msgstr "VAROV?N?: konflikt hashe podpisu ve zpr?v?\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 "pou?it? %s nen? v m?du %s dovoleno\n" +msgstr "kl?? %s se nesm? pou??vat v?re?imu %s\n" #, c-format msgid "WARNING: signing subkey %s is not cross-certified\n" @@ -5235,54 +5123,48 @@ msgstr "v?ce informac? naleznete na adrese %s\n" msgid "WARNING: signing subkey %s has an invalid cross-certification\n" msgstr "VAROV?N?: podepisovac? podkl?? %s m? neplatnou k???ovou certifikaci\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] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" -msgstr[1] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" +msgstr[0] "ve?ejn? kl?? %s je o %lu sekundu nov?j?? ne? podpis\n" +msgstr[1] "ve?ejn? kl?? %s je o %lu sekundy nov?j?? ne? podpis\n" msgstr[2] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\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] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" -msgstr[1] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" -msgstr[2] "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" +msgstr[0] "ve?ejn? kl?? %s je o %lu den nov?j?? ne? podpis\n" +msgstr[1] "ve?ejn? kl?? %s je o %lu dny nov?j?? ne? podpis\n" +msgstr[2] "ve?ejn? kl?? %s je o %lu dn? nov?j?? ne? podpis\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 "" "key %s was created %lu seconds in the future (time warp or clock problem)\n" msgstr[0] "" -"kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"kl?? %s byl vytvo?en %lu sekundu v budoucnosti (do?lo ke zm?n? ?asu nebo\n" +"je probl?m s?hodinami)\n" msgstr[1] "" -"kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"kl?? %s byl vytvo?en %lu sekundy v budoucnosti (do?lo ke zm?n? ?asu nebo\n" +"je probl?m s?hodinami)\n" msgstr[2] "" "kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"je probl?m s?hodinami)\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] "" -"kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"kl?? %s byl vytvo?en %lu den v budoucnosti (do?lo ke zm?n? ?asu nebo\n" +"je probl?m s?hodinami)\n" msgstr[1] "" -"kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"kl?? %s byl vytvo?en %lu dny v budoucnosti (do?lo ke zm?n? ?asu nebo\n" +"je probl?m s?hodinami)\n" msgstr[2] "" -"kl?? %s byl vytvo?en %lu sekund v budoucnosti (do?lo ke zm?n? ?asu nebo\n" -"je probl?m se syst?mov?m ?asem)\n" +"kl?? %s byl vytvo?en %lu dn? v budoucnosti (do?lo ke zm?n? ?asu nebo\n" +"je probl?m s?hodinami)\n" #, c-format msgid "Note: signature key %s expired %s\n" @@ -5511,339 +5393,320 @@ msgstr "nemohu pracovat s ??dky del??mi ne? %d znak?\n" msgid "input line longer than %d characters\n" msgstr "vstupn? ??dek je del?? ne? %d znak?\n" -#, fuzzy, c-format -#| msgid "error sending standard options: %s\n" +#, c-format msgid "error beginning transaction on TOFU database: %s\n" -msgstr "chyba p?i odes?l?n? standardn?ho parametru: %s\n" +msgstr "chyba p?i zah?jen? transakce v?datab?zi TOFU: %s\n" #, c-format msgid "error committing transaction on TOFU database: %s\n" -msgstr "" +msgstr "chyba p?i potvrzov?n? transakce v?dat?zi TOFU: %s\n" #, c-format msgid "error rolling back transaction on TOFU database: %s\n" -msgstr "" +msgstr "chyba p?i odvol?v?n? transakce v?datab?zi TOFU: %s\n" -#, fuzzy, c-format -#| msgid "unsupported algorithm: %s" +#, c-format msgid "unsupported TOFU database version: %s\n" -msgstr "nepodporovan? algoritmus: %s" +msgstr "nepodporovan? verze datab?ze 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 "chyba p?i vytv??en? do?asn?ho souboru: %s\n" +msgstr "chyba p?i vytv??en? TOFU?tabulky ?ultimately_trusted_keys?: %s\n" msgid "TOFU DB error" -msgstr "" +msgstr "Chyba datab?ze TOFU" -#, fuzzy, c-format -#| msgid "error sending data: %s\n" +#, c-format msgid "error reading TOFU database: %s\n" -msgstr "chyba p?i odes?l?n? dat: %s\n" +msgstr "chyba p?i ?ten? datab?ze TOFU: %s\n" -#, fuzzy, c-format -#| msgid "error writing base64 encoding: %s\n" +#, c-format msgid "error determining TOFU database's version: %s\n" -msgstr "chyba p?i z?pisu k?dov?n? base64: %s\n" +msgstr "chyba p?i zji??ov?n? datab?ze TOFU: %s\n" -#, fuzzy, c-format -#| msgid "error initializing reader object: %s\n" +#, c-format msgid "error initializing TOFU database: %s\n" -msgstr "chyba p?i inicializaci ?tec?ho objektu: %s\n" +msgstr "chyba p?i inicializaci datab?ze TOFU: %s\n" -#, fuzzy, c-format -#| msgid "error sending data: %s\n" +#, c-format msgid "error creating 'encryptions' TOFU table: %s\n" -msgstr "chyba p?i odes?l?n? dat: %s\n" +msgstr "chyba p?i vytv??en? TOFU?tabulky ?encryptions?: %s\n" +# ??? Typo: error adding #, c-format msgid "adding column effective_policy to bindings DB: %s\n" -msgstr "" +msgstr "p?id?v?n? sloupce effective_policy do vazeb datab?ze: %s\n" -#, fuzzy, c-format -#| msgid "error opening '%s': %s\n" +#, c-format msgid "error opening TOFU database '%s': %s\n" -msgstr "chyba p?i otev?r?n? ?%s?: %s\n" +msgstr "chyba p?i otev?r?n? datab?ze TOFU ?%s?: %s\n" -#, fuzzy, c-format -#| msgid "error sending data: %s\n" +#, c-format msgid "error updating TOFU database: %s\n" -msgstr "chyba p?i odes?l?n? dat: %s\n" +msgstr "chyba p?i aktualizaci datab?ze TOFU: %s\n" #, c-format msgid "" "This is the first time the email address \"%s\" is being used with key %s." -msgstr "" +msgstr "Toto je poprv?,?co se e-mailov? adresa ?%s? pou??v? s?kl??em %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] "E-mailov? adresa ?%s? je p?idru?ena k?%d kl??i!" +msgstr[1] "E-mailov? adresa ?%s? je p?idru?ena k?%d kl???m!" +msgstr[2] "E-mailov? adresa ?%s? je p?idru?ena k?%d kl???m!" msgid " Since this binding's policy was 'auto', it has been changed to 'ask'." msgstr "" +" Proto?e pravidlo t?to vazby bylo ?auto?, bylo zm?n?no na ?ask? (zeptat se)." #, c-format msgid "" "Please indicate whether this email address should be associated with key %s " "or whether you think someone is impersonating \"%s\"." msgstr "" +"Pros?m nazna?te, jestli tato e-mailov? adresa m? b?t spojov?na s kl??em %s " +"nebo jestli si myl?ste, ?e n?kdo se vyd?v? za ?%s?\n" +"." -#, fuzzy, c-format -#| msgid "error getting responder ID: %s\n" +#, c-format msgid "error gathering other user IDs: %s\n" -msgstr "chyba p?i zji??ov?n? ID odpov?da?e: %s\n" +msgstr "chyba p?i sb?ru dal??ch ID u?ivetele: %s\n" -#, fuzzy -#| msgid "list key and user IDs" msgid "This key's user IDs:\n" -msgstr "vypsat seznam kl??? a id u?ivatel?" +msgstr "ID u?ivatel? tohoto kl??e:\n" -#, fuzzy, c-format -#| msgid "validity: %s" +#, c-format msgid "policy: %s" -msgstr "platnost: %s" +msgstr "politika: %s" -#, fuzzy, c-format -#| msgid "error getting stored flags: %s\n" +#, c-format msgid "error gathering signature stats: %s\n" -msgstr "chyba p?i z?sk?n? ulo?en?ch p??znak?: %s\n" +msgstr "chyba p?i sb?ru ?daj? o podpisech: %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] "E-mailov? adresa ?%s? je spojena s?%d kl??em:\n" +msgstr[1] "E-mailov? adresa ?%s? je spojena s?%d kl??i:\n" +msgstr[2] "E-mailov? adresa ?%s? je spojena s?%d kl??i:\n" #, c-format msgid "Statistics for keys with the email address \"%s\":\n" -msgstr "" +msgstr "Statistika pro kl??e s?e-mailovou adresou ?%s?:\n" -#, fuzzy -#| msgid "list keys" msgid "this key" -msgstr "vypsat seznam kl???" +msgstr "tento kl??" -#, fuzzy, c-format -#| msgid "print message digests" +#, c-format msgid "Verified %d message." msgid_plural "Verified %d messages." -msgstr[0] "vypsat hash zpr?vy" -msgstr[1] "vypsat hash zpr?vy" -msgstr[2] "vypsat hash zpr?vy" +msgstr[0] "%d zpr?va ov??ena." +msgstr[1] "%d zpr?vy ov??eny." +msgstr[2] "%d zpr?v ov??eno." -#, fuzzy, c-format -#| msgid "encrypted with %lu passphrases\n" +#, c-format msgid "Encrypted %d message." msgid_plural "Encrypted %d messages." -msgstr[0] "za?ifrov?no s heslem %lu\n" -msgstr[1] "za?ifrov?no s heslem %lu\n" -msgstr[2] "za?ifrov?no s heslem %lu\n" +msgstr[0] "%d zpr?va za?ifrov?na." +msgstr[1] "%d zpr?vy za?ifrov?ny." +msgstr[2] "%d zpr?v za?ifrov?no." -#, 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] "vypsat hash zpr?vy" -msgstr[1] "vypsat hash zpr?vy" -msgstr[2] "vypsat hash zpr?vy" +msgstr[0] "Ov??ena %d zpr?va v?budoucnosti." +msgstr[1] "Ov??eny %d zpr?vy v?budoucnosti." +msgstr[2] "Ov??eno %d zpr?v v?budoucnosti." -#, 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] "vypsat hash zpr?vy" -msgstr[1] "vypsat hash zpr?vy" -msgstr[2] "vypsat hash zpr?vy" +msgstr[0] "Za?ifrov?na %d zpr?va v?budoucnosti." +msgstr[1] "Za?ifrov?ny %d zpr?vy v?budoucnosti." +msgstr[2] "Za?ifrov?no %d zpr?v v?budoucnosti." #, 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] "Ov??eno zpr?v za posledn? %d den: %d." +msgstr[1] "Ov??eno zpr?v za posledn? %d dny: %d." +msgstr[2] "Ov??eno zpr?v za posledn?ch %d dn?: %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] "Za?ifrov?no zpr?v za posledn? %d den: %d." +msgstr[1] "Za?ifrov?no zpr?v za posledn? %d dny: %d." +msgstr[2] "Za?ifrov?no zpr?v za posledn?ch %d dn?: %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] "Ov??eno zpr?v za posledn? %d m?s?c: %d." +msgstr[1] "Ov??eno zpr?v za posledn? %d m?s?ce: %d." +msgstr[2] "Ov??eno zpr?v za posledn?ch %d m?s?c?: %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] "Za?ifrov?no zpr?v za posledn? %d m?s?c: %d." +msgstr[1] "Za?ifrov?no zpr?v za posledn? %d m?s?ce: %d." +msgstr[2] "Za?ifrov?no zpr?v za posledn?ch %d m?s?c?: %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] "Zpr?v ov??eno za posledn? %d rok: %d." +msgstr[1] "Zpr?v ov??eno za posledn? %d roky: %d." +msgstr[2] "Zpr?v ov??eno za posledn?ch %d rok?: %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] "Ov??eno zpr?v za posledn? %d rok: %d." +msgstr[1] "Ov??eno zpr?v za posledn? %d roky: %d." +msgstr[2] "Ov??eno zpr?v za posledn?ch %d rok?: %d." #, c-format msgid "Messages verified in the past: %d." -msgstr "" +msgstr "Zpr?v ov??eno v minulosti: %d." -#, fuzzy, c-format -#| msgid "print message digests" +#, c-format msgid "Messages encrypted in the past: %d." -msgstr "vypsat hash zpr?vy" +msgstr "Zpr?v za?ifrovno v minulosti: %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 "" +msgstr "TOFU objevilo konflikt ve vazb?" #. 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 "gGaAuUrRbB" msgid "(G)ood, (A)ccept once, (U)nknown, (R)eject once, (B)ad? " -msgstr "" +msgstr "(D)obr?, (P)?ijmout jednou, (N)ezn?m?, (O)dm?tnout jednou, ?pa(T)n?? " msgid "Defaulting to unknown.\n" -msgstr "" +msgstr "Pou??je se v?choz? volba nezn?m?.\n" msgid "TOFU db corruption detected.\n" -msgstr "" +msgstr "Zjist?no po?kozen? datab?ze TOFU.\n" -#, fuzzy, c-format -#| msgid "error writing key: %s\n" +#, c-format msgid "resetting keydb: %s\n" -msgstr "chyba p?i z?pisu kl??e: %s\n" +msgstr "datab?ze kl??? se resetuje: %s\n" -#, fuzzy, c-format -#| msgid "error setting OCSP target: %s\n" +#, c-format msgid "error setting TOFU binding's policy to %s\n" -msgstr "chyba p?i nastavov?n? c?le OCSP: %s\n" +msgstr "chyba p?i nastavov?n? politiky vazby TOFU na %s\n" -#, fuzzy, c-format -#| msgid "error creating a pipe: %s\n" +#, c-format msgid "error changing TOFU policy: %s\n" -msgstr "chyba p?i vytv??en? roury: %s\n" +msgstr "chyba p?i m?n?n? politiky TOFU: %s\n" +# These strings are used as an argument in "Verified 2 signatures in past %s." #, c-format msgid "%lld~year" msgid_plural "%lld~years" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~roku" +msgstr[1] "%lld~rok?" +msgstr[2] "%lld~rok?" #, c-format msgid "%lld~month" msgid_plural "%lld~months" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~m?s?ce" +msgstr[1] "%lld~m?s?c?" +msgstr[2] "%lld~m?s?c?" #, c-format msgid "%lld~week" msgid_plural "%lld~weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~t?dne" +msgstr[1] "%lld~t?dn?" +msgstr[2] "%lld~t?dn?" #, c-format msgid "%lld~day" msgid_plural "%lld~days" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~dne" +msgstr[1] "%lld~dn?" +msgstr[2] "%lld~dn?" #, c-format msgid "%lld~hour" msgid_plural "%lld~hours" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~hodiny" +msgstr[1] "%lld~hodin" +msgstr[2] "%lld~hodin" #, c-format msgid "%lld~minute" msgid_plural "%lld~minutes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~minuty" +msgstr[1] "%lld~minut" +msgstr[2] "%lld~minut" #, c-format msgid "%lld~second" msgid_plural "%lld~seconds" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "%lld~sekundy" +msgstr[1] "%lld~sekund" +msgstr[2] "%lld~sekund" #, c-format msgid "%s: Verified 0~signatures and encrypted 0~messages." -msgstr "" +msgstr "%s: Ov??eno 0~podpis? a za?ifrov?no 0~zpr?v." -#, fuzzy, c-format -#| msgid "Deleted %d signatures.\n" +#, c-format msgid "%s: Verified 0 signatures." -msgstr "Smaz?no %d podpis?.\n" +msgstr "%s: Ov??eno 0 podpis?." -#, fuzzy, c-format -#| msgid "print message digests" +# The final %s is replaced by a string like "7~months". +#, c-format msgid "%s: Verified %ld~signature in the past %s." msgid_plural "%s: Verified %ld~signatures in the past %s." -msgstr[0] "vypsat hash zpr?vy" -msgstr[1] "vypsat hash zpr?vy" -msgstr[2] "vypsat hash zpr?vy" +msgstr[0] "%s: Ov??en %ld~podpis za posledn? obdob? %s." +msgstr[1] "%s: Ov??eny %ld~podpisy za posledn? obdob? %s." +msgstr[2] "%s: Ov??eno %ld~podpis? za posledn? obdob? %s." -#, fuzzy -#| msgid "encrypted with %lu passphrases\n" msgid "Encrypted 0 messages." -msgstr "za?ifrov?no s heslem %lu\n" +msgstr "Za?ifrov?no 0 zpr?v." -#, 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] "vypsat hash zpr?vy" -msgstr[1] "vypsat hash zpr?vy" -msgstr[2] "vypsat hash zpr?vy" +msgstr[0] "Za?ifrov?na %ld~zpr?va za posledn? obdob? %s." +msgstr[1] "Za?ifrov?ny %ld~zpr?vy za posledn? obdob? %s." +msgstr[2] "Za?ifrov?no %ld~zpr?v za posledn? obdob? %s." -#, fuzzy, c-format -#| msgid "validity: %s" +#, c-format msgid "(policy: %s)" -msgstr "platnost: %s" +msgstr "(politika: %s)" msgid "" "Warning: we have yet to see a message signed using this key and user id!\n" msgstr "" +"Pozor:?je?t? mus?me vid?t zpr?vu podepsanou t?mto kl??em a idenitou " +"u?ivatele!\n" msgid "" "Warning: we've only seen one message signed using this key and user id!\n" msgstr "" +"Pozor:?vid?li jsme pouze jednu zpr?vu podepsanou t?mto kl??em a idenitou\n" +"u?ivatele!\n" msgid "Warning: you have yet to encrypt a message to this key!\n" -msgstr "" +msgstr "Pozor:?je?te je t?eba za?ifrovat zpr?vu t?mto kl??em!\n" msgid "Warning: you have only encrypted one message to this key!\n" -msgstr "" +msgstr "Pozor: t?mto kl??em jste za?ifrovali pouze jednu zpr?vu!\n" #, c-format msgid "" @@ -5859,22 +5722,37 @@ msgid_plural "" " %s\n" "to mark it as being bad.\n" msgstr[0] "" +"Pozor:?Pokud si mysl?te, ?e jste vid?li v?ce podpis? t?mto kl??em a " +"identitou u?ivatele, pak tento kl?? m??e b?t podvrh! Pe?liv? prozkoumejte e-" +"mailovou adresu. Jestli?e je kl?? podez?el?, pou?ijte p??kaz\n" +" %s\n" +"k?ozna?en?, ?e je ?patn?.\n" msgstr[1] "" +"Pozor:?Pokud si mysl?te, ?e jste vid?li v?ce podpis? t?mto kl??em a s?t?mito " +"identitami u?ivatele, pak tento kl?? m??e b?t podvrh! Pe?liv? prozkoumejte e-" +"mailov? adresy. Jestli?e je kl?? podez?el?, pou?ijte p??kaz\n" +" %s\n" +"k?ozna?en?, ?e je ?patn?.\n" msgstr[2] "" +"Pozor:?Pokud si mysl?te, ?e jste vid?li v?ce podpis? t?mto kl??em a s?t?mito " +"identitami u?ivatele, pak tento kl?? m??e b?t podvrh! Pe?liv? prozkoumejte e-" +"mailov? adresy. Jestli?e je kl?? podez?el?, pou?ijte p??kaz\n" +" %s\n" +"k?ozna?en?, ?e je ?patn?.\n" -#, fuzzy, c-format -#| msgid "error sending data: %s\n" +#, c-format msgid "error opening TOFU database: %s\n" -msgstr "chyba p?i odes?l?n? dat: %s\n" +msgstr "chyba p?i otev?r?n? datab?ze TOFU: %s\n" #, c-format msgid "WARNING: Encrypting to %s, which has no non-revoked user ids\n" msgstr "" +"POZOR: ?ifruje se pro %s, kter??to nem? neodvolan? identity u?ivatele\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 "chyba p?i z?pisu do souboru ve?ejn?ch kl??? ?%s?: %s\n" +msgstr "" +"chyba p?i nastavov?n? politiky pro kl?? %s a identitu u?ivatele ?%s?: %s" #, c-format msgid "'%s' is not a valid long keyID\n" @@ -5944,21 +5822,19 @@ msgstr "pros?m prove?te --check-trustdb\n" msgid "checking the trustdb\n" msgstr "kontroluji datab?zi d?v?ry\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 kl??e byly doposud zpracov?ny\n" -msgstr[1] "%lu kl??e byly doposud zpracov?ny\n" -msgstr[2] "%lu kl??e byly doposud zpracov?ny\n" +msgstr[0] "zpracov?n %d kl??" +msgstr[1] "zpracov?ny %d kl??e" +msgstr[2] "zpracov?no %d kl???" -#, 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] "zpracov?no %d kl??? (%d validit vymaz?no)\n" -msgstr[1] "zpracov?no %d kl??? (%d validit vymaz?no)\n" -msgstr[2] "zpracov?no %d kl??? (%d validit vymaz?no)\n" +msgstr[0] " (vymaz?no %d po??tadlo platnosti)\n" +msgstr[1] " (vymaz?na %d po??tadla platnosti)\n" +msgstr[2] " (vymaz?no %d po??tadel platnosti)\n" msgid "no ultimately trusted keys found\n" msgstr "??dn? absolutn? d?v?ryhodn? kl?? nebyl nalezen\n" @@ -6017,10 +5893,8 @@ msgstr "[ nezn?m? ]" msgid "[ undef ]" msgstr "[nedefinovan?]" -#, fuzzy -#| msgid "never" msgid "[ never ]" -msgstr "??dn?" +msgstr "[ nikdy ]" msgid "[marginal]" msgstr "[ ??ste?n? ]" @@ -6131,15 +6005,13 @@ msgid "error retrieving CHV status from card\n" msgstr "chyba p?i z?sk?n? CHV z karty\n" msgid "response does not contain the RSA modulus\n" -msgstr "odpov?? neobsahuje RSA modulus\n" +msgstr "odpov?? neobsahuje modulus RSA\n" msgid "response does not contain the RSA public exponent\n" -msgstr "odpov?? neobsahuje ve?ejn? RSA exponent\n" +msgstr "odpov?? neobsahuje ve?ejn? exponent RSA\n" -#, fuzzy -#| msgid "response does not contain the EC public point\n" msgid "response does not contain the EC public key\n" -msgstr "odpov?? neobsahuje ve?ejn? bod EC\n" +msgstr "odpov?? neobsahuje ve?ejn? kl?? EC\n" msgid "response does not contain the public key data\n" msgstr "odpov?? neobsahuje ve?ejn? kl??\n" @@ -6153,32 +6025,29 @@ msgstr "?ten? ve?ejn?ho kl??e se nezda?ilo: %s\n" #. * the %s at the start and end of the string. #, c-format msgid "%sNumber: %s%%0AHolder: %s%%0ACounter: %lu%s" -msgstr "" +msgstr "%s??slo: %s%%0ADr?itel: %s%%0APo??tadlo: %lu%s" #, c-format msgid "%sNumber: %s%%0AHolder: %s%s" -msgstr "" +msgstr "%s??slo: %s%%0ADr?itel: %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 "Zb?v? pokus?: %d" #, c-format msgid "using default PIN as %s\n" -msgstr "pou??v?m implicitn? PIN jako %s\n" +msgstr "pou?ije se v?choz? PIN jako %s\n" #, c-format msgid "failed to use default PIN as %s: %s - disabling further default use\n" msgstr "" -"pou?it? implicitn?ho PINu jako %s selhalo: %s?? vyp?n?m jeho budouc? " -"pou?it?\n" +"pou?it? v?choz?ho PINu jako %s selhalo: %s?? vyp?n?m jeho budouc? pou?it?\n" -#, fuzzy -#| msgid "||Please enter the PIN" msgid "||Please unlock the card" -msgstr "||Pros?m vlo?te PIN" +msgstr "||Pros?m, odemkn?te kartu" #, c-format msgid "PIN for CHV%d is too short; minimum length is %d\n" @@ -6191,17 +6060,16 @@ msgstr "ov??en? CHV%d se nezda?ilo: %s\n" msgid "card is permanently locked!\n" msgstr "karta je trvale uzam?ena!\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] "" -"Do trval?ho uzam?en? karty z?st?v? %d pokus? o zad?n? PINu administr?tora\n" +"Do trval?ho uzam?en? karty z?st?v? %d pokus na zad?n? PINu spr?vce\n" msgstr[1] "" -"Do trval?ho uzam?en? karty z?st?v? %d pokus? o zad?n? PINu administr?tora\n" +"Do trval?ho uzam?en? karty z?st?vaj? %d pokusy na zad?n? PINu spr?vce\n" msgstr[2] "" -"Do trval?ho uzam?en? karty z?st?v? %d pokus? o zad?n? PINu administr?tora\n" +"Do trval?ho uzam?en? karty z?st?v? %d pokus? na zad?n? PINu spr?vce\n" #. TRANSLATORS: Do not translate the "|A|" prefix but keep it at #. the start of the string. Use %0A (single percent) for a linefeed. @@ -6209,7 +6077,7 @@ msgid "|A|Please enter the Admin PIN" msgstr "|A|Pros?m, zadejte PIN spr?vce" msgid "access to admin commands is not configured\n" -msgstr "p??stup k administr?torsk?m p??kaz?m nen? nakonfigurov?n\n" +msgstr "p??stup k p??kaz?m spr?vce nen? nakonfigurov?n\n" msgid "||Please enter the PIN" msgstr "||Pros?m vlo?te PIN" @@ -6277,12 +6145,11 @@ msgstr "pros?m po?kejte ne? bude kl?? vygenerov?n?\n" msgid "generating key failed\n" msgstr "generov?n? kl??e se nezda?ilo\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] "generov?n? kl??e dokon?eno (%d sekund)\n" -msgstr[1] "generov?n? kl??e dokon?eno (%d sekund)\n" +msgstr[0] "generov?n? kl??e dokon?eno (%d sekunda)\n" +msgstr[1] "generov?n? kl??e dokon?eno (%d sekundy)\n" msgstr[2] "generov?n? kl??e dokon?eno (%d sekund)\n" msgid "invalid structure of OpenPGP card (DO 0x93)\n" @@ -7145,10 +7012,9 @@ msgid " runtime cached certificates: %u\n" msgstr "za b?hu nake?ovan?ch certifik?t?: %u\n" # XXX: Align with msgid "permanently loaded certificates:" -#, fuzzy, c-format -#| msgid " runtime cached certificates: %u\n" +#, c-format msgid " trusted certificates: %u (%u,%u,%u,%u)\n" -msgstr "za b?hu nake?ovan?ch certifik?t?: %u\n" +msgstr " d?v?ryhodn?ch certifik?t?: %u (%u,%u,%u,%u)\n" msgid "certificate already cached\n" msgstr "certifik?t ji? v?ke?i\n" @@ -7732,7 +7598,7 @@ msgid "allow sending OCSP requests" msgstr "povol? odes?l?n? OCSP?dotaz?" msgid "allow online software version check" -msgstr "" +msgstr "povol? kontrolu verze softwaru po s?ti" msgid "inhibit the use of HTTP" msgstr "zak??e pou?it? HTTP" @@ -8367,7 +8233,7 @@ msgid "Options enforcing a passphrase policy" msgstr "Volby vynucuj?c? politiku hesel" msgid "do not allow bypassing the passphrase policy" -msgstr "nedovolit obej?t politiku hesel" +msgstr "nedovolit obejit? politiky hesel" msgid "|N|set minimal required length for new passphrases to N" msgstr "|N|nastavit minim?ln? vy?adovanou d?lku nov?ch hesel na N" @@ -8384,10 +8250,8 @@ msgstr "|N|omezit platnost hesla na N dn?" msgid "do not allow the reuse of old passphrases" msgstr "nedovolit opakovat star? hesla" -#, fuzzy -#| msgid "|N|set LDAP timeout to N seconds" msgid "|N|set the Pinentry timeout to N seconds" -msgstr "|N|nastav? ?asov? limit pro LDAP na N sekund" +msgstr "|N|nastavit ?asov? limit pro Pinentry na N sekund" msgid "|NAME|use NAME as default secret key" msgstr "|N?ZEV|pou??t N?ZEV jako implicitn? tajn? kl??" @@ -8443,33 +8307,23 @@ msgstr "Seznam LDAP?server?" msgid "Configuration for OCSP" msgstr "Nastaven? OCSP" -#, fuzzy -#| msgid "GPG for OpenPGP" msgid "OpenPGP" -msgstr "GPG pro OpenPGP" +msgstr "OpenPGP" msgid "Private Keys" -msgstr "" +msgstr "Soukrom? kl??e" -#, fuzzy -#| msgid "Smartcard Daemon" msgid "Smartcards" -msgstr "D?mon pro ?ipov? karty" +msgstr "?ipov? karty" -#, fuzzy -#| msgid "GPG for S/MIME" msgid "S/MIME" -msgstr "GPG pro S/MIME" +msgstr "S/MIME" -#, fuzzy -#| msgid "network error" msgid "Network" -msgstr "chyba s?t?" +msgstr "S??" -#, fuzzy -#| msgid "PIN and Passphrase Entry" msgid "Passphrase Entry" -msgstr "Zad?v?n? k?du PIN a hesla" +msgstr "Pole pro heslo" msgid "Component not suitable for launching" msgstr "Komponenta nen? vhodn? pro spu?t?n?" @@ -8481,15 +8335,13 @@ msgstr "Selhalo extern? ov??en? komponenty %s" msgid "Note that group specifications are ignored\n" msgstr "Vezm?te na v?dom?, ?e ur?en? skupiny se ignoruje\n" -#, fuzzy, c-format -#| msgid "error closing '%s': %s\n" +#, c-format msgid "error closing '%s'\n" -msgstr "chyba p?i uzav?r?n? ?%s?: %s\n" +msgstr "chyba p?i uzav?r?n? ?%s?\n" -#, fuzzy, c-format -#| msgid "error hashing '%s': %s\n" +#, c-format msgid "error parsing '%s'\n" -msgstr "chyba p?i v?po?tu ha?e ?%s?: %s\n" +msgstr "chyba p?i rozboru ?%s?\n" msgid "list all components" msgstr "vypsat v?echny komponenty" @@ -8509,10 +8361,8 @@ msgstr "|KOMPONENTA|zkontrolovat volby" msgid "apply global default values" msgstr "aplikovat glob?ln? implicitn? hodnoty" -#, fuzzy -#| msgid "|FILE|take policy information from FILE" msgid "|FILE|update configuration files using FILE" -msgstr "|SOUBOR|vz?t politiky ze SOUBORU" +msgstr "|SOUBOR|aktualizovat konfigura?n? soubory pomoc? SOUBORU" msgid "get the configuration directories for @GPGCONF@" msgstr "z?skat adres??e s?nastaven?m @GPGCONF@" @@ -8523,10 +8373,8 @@ msgstr "vypsat glob?ln? konfigura?n? soubor" msgid "check global configuration file" msgstr "zkontrolovat glob?ln? konfigura?n? soubor" -#, fuzzy -#| msgid "update the trust database" msgid "query the software version database" -msgstr "aktualizovat datab?zi d?v?ry" +msgstr "dot?zat se datab?zi verz? softwaru" msgid "reload all or a given component" msgstr "znovu na??st v?echny nebo zadan? komponenty" @@ -8706,12 +8554,24 @@ msgstr "" "Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n" "Prov??? heslo zadan? na vstupu proti souboru se vzory\n" -#~ msgid "listen() failed: %s\n" -#~ msgstr "vol?n? listen() selhalo: %s\n" +#~ msgid "shadowing the key failed: %s\n" +#~ msgstr "v?roba st?nov?ho kl??e se nezda?ila: %s\n" #~ msgid "do not grab keyboard and mouse" #~ msgstr "neuzurpovat si kl?vesnici a my?" +#~ msgid "communication problem with gpg-agent\n" +#~ msgstr "probl?my v komunikaci s?gpg-agentem\n" + +#~ msgid "canceled by user\n" +#~ msgstr "zru?eno u?ivatelem\n" + +#~ msgid "problem with the agent\n" +#~ msgstr "probl?m s?agentem\n" + +#~ msgid "you found a bug ... (%s:%d)\n" +#~ msgstr "na?li jste chybu? (%s:%d)\n" + #~ msgid "Error: URL too long (limit is %d characters).\n" #~ msgstr "Chyba: URL je p??li? dlouh? (limit je %d znak?).\n" @@ -8721,64 +8581,20 @@ msgstr "" #~ msgid "Error: Private DO too long (limit is %d characters).\n" #~ msgstr "Chyba: Priv?tn? DO je p??li? dlouh? (limit je %d znak?).\n" -#, fuzzy -#~| msgid "key %s: unsupported public key algorithm\n" -#~ msgid "" -#~ "can't check signature with unsupported public-key algorithm (%d): %s.\n" -#~ msgstr "kl?? %s: nepodporovan? algoritmus ve?ejn?ho kl??e\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 nepodporuje hashovac? algoritmus %s\n" - -#, fuzzy -#~| msgid "Good signature from" -#~ msgid " (reordered signatures follow)" -#~ msgstr "Dobr? podpis od" - -#, fuzzy -#~| msgid "key %s: %s\n" -#~ msgid "key %s:\n" -#~ msgstr "kl?? %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] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" -#~ msgstr[1] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" -#~ msgstr[2] "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" - -#, fuzzy -#~| msgid "Good signature from" -#~ msgid "%d signature reordered\n" -#~ msgid_plural "%d signatures reordered\n" -#~ msgstr[0] "Dobr? podpis od" -#~ msgstr[1] "Dobr? podpis od" -#~ msgstr[2] "Dobr? podpis od" - -#~ msgid "new configuration file '%s' created\n" -#~ msgstr "vytvo?en nov? konfigura?n? soubor ?%s?\n" - -#~ msgid "WARNING: options in '%s' are not yet active during this run\n" -#~ msgstr "" -#~ "VAROV?N?: nastaven? z ?%s? nejsou p?i tomto spu?t?n? zat?m aktivn?\n" +#~ msgid "available TOFU policies:\n" +#~ msgstr "dostupn? politiky TOFU:\n" -#, fuzzy -#~| msgid "Key generation failed: %s\n" -#~ msgid "User ID revocation failed: %s\n" -#~ msgstr "Vytvo?en? kl??e se nepoda?ilo: %s\n" +#~ msgid "unknown TOFU DB format '%s'\n" +#~ msgstr "nezn?m? form?t ?%s? datab?ze TOFU\n" -#~ msgid "||Please enter the PIN%%0A[sigs done: %lu]" -#~ msgstr "||Pros?m vlo?te PIN%%0A[podpis hotov: %lu]" +#~ msgid "key specification '%s' is ambiguous\n" +#~ msgstr "v?b?r kl??e pomoc? ?%s? nen? jednozna?n?\n" -#~ msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]" -#~ msgstr "|A|Pros?m, zadejte PIN spr?vce%%0A[zb?v? pokus?: %d]" +#~ msgid "'%s' matches at least:\n" +#~ msgstr "?%s? odpov?d? p?inejmen??m:\n" -#~ msgid "DSA requires the use of a 160 bit hash algorithm\n" -#~ msgstr "DSA po?aduje pou?it? 160bitov?ho ha?ovac?ho algoritmu\n" +#~ msgid "libgcrypt is too old (need %s, have %s)\n" +#~ msgstr "libgcrypt je p??li? star? (pot?ebuji %s, m?m %s)\n" #~ msgid "--store [filename]" #~ msgstr "--store [jm?no souboru]" @@ -8804,8 +8620,8 @@ msgstr "" #~ msgid "--sign --symmetric [filename]" #~ msgstr "--sign --symmetric [jm?no souboru]" -#~ msgid "--clear-sign [filename]" -#~ msgstr "--clear-sign [jm?no souboru]" +#~ msgid "--clearsign [filename]" +#~ msgstr "--clearsign [jm?no souboru]" #~ msgid "--decrypt [filename]" #~ msgstr "--decrypt [jm?no souboru]" @@ -8825,112 +8641,24 @@ msgstr "" #~ msgid "[filename]" #~ msgstr "[jm?no souboru]" -#~ msgid "shadowing the key failed: %s\n" -#~ msgstr "v?roba st?nov?ho kl??e se nezda?ila: %s\n" - -#~ msgid "available TOFU policies:\n" -#~ msgstr "dostupn? politiky TOFU:\n" - -#, fuzzy -#~| msgid "print message digests" -#~ msgid "%ld message signed" -#~ msgid_plural "%ld messages signed" -#~ msgstr[0] "vypsat hash zpr?vy" -#~ msgstr[1] "vypsat hash zpr?vy" -#~ msgstr[2] "vypsat hash zpr?vy" - -#~ msgid "GPG Agent" -#~ msgstr "Agent GPG" - -#~ msgid "Key Acquirer" -#~ msgstr "Stahova? kl???" - -#~ msgid "communication problem with gpg-agent\n" -#~ msgstr "probl?my v komunikaci s?gpg-agentem\n" - -#~ msgid "canceled by user\n" -#~ msgstr "zru?eno u?ivatelem\n" - -#~ msgid "problem with the agent\n" -#~ msgstr "probl?m s?agentem\n" - -#, fuzzy -#~| msgid "problem with the agent: %s\n" -#~ msgid "problem with the agent (unexpected response \"%s\")\n" -#~ msgstr "probl?m s agentem: %s\n" - -#~ msgid "unknown TOFU DB format '%s'\n" -#~ msgstr "nezn?m? form?t ?%s? datab?ze TOFU\n" +#~ msgid "%d signatures not checked due to missing keys\n" +#~ msgstr "%d podpis? neov??en?ch, proto?e chyb? kl??\n" -#~ msgid "libgcrypt is too old (need %s, have %s)\n" -#~ msgstr "libgcrypt je p??li? star? (pot?ebuji %s, m?m %s)\n" +#~ msgid "%d signatures not checked due to errors\n" +#~ msgstr "%d podpis? neov??en?ch, proto?e vznikly chyby\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 "" -#~ "Pros?m, zadejte heslo, abyste odemkli tajn? kl?? p??slu?ej?c? OpenPGP " -#~ "certifik?tu:\n" -#~ "?%.*s?\n" -#~ "Kl?? o d?lce %u bit?, typ %s, ID %s\n" -#~ "vytvo?en? %s%s.\n" +#~ msgid "1 user ID without valid self-signature detected\n" +#~ msgstr "objeven 1 identifik?tor u?ivatele bez platn?ho podpisu j?m sam?m\n" -#~ msgid "" -#~ "You need a passphrase to unlock the secret key for\n" -#~ "user: \"%s\"\n" +#~ msgid "%d user IDs without valid self-signatures detected\n" #~ msgstr "" -#~ "Mus?te zn?t heslo, abyste odemkli tajn? kl?? pro\n" -#~ "u?ivatele: ?%s?\n" - -#~ msgid "%u-bit %s key, ID %s, created %s" -#~ msgstr "d?lka %u bit?, typ %s, kl?? %s, vytvo?en? %s" - -#~ msgid " (subkey on main key ID %s)" -#~ msgstr " (podkl?? na hlavn?m kl??i ID %s)" - -#~ msgid "can't access directory '%s': %s\n" -#~ msgstr "k?adres??i ?%s? nelze p?istoupit: %s\n" - -#~ msgid "run as windows service (background)" -#~ msgstr "pob??? jako slu?ba Windows (na pozad?)" - -#~ msgid "running in compatibility mode - certificate chain not checked!\n" -#~ msgstr "provoz v?re?imu kompatibility?? ?et?z certifik?t? nezkontrolov?n!\n" - -#~ msgid "you found a bug ... (%s:%d)\n" -#~ msgstr "na?li jste chybu? (%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] "" -#~ "objeveno %d identifik?tor? u?ivatele bez platn?ho podpisu j?m sam?m\n" -#~ msgstr[1] "" -#~ "objeveno %d identifik?tor? u?ivatele bez platn?ho podpisu j?m sam?m\n" -#~ msgstr[2] "" #~ "objeveno %d identifik?tor? u?ivatele bez platn?ho podpisu j?m sam?m\n" #~ msgid "moving a key signature to the correct place\n" #~ msgstr "p?esunuji podpis kl??e na spr?vn? m?sto\n" -#~ msgid "key specification '%s' is ambiguous\n" -#~ msgstr "v?b?r kl??e pomoc? ?%s? nen? jednozna?n?\n" - -#~ msgid "'%s' matches at least:\n" -#~ msgstr "?%s? odpov?d? p?inejmen??m:\n" - -#~ msgid "%d signatures not checked due to missing keys\n" -#~ msgstr "%d podpis? neov??en?ch, proto?e chyb? kl??\n" - -#~ msgid "%d signatures not checked due to errors\n" -#~ msgstr "%d podpis? neov??en?ch, proto?e vznikly chyby\n" - -#~ msgid "1 user ID without valid self-signature detected\n" -#~ msgstr "objeven 1 identifik?tor u?ivatele bez platn?ho podpisu j?m sam?m\n" +#~ msgid "Deleted %d signatures.\n" +#~ msgstr "Smaz?no %d podpis?.\n" #~ msgid "User ID \"%s\": %d signatures removed\n" #~ msgstr "U?ivatelsk? ID ?%s?: %d podpis? odstran?no\n" @@ -8981,6 +8709,39 @@ msgstr "" #~ msgid "sending key %s to %s server %s\n" #~ msgstr "pos?l?m kl?? %s na %s server %s\n" +#~ msgid "new configuration file '%s' created\n" +#~ msgstr "vytvo?en nov? konfigura?n? soubor ?%s?\n" + +#~ msgid "WARNING: options in '%s' are not yet active during this run\n" +#~ msgstr "" +#~ "VAROV?N?: nastaven? z ?%s? nejsou p?i tomto spu?t?n? zat?m aktivn?\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 "" +#~ "Pros?m, zadejte heslo, abyste odemkli tajn? kl?? p??slu?ej?c? OpenPGP " +#~ "certifik?tu:\n" +#~ "?%.*s?\n" +#~ "Kl?? o d?lce %u bit?, typ %s, ID %s\n" +#~ "vytvo?en? %s%s.\n" + +#~ msgid "" +#~ "You need a passphrase to unlock the secret key for\n" +#~ "user: \"%s\"\n" +#~ msgstr "" +#~ "Mus?te zn?t heslo, abyste odemkli tajn? kl?? pro\n" +#~ "u?ivatele: ?%s?\n" + +#~ msgid "%u-bit %s key, ID %s, created %s" +#~ msgstr "d?lka %u bit?, typ %s, kl?? %s, vytvo?en? %s" + +#~ msgid " (subkey on main key ID %s)" +#~ msgstr " (podkl?? na hlavn?m kl??i ID %s)" + #~ msgid "public key %s is %lu seconds newer than the signature\n" #~ msgstr "ve?ejn? kl?? %s je o %lu sekund nov?j?? ne? podpis\n" @@ -8994,6 +8755,30 @@ msgstr "" #~ msgid "%d marginal(s) needed, %d complete(s) needed, %s trust model\n" #~ msgstr "po?adov?no %d ??ste?n? d?v?ry a %d ?pln? d?v?ry, model %s\n" +#~ msgid "||Please enter the PIN%%0A[sigs done: %lu]" +#~ msgstr "||Pros?m vlo?te PIN%%0A[podpis hotov: %lu]" + +#~ msgid "|A|Please enter the Admin PIN%%0A[remaining attempts: %d]" +#~ msgstr "|A|Pros?m, zadejte PIN spr?vce%%0A[zb?v? pokus?: %d]" + +#~ msgid "can't access directory '%s': %s\n" +#~ msgstr "k?adres??i ?%s? nelze p?istoupit: %s\n" + +#~ msgid "run as windows service (background)" +#~ msgstr "pob??? jako slu?ba Windows (na pozad?)" + +#~ msgid "running in compatibility mode - certificate chain not checked!\n" +#~ msgstr "provoz v?re?imu kompatibility?? ?et?z certifik?t? nezkontrolov?n!\n" + +#~ msgid "DSA requires the use of a 160 bit hash algorithm\n" +#~ msgstr "DSA po?aduje pou?it? 160bitov?ho ha?ovac?ho algoritmu\n" + +#~ msgid "GPG Agent" +#~ msgstr "Agent GPG" + +#~ msgid "Key Acquirer" +#~ msgstr "Stahova? kl???" + #~ msgid "Passphrase" #~ msgstr "Heslo" @@ -9996,7 +9781,7 @@ msgstr "" #~ "na aktu?ln? seznam p?edvoleb. ?asov? raz?tka v?ech dot?en?ch podpis?\n" #~ "kl??? jimi samotn?mi budou posunuty o jednu vte?inu dop?edu.\n" -#~ msgid "Please enter the passphrase; this is a secret sentence \n" +#~ msgid "Please enter the passhrase; this is a secret sentence \n" #~ msgstr "Pros?m, vlo?te heslo; toto je tajn? v?ta \n" #~ msgid "" ----------------------------------------------------------------------- Summary of changes: po/cs.po | 1311 ++++++++++++++++++++++++++------------------------------------ 1 file changed, 548 insertions(+), 763 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 10:20:32 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 10:20:32 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.3-42-g84555d5 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 84555d53720cc9240535ed9b57f1efcc9927f6dc (commit) via 558b17593ae97b8a07d06bf0d6af1a626b304501 (commit) via b4975788143b5cbab75534d7274c635986f15e0b (commit) from 43aaf60449036e870cc25b77fbb7312cf3fb534c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 84555d53720cc9240535ed9b57f1efcc9927f6dc Author: Werner Koch Date: Wed Dec 20 10:13:54 2017 +0100 Post release updates -- diff --git a/NEWS b/NEWS index 59b2a45..f924176 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +Noteworthy changes in version 2.2.5 (unreleased) +------------------------------------------------ + + Noteworthy changes in version 2.2.4 (2017-12-20) ------------------------------------------------ diff --git a/configure.ac b/configure.ac index 382ef1d..33148b4 100644 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,7 @@ min_automake_version="1.14" m4_define([mym4_package],[gnupg]) m4_define([mym4_major], [2]) m4_define([mym4_minor], [2]) -m4_define([mym4_micro], [4]) +m4_define([mym4_micro], [5]) # 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 commit 558b17593ae97b8a07d06bf0d6af1a626b304501 Author: Werner Koch Date: Wed Dec 20 08:31:22 2017 +0100 Release 2.2.4 diff --git a/NEWS b/NEWS index f59b9cd..59b2a45 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,33 @@ -Noteworthy changes in version 2.2.4 (unreleased) +Noteworthy changes in version 2.2.4 (2017-12-20) ------------------------------------------------ + * gpg: Change default preferences to prefer SHA512. + + * gpg: Print a warning when more than 150 MiB are encrypted using a + cipher with 64 bit block size. + + * gpg: Print a warning if the MDC feature has not been used for a + message. + + * gpg: Fix regular expression of domain addresses in trust + signatures. [#2923] + + * agent: New option --auto-expand-secmem to help with high numbers + of concurrent connections. Requires libgcrypt 1.8.2 for having + an effect. [#3530] + + * dirmngr: Cache responses of WKD queries. + + * gpgconf: Add option --status-fd. + + * wks: Add commands --check and --remove-key to gpg-wks-server. + + * Increase the backlog parameter of the daemons to 64 and add + option --listen-backlog. + + * New configure option --enable-run-gnupg-user-socket to first try a + socket directory which is not removed by systemd at session end. + Noteworthy changes in version 2.2.3 (2017-11-20) ------------------------------------------------ @@ -20,6 +47,8 @@ Noteworthy changes in version 2.2.3 (2017-11-20) * agent: Improve robustness of the shutdown pending state. [Git#7ffedfab89] + See-also: gnupg-announce/2017q4/000417.html + Noteworthy changes in version 2.2.2 (2017-11-07) ------------------------------------------------ commit b4975788143b5cbab75534d7274c635986f15e0b Author: Werner Koch Date: Wed Dec 20 08:30:40 2017 +0100 po: Auto-update -- diff --git a/po/cs.po b/po/cs.po index cbf02cd..4693f73 100644 --- a/po/cs.po +++ b/po/cs.po @@ -466,10 +466,6 @@ msgid "can't set permissions of '%s': %s\n" msgstr "p??stupov? pr?va ?%s? nelze nastavit: %s\n" #, c-format -msgid "listen() failed: %s\n" -msgstr "vol?n? listen() selhalo: %s\n" - -#, c-format msgid "listening on socket '%s'\n" msgstr "naslouch? se na socketu ?%s?\n" @@ -1375,6 +1371,11 @@ msgstr "Jakou d?lku kl??e pro ?ifrov?n? si p?ejete? (%u) " msgid "What keysize do you want for the Authentication key? (%u) " msgstr "Jakou d?lku kl??e pro autentizaci si p?ejete? (%u) " +#, fuzzy, c-format +#| msgid "The card will now be re-configured to generate a key of %u bits\n" +msgid "The card will now be re-configured to generate a key of type: %s\n" +msgstr "Karta bude nyn? p?enastavena na generov?n? kl??e dlouh?ho %u bit?\n" + #, c-format msgid "rounded up to %u bits\n" msgstr "zaokrouhleno na %u bit?\n" @@ -2610,14 +2611,6 @@ msgid "key %s: doesn't match our copy\n" msgstr "kl?? %s: neodpov?d? na?? kopii\n" #, c-format -msgid "key %s: can't locate original keyblock: %s\n" -msgstr "kl?? %s: nemohu naj?t origin?ln? blok kl??e: %s\n" - -#, c-format -msgid "key %s: can't read original keyblock: %s\n" -msgstr "kl?? %s: nemohu ??st origin?ln? blok kl??e: %s\n" - -#, c-format msgid "key %s: \"%s\" 1 new user ID\n" msgstr "kl?? %s: ?%s? 1 nov? identifik?tor u?ivatele\n" @@ -2703,6 +2696,14 @@ msgid "key %s: no public key - can't apply revocation certificate\n" msgstr "kl?? %s: chyb? ve?ejn? kl???? nemohu aplikovat revoka?n? certifik?t\n" #, c-format +msgid "key %s: can't locate original keyblock: %s\n" +msgstr "kl?? %s: nemohu naj?t origin?ln? blok kl??e: %s\n" + +#, c-format +msgid "key %s: can't read original keyblock: %s\n" +msgstr "kl?? %s: nemohu ??st origin?ln? blok kl??e: %s\n" + +#, c-format msgid "key %s: invalid revocation certificate: %s - rejected\n" msgstr "kl?? %s: neplatn? revoka?n? certifik?t: %s?? zam?tnuto\n" @@ -3153,6 +3154,11 @@ msgstr "sm?stnat nepou?iteln? ID u?ivatel? a odstranit z?kl??e v?echny msgid "Secret key is available.\n" msgstr "Tajn? kl?? je dostupn?.\n" +#, fuzzy +#| msgid "Secret key is available.\n" +msgid "Secret subkeys are available.\n" +msgstr "Tajn? kl?? je dostupn?.\n" + msgid "Need the secret key to do this.\n" msgstr "Pro proveden? t?to operace je pot?eba tajn? kl??.\n" @@ -8554,6 +8560,9 @@ msgstr "" "Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n" "Prov??? heslo zadan? na vstupu proti souboru se vzory\n" +#~ msgid "listen() failed: %s\n" +#~ msgstr "vol?n? listen() selhalo: %s\n" + #~ msgid "shadowing the key failed: %s\n" #~ msgstr "v?roba st?nov?ho kl??e se nezda?ila: %s\n" ----------------------------------------------------------------------- Summary of changes: NEWS | 35 ++++++++++++++++++++++++++++++++++- configure.ac | 2 +- po/cs.po | 33 +++++++++++++++++++++------------ 3 files changed, 56 insertions(+), 14 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 10:26:09 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 10:26:09 +0100 Subject: [git] gnupg-doc - branch, master, updated. e41e20e94fb33cc5d3677bc4b90d406f83d0e834 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via e41e20e94fb33cc5d3677bc4b90d406f83d0e834 (commit) from c45870b95706acc7f72a50085ad320e4381858e3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e41e20e94fb33cc5d3677bc4b90d406f83d0e834 Author: Werner Koch Date: Wed Dec 20 10:21:24 2017 +0100 swdb: GnuPG 2.2.4 diff --git a/web/swdb.mac b/web/swdb.mac index b0fb5c2..95e7951 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -10,32 +10,32 @@ # # GnuPG-2.2 # -#+macro: gnupg22_ver 2.2.3 -#+macro: gnupg22_date 2017-11-20 -#+macro: gnupg22_size 6393k -#+macro: gnupg22_sha1 68ed37d363166b5bd79971537484148eb8f2958c -#+macro: gnupg22_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 +#+macro: gnupg22_ver 2.2.4 +#+macro: gnupg22_date 2017-12-20 +#+macro: gnupg22_size 6417k +#+macro: gnupg22_sha1 732266e8888c6f41c084d043c7a0058332ff3580 +#+macro: gnupg22_sha2 401a3e64780fdfa6d7670de0880aa5c9d589b3db7a7098979d7606cec546f2ec #+macro: gnupg22_branch STABLE-BRANCH-2-2 -#+macro: gnupg22_w32_ver 2.2.3_20171207 -#+macro: gnupg22_w32_date 2017-12-07 -#+macro: gnupg22_w32_size 3806k -#+macro: gnupg22_w32_sha1 f2007638228f81061e1c50313a794733a834a887 -#+macro: gnupg22_w32_sha2 a282a175501fc5b06f70e249fe503250293d8cb2a14e28a4a8ea476ede8ea9fa +#+macro: gnupg22_w32_ver 2.2.4_20171220 +#+macro: gnupg22_w32_date 2017-12-20 +#+macro: gnupg22_w32_size 3817k +#+macro: gnupg22_w32_sha1 d06a1413fd901c51eba14164ddb28d99ab9f84df +#+macro: gnupg22_w32_sha2 2030f00548ec175cac4996a8128ed71393c156429d95f3e6c2f53194b2f4d885 # temporary keep it as "gnupg21". In the future we will use the name of # the stable branch even for the development versions. -#+macro: gnupg21_ver 2.2.3 -#+macro: gnupg21_date 2017-11-20 -#+macro: gnupg21_size 6393k -#+macro: gnupg21_sha1 68ed37d363166b5bd79971537484148eb8f2958c -#+macro: gnupg21_sha2 cbd37105d139f7aa74f92b6f65d136658682094b0e308666b820ae4b984084b4 +#+macro: gnupg21_ver 2.2.4 +#+macro: gnupg21_date 2017-12-20 +#+macro: gnupg21_size 6417k +#+macro: gnupg21_sha1 732266e8888c6f41c084d043c7a0058332ff3580 +#+macro: gnupg21_sha2 401a3e64780fdfa6d7670de0880aa5c9d589b3db7a7098979d7606cec546f2ec #+macro: gnupg21_branch STABLE-BRANCH-2-2 -#+macro: gnupg21_w32_ver 2.2.3_20171207 -#+macro: gnupg21_w32_date 2017-12-07 -#+macro: gnupg21_w32_size 3806k -#+macro: gnupg21_w32_sha1 f2007638228f81061e1c50313a794733a834a887 -#+macro: gnupg21_w32_sha2 a282a175501fc5b06f70e249fe503250293d8cb2a14e28a4a8ea476ede8ea9fa +#+macro: gnupg21_w32_ver 2.2.4_20171220 +#+macro: gnupg21_w32_date 2017-12-20 +#+macro: gnupg21_w32_size 3817k +#+macro: gnupg21_w32_sha1 d06a1413fd901c51eba14164ddb28d99ab9f84df +#+macro: gnupg21_w32_sha2 2030f00548ec175cac4996a8128ed71393c156429d95f3e6c2f53194b2f4d885 # ----------------------------------------------------------------------- Summary of changes: web/swdb.mac | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 10:30:10 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 10:30:10 +0100 Subject: [git] GnuPG - branch, master, updated. gnupg-2.2.3-113-g945381c Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, master has been updated via 945381c4c26ffa5a9b1b0781294d0440e55d2ade (commit) from c817e750283278e7e8317c1b47981e71ddcc9dbf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 945381c4c26ffa5a9b1b0781294d0440e55d2ade Author: Werner Koch Date: Wed Dec 20 10:25:16 2017 +0100 doc: Include NEWS from 2.2.4 -- diff --git a/NEWS b/NEWS index b0bb8ba..216d872 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,35 @@ Noteworthy changes in version 2.3.0 (unreleased) ------------------------------------------------ + Changes also found in 2.2.4: + + * gpg: Change default preferences to prefer SHA512. + + * gpg: Print a warning when more than 150 MiB are encrypted using a + cipher with 64 bit block size. + + * gpg: Print a warning if the MDC feature has not been used for a + message. + + * gpg: Fix regular expression of domain addresses in trust + signatures. [#2923] + + * agent: New option --auto-expand-secmem to help with high numbers + of concurrent connections. Requires libgcrypt 1.8.2 for having + an effect. [#3530] + + * dirmngr: Cache responses of WKD queries. + + * gpgconf: Add option --status-fd. + + * wks: Add commands --check and --remove-key to gpg-wks-server. + + * Increase the backlog parameter of the daemons to 64 and add + option --listen-backlog. + + * New configure option --enable-run-gnupg-user-socket to first try a + socket directory which is not removed by systemd at session end. + Changes also found in 2.2.3: * gpgsm: Fix initial keybox creation on Windows. [#3507] @@ -84,6 +113,7 @@ Noteworthy changes in version 2.3.0 (unreleased) Version 2.2.1 (2017-09-19) Version 2.2.2 (2017-11-07) Version 2.2.3 (2017-11-20) + Version 2.2.4 (2017-12-20) Noteworthy changes in version 2.2.0 (2017-08-28) ----------------------------------------------------------------------- Summary of changes: NEWS | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 16:03:12 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 16:03:12 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.4-2-g290348e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 290348e349e8d56a856f187a08e913f2ed525b3c (commit) from 84555d53720cc9240535ed9b57f1efcc9927f6dc (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 290348e349e8d56a856f187a08e913f2ed525b3c Author: Werner Koch Date: Wed Dec 20 15:37:29 2017 +0100 common: Use larger buffer for homedir in case of 64 bit UIDs. * common/homedir.c (_gnupg_socketdir_internal): Enlarge PREFIX by 6 bytes for "/gnupg". -- The temporary buffer was to short for the extra "/gnupg". However the 20 bytes for the UID is large enough for all 32 bit UIDs and would only fail (detected) if a 64 bit UID is used. Fixes-commit: 17efcd2a2acdc3b7f00711272aa51e5be2476921 Reported-by: Rainer Perske. Signed-off-by: Werner Koch diff --git a/common/homedir.c b/common/homedir.c index a598900..65cf50f 100644 --- a/common/homedir.c +++ b/common/homedir.c @@ -554,7 +554,7 @@ _gnupg_socketdir_internal (int skip_checks, unsigned *r_info) }; int i; struct stat sb; - char prefix[13 + 1 + 20 + 6 + 1]; + char prefix[19 + 1 + 20 + 6 + 1]; const char *s; char *name = NULL; ----------------------------------------------------------------------- Summary of changes: common/homedir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 17:04:36 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 17:04:36 +0100 Subject: [git] gnupg-doc - branch, master, updated. 498288915bb4027f319089f79562d68ca828e719 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 498288915bb4027f319089f79562d68ca828e719 (commit) from e41e20e94fb33cc5d3677bc4b90d406f83d0e834 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 498288915bb4027f319089f79562d68ca828e719 Author: Werner Koch Date: Wed Dec 20 16:59:53 2017 +0100 20 years of GnuPG release diff --git a/web/index.org b/web/index.org index 67400e2..1382f85 100644 --- a/web/index.org +++ b/web/index.org @@ -18,9 +18,9 @@ features for easy integration with other applications. A wealth of [[file:software/frontends.html][frontend applications]] and [[file:software/libraries.html][libraries]] are available. GnuPG also provides support for S/MIME and Secure Shell (ssh). -GnuPG is [[https://www.gnu.org/philosophy/free-sw.html][Free Software]] (meaning that it respects your freedom). It can -be freely used, modified and distributed under the terms of the -[[https://www.gnu.org/copyleft/gpl.html][GNU General Public License]] . +Since its introduction in 1997, GnuPG is [[https://www.gnu.org/philosophy/free-sw.html][Free Software]] (meaning that +it respects your freedom). It can be freely used, modified and +distributed under the terms of the [[https://www.gnu.org/copyleft/gpl.html][GNU General Public License]] . The current version of GnuPG is {{{gnupg22_ver}}}. See the [[file:download/index.org][download]] page for other maintained versions. @@ -65,6 +65,13 @@ The latest release news:\\ # GnuPG's latest news are available as [[http://feedvalidator.org/check.cgi?url%3Dhttps://www.gnupg.org/news.en.rss][RSS 2.0 compliant]] feed. Just # point or paste the [[news.en.rss][RSS file]] into your aggregator. +** 20 Years of GnuPG (2017-12-20) + +Exactly 20 years ago the first public version of GnuPG was released +under the name "g10". Today we are pleased to announce the +availability of GnuPG version 2.2.4. This is a maintenance release +fixing a few minor bugs. {[[https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000417.html][more]]} + ** GnuPG Made Easy 1.10.0 released (2017-12-12) [[file:software/gpgme/index.org][GPGME]] is a library that allows to add support for cryptography to a diff --git a/web/share/logo-gnupg-light-purple-bg.png b/web/share/logo-gnupg-light-purple-bg.png index 41264d9..d964d2f 100644 Binary files a/web/share/logo-gnupg-light-purple-bg.png and b/web/share/logo-gnupg-light-purple-bg.png differ ----------------------------------------------------------------------- Summary of changes: web/index.org | 13 ++++++++++--- web/share/logo-gnupg-light-purple-bg.png | Bin 9024 -> 11356 bytes 2 files changed, 10 insertions(+), 3 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 20 21:37:46 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Wed, 20 Dec 2017 21:37:46 +0100 Subject: [git] gnupg-doc - branch, master, updated. 83aff230db94e71597bc4b7e5969c98cc3cf0908 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 83aff230db94e71597bc4b7e5969c98cc3cf0908 (commit) from 498288915bb4027f319089f79562d68ca828e719 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 83aff230db94e71597bc4b7e5969c98cc3cf0908 Author: Werner Koch Date: Wed Dec 20 21:33:02 2017 +0100 web: Fix link. diff --git a/web/index.org b/web/index.org index 1382f85..4fed715 100644 --- a/web/index.org +++ b/web/index.org @@ -70,7 +70,7 @@ The latest release news:\\ Exactly 20 years ago the first public version of GnuPG was released under the name "g10". Today we are pleased to announce the availability of GnuPG version 2.2.4. This is a maintenance release -fixing a few minor bugs. {[[https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000417.html][more]]} +fixing a few minor bugs. {[[https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000419.html][more]]} ** GnuPG Made Easy 1.10.0 released (2017-12-12) ----------------------------------------------------------------------- Summary of changes: web/index.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 22 07:07:53 2017 From: cvs at cvs.gnupg.org (by Robert J. Hansen) Date: Fri, 22 Dec 2017 07:07:53 +0100 Subject: [git] gnupg-doc - branch, master, updated. 03fabb28f25c8f1446ab40811d5c188f3b4c280f Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 03fabb28f25c8f1446ab40811d5c188f3b4c280f (commit) from 83aff230db94e71597bc4b7e5969c98cc3cf0908 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 03fabb28f25c8f1446ab40811d5c188f3b4c280f Author: Robert J. Hansen Date: Fri Dec 22 01:07:49 2017 -0500 Now reflects GnuPG 1.4 can still handle RFC1991 diff --git a/web/faq/gnupg-faq.org b/web/faq/gnupg-faq.org index 68648f8..da30a0d 100644 --- a/web/faq/gnupg-faq.org +++ b/web/faq/gnupg-faq.org @@ -2158,25 +2158,21 @@ use any of the longer SHAs with DSA-1024; GnuPG might use SHA-224, -256, -384 or -512 for DSA-2048; GnuPG might use SHA-256, SHA-384 or SHA-512 for DSA-3072. + ** Why can?t I decrypt things I encrypted twenty years ago with PGP 2.6? :PROPERTIES: :CUSTOM_ID: pgp_26 :END: -Twenty years ago, PGP 2.6 was released. It was very successful, but there -were some unfortunate things about its design. Soon after a better version -was released, and this was ultimately standardized as RFC 4880. - -GnuPG supports RFC 4880. It does not support PGP 2.6. This shouldn?t be -surprising: all software ultimately breaks compatibility with what came -before it. Word processors of 2015 don?t support the WordStar document -format, just like you can?t put a Kaypro floppy disk in a modern PC. - -If you absolutely must have PGP 2.6 support, we recommend you use PGP 2.6. -It?s easy to find on the internet. Barring that, you could use GnuPG 1.4, -which is an older branch of GnuPG that had some (but by no means complete) -PGP 2.6 support. +PGP 2.6 was released almost twenty-five years ago and is now +completely obsolete. We strongly advise against using PGP 2.6 if you +have any choice in the matter. Due to PGP 2.6 being obsolete, GnuPG +dropped support for it years ago in the GnuPG 2.0 series. +If you absolutely must have PGP 2.6 support, we recommend you use +GnuPG's oldest supported version, 1.4, which can still handle PGP 2.6 +traffic. We still urge you to migrate your documents to OpenPGP, as +we will not be supporting GnuPG 1.4 for much longer. * COMMENT HTML style specifications ----------------------------------------------------------------------- Summary of changes: web/faq/gnupg-faq.org | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 22 13:45:53 2017 From: cvs at cvs.gnupg.org (by Kristian Fiskerstrand) Date: Fri, 22 Dec 2017 13:45:53 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.4-4-ga684988 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via a6849888295f0e0872c948cd72a59374bb867777 (commit) via f3ba66781a07af2e32f5887e6e15acdd4822a431 (commit) from 290348e349e8d56a856f187a08e913f2ed525b3c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a6849888295f0e0872c948cd72a59374bb867777 Author: Kristian Fiskerstrand Date: Wed Dec 20 21:12:01 2017 +0100 build: Increase libassuan min version to 2.5.0 -- assuan_sock_set_system_hooks is used unconditionally in gnupg since commit 9f641430dcdecbd7ee205d407cb19bb4262aa95d, and as such it requires libassuan 2.5.0 (function introduced in commit 90dc81682b13a7cf716a8a26b891051cbd4b0caf) For a detailed description see: https://lists.gnupg.org/pipermail/gnupg-devel/2017-December/033323.html diff --git a/configure.ac b/configure.ac index 33148b4..c3fce31 100644 --- a/configure.ac +++ b/configure.ac @@ -59,7 +59,7 @@ NEED_LIBGCRYPT_API=1 NEED_LIBGCRYPT_VERSION=1.7.0 NEED_LIBASSUAN_API=2 -NEED_LIBASSUAN_VERSION=2.4.3 +NEED_LIBASSUAN_VERSION=2.5.0 NEED_KSBA_API=1 NEED_KSBA_VERSION=1.3.4 commit f3ba66781a07af2e32f5887e6e15acdd4822a431 Author: Werner Koch Date: Fri Dec 22 12:55:32 2017 +0100 kbx: Simplify by removing custom memory functions. * kbx/keybox-util.c (keybox_set_malloc_hooks): Remove. (_keybox_malloc, _keybox_calloc, keybox_realloc) (_keybox_free): Remove. (keybox_file_rename): Remove. Was not used. * sm/gpgsm.c (main): Remove call to keybox_set_malloc_hooks. * kbx/kbxutil.c (main): Ditto. * kbx/keybox-defs.h: Remove all separate includes. Include util.h. remove convenience macros. * common/logging.h (return_if_fail): New. Originally from keybox-defs.h but now using log_debug. (return_null_if_fail): Ditto. (return_val_if_fail): Ditto. (never_reached): Ditto. -- Originally the KBX code was written to allow standalone use. However this required lot of ugliness like separate memory allocators and such. It also precludes the use of some standard functions from common due to their use of the common gnupg malloc functions. Dropping all that makes things easier. Minor disadvantages: the kbx call done for gpg will now use gcry malloc fucntions and not the standard malloc functions. This might be a bit slower but removing them even fixes a possible bug in keybox_tmp_names which is used in gpg and uses gpg's xfree which is actually gcry_free. Signed-off-by: Werner Koch diff --git a/common/logging.h b/common/logging.h index e1bf56b..2225100 100644 --- a/common/logging.h +++ b/common/logging.h @@ -112,4 +112,30 @@ void log_printhex (const char *text, const void *buffer, size_t length); void log_clock (const char *string); +/* Some handy assertion macros which don't abort. */ + +#define return_if_fail(expr) do { \ + if (!(expr)) { \ + log_debug ("%s:%d: assertion '%s' failed\n", \ + __FILE__, __LINE__, #expr ); \ + return; \ + } } while (0) +#define return_null_if_fail(expr) do { \ + if (!(expr)) { \ + log_debug ("%s:%d: assertion '%s' failed\n", \ + __FILE__, __LINE__, #expr ); \ + return NULL; \ + } } while (0) +#define return_val_if_fail(expr,val) do { \ + if (!(expr)) { \ + log_debug ("%s:%d: assertion '%s' failed\n", \ + __FILE__, __LINE__, #expr ); \ + return (val); \ + } } while (0) +#define never_reached() do { \ + log_debug ("%s:%d: oops - should never get here\n", \ + __FILE__, __LINE__ ); \ + } while (0) + + #endif /*GNUPG_COMMON_LOGGING_H*/ diff --git a/kbx/kbxutil.c b/kbx/kbxutil.c index 9b43584..07774f2 100644 --- a/kbx/kbxutil.c +++ b/kbx/kbxutil.c @@ -464,7 +464,6 @@ main( int argc, char **argv ) /*create_dotlock(NULL); register locking cleanup */ /* We need to use the gcry malloc function because jnlib uses them. */ - keybox_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free); ksba_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free ); diff --git a/kbx/keybox-defs.h b/kbx/keybox-defs.h index fd331f1..be2dd72 100644 --- a/kbx/keybox-defs.h +++ b/kbx/keybox-defs.h @@ -33,16 +33,7 @@ #include /* off_t */ -/* We include the type definitions from jnlib instead of defining our - owns here. This will not allow us build KBX in a standalone way - but there is currently no need for it anyway. Same goes for - stringhelp.h which for example provides a replacement for stpcpy - - fixme: Better use the LIBOBJ mechnism. */ -#include "../common/types.h" -#include "../common/stringhelp.h" -#include "../common/dotlock.h" -#include "../common/logging.h" - +#include "../common/util.h" #include "keybox.h" @@ -209,64 +200,10 @@ int _keybox_dump_cut_records (const char *filename, unsigned long from, /*-- keybox-util.c --*/ -void *_keybox_malloc (size_t n); -void *_keybox_calloc (size_t n, size_t m); -void *_keybox_realloc (void *p, size_t n); -void _keybox_free (void *p); - -#define xtrymalloc(a) _keybox_malloc ((a)) -#define xtrycalloc(a,b) _keybox_calloc ((a),(b)) -#define xtryrealloc(a,b) _keybox_realloc((a),(b)) -#define xfree(a) _keybox_free ((a)) - - -#define DIM(v) (sizeof(v)/sizeof((v)[0])) -#define DIMof(type,member) DIM(((type *)0)->member) -#ifndef STR -# define STR(v) #v -#endif -#define STR2(v) STR(v) /* - a couple of handy macros -*/ - -#define return_if_fail(expr) do { \ - if (!(expr)) { \ - fprintf (stderr, "%s:%d: assertion '%s' failed\n", \ - __FILE__, __LINE__, #expr ); \ - return; \ - } } while (0) -#define return_null_if_fail(expr) do { \ - if (!(expr)) { \ - fprintf (stderr, "%s:%d: assertion '%s' failed\n", \ - __FILE__, __LINE__, #expr ); \ - return NULL; \ - } } while (0) -#define return_val_if_fail(expr,val) do { \ - if (!(expr)) { \ - fprintf (stderr, "%s:%d: assertion '%s' failed\n", \ - __FILE__, __LINE__, #expr ); \ - return (val); \ - } } while (0) -#define never_reached() do { \ - fprintf (stderr, "%s:%d: oops; should never get here\n", \ - __FILE__, __LINE__ ); \ - } while (0) - - -/* some macros to replace ctype ones and avoid locale problems */ -#define digitp(p) (*(p) >= '0' && *(p) <= '9') -#define hexdigitp(a) (digitp (a) \ - || (*(a) >= 'A' && *(a) <= 'F') \ - || (*(a) >= 'a' && *(a) <= 'f')) -/* the atoi macros assume that the buffer has only valid digits */ -#define atoi_1(p) (*(p) - '0' ) -#define atoi_2(p) ((atoi_1(p) * 10) + atoi_1((p)+1)) -#define atoi_4(p) ((atoi_2(p) * 100) + atoi_2((p)+2)) -#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \ - *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10)) -#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1)) + * A couple of handy macros + */ #endif /*KEYBOX_DEFS_H*/ diff --git a/kbx/keybox-util.c b/kbx/keybox-util.c index b71335b..3ce5162 100644 --- a/kbx/keybox-util.c +++ b/kbx/keybox-util.c @@ -27,52 +27,6 @@ #endif #include "keybox-defs.h" -#include "../common/utilproto.h" - - -static void *(*alloc_func)(size_t n) = malloc; -static void *(*realloc_func)(void *p, size_t n) = realloc; -static void (*free_func)(void*) = free; - - - -void -keybox_set_malloc_hooks ( void *(*new_alloc_func)(size_t n), - void *(*new_realloc_func)(void *p, size_t n), - void (*new_free_func)(void*) ) -{ - alloc_func = new_alloc_func; - realloc_func = new_realloc_func; - free_func = new_free_func; -} - -void * -_keybox_malloc (size_t n) -{ - return alloc_func (n); -} - -void * -_keybox_realloc (void *a, size_t n) -{ - return realloc_func (a, n); -} - -void * -_keybox_calloc (size_t n, size_t m) -{ - void *p = _keybox_malloc (n*m); - if (p) - memset (p, 0, n* m); - return p; -} - -void -_keybox_free (void *p) -{ - if (p) - free_func (p); -} /* Store the two malloced temporary file names used for keybox updates @@ -146,10 +100,3 @@ keybox_tmp_names (const char *filename, int for_keyring, *r_tmpname = tmp_name; return 0; } - -gpg_error_t -keybox_file_rename (const char *oldname, const char *newname, - int *block_signals) -{ - return gnupg_rename_file (oldname, newname, block_signals); -} diff --git a/kbx/keybox.h b/kbx/keybox.h index 29884b0..665b05f 100644 --- a/kbx/keybox.h +++ b/kbx/keybox.h @@ -127,10 +127,6 @@ int keybox_rebuild_cache (void *); /*-- keybox-util.c --*/ -void keybox_set_malloc_hooks ( void *(*new_alloc_func)(size_t n), - void *(*new_realloc_func)(void *p, size_t n), - void (*new_free_func)(void*) ); - gpg_error_t keybox_tmp_names (const char *filename, int for_keyring, char **r_bakname, char **r_tmpname); diff --git a/sm/gpgsm.c b/sm/gpgsm.c index b505be1..ab08a52 100644 --- a/sm/gpgsm.c +++ b/sm/gpgsm.c @@ -1007,8 +1007,6 @@ main ( int argc, char **argv) assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT); setup_libassuan_logging (&opt.debug, NULL); - keybox_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free); - /* Setup a default control structure for command line mode */ memset (&ctrl, 0, sizeof ctrl); gpgsm_init_default_ctrl (&ctrl); ----------------------------------------------------------------------- Summary of changes: common/logging.h | 26 +++++++++++++++++++++ configure.ac | 2 +- kbx/kbxutil.c | 1 - kbx/keybox-defs.h | 69 +++---------------------------------------------------- kbx/keybox-util.c | 53 ------------------------------------------ kbx/keybox.h | 4 ---- sm/gpgsm.c | 2 -- 7 files changed, 30 insertions(+), 127 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Sat Dec 23 11:55:18 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Sat, 23 Dec 2017 11:55:18 +0100 Subject: [git] gnupg-doc - branch, preview, updated. 2393be191afba40884d51865cac08fb3a05b70d3 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, preview has been updated via 2393be191afba40884d51865cac08fb3a05b70d3 (commit) via 83aff230db94e71597bc4b7e5969c98cc3cf0908 (commit) via 498288915bb4027f319089f79562d68ca828e719 (commit) via e41e20e94fb33cc5d3677bc4b90d406f83d0e834 (commit) via c45870b95706acc7f72a50085ad320e4381858e3 (commit) via 2ce6cfb084f75127faa08d5b689b526cf828498a (commit) via 6c02588df3a5f4c7d73a6242cd17aeda99e13f64 (commit) via ffec1352a05c3dcd44e4199d632038ee0ff28c32 (commit) via e441c90115efb68cfe700c0d8df27e564dfbfe8a (commit) via f11aebe3711ff9833847d5875a36091475d39917 (commit) via d18e52cf0a20afea7ae8f3eed500b7f1e4939c83 (commit) via a61f358526f612e0a27f51bb2ff833e96ad4bb8e (commit) via 07562f9a10d5d69a2e5c988a8904995bb41bd2bf (commit) via 7369dcca7975c5b1b4f887991fe235139a95db36 (commit) via ad887ea38569268b7d241cfa490f71cc293b618f (commit) via 941e2fc964a2de91733b6b5dc2e468a78d714cc2 (commit) via 224b1988ba2fb4d7eb466a19fbd8a946d7412a0a (commit) via 8da70d66e0d3514d065104d132cf98072c6b2bbc (commit) via 2a962277419ac509cfca124397e94691d104fe50 (commit) via 03698ca46cf9d6e7af6951d05c203b418178c956 (commit) via 3b5ccd855bfbc6dd1c72c66967ce5f88f3e60597 (commit) via 5c1ee1ea462e00a337576a58442e79d839b371e5 (commit) via 1b509ef7898619351f9cc551340abc9395f9d27d (commit) via f7dc844cb74346326a567eda9b56a529353d259b (commit) via 7de513b7a1a9b4b9cf0ebddcb367de6d1c9f2a8f (commit) via ec64dfd9b1f61537c80945429defff26f6ef6e31 (commit) via 851eacab6a48d1d5b642c2e4529ce76ec125bfe7 (commit) via ba1fe42a6ba574a8201ab8788a574a862dac586f (commit) via 2691758e1bf56e103f4b28587f17e99203069124 (commit) via f923342634509dd9076709673b8d1bf56c911cb7 (commit) via 4bb81e5ae79457ced41a5f2b467fafcf4eebde3d (commit) via 8fc663510f8aa84e3852bd9e2c23e91b6f7d922e (commit) via 3d80b1935f07a3c4bc03d4f497fde99ca3c2fed2 (commit) via 07cf6d628c4f9036b1579af439a54d944fb15488 (commit) via 084ff18fc464afaf15b15fa7618736bfebb18144 (commit) via 05d2896101decb3aeb28aa5d1f45e9e9efeb84ac (commit) via 926243fc33c16d3dbf86eb04830ee5c09a95d7a1 (commit) via b556dad0c74dbd79c66cb0f623bd8453fe3d7bae (commit) via 075b9032092e903a31374c20d9d6184083c0f175 (commit) via 7419cef037fb2fc6df78b49d1cab555019fed3f8 (commit) via 679c90e1c28c450d58a1d11ef82d9373346cd476 (commit) via 52c0de52ff1588aa1c25a501f1af6a86d03e7211 (commit) via e2d6928a96636adfdd08e49be0e57bf9a5dd6514 (commit) via 1ef11df475f59de3253ee3048ee2b93b9cfdc6ac (commit) via 8efec959f1f4792cefb3de1623157731c7da912b (commit) via 01d93fab0542bd01b11ec89032a04c070b0dc9d6 (commit) via ef82711275cb07232c685d1f4bbc2ab04571201d (commit) via 9f62c504b4565be97f2f603fc4876276d8da0a6b (commit) via 40a42e1f14f43914a06a8d18c492cf9161c12518 (commit) via 20750924afd86f0362fa8bfe1b597cdaebbb5c63 (commit) via 1a205a38ce00cb051eae5248806c882814870cfa (commit) via c6ef2102703908c97aa37817ccb5e4b5062f4d01 (commit) via aa6437473cfbec02c55bbca90c2c9b2db1163087 (commit) via db727ce8df78b95db3c66e521515feb428bb3bb4 (commit) via 0f93d17cdfd591c3ec7ac85fc135b18801f80c6a (commit) via c9288e6fd877bfa58bed593f2be1eb379aa87878 (commit) via 175606f6a5f487f698da373a1675bdce6f4b8d79 (commit) via 2a68ed22be1757a9aaa19f72688c877766917253 (commit) via fec49fa619e7d25c5bea7dc80afcd9f353fc5b3a (commit) via cc6fb3005ccd99c279a26d5a21dcce3fadd6b666 (commit) via a3f2b73370a7b0169d8cfe7ade13fe9ee9a745eb (commit) via 98e5d7a678d5d57f4cb62cc26e167d10b847cba1 (commit) via cb36d1ae20c53fbfba796474898574cece5fc18c (commit) via f5fbb657f1c40614c10d74c6c28a2eee90b91a09 (commit) via cbd448822077402651094bbfd158a53d7b822349 (commit) via 0df7691b59f6a3be2fc58945ce5442fb9ec62822 (commit) via fea357fc405280e4b280aa1fb5490c23605ef21f (commit) via fa2207d6fa76e051bcb3d2145ad66cdc07433d23 (commit) via 306bf36fb3de3c77d07b05f70e253b4e7df04733 (commit) via be360e160fc74b84965c00ee273a156958811324 (commit) via fe58e766af2724fe96e9614a00d0bdde6d702acc (commit) via d641749d033eebc2a61ee5e826313ade7f437291 (commit) via c4c57f90c345f7510f71de6f02f46b323b4d0a74 (commit) via 0550ee5a2657d13e37d8906c447d0270de157f83 (commit) via 5f7892bc53e103f27625e5f5269502f5544335ca (commit) via dca25cfbfa3e80fed891a98929734b6dbb80d1cb (commit) via 2d68f648fbe95021ea090df64a7d3902a516dc0d (commit) via 4cd6b84cfef859cf13d669ade779d2927743f6ac (commit) via d2ac7df3fb9fcaf2f45f6a8e226c14a8500cee23 (commit) via 904ba293ec7ee27f4636b04cc7ca8bc94bbc0f14 (commit) via dae1c1897fa2b47b055748192c1bba59aa288af2 (commit) via 077bca1a74fabaf835e61d5d6d42111c8a88e337 (commit) via ab8ed2d2161eed95342fc2c495b71a7d83deda6f (commit) via 3aba49f2b1dfcd76db5a8d6c41a5c6570b7a3f2c (commit) via 196c591f4dd7bd2889007bff1192bafef52f56ab (commit) via f6e5f1572ecb7cb880c28a56450421a31341b760 (commit) via cdad5f0bc9d0b853e779214654618d52c5dc46f7 (commit) via ac33d6f76550973f2cc559e601cff1e53126b4f6 (commit) via 0faf164596568dd0129e86c52dbe3aacee5175c9 (commit) via ddb59c1fb16aeeb177561dae785450d52ae9107e (commit) via 713d1b397374c78c7a199fc1c4c75bd2d8f0d7bb (commit) via 420cda13f3d2d3391a22fb452f0fca1b6b0791c7 (commit) via 1ba02732c8b87122fb4b0a97a3153a2663015f25 (commit) via 0075cc681c13e9579412d6115e1be0c0c722fc0e (commit) via 1407143b6a50365ce9c52f8fd4ab65939573a923 (commit) via 329cb28391f7fda3a88df03b678cc15d6d338387 (commit) via b8fd72086cbb9a016b72253bfd2ed94f932b974d (commit) via d69e314460ec46666802e1969314795bbfe6a0ef (commit) via d2f076d22348153abeb11f71518d78ea6f5e594e (commit) via 473fb9b30c8edfdc9dddbad85ee19b31ff58a17f (commit) via dd166d8c508184e649ee6e7dc5f46eacf59d7c1e (commit) via 7a1f6d89573a17887459b343aa482f8de979054f (commit) via 2610bd7d3ce7b309fd69fbe9705bddcce9fb38a6 (commit) via c580ac5de36ff17caf40db409af3171c5757c376 (commit) via 5dc247026f6deab18986e89d1dcef5dabeb264b5 (commit) via cc99c4355c2a3971aa5aa69f87b7edb5ba317c59 (commit) via cbc7b683f909b68cc421642c5f5cca0c944edfba (commit) via 46bd6086b946f5556d2be750758e2618f2e9f68b (commit) via 6199ba81f28f4eb2f6a14bfd90149b405298921d (commit) via 91aac71723e2d6dc345da9a56c44f1645d567065 (commit) via 1c0c36f9fa441fc9df6ca172c8f57855322e9f0e (commit) via 4706bdd306010ed5a14e927f21446e661c166da2 (commit) via afb1a5011059410c937feb40ffae6c7292de22ab (commit) via eb1300cb8d13bee8df32e3856f37056cb50107e2 (commit) via d83aebe0b394e1da677976fe0e92094e58f50900 (commit) via a69e5c0c1415829c5fa082e2951565ad2e1afb98 (commit) via 1143a81c46915184313775cde2b46ba59f2a518a (commit) via 54da0b03d0bd95519bf123392483916e89dfdd8a (commit) via 5b13524415476be7351190c1ea5be403f361d0ff (commit) via 2780f8908b7b58f9590ed1f544610916b11c06b1 (commit) via 8f26c705b1e424c606a55f02852148a1ba4bf0e4 (commit) via 300ed7ad084ca45cc780a1b1b51d86c5951943a5 (commit) via f98282752babb7fc9c25726de2246ccc7dc23d0f (commit) via 3e1fc2c516466cc2845e4b9a9674e07ae8f6cf42 (commit) via c27a353b62a9d0d9313e0f66289f50c1a5ab2ece (commit) via fa6cbbad94b60d23ffaacb1aea228f119cf9f301 (commit) via ec9e29368d30d545e4c66eeadd8c7673c0f58bb8 (commit) via 79dff874331970f341a7101b49d32a392e8cc9c1 (commit) via 2989c687789eb07982ad254861c6371572128f13 (commit) via d80450db91f831eee2aca8189a1e492da8491775 (commit) via 4db18abb52afce195c0b77a2d825df361048c9b0 (commit) via 8164268fb5de8c83926cf65e4d5ad00e1c194d57 (commit) via 03efef1cdae1c03e0e167edee1aeaa0ecefb9f8b (commit) via e2f7f7eeae9ca470afd75ecb8944704d34740e87 (commit) via 9258e7ed83c4afb31ba788a3d695a62e17e93004 (commit) via 2decbee37e40fdbc1b350820ae40a57d6e60cff1 (commit) via 54f8c6f024c7ee037ff29db8491e5d05b09a7419 (commit) via 287748632ad98305a4255183be89bbf3711cfb34 (commit) via a8136caa967b1249435b82d187a551b9a66dff18 (commit) via 21db2c318a4dac965dff61ca77ce3238836a2fa3 (commit) via 65cd91cd412e39013cc7c022676252f324459e0f (commit) via 976ab96d7c6bf91a88b5f5f89abb7f3db1e225ff (commit) via ebe4f61582ab1e1c8cb5b5c2f5649cc2687c063c (commit) via b5ea0b175797dbc99795f5eaffdc9a4456dbc9b6 (commit) via ce8b4c57dfc58ec192cf01c1da0e015a7612e861 (commit) via c3fbbbf8cd8fd10890b6b906da0aa96a14e04b4f (commit) via a3ae44856ee0852ab34d72c2e7ea5fe44b2cd5fa (commit) via abf524ed8a67a72b91bc5584cfd69e499636a7d9 (commit) via 275b9ac0804584c22378f59143f07be63c651d0a (commit) via d6543cdf33367d0e662e29b46e90aaa20c6c4e71 (commit) via d13f9b2416d9d17b1f59acaf79f73567cd978db0 (commit) via 5c1f3e66a4504a132d6db051f30a96765a010133 (commit) via b3811843063e595eaa057203692b23d8dd840670 (commit) via 5b8f30a23737b97459d81d29ea5f46e649f618dc (commit) via 9d5edf42f8ce449b3d9f3c045ea3adadfa3541d7 (commit) via 73f701f5d5473ffe38be8bcfe0d82b09763d4ebf (commit) via 1011a4c6648ef1087bbe3f7b4be7bd5c75f30a52 (commit) via c4be83ccf30bd7a079b9d1fae0d302f476b61285 (commit) via 54f62b48ba30b5de3d3359c42432a1f536fa3258 (commit) via 1a53623cee6ac124d20c37ccfa2ba264a05ed2a5 (commit) via 39960a69ba939e393c12dd0fcb3fbd24c38e7fa4 (commit) via 74e67dcdfa36c31e3e1a95bdf505fb7ab70d6452 (commit) via 41e6acc05adfd88742f53dd0ae395c20eae23f57 (commit) via 1ac4364f03d27da15d67ad14be268d2d53ad7f67 (commit) via eb2835fe570367f36df3de0c9eb993d1ca043dbc (commit) via 9e91c5249a9f366ed5d79af9f77ad002bac80bcd (commit) via 9db0fe5575e25d4a56c9b76eeac8ef79493a56eb (commit) via 8692682e2cfb5ebd4a3671a2c87aff2fcc392ade (commit) via 8f84be9c0dd8a305ca14d3a29a13369ce0ce33d9 (commit) via 6e43d09093e9e9669b626c5f0c47f853ce436a6d (commit) via 47c838898ac36aa4372f555d7bca65474ee4956a (commit) via c949b387f73eba6073b02defa58d4ad945302d99 (commit) via b48dfac9f45dc0de09dcf5394df46fab4c27047f (commit) via 9129bd5619b55c89da2881a95c4ab7a1b751ce8d (commit) via 4228b8420ae985dfb023c89491bf165f5c5fc185 (commit) via 40277c477601b8042c6029f59bf2b66dbabd7f54 (commit) via 06438cb45d85f8273cba0adbe362ae1e187b46e8 (commit) via 8f8c60553a698e448d570bd5937a7e1696cb169e (commit) via 32e5b1061981143ee5a84a3c0ac5a79dcb16da1b (commit) via 0c18c5a8d6da239d7bc75782de5a4afe6e91331b (commit) via 00ea4fbb59eef8179f5663349190fabfae0089ee (commit) via ca1dfbb3ca57558f8c81327d13297b24d2b21e55 (commit) via c4944e5dbb820866b573530fac4576ad6683eec7 (commit) via 0aa8486a58002afdf2b29ac5afac712c17884332 (commit) via 06cc385b60ff7b41f2b0242760cc5d87a77324f5 (commit) via 2eac301aa59315e143e93db4e03731c8b02840e9 (commit) via f8518a4ab3ff2520be3b513dbcb800e7645a3f6b (commit) via b87c70b8bcb2a5b4a10eef4475daee47d68198fb (commit) via 8f05fe3001ca2e6cb764cad1f8d2a3b183897412 (commit) via d75e85d6af89b755a89f028af527c14240145c9f (commit) via 725ec2b67640ced3ea0a0deb71299aec8fbb23ee (commit) via 035bc0d1ccdc03f912e49f55cf15f204b27648e6 (commit) via 612f4fd1b0911ed79e1a510bdcdd3215aa32310e (commit) via f6fb4b66eedd07ce781aa878085fb65a4d07c053 (commit) via cc9d79dfef03f0d56537b765ce76f53e3a2c09da (commit) via 2a3df58ca7b2f4a0ce514f0ba73605ace7578fdf (commit) via 3ac24503062ac2ba405f85c8e7f4e4c084ab1946 (commit) via bcda198c3456562d7bbea2dc498ce453553b289b (commit) via 490f71314a2b905b55420fd98b7497a97f53b80b (commit) via b3131137340c6e873fcd2db1554b9113cc62dd4c (commit) via 0dcfb7799adf27d005df4c8e7c501d15c53b535c (commit) via 0a6069b00f02aa63adf284bfa9dd1148cd12fc5e (commit) via e85064eb86522a0a5a635f1c4e48b62bcabd8a6b (commit) via c253cb3fca4d37df3002184367183fa8c010d63f (commit) via 3092e9211c9bf6498778640b7208a80146d023da (commit) via 34f8183f294e2000c9c0b26d3629b4fe42cdcaf9 (commit) from 9b52acd75d6cfe229cd52ddc8d423e6d958b91c8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 2393be191afba40884d51865cac08fb3a05b70d3 Merge: 9b52acd 83aff23 Author: Werner Koch Date: Sat Dec 23 11:49:50 2017 +0100 Merge branch 'master' into preview ----------------------------------------------------------------------- Summary of changes: cgi/procdonate.cgi | 1 + .../blog.gnupg.org/20170606-campaign-launch.de.org | 90 + .../blog.gnupg.org/20170606-campaign-launch.fr.org | 96 ++ ...ign-launch.org => 20170606-campaign-launch.org} | 19 +- ...igmail.org => 20170803-web-key-in-enigmail.org} | 29 +- .../20170904-financial-results-2016.org | 120 ++ ...20171005-gnupg-ccid-card-daemon-UbuntuPhone.org | 485 ++++++ .../data/g10code-bilanz-2016-pub.pdf | Bin 0 -> 58067 bytes misc/blog.gnupg.org/img/UbuntuPhone-GnuPG-card.png | Bin 0 -> 1565379 bytes misc/blog.gnupg.org/img/gnupg-card-insert-card.png | Bin 0 -> 23103 bytes misc/blog.gnupg.org/img/gnupg-card-insert-pin.png | Bin 0 -> 26828 bytes misc/git.gnupg.org/index.html | 2 +- misc/howtos.gnupg.org/card-howto/en/apa.html | 6 +- misc/howtos.gnupg.org/card-howto/en/ch02s02.html | 2 +- .../card-howto/en/smartcard-howto-single.html | 8 +- .../card-howto/en/smartcard-howto.txt | 16 +- misc/id/common/reference.RFC.2782.xml | 14 + ...xt => draft-koch-openpgp-webkey-service-04.txt} | 88 +- ...xt => draft-koch-openpgp-webkey-service-05.txt} | 268 +-- misc/id/openpgp-webkey-service/draft.org | 58 +- misc/jenkins/README.org | 135 +- misc/jenkins/bin/build.bash | 52 +- misc/jenkins/bin/run-tests-w32.bash | 3 +- misc/jenkins/bin/run-tests.bat | 10 +- tools/append-to-donors.sh | 42 +- tools/build-website.sh | 3 + tools/ftp-indexer.c | 1382 ++++++++++++++++ tools/mkkudos.sh | 14 +- tools/txxmpp.c | 861 ++++++++++ web/copying.org | 2 +- web/documentation/howtos.org | 2 +- web/documentation/index.org | 4 +- web/documentation/manpage.org | 6 + web/documentation/pressreview.org | 34 +- web/documentation/sites.org | 4 + web/donate/{index.de.org => camp2017.de.org} | 156 +- web/donate/{index.fr.org => camp2017.fr.org} | 123 +- web/donate/{index.ja.org => camp2017.ja.org} | 132 +- web/donate/{index.org => camp2017.org} | 161 +- web/donate/checkout-bc.de.org | 4 +- web/donate/checkout-bc.fr.org | 4 +- web/donate/checkout-bc.ja.org | 4 +- web/donate/checkout-bc.org | 4 +- web/donate/donate.de.org | 1 + web/donate/donate.fr.org | 1 + web/donate/donate.ja.org | 1 + web/donate/donate.org | 1 + web/donate/index.org | 1735 +------------------- web/donate/{kudos-2013.org => kudos-2017.org} | 14 +- web/donate/kudos.org | 2 + web/donate/logos/pep-green.png | Bin 0 -> 2138 bytes web/download/git.org | 4 +- web/download/index.org | 32 +- web/download/integrity_check.org | 16 +- web/download/mirrors.org | 2 - web/download/release_notes.org | 2 +- web/faq/gnupg-faq.org | 300 ++-- web/faq/whats-new-in-2.1.org | 22 +- web/google2d71f4a9b917f794.html | 1 + web/imprint.org | 5 +- web/index.org | 130 +- web/legal.org | 3 +- web/people/index.org | 26 +- web/share/campaign/campaign.js | 43 +- web/share/campaign/img/thumbs/andrew.jpg | Bin 94799 -> 174081 bytes web/share/campaign/img/thumbs/c5.jpg | Bin 0 -> 27628 bytes web/share/campaign/img/thumbs/cedric.jpg | Bin 0 -> 113184 bytes web/share/campaign/img/thumbs/daniel.jpg | Bin 76314 -> 118827 bytes web/share/campaign/img/thumbs/geoffrey.jpg | Bin 39596 -> 85960 bytes web/share/campaign/img/thumbs/hernani.jpg | Bin 0 -> 154452 bytes web/share/campaign/img/thumbs/jason.jpg | Bin 80872 -> 138618 bytes web/share/campaign/img/thumbs/jochim.jpg | Bin 0 -> 35582 bytes web/share/campaign/img/thumbs/john.jpg | Bin 40764 -> 47187 bytes web/share/campaign/img/thumbs/ksenia.jpg | Bin 0 -> 164246 bytes web/share/campaign/img/thumbs/leez.jpg | Bin 0 -> 149617 bytes web/share/campaign/img/thumbs/meik.jpg | Bin 0 -> 110123 bytes web/share/campaign/img/thumbs/noah.jpg | Bin 91112 -> 169294 bytes web/share/campaign/img/thumbs/rysiek.jpg | Bin 0 -> 74414 bytes .../campaign/img/thumbs/{seanus.jpg => seamus.jpg} | Bin web/share/campaign/img/thumbs/sheera.jpg | Bin 62228 -> 110396 bytes web/share/campaign/img/thumbs/sze.jpg | Bin 87074 -> 70287 bytes web/share/document.png | Bin 0 -> 654 bytes web/share/folder.png | Bin 0 -> 848 bytes web/share/gpgweb.el | 21 +- web/share/logo-gnupg-light-purple-bg.png | Bin 9024 -> 11356 bytes web/share/site.css | 13 + web/share/tar.png | Bin 0 -> 695 bytes web/share/up.png | Bin 0 -> 877 bytes web/signature_key.org | 172 +- web/software/libgcrypt/index.org | 8 + web/software/swlist.org | 10 +- web/swdb.mac | 157 +- web/verein/finances.org | 47 + web/verein/index.org | 28 +- web/verein/members.org | 34 + 95 files changed, 4642 insertions(+), 2633 deletions(-) create mode 100644 misc/blog.gnupg.org/20170606-campaign-launch.de.org create mode 100644 misc/blog.gnupg.org/20170606-campaign-launch.fr.org rename misc/blog.gnupg.org/{draft-20170606-campaign-launch.org => 20170606-campaign-launch.org} (86%) copy misc/blog.gnupg.org/{20170807-web-key-in-enigmail.org => 20170803-web-key-in-enigmail.org} (84%) create mode 100644 misc/blog.gnupg.org/20170904-financial-results-2016.org create mode 100644 misc/blog.gnupg.org/20171005-gnupg-ccid-card-daemon-UbuntuPhone.org create mode 100644 misc/blog.gnupg.org/data/g10code-bilanz-2016-pub.pdf create mode 100644 misc/blog.gnupg.org/img/UbuntuPhone-GnuPG-card.png create mode 100644 misc/blog.gnupg.org/img/gnupg-card-insert-card.png create mode 100644 misc/blog.gnupg.org/img/gnupg-card-insert-pin.png create mode 100644 misc/id/common/reference.RFC.2782.xml copy misc/id/openpgp-webkey-service/{draft-koch-openpgp-webkey-service-03.txt => draft-koch-openpgp-webkey-service-04.txt} (91%) copy misc/id/openpgp-webkey-service/{draft-koch-openpgp-webkey-service-03.txt => draft-koch-openpgp-webkey-service-05.txt} (85%) create mode 100644 tools/ftp-indexer.c create mode 100644 tools/txxmpp.c rename web/donate/{index.de.org => camp2017.de.org} (92%) rename web/donate/{index.fr.org => camp2017.fr.org} (93%) rename web/donate/{index.ja.org => camp2017.ja.org} (93%) copy web/donate/{index.org => camp2017.org} (91%) copy web/donate/{kudos-2013.org => kudos-2017.org} (59%) create mode 100644 web/donate/logos/pep-green.png create mode 100644 web/google2d71f4a9b917f794.html create mode 100644 web/share/campaign/img/thumbs/c5.jpg create mode 100644 web/share/campaign/img/thumbs/cedric.jpg create mode 100644 web/share/campaign/img/thumbs/hernani.jpg create mode 100644 web/share/campaign/img/thumbs/jochim.jpg create mode 100644 web/share/campaign/img/thumbs/ksenia.jpg create mode 100644 web/share/campaign/img/thumbs/leez.jpg create mode 100644 web/share/campaign/img/thumbs/meik.jpg create mode 100644 web/share/campaign/img/thumbs/rysiek.jpg rename web/share/campaign/img/thumbs/{seanus.jpg => seamus.jpg} (100%) create mode 100644 web/share/document.png create mode 100644 web/share/folder.png create mode 100644 web/share/tar.png create mode 100644 web/share/up.png create mode 100644 web/verein/finances.org create mode 100644 web/verein/members.org hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Sat Dec 23 12:04:07 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Sat, 23 Dec 2017 12:04:07 +0100 Subject: [git] gnupg-doc - branch, master, updated. 0ef0b2c638fc1ca47c63c91734d1d75407012c4a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 0ef0b2c638fc1ca47c63c91734d1d75407012c4a (commit) from 03fabb28f25c8f1446ab40811d5c188f3b4c280f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0ef0b2c638fc1ca47c63c91734d1d75407012c4a Author: Ben McGinnes Date: Sat Dec 23 15:52:08 2017 +1100 Grammar in first paragraph. * This paragraph tried to be English and almost made it in parts of one or two sentences ... and now does so in all of them. * No doubt there will be more to find later. * Thanks to @Error26914 on Twitter for the heads up on this bit. diff --git a/web/index.org b/web/index.org index 4fed715..db0271e 100644 --- a/web/index.org +++ b/web/index.org @@ -10,11 +10,11 @@ #+index: Gpg4win GnuPG is a complete and free implementation of the OpenPGP standard as -defined by [[https://www.ietf.org/rfc/rfc4880.txt][RFC4880]] (also known as /PGP/). GnuPG allows to encrypt and -sign your data and communication, features a versatile key management -system as well as access modules for all kinds of public key +defined by [[https://www.ietf.org/rfc/rfc4880.txt][RFC4880]] (also known as /PGP/). GnuPG allows you to encrypt and +sign your data and communications; it features a versatile key management +system, along with access modules for all kinds of public key directories. GnuPG, also known as /GPG/, is a command line tool with -features for easy integration with other applications. A wealth of +features for easy integration with other applications. A wealth of [[file:software/frontends.html][frontend applications]] and [[file:software/libraries.html][libraries]] are available. GnuPG also provides support for S/MIME and Secure Shell (ssh). ----------------------------------------------------------------------- Summary of changes: web/index.org | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 24 13:08:07 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Sun, 24 Dec 2017 13:08:07 +0100 Subject: [git] gnupg-doc - branch, master, updated. b05ad05ae599e642e6e1b13b39f1cfa59f8e376d Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via b05ad05ae599e642e6e1b13b39f1cfa59f8e376d (commit) from 0ef0b2c638fc1ca47c63c91734d1d75407012c4a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b05ad05ae599e642e6e1b13b39f1cfa59f8e376d Author: Ben McGinnes Date: Sun Dec 24 23:02:00 2017 +1100 Grammar tweak. * A couple of minor oddities of translation (I suspect). diff --git a/web/faq/whats-new-in-2.1.org b/web/faq/whats-new-in-2.1.org index 4dd871e..1fb3fb8 100644 --- a/web/faq/whats-new-in-2.1.org +++ b/web/faq/whats-new-in-2.1.org @@ -18,7 +18,7 @@ GnuPG version 2.0 and aware that GnuPG consists of /gpg/, /gpgsm/, and /gpg-agent/ as its main components. #+html:
-- The file /secring.gpg/ is not anymore used to store the secret keys. +- The file /secring.gpg/ is not used to store the secret keys anymore. Merging of secret keys is now supported.{{{more(nosecring)}}} - All support for /PGP-2 keys/ has been removed for security @@ -50,8 +50,8 @@ GnuPG version 2.0 and aware that GnuPG consists of /gpg/, /gpgsm/, and way.{{{more(keyserver)}}} - A new format for locally storing the public keys is now used. This - considerable speeds up operations on large - keyrings.{{{more(keybox)}}} + speeds up operations on large keyrings + considerably.{{{more(keybox)}}} - /Revocation certificates/ are now created by default.{{{more(autorev)}}} ----------------------------------------------------------------------- Summary of changes: web/faq/whats-new-in-2.1.org | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Wed Dec 27 09:25:42 2017 From: cvs at cvs.gnupg.org (by NIIBE Yutaka) Date: Wed, 27 Dec 2017 09:25:42 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.4-5-g4f88b0f Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 4f88b0f56134af2ce56d434b7acd47fcf9b6f7cf (commit) from a6849888295f0e0872c948cd72a59374bb867777 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4f88b0f56134af2ce56d434b7acd47fcf9b6f7cf Author: NIIBE Yutaka Date: Wed Dec 27 17:20:03 2017 +0900 scd: Fix for inactive card at start by internal CCID driver. * scd/ccid-driver.c (do_close_reader): Set NULL on close. (bulk_in): Move DEBUGOUT and check by EP_INTR. (ccid_get_atr): Clear powered_off flag after initial status check. -- Many card readers automatically turn on inserted card, but some defaults to turning off at start. GnuPG-bug-id: 3508 Signed-off-by: NIIBE Yutaka diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 4f4a32d..5046da5 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -1778,6 +1778,7 @@ do_close_reader (ccid_driver_t handle) } libusb_free_transfer (handle->transfer); + handle->transfer = NULL; } libusb_release_interface (handle->idev, handle->ifc_no); --ccid_usb_thread_is_alive; @@ -2038,10 +2039,14 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length, /* * Communication failure by device side. * Possibly, it was forcibly suspended and resumed. + * + * Only detect this kind of failure when interrupt transfer is + * not supported. For card reader with interrupt transfer + * support removal is detected by intr_cb. */ - DEBUGOUT ("CCID: card inactive/removed\n"); - if (handle->transfer == NULL) + if (handle->ep_intr < 0) { + DEBUGOUT ("CCID: card inactive/removed\n"); handle->powered_off = 1; scd_kick_the_loop (); } @@ -2539,6 +2544,14 @@ ccid_get_atr (ccid_driver_t handle, if (statusbits == 2) return CCID_DRIVER_ERR_NO_CARD; + /* + * In the first invocation of ccid_slot_status, card reader may + * return CCID_DRIVER_ERR_CARD_INACTIVE and handle->powered_off may + * become 1. Because inactive card is no problem (we are turning it + * ON here), clear the flag. + */ + handle->powered_off = 0; + /* For an inactive and also for an active card, issue the PowerOn command to get the ATR. */ again: ----------------------------------------------------------------------- Summary of changes: scd/ccid-driver.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 29 16:43:30 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 29 Dec 2017 16:43:30 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-0, updated. gnupg-2.0.30-34-ge6dae41 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-0 has been updated via e6dae418c260592c0860519481b5eb92d14329db (commit) from 66f9dbb1ea1805d54e49be559811f7509dbef39f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e6dae418c260592c0860519481b5eb92d14329db Author: Werner Koch Date: Fri Dec 29 16:26:53 2017 +0100 Release 2.0.31 diff --git a/AUTHORS b/AUTHORS index 9b57c16..7e97c85 100644 --- a/AUTHORS +++ b/AUTHORS @@ -3,6 +3,7 @@ Homepage: https://www.gnupg.org Maintainer: Werner Koch Bug reports: http://bugs.gnupg.org Security related bug reports: +End-of-life: 2017-12-31 License: GPLv3+ GnuPG is free software. See the files COPYING for copying conditions. diff --git a/NEWS b/NEWS index 1b646f5..cdf2352 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,11 @@ -Noteworthy changes in version 2.0.31 (unreleased) +Noteworthy changes in version 2.0.31 (2017-12-29) ------------------------------------------------- + This 2.0 branch has reached end-of-life. Please upgrade to 2.2. + + * Minor changes collected over the last 21 months + + Noteworthy changes in version 2.0.30 (2016-03-31) ------------------------------------------------- diff --git a/README b/README index a031c5e..087f7ac 100644 --- a/README +++ b/README @@ -6,6 +6,10 @@ Copyright 1998-2015 Free Software Foundation, Inc. +NOTE: This branch is not anymore supported. + Please upgrade to version 2.2 + + INTRODUCTION ============ ----------------------------------------------------------------------- Summary of changes: AUTHORS | 1 + NEWS | 7 ++++++- README | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 29 16:51:07 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 29 Dec 2017 16:51:07 +0100 Subject: [git] gnupg-doc - branch, master, updated. 5c1e39ab92b3f8b0e331374d22bfaf2ecf7a194e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 5c1e39ab92b3f8b0e331374d22bfaf2ecf7a194e (commit) from b05ad05ae599e642e6e1b13b39f1cfa59f8e376d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5c1e39ab92b3f8b0e331374d22bfaf2ecf7a194e Author: Werner Koch Date: Fri Dec 29 16:46:10 2017 +0100 swdb,web: Release gnupg 2.0.30 but remove references from the web. 2.0 will reach end-of0-life in 2 days and thus it does not make sense to keep on mention it. diff --git a/web/download/index.org b/web/download/index.org index b2f83ae..36da43c 100644 --- a/web/download/index.org +++ b/web/download/index.org @@ -59,9 +59,7 @@ | [[../software/gpgme/index.org][GPGME]] | {{{gpgme_ver}}} | {{{gpgme_date}}} | {{{gpgme_size}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gpgme/gpgme-{{{gpgme_ver}}}.tar.bz2{{{ftpclose}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gpgme/gpgme-{{{gpgme_ver}}}.tar.bz2.sig{{{ftpclose}}} | | [[../software/gpa/index.org][GPA]] | {{{gpa_ver}}} | {{{gpa_date}}} | {{{gpa_size}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gpa/gpa-{{{gpa_ver}}}.tar.bz2{{{ftpclose}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gpa/gpa-{{{gpa_ver}}}.tar.bz2.sig{{{ftpclose}}} | |--------------+------------------------+-------------------------+-------------------------+--------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------| - | GnuPG 2.0 | {{{gnupg20_ver}}} | {{{gnupg20_date}}} | {{{gnupg20_size}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gnupg/gnupg-{{{gnupg20_ver}}}.tar.bz2{{{ftpclose}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gnupg/gnupg-{{{gnupg20_ver}}}.tar.bz2.sig{{{ftpclose}}} | | GnuPG 1.4 | {{{gnupg1_ver}}} | {{{gnupg1_date}}} | {{{gnupg1_size}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gnupg/gnupg-{{{gnupg1_ver}}}.tar.bz2{{{ftpclose}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/gnupg/gnupg-{{{gnupg1_ver}}}.tar.bz2.sig{{{ftpclose}}} | - | Dirmngr 1 | {{{dirmngr_ver}}} | {{{dirmngr_date}}} | {{{dirmngr_size}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/dirmngr/dirmngr-{{{dirmngr_ver}}}.tar.bz2{{{ftpclose}}} | {{{ftpopen}}}{{{ftp_loc_base}}}/dirmngr/dirmngr-{{{dirmngr_ver}}}.tar.bz2.sig{{{ftpclose}}} | |--------------+------------------------+-------------------------+-------------------------+--------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------| {{{check_sig_note}}} @@ -76,17 +74,10 @@ - /GPA/ is a graphical frontend to GnuPG. - - /GnuPG 2.0/ is an older branch of GnuPG. This branch will reach - end-of-life on 2017-12-31. - - /GnuPG 1.4/ is the old, single binary version which still support the unsafe PGP-2 keys. This branch has no dependencies on the - above listed libraries or the Pinnetry. However, it lacks many - features and will receive only important updates. - - - /Dirmngr/ is an optional tool for use with /GnuPG 2.0/. A - modernized version is included in the current GnuPG (2.1) - version. + above listed libraries or the Pinentry. However, it lacks many + modern features and will receive only important updates. ** GnuPG binary releases diff --git a/web/swdb.mac b/web/swdb.mac index 95e7951..2f87b99 100644 --- a/web/swdb.mac +++ b/web/swdb.mac @@ -39,23 +39,15 @@ # -# GnuPG 2.0 +# GnuPG 2.0 (end-of-life) # -#+macro: gnupg20_ver 2.0.30 -#+macro: gnupg20_date 2016-03-31 -#+macro: gnupg20_size 4311k -#+macro: gnupg20_sha1 a9f024588c356a55e2fd413574bfb55b2e18794a -#+macro: gnupg20_sha2 e329785a4f366ba5d72c2c678a7e388b0892ac8440c2f4e6810042123c235d71 +#+macro: gnupg20_ver 2.0.31 +#+macro: gnupg20_date 2017-12-29 +#+macro: gnupg20_size 4324k +#+macro: gnupg20_sha1 a7d5021a6a39dd67942e00a1239e37063edb00f0 +#+macro: gnupg20_sha2 095558cfbba52fba582963e97b0c016889570b4712d6b871abeef2cf93e62293 #+macro: gnupg20_branch STABLE-BRANCH-2-0 -# temporary keep it as "gnupg" -#+macro: gnupg_ver 2.0.30 -#+macro: gnupg_date 2016-03-31 -#+macro: gnupg_size 4311k -#+macro: gnupg_sha1 a9f024588c356a55e2fd413574bfb55b2e18794a -#+macro: gnupg_sha2 e329785a4f366ba5d72c2c678a7e388b0892ac8440c2f4e6810042123c235d71 -#+macro: gnupg_branch STABLE-BRANCH-2-0 - # # GnuPG-1 @@ -138,7 +130,7 @@ # -# DirMngr +# DirMngr (not any longer needed) # #+macro: dirmngr_ver 1.1.1 #+macro: dirmngr_date 2013-04-26 ----------------------------------------------------------------------- Summary of changes: web/download/index.org | 13 ++----------- web/swdb.mac | 22 +++++++--------------- 2 files changed, 9 insertions(+), 26 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 29 20:23:18 2017 From: cvs at cvs.gnupg.org (by Werner Koch) Date: Fri, 29 Dec 2017 20:23:18 +0100 Subject: [git] GnuPG - branch, STABLE-BRANCH-2-2, updated. gnupg-2.2.4-6-g412bb7a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GNU Privacy Guard". The branch, STABLE-BRANCH-2-2 has been updated via 412bb7a801f242d47a82712080cce6ddbb843166 (commit) from 4f88b0f56134af2ce56d434b7acd47fcf9b6f7cf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 412bb7a801f242d47a82712080cce6ddbb843166 Author: Werner Koch Date: Fri Dec 29 20:18:20 2017 +0100 gpg: Allow the use of "cv25519" and "ed25519" in the keygen parms. * g10/keygen.c (gen_ecc): Map curve names. -- See https://lists.gnupg.org/pipermail/gnupg-users/2017-December/059619.html Signed-off-by: Werner Koch diff --git a/g10/keygen.c b/g10/keygen.c index b42afa8..a79b4fb 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -1581,6 +1581,13 @@ gen_ecc (int algo, const char *curve, kbnode_t pub_root, if (!curve || !*curve) return gpg_error (GPG_ERR_UNKNOWN_CURVE); + /* Map the displayed short forms of some curves to their canonical + * names. */ + if (!ascii_strcasecmp (curve, "cv25519")) + curve = "Curve25519"; + else if (!ascii_strcasecmp (curve, "ed25519")) + curve = "Ed25519"; + /* Note that we use the "comp" flag with EdDSA to request the use of a 0x40 compression prefix octet. */ if (algo == PUBKEY_ALGO_EDDSA) ----------------------------------------------------------------------- Summary of changes: g10/keygen.c | 7 +++++++ 1 file changed, 7 insertions(+) hooks/post-receive -- The GNU Privacy Guard http://git.gnupg.org From cvs at cvs.gnupg.org Fri Dec 29 21:58:26 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Fri, 29 Dec 2017 21:58:26 +0100 Subject: [git] gnupg-doc - branch, master, updated. ba965893ef6c946c6be318f63f1f1b41e2eaeaaf Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via ba965893ef6c946c6be318f63f1f1b41e2eaeaaf (commit) via 8e51ad1b7ab043e5e83f743dc091d987d720af03 (commit) from 5c1e39ab92b3f8b0e331374d22bfaf2ecf7a194e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit ba965893ef6c946c6be318f63f1f1b41e2eaeaaf Merge: 8e51ad1 5c1e39a Author: Ben McGinnes Date: Sat Dec 30 07:57:58 2017 +1100 Merge branch 'master' of ssh+git://playfair.gnupg.org/git/gnupg-doc commit 8e51ad1b7ab043e5e83f743dc091d987d720af03 Author: Ben McGinnes Date: Sat Dec 30 07:53:55 2017 +1100 FAQ tweak * Inserted Neomutt as optional native MUA for OS X and *nix (Linux, BSD, etc.) systems. * Neomutt references the same footnote as Mutt (3), but with slight expansion and clarification on using GPGME with either. * Fixed grammatical error in Enigmail footnote (1). diff --git a/web/faq/gnupg-faq.org b/web/faq/gnupg-faq.org index da30a0d..b4fae61 100644 --- a/web/faq/gnupg-faq.org +++ b/web/faq/gnupg-faq.org @@ -689,10 +689,11 @@ is actively developed. | Thunderbird | yes (Enigmail) | (1) | | Gnus | yes ([[https://www.emacswiki.org/emacs/EasyPG][EasyPG]]) | (2) | | Mutt | native | (3) | +| Neomutt | native | (3) | | Apple Mail | yes ([[https://www.gpgtools.org][GPGtools]]) | (4) | (1) With the Enigmail plugin, Thunderbird becomes one of the most - popular GnuPG-aware email clients. it?s under active development + popular GnuPG-aware email clients. It?s under active development and is compatible with the latest Thunderbird releases, with a friendly and welcoming user community. @@ -700,7 +701,9 @@ is actively developed. install the plugin. See the Gnus manual for configuration hints. (3) For best experience make sure to put ~set crypt_use_gpgme~ in your - =~/.muttrc= file. + =~/.muttrc= file. Note that this requires installing Mutt or + Neomutt compiled with GPGME support, refer to the Mutt or Neomutt + documentation for details. (4) As of this writing, Apple Mail is incompatible with PGP/MIME. This is a known bug and people are working on it. @@ -716,12 +719,13 @@ is actively developed. | Thunderbird | yes (Enigmail) | (1) | | Gnus | yes ([[https://www.emacswiki.org/emacs/EasyPG][EasyPG]]) | (2) | | Mutt | native | (3) | +| Neomutt | native | (3) | | Kontact | native | (4) | | Evolution | native | | | Claws-Mail | yes (internal) | | (1) With the Enigmail plugin, Thunderbird becomes one of the most - popular GnuPG-aware email clients. it?s under active development + popular GnuPG-aware email clients. It?s under active development and is compatible with the latest Thunderbird releases, with a friendly and welcoming user community. @@ -729,7 +733,9 @@ is actively developed. install the plugin. See the Gnus manual for configuration hints. (3) For best experience make sure to put ~set crypt_use_gpgme~ in your - =~/.muttrc= file. + =~/.muttrc= file. Note that this requires installing Mutt or + Neomutt compiled with GPGME support, refer to the Mutt or Neomutt + documentation for details. (4) Kontact is KDE?s integrated personal information manager of KDE. It runs anywhere that KDE does, and even on some mobile devices as ----------------------------------------------------------------------- Summary of changes: web/faq/gnupg-faq.org | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org From cvs at cvs.gnupg.org Sun Dec 31 17:13:02 2017 From: cvs at cvs.gnupg.org (by Ben McGinnes) Date: Sun, 31 Dec 2017 17:13:02 +0100 Subject: [git] gnupg-doc - branch, master, updated. 4e3196a2172dc037fe8889bd21d50115e5a02663 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The GnuPG website and other docs". The branch, master has been updated via 4e3196a2172dc037fe8889bd21d50115e5a02663 (commit) from ba965893ef6c946c6be318f63f1f1b41e2eaeaaf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4e3196a2172dc037fe8889bd21d50115e5a02663 Author: Ben McGinnes Date: Mon Jan 1 03:09:34 2018 +1100 Minor edits * Tightened the grammar a little. diff --git a/web/verein/index.org b/web/verein/index.org index 8ef7350..ba128b5 100644 --- a/web/verein/index.org +++ b/web/verein/index.org @@ -5,14 +5,14 @@ * The GnuPG e.V. -In February 2017 several GnuPG developer came together for a 3 day -hackathon. While having some beer in the [[http://www.bilkinfo.de/kneipen/tigges.html][Tigges]] on one evening the +In February 2017 several GnuPG developers came together for a 3 day +hackathon. While having some beer in the [[http://www.bilkinfo.de/kneipen/tigges.html][Tigges]] one evening, the lingering plan for setting up a legal entity was finally agreed upon. -Work on the constitution started right away and the founding assembly -commenced on the next day at 13:37. +Work on the constitution commenced immediately and the founding assembly +commenced the following day at 13:37. The 7 founding members are: Andre Heinecke, Justus Winter, Kai -Michaelis, Marcus Brinkmann, Neal Walfied, Werner Koch, and Yutaka +Michaelis, Marcus Brinkmann, Neal Walfied, Werner Koch and Yutaka Niibe. The elected chair is Werner, the vice Andre, and the cashier Marcus. Marcus resigned on 2017-08-02; a new cashier needs to be elected soon. ----------------------------------------------------------------------- Summary of changes: web/verein/index.org | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- The GnuPG website and other docs http://git.gnupg.org