Compare commits
No commits in common. 'c9' and 'i10cs' have entirely different histories.
@ -1,2 +1,2 @@
|
||||
SOURCES/gnupg-2.3.3.tar.bz2
|
||||
SOURCES/gnupg-2.3.3.tar.bz2.sig
|
||||
SOURCES/gnupg-2.4.5.tar.bz2
|
||||
SOURCES/gnupg-2.4.5.tar.bz2.sig
|
||||
|
@ -1,2 +1,2 @@
|
||||
b19a407076424704f1b00e8265254de1b3061659 SOURCES/gnupg-2.3.3.tar.bz2
|
||||
38fed91a8c4b3ba09977ab06567395448b6f1242 SOURCES/gnupg-2.3.3.tar.bz2.sig
|
||||
ae0935ead29a2dfa34d6b48d70808652bc3ca73b SOURCES/gnupg-2.4.5.tar.bz2
|
||||
408af6802382e453953dac599f851c5c1415fa9b SOURCES/gnupg-2.4.5.tar.bz2.sig
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 34c649b3601383cd11dbc76221747ec16fd68e1b Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Tue, 14 Jun 2022 11:33:27 +0200
|
||||
Subject: [PATCH GnuPG] g10: Fix garbled status messages in NOTATION_DATA
|
||||
|
||||
* g10/cpr.c (write_status_text_and_buffer): Fix off-by-one
|
||||
--
|
||||
|
||||
Depending on the escaping and line wrapping the computed remaining
|
||||
buffer length could be wrong. Fixed by always using a break to
|
||||
terminate the escape detection loop. Might have happened for all
|
||||
status lines which may wrap.
|
||||
|
||||
GnuPG-bug-id: T6027
|
||||
---
|
||||
g10/cpr.c | 13 ++++---------
|
||||
1 file changed, 4 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/g10/cpr.c b/g10/cpr.c
|
||||
index 9bfdd3c34..fa8005d6f 100644
|
||||
--- a/g10/cpr.c
|
||||
+++ b/g10/cpr.c
|
||||
@@ -372,20 +372,15 @@ write_status_text_and_buffer (int no, const char *string,
|
||||
}
|
||||
first = 0;
|
||||
}
|
||||
- for (esc=0, s=buffer, n=len; n && !esc; s++, n--)
|
||||
+ for (esc=0, s=buffer, n=len; n; s++, n--)
|
||||
{
|
||||
if (*s == '%' || *(const byte*)s <= lower_limit
|
||||
|| *(const byte*)s == 127 )
|
||||
esc = 1;
|
||||
if (wrap && ++count > wrap)
|
||||
- {
|
||||
- dowrap=1;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- if (esc)
|
||||
- {
|
||||
- s--; n++;
|
||||
+ dowrap=1;
|
||||
+ if (esc || dowrap)
|
||||
+ break;
|
||||
}
|
||||
if (s != buffer)
|
||||
es_fwrite (buffer, s-buffer, 1, statusfp);
|
||||
--
|
||||
2.37.1
|
||||
|
@ -1,30 +0,0 @@
|
||||
commit eadf12a52c2e230174e076a0dcae68132094cefe
|
||||
Author: Jakub Jelen <jjelen@redhat.com>
|
||||
Date: Thu Feb 24 09:02:53 2022 +0100
|
||||
|
||||
sign: Construct valid AEAD packets.
|
||||
|
||||
* g10/sign.c (sign_symencrypt_file): Insert correct version and AEAD
|
||||
information into symkey packet.
|
||||
|
||||
--
|
||||
|
||||
GnuPG-bug-id: 5856
|
||||
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
|
||||
|
||||
diff --git a/g10/sign.c b/g10/sign.c
|
||||
index bbcfabdb7..2ab76c99b 100644
|
||||
--- a/g10/sign.c
|
||||
+++ b/g10/sign.c
|
||||
@@ -1660,8 +1660,9 @@ sign_symencrypt_file (ctrl_t ctrl, const char *fname, strlist_t locusr)
|
||||
{
|
||||
PKT_symkey_enc *enc = xmalloc_clear( sizeof *enc );
|
||||
|
||||
- enc->version = 4;
|
||||
+ enc->version = cfx.dek->use_aead ? 5 : 4;
|
||||
enc->cipher_algo = cfx.dek->algo;
|
||||
+ enc->aead_algo = cfx.dek->use_aead;
|
||||
enc->s2k = *s2k;
|
||||
pkt.pkttype = PKT_SYMKEY_ENC;
|
||||
pkt.pkt.symkey_enc = enc;
|
||||
|
@ -1,42 +0,0 @@
|
||||
From c4436ebfa58f219190f1244928001b4293293343 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Jelen <jjelen@redhat.com>
|
||||
Date: Tue, 12 Apr 2022 16:26:58 +0200
|
||||
Subject: [PATCH GnuPG] agent: Ignore MD5 Fingerprints for ssh keys
|
||||
|
||||
--
|
||||
* agent/command-ssh.c (add_control_entry): Ignore failure of the MD5
|
||||
digest
|
||||
|
||||
Signed-off-by: Jakub Jelen <jjelen@redhat.com>
|
||||
---
|
||||
agent/command-ssh.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/agent/command-ssh.c b/agent/command-ssh.c
|
||||
index a7784e728..46821e3c8 100644
|
||||
--- a/agent/command-ssh.c
|
||||
+++ b/agent/command-ssh.c
|
||||
@@ -1095,8 +1095,9 @@ add_control_entry (ctrl_t ctrl, ssh_key_type_spec_t *spec,
|
||||
time_t atime = time (NULL);
|
||||
|
||||
err = ssh_get_fingerprint_string (key, GCRY_MD_MD5, &fpr_md5);
|
||||
+ /* ignore the errors as MD5 is not available in FIPS mode */
|
||||
if (err)
|
||||
- goto out;
|
||||
+ fpr_md5 = NULL;
|
||||
|
||||
err = ssh_get_fingerprint_string (key, GCRY_MD_SHA256, &fpr_sha256);
|
||||
if (err)
|
||||
@@ -1113,7 +1114,8 @@ add_control_entry (ctrl_t ctrl, ssh_key_type_spec_t *spec,
|
||||
spec->name,
|
||||
1900+tp->tm_year, tp->tm_mon+1, tp->tm_mday,
|
||||
tp->tm_hour, tp->tm_min, tp->tm_sec,
|
||||
- fpr_md5, fpr_sha256, hexgrip, ttl, confirm? " confirm":"");
|
||||
+ fpr_md5? fpr_md5:"", fpr_sha256, hexgrip, ttl,
|
||||
+ confirm? " confirm":"");
|
||||
|
||||
}
|
||||
out:
|
||||
--
|
||||
2.39.2
|
||||
|
@ -0,0 +1,275 @@
|
||||
From eae28f1bd4a5632e8f8e85b7248d1c4d4a10a5ed Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Mon, 23 Jan 2023 16:34:19 +0100
|
||||
Subject: [PATCH] doc: Remove profile and systemd example files.
|
||||
|
||||
--
|
||||
|
||||
The profiles are not any longer useful because global options are way
|
||||
more powerful (/etc/gnupg/gpg.conf et al.). The use of systemd is
|
||||
deprecated because of additional complexity and the race between
|
||||
systemd based autolaunching and the explicit gnupg based and lockfile
|
||||
protected autolaunching.
|
||||
|
||||
GnuPG-bug-id: 6336
|
||||
---
|
||||
diff --git b/doc/Makefile.am a/doc/Makefile.am
|
||||
index 390153c76..0093c43a8 100644
|
||||
--- b/doc/Makefile.am
|
||||
+++ a/doc/Makefile.am
|
||||
@@ -22,6 +22,14 @@ AM_CPPFLAGS =
|
||||
examples/qualified.txt \
|
||||
examples/common.conf \
|
||||
examples/gpgconf.rnames examples/gpgconf.conf \
|
||||
+ examples/systemd-user/README \
|
||||
+ examples/systemd-user/dirmngr.service \
|
||||
+ examples/systemd-user/dirmngr.socket \
|
||||
+ examples/systemd-user/gpg-agent.service \
|
||||
+ examples/systemd-user/gpg-agent.socket \
|
||||
+ examples/systemd-user/gpg-agent-ssh.socket \
|
||||
+ examples/systemd-user/gpg-agent-browser.socket \
|
||||
+ examples/systemd-user/gpg-agent-extra.socket \
|
||||
examples/pwpattern.list
|
||||
|
||||
helpfiles = help.txt help.be.txt help.ca.txt help.cs.txt \
|
||||
diff --git b/doc/Makefile.in a/doc/Makefile.in
|
||||
index 390153c76..0093c43a8 100644
|
||||
--- b/doc/Makefile.in
|
||||
+++ a/doc/Makefile.in
|
||||
@@ -475,6 +475,14 @@ AM_CPPFLAGS =
|
||||
examples/qualified.txt \
|
||||
examples/common.conf \
|
||||
examples/gpgconf.rnames examples/gpgconf.conf \
|
||||
+ examples/systemd-user/README \
|
||||
+ examples/systemd-user/dirmngr.service \
|
||||
+ examples/systemd-user/dirmngr.socket \
|
||||
+ examples/systemd-user/gpg-agent.service \
|
||||
+ examples/systemd-user/gpg-agent.socket \
|
||||
+ examples/systemd-user/gpg-agent-ssh.socket \
|
||||
+ examples/systemd-user/gpg-agent-browser.socket \
|
||||
+ examples/systemd-user/gpg-agent-extra.socket \
|
||||
examples/pwpattern.list
|
||||
|
||||
helpfiles = help.txt help.be.txt help.ca.txt help.cs.txt \
|
||||
diff --git b/doc/examples/README a/doc/examples/README
|
||||
index cd341ab57..67508c471 100644
|
||||
--- b/doc/examples/README
|
||||
+++ a/doc/examples/README
|
||||
@@ -8,6 +8,8 @@ trustlist.txt A list of trustworthy root certificates
|
||||
|
||||
gpgconf.conf A sample configuration file for gpgconf.
|
||||
|
||||
+systemd-user Sample files for a Linux-only init system.
|
||||
+
|
||||
qualified.txt Sample file for qualified.txt.
|
||||
|
||||
common.conf Sample file for common options.
|
||||
diff --git b/doc/examples/gpgconf.conf a/doc/examples/gpgconf.conf
|
||||
index 314b955b9..a61d4d453 100644
|
||||
--- b/doc/examples/gpgconf.conf
|
||||
+++ a/doc/examples/gpgconf.conf
|
||||
@@ -1,9 +1,5 @@
|
||||
# gpgconf.conf - configuration for gpgconf
|
||||
#----------------------------------------------------------------------
|
||||
-#
|
||||
-# === The use of this feature is deprecated ===
|
||||
-# == Please use the more powerful global options. ==
|
||||
-#
|
||||
# This file is read by gpgconf(1) to setup defaults for all or
|
||||
# specified users and groups. It may be used to change the hardwired
|
||||
# defaults in gpgconf and to enforce certain values for the various
|
||||
diff --git b/doc/examples/systemd-user/README a/doc/examples/systemd-user/README
|
||||
new file mode 100644
|
||||
index 000000000..43122f568
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/README
|
||||
@@ -0,0 +1,66 @@
|
||||
+Socket-activated dirmngr and gpg-agent with systemd
|
||||
+===================================================
|
||||
+
|
||||
+When used on a GNU/Linux system supervised by systemd, you can ensure
|
||||
+that the GnuPG daemons dirmngr and gpg-agent are launched
|
||||
+automatically the first time they're needed, and shut down cleanly at
|
||||
+session logout. This is done by enabling user services via
|
||||
+socket-activation.
|
||||
+
|
||||
+System distributors
|
||||
+-------------------
|
||||
+
|
||||
+The *.service and *.socket files (from this directory) should be
|
||||
+placed in /usr/lib/systemd/user/ alongside other user-session services
|
||||
+and sockets.
|
||||
+
|
||||
+To enable socket-activated dirmngr for all accounts on the system,
|
||||
+use:
|
||||
+
|
||||
+ systemctl --user --global enable dirmngr.socket
|
||||
+
|
||||
+To enable socket-activated gpg-agent for all accounts on the system,
|
||||
+use:
|
||||
+
|
||||
+ systemctl --user --global enable gpg-agent.socket
|
||||
+
|
||||
+Additionally, you can enable socket-activated gpg-agent ssh-agent
|
||||
+emulation for all accounts on the system with:
|
||||
+
|
||||
+ systemctl --user --global enable gpg-agent-ssh.socket
|
||||
+
|
||||
+You can also enable restricted ("--extra-socket"-style) gpg-agent
|
||||
+sockets for all accounts on the system with:
|
||||
+
|
||||
+ systemctl --user --global enable gpg-agent-extra.socket
|
||||
+
|
||||
+Individual users
|
||||
+----------------
|
||||
+
|
||||
+A user on a system with systemd where this has not been installed
|
||||
+system-wide can place these files in ~/.config/systemd/user/ to make
|
||||
+them available.
|
||||
+
|
||||
+If a given service isn't installed system-wide, or if it's installed
|
||||
+system-wide but not globally enabled, individual users will still need
|
||||
+to enable them. For example, to enable socket-activated dirmngr for
|
||||
+all future sessions:
|
||||
+
|
||||
+ systemctl --user enable dirmngr.socket
|
||||
+
|
||||
+To enable socket-activated gpg-agent with ssh support, do:
|
||||
+
|
||||
+ systemctl --user enable gpg-agent.socket gpg-agent-ssh.socket
|
||||
+
|
||||
+These changes won't take effect until your next login after you've
|
||||
+fully logged out (be sure to terminate any running daemons before
|
||||
+logging out).
|
||||
+
|
||||
+If you'd rather try a socket-activated GnuPG daemon in an
|
||||
+already-running session without logging out (with or without enabling
|
||||
+it for all future sessions), kill any existing daemon and start the
|
||||
+user socket directly. For example, to set up socket-activated dirmgnr
|
||||
+in the current session:
|
||||
+
|
||||
+ gpgconf --kill dirmngr
|
||||
+ systemctl --user start dirmngr.socket
|
||||
diff --git b/doc/examples/systemd-user/dirmngr.service a/doc/examples/systemd-user/dirmngr.service
|
||||
new file mode 100644
|
||||
index 000000000..3c060cde5
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/dirmngr.service
|
||||
@@ -0,0 +1,8 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG network certificate management daemon
|
||||
+Documentation=man:dirmngr(8)
|
||||
+Requires=dirmngr.socket
|
||||
+
|
||||
+[Service]
|
||||
+ExecStart=/usr/bin/dirmngr --supervised
|
||||
+ExecReload=/usr/bin/gpgconf --reload dirmngr
|
||||
diff --git b/doc/examples/systemd-user/dirmngr.socket a/doc/examples/systemd-user/dirmngr.socket
|
||||
new file mode 100644
|
||||
index 000000000..ebabf896a
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/dirmngr.socket
|
||||
@@ -0,0 +1,11 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG network certificate management daemon
|
||||
+Documentation=man:dirmngr(8)
|
||||
+
|
||||
+[Socket]
|
||||
+ListenStream=%t/gnupg/S.dirmngr
|
||||
+SocketMode=0600
|
||||
+DirectoryMode=0700
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sockets.target
|
||||
diff --git b/doc/examples/systemd-user/gpg-agent-browser.socket a/doc/examples/systemd-user/gpg-agent-browser.socket
|
||||
new file mode 100644
|
||||
index 000000000..bc8d344e1
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/gpg-agent-browser.socket
|
||||
@@ -0,0 +1,13 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG cryptographic agent and passphrase cache (access for web browsers)
|
||||
+Documentation=man:gpg-agent(1)
|
||||
+
|
||||
+[Socket]
|
||||
+ListenStream=%t/gnupg/S.gpg-agent.browser
|
||||
+FileDescriptorName=browser
|
||||
+Service=gpg-agent.service
|
||||
+SocketMode=0600
|
||||
+DirectoryMode=0700
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sockets.target
|
||||
diff --git b/doc/examples/systemd-user/gpg-agent-extra.socket a/doc/examples/systemd-user/gpg-agent-extra.socket
|
||||
new file mode 100644
|
||||
index 000000000..5b87d09df
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/gpg-agent-extra.socket
|
||||
@@ -0,0 +1,13 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG cryptographic agent and passphrase cache (restricted)
|
||||
+Documentation=man:gpg-agent(1)
|
||||
+
|
||||
+[Socket]
|
||||
+ListenStream=%t/gnupg/S.gpg-agent.extra
|
||||
+FileDescriptorName=extra
|
||||
+Service=gpg-agent.service
|
||||
+SocketMode=0600
|
||||
+DirectoryMode=0700
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sockets.target
|
||||
diff --git b/doc/examples/systemd-user/gpg-agent-ssh.socket a/doc/examples/systemd-user/gpg-agent-ssh.socket
|
||||
new file mode 100644
|
||||
index 000000000..798c1d967
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/gpg-agent-ssh.socket
|
||||
@@ -0,0 +1,13 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG cryptographic agent (ssh-agent emulation)
|
||||
+Documentation=man:gpg-agent(1) man:ssh-add(1) man:ssh-agent(1) man:ssh(1)
|
||||
+
|
||||
+[Socket]
|
||||
+ListenStream=%t/gnupg/S.gpg-agent.ssh
|
||||
+FileDescriptorName=ssh
|
||||
+Service=gpg-agent.service
|
||||
+SocketMode=0600
|
||||
+DirectoryMode=0700
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sockets.target
|
||||
diff --git b/doc/examples/systemd-user/gpg-agent.service a/doc/examples/systemd-user/gpg-agent.service
|
||||
new file mode 100644
|
||||
index 000000000..a050fccdc
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/gpg-agent.service
|
||||
@@ -0,0 +1,8 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG cryptographic agent and passphrase cache
|
||||
+Documentation=man:gpg-agent(1)
|
||||
+Requires=gpg-agent.socket
|
||||
+
|
||||
+[Service]
|
||||
+ExecStart=/usr/bin/gpg-agent --supervised
|
||||
+ExecReload=/usr/bin/gpgconf --reload gpg-agent
|
||||
diff --git b/doc/examples/systemd-user/gpg-agent.socket a/doc/examples/systemd-user/gpg-agent.socket
|
||||
new file mode 100644
|
||||
index 000000000..4257c2c80
|
||||
--- /dev/null
|
||||
+++ a/doc/examples/systemd-user/gpg-agent.socket
|
||||
@@ -0,0 +1,12 @@
|
||||
+[Unit]
|
||||
+Description=GnuPG cryptographic agent and passphrase cache
|
||||
+Documentation=man:gpg-agent(1)
|
||||
+
|
||||
+[Socket]
|
||||
+ListenStream=%t/gnupg/S.gpg-agent
|
||||
+FileDescriptorName=std
|
||||
+SocketMode=0600
|
||||
+DirectoryMode=0700
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sockets.target
|
||||
--
|
||||
2.41.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,200 @@
|
||||
From 1e4f1550996334d2a631a5d769e937d29ace47bb Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Jelen <jjelen@redhat.com>
|
||||
Date: Thu, 9 Feb 2023 16:38:58 +0100
|
||||
Subject: [PATCH gnupg] Revert the introduction of the RFC4880bis draft into
|
||||
defaults
|
||||
|
||||
This reverts commit 4583f4fe2 (gpg: Merge --rfc4880bis features into
|
||||
--gnupg, 2022-10-31).
|
||||
---
|
||||
g10/gpg.c | 35 ++++++++++++++++++++++++++++++++---
|
||||
g10/keygen.c | 30 ++++++++++++++++++------------
|
||||
2 files changed, 50 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/g10/gpg.c b/g10/gpg.c
|
||||
index dcab0a11a..796888013 100644
|
||||
--- a/g10/gpg.c
|
||||
+++ b/g10/gpg.c
|
||||
@@ -247,6 +247,7 @@ enum cmd_and_opt_values
|
||||
oGnuPG,
|
||||
oRFC2440,
|
||||
oRFC4880,
|
||||
+ oRFC4880bis,
|
||||
oOpenPGP,
|
||||
oPGP7,
|
||||
oPGP8,
|
||||
@@ -636,6 +637,7 @@ static gpgrt_opt_t opts[] = {
|
||||
ARGPARSE_s_n (oGnuPG, "no-pgp8", "@"),
|
||||
ARGPARSE_s_n (oRFC2440, "rfc2440", "@"),
|
||||
ARGPARSE_s_n (oRFC4880, "rfc4880", "@"),
|
||||
+ ARGPARSE_s_n (oRFC4880bis, "rfc4880bis", "@"),
|
||||
ARGPARSE_s_n (oOpenPGP, "openpgp", N_("use strict OpenPGP behavior")),
|
||||
ARGPARSE_s_n (oPGP7, "pgp6", "@"),
|
||||
ARGPARSE_s_n (oPGP7, "pgp7", "@"),
|
||||
@@ -978,7 +980,6 @@ static gpgrt_opt_t opts[] = {
|
||||
ARGPARSE_s_n (oNoop, "no-allow-multiple-messages", "@"),
|
||||
ARGPARSE_s_s (oNoop, "aead-algo", "@"),
|
||||
ARGPARSE_s_s (oNoop, "personal-aead-preferences","@"),
|
||||
- ARGPARSE_s_n (oNoop, "rfc4880bis", "@"),
|
||||
ARGPARSE_s_n (oNoop, "override-compliance-check", "@"),
|
||||
|
||||
|
||||
@@ -2227,7 +2228,7 @@ static struct gnupg_compliance_option compliance_options[] =
|
||||
{
|
||||
{ "gnupg", oGnuPG },
|
||||
{ "openpgp", oOpenPGP },
|
||||
- { "rfc4880bis", oGnuPG },
|
||||
+ { "rfc4880bis", oRFC4880bis },
|
||||
{ "rfc4880", oRFC4880 },
|
||||
{ "rfc2440", oRFC2440 },
|
||||
{ "pgp6", oPGP7 },
|
||||
@@ -2243,8 +2244,28 @@ static struct gnupg_compliance_option compliance_options[] =
|
||||
static void
|
||||
set_compliance_option (enum cmd_and_opt_values option)
|
||||
{
|
||||
+ opt.flags.rfc4880bis = 0; /* Clear because it is initially set. */
|
||||
+
|
||||
switch (option)
|
||||
{
|
||||
+ case oRFC4880bis:
|
||||
+ opt.flags.rfc4880bis = 1;
|
||||
+ opt.compliance = CO_RFC4880;
|
||||
+ opt.flags.dsa2 = 1;
|
||||
+ opt.flags.require_cross_cert = 1;
|
||||
+ opt.rfc2440_text = 0;
|
||||
+ opt.allow_non_selfsigned_uid = 1;
|
||||
+ opt.allow_freeform_uid = 1;
|
||||
+ opt.escape_from = 1;
|
||||
+ opt.not_dash_escaped = 0;
|
||||
+ opt.def_cipher_algo = 0;
|
||||
+ opt.def_digest_algo = 0;
|
||||
+ opt.cert_digest_algo = 0;
|
||||
+ opt.compress_algo = -1;
|
||||
+ opt.s2k_mode = 3; /* iterated+salted */
|
||||
+ opt.s2k_digest_algo = DIGEST_ALGO_SHA256;
|
||||
+ opt.s2k_cipher_algo = CIPHER_ALGO_AES256;
|
||||
+ break;
|
||||
case oOpenPGP:
|
||||
case oRFC4880:
|
||||
/* This is effectively the same as RFC2440, but with
|
||||
@@ -2288,6 +2309,7 @@ set_compliance_option (enum cmd_and_opt_values option)
|
||||
case oPGP8: opt.compliance = CO_PGP8; break;
|
||||
case oGnuPG:
|
||||
opt.compliance = CO_GNUPG;
|
||||
+ opt.flags.rfc4880bis = 1;
|
||||
break;
|
||||
|
||||
case oDE_VS:
|
||||
@@ -2491,6 +2513,7 @@ main (int argc, char **argv)
|
||||
opt.emit_version = 0;
|
||||
opt.weak_digests = NULL;
|
||||
opt.compliance = CO_GNUPG;
|
||||
+ opt.flags.rfc4880bis = 1;
|
||||
|
||||
/* Check special options given on the command line. */
|
||||
orig_argc = argc;
|
||||
@@ -3033,6 +3056,7 @@ main (int argc, char **argv)
|
||||
case oOpenPGP:
|
||||
case oRFC2440:
|
||||
case oRFC4880:
|
||||
+ case oRFC4880bis:
|
||||
case oPGP7:
|
||||
case oPGP8:
|
||||
case oGnuPG:
|
||||
@@ -3862,6 +3886,11 @@ main (int argc, char **argv)
|
||||
if( may_coredump && !opt.quiet )
|
||||
log_info(_("WARNING: program may create a core file!\n"));
|
||||
|
||||
+ if (!opt.flags.rfc4880bis)
|
||||
+ {
|
||||
+ opt.mimemode = 0; /* This will use text mode instead. */
|
||||
+ }
|
||||
+
|
||||
if (eyes_only) {
|
||||
if (opt.set_filename)
|
||||
log_info(_("WARNING: %s overrides %s\n"),
|
||||
@@ -4078,7 +4107,7 @@ main (int argc, char **argv)
|
||||
/* Check our chosen algorithms against the list of legal
|
||||
algorithms. */
|
||||
|
||||
- if(!GNUPG)
|
||||
+ if(!GNUPG && !opt.flags.rfc4880bis)
|
||||
{
|
||||
const char *badalg=NULL;
|
||||
preftype_t badtype=PREFTYPE_NONE;
|
||||
diff --git a/g10/keygen.c b/g10/keygen.c
|
||||
index a2cfe3ccf..2a1dd1f81 100644
|
||||
--- a/g10/keygen.c
|
||||
+++ b/g10/keygen.c
|
||||
@@ -404,7 +404,7 @@ keygen_set_std_prefs (const char *string,int personal)
|
||||
strcat(dummy_string,"S7 ");
|
||||
strcat(dummy_string,"S2 "); /* 3DES */
|
||||
|
||||
- if (!openpgp_aead_test_algo (AEAD_ALGO_OCB))
|
||||
+ if (opt.flags.rfc4880bis && !openpgp_aead_test_algo (AEAD_ALGO_OCB))
|
||||
strcat(dummy_string,"A2 ");
|
||||
|
||||
if (personal)
|
||||
@@ -889,7 +889,7 @@ keygen_upd_std_prefs (PKT_signature *sig, void *opaque)
|
||||
/* Make sure that the MDC feature flag is set if needed. */
|
||||
add_feature_mdc (sig,mdc_available);
|
||||
add_feature_aead (sig, aead_available);
|
||||
- add_feature_v5 (sig, 1);
|
||||
+ add_feature_v5 (sig, opt.flags.rfc4880bis);
|
||||
add_keyserver_modify (sig,ks_modify);
|
||||
keygen_add_keyserver_url(sig,NULL);
|
||||
|
||||
@@ -3382,7 +3382,10 @@ parse_key_parameter_part (ctrl_t ctrl,
|
||||
}
|
||||
}
|
||||
else if (!ascii_strcasecmp (s, "v5"))
|
||||
- keyversion = 5;
|
||||
+ {
|
||||
+ if (opt.flags.rfc4880bis)
|
||||
+ keyversion = 5;
|
||||
+ }
|
||||
else if (!ascii_strcasecmp (s, "v4"))
|
||||
keyversion = 4;
|
||||
else
|
||||
@@ -3641,7 +3644,7 @@ parse_key_parameter_part (ctrl_t ctrl,
|
||||
* ecdsa := Use algorithm ECDSA.
|
||||
* eddsa := Use algorithm EdDSA.
|
||||
* ecdh := Use algorithm ECDH.
|
||||
- * v5 := Create version 5 key
|
||||
+ * v5 := Create version 5 key (requires option --rfc4880bis)
|
||||
*
|
||||
* There are several defaults and fallbacks depending on the
|
||||
* algorithm. PART can be used to select which part of STRING is
|
||||
@@ -4513,9 +4516,9 @@ read_parameter_file (ctrl_t ctrl, const char *fname )
|
||||
}
|
||||
}
|
||||
|
||||
- if ((keywords[i].key == pVERSION
|
||||
- || keywords[i].key == pSUBVERSION))
|
||||
- ; /* Ignore version. */
|
||||
+ if (!opt.flags.rfc4880bis && (keywords[i].key == pVERSION
|
||||
+ || keywords[i].key == pSUBVERSION))
|
||||
+ ; /* Ignore version unless --rfc4880bis is active. */
|
||||
else
|
||||
{
|
||||
r = xmalloc_clear( sizeof *r + strlen( value ) );
|
||||
@@ -4610,11 +4613,14 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
|
||||
para = r;
|
||||
}
|
||||
|
||||
- r = xmalloc_clear (sizeof *r + 20);
|
||||
- r->key = for_subkey? pSUBVERSION : pVERSION;
|
||||
- snprintf (r->u.value, 20, "%d", version);
|
||||
- r->next = para;
|
||||
- para = r;
|
||||
+ if (opt.flags.rfc4880bis)
|
||||
+ {
|
||||
+ r = xmalloc_clear (sizeof *r + 20);
|
||||
+ r->key = for_subkey? pSUBVERSION : pVERSION;
|
||||
+ snprintf (r->u.value, 20, "%d", version);
|
||||
+ r->next = para;
|
||||
+ para = r;
|
||||
+ }
|
||||
|
||||
if (keytime)
|
||||
{
|
@ -0,0 +1,86 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
eK+6lfilQuveoUwp/Xx5wXPNUy6q4eOOovCW7gS7I7288NGHCa2ul8sD6vA9C4mM
|
||||
4Zxaole9P9wwJe1zZFtCIy88zHM9vqv+YM9DxMCaW24+rUztr7eD4bCRdG+QlSh+
|
||||
7R/TaqSxY1eAAd1J5tma9CNJO73pTKU+/JhTBGFpSqMTCSskAwMCCAEBBwIDBF6X
|
||||
D9NmUQDgiyYNbhs1DMJ14mIw812wY1HVx/4QWYWiBunhrvSFxVbzsjD7/Wv+v3bm
|
||||
MPrL+M2DLyFiSewNmcS0JEdudVBHLmNvbSAoUmVsZWFzZSBTaWduaW5nIEtleSAy
|
||||
MDIxKYiaBBMTCABCFiEEAvON/3Mf+XywOaHaVJ5pXpBboggFAmFpSqMCGwMFCQ9x
|
||||
14oFCwkIBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEFSeaV6QW6IITkoA/RYa
|
||||
jaTl1eEBU/Gdm12o3jrI55N5xZK2XTqSx25clVyjAP0XwMW/Og5+ND1ri3bAqADV
|
||||
WlBDUswz8wYxsb0C4kYBkoh1BBAWCgAdFiEEbapuZKdtKEBXG0kCUoiXuCZAOtoF
|
||||
AmFpTvEACgkQUoiXuCZAOtrJQAEAh7YyykjAy/Qs1yC3ji8iBfIVnPXvblrIx3SR
|
||||
RyDwRC8BAKtZbEuKTtPlgkLUgMleTcZJ/vEhJE+GvfQ9o5gWCqEFiHUEEBYKAB0W
|
||||
IQTB00tpIZ5K7sC6HCHj/f8hjkW3KwUCYWlPWgAKCRDj/f8hjkW3Kx4eAQDp6aGS
|
||||
N/fU4xLl8RSvQUVjVA+aCTrMQR3hRwqw8liF2wEA3O3ECxz6e1+DoItYoJBBLKLw
|
||||
eiInsGZ/+h5XYrpXTgA=
|
||||
=4+Sn
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
Loading…
Reference in new issue