aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-09-11 09:29:13 +0000
committerWerner Koch <[email protected]>2017-09-11 09:29:13 +0000
commit7089dcc54099a4909ce7d386c07ab87e1398e2eb (patch)
tree483740105bddfaa3f2ce116b2c4e8bea13c7d9c6
parentPost release updates (diff)
downloadgnupg-7089dcc54099a4909ce7d386c07ab87e1398e2eb.tar.gz
gnupg-7089dcc54099a4909ce7d386c07ab87e1398e2eb.zip
gpg: Fix key generation with only an email part.
* g10/keygen.c (proc_parameter_file): Special case the email only case. -- Using a parameter file like %ask-passphrase key-type: RSA key-length: 2048 key-usage: sign subkey-type: RSA subkey-length: 2048 subkey-usage: encrypt name-email: [email protected] with "gpg --gen-key --patch" the result was this key pub rsa2048 2017-09-11 [SC] 63A8C1BA12CC289A0E8072C971C7F8D4A18CE0BE uid [ultimate] <[email protected]> sub rsa2048 2017-09-11 [E] At least the the extra leading space the left angle bracket is wrong. Further some mail providers reject keys which consist of more than just a plain mail address. Using just a mail address is anyway the new new suggested content for a user id. With this patch the key will be pub rsa2048 2017-09-11 [SC] B302343C20EA6DECDB6A155135352F2520397080 uid [ultimate] [email protected] sub rsa2048 2017-09-11 [E] Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--g10/keygen.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/g10/keygen.c b/g10/keygen.c
index 6a3d32345..08bc62131 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -3530,7 +3530,14 @@ proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const char *fname,
if( s2 )
p = stpcpy(stpcpy(stpcpy(p," ("), s2 ),")");
if( s3 )
- p = stpcpy(stpcpy(stpcpy(p," <"), s3 ),">");
+ {
+ /* If we have only the email part, do not add the space
+ * and the angle brackets. */
+ if (*p)
+ p = stpcpy(stpcpy(stpcpy(p," <"), s3 ),">");
+ else
+ p = stpcpy (p, s3);
+ }
append_to_parameter (para, r);
have_user_id=1;
}