blob: b50a32f40c38367b84816f18ac6df77844d68944 [file] [log] [blame]
Upstream-Status: Backport
CVE: CVE-2013-4351
Index: gnupg-1.4.7/g10/getkey.c
===================================================================
--- gnupg-1.4.7.orig/g10/getkey.c 2007-03-05 16:54:41.000000000 +0800
+++ gnupg-1.4.7/g10/getkey.c 2013-11-28 14:41:59.640212240 +0800
@@ -1454,7 +1454,11 @@
if(flags)
key_usage |= PUBKEY_USAGE_UNKNOWN;
+ if (!key_usage)
+ key_usage |= PUBKEY_USAGE_NONE;
}
+ else if (p)
+ key_usage |= PUBKEY_USAGE_NONE;
/* We set PUBKEY_USAGE_UNKNOWN to indicate that this key has a
capability that we do not handle. This serves to distinguish
Index: gnupg-1.4.7/g10/keygen.c
===================================================================
--- gnupg-1.4.7.orig/g10/keygen.c 2007-02-05 00:27:40.000000000 +0800
+++ gnupg-1.4.7/g10/keygen.c 2013-11-28 14:43:05.016670092 +0800
@@ -209,9 +209,6 @@
if (use & PUBKEY_USAGE_AUTH)
buf[0] |= 0x20;
- if (!buf[0])
- return;
-
build_sig_subpkt (sig, SIGSUBPKT_KEY_FLAGS, buf, 1);
}
Index: gnupg-1.4.7/include/cipher.h
===================================================================
--- gnupg-1.4.7.orig/include/cipher.h 2006-04-21 20:39:49.000000000 +0800
+++ gnupg-1.4.7/include/cipher.h 2013-11-28 14:49:24.159322744 +0800
@@ -52,6 +52,7 @@
#define PUBKEY_USAGE_CERT 4 /* key is also good to certify other keys*/
#define PUBKEY_USAGE_AUTH 8 /* key is good for authentication */
#define PUBKEY_USAGE_UNKNOWN 128 /* key has an unknown usage bit */
+#define PUBKEY_USAGE_NONE 256 /* No usage given. */
#define DIGEST_ALGO_MD5 1
#define DIGEST_ALGO_SHA1 2