aboutsummaryrefslogtreecommitdiff
path: root/security/gnupg1
diff options
context:
space:
mode:
authorJun Kuriyama <kuriyama@FreeBSD.org>2005-02-12 09:29:35 +0000
committerJun Kuriyama <kuriyama@FreeBSD.org>2005-02-12 09:29:35 +0000
commit89f68eeeddc5a37a774b6e40c64950339adb89f0 (patch)
tree9629bb7f95c3fc49b95664059c722bb7fa48fcb3 /security/gnupg1
parentfcd9285b315dc9a53e123b84068f306bef5f77a3 (diff)
downloadports-89f68eeeddc5a37a774b6e40c64950339adb89f0.tar.gz
ports-89f68eeeddc5a37a774b6e40c64950339adb89f0.zip
Add a workaround patch to avoid protocol attack (but will not be
Notes
Notes: svn path=/head/; revision=128594
Diffstat (limited to 'security/gnupg1')
-rw-r--r--security/gnupg1/Makefile2
-rw-r--r--security/gnupg1/files/patch-cfb48
2 files changed, 49 insertions, 1 deletions
diff --git a/security/gnupg1/Makefile b/security/gnupg1/Makefile
index ae9060298c5a..1d15b2da2af8 100644
--- a/security/gnupg1/Makefile
+++ b/security/gnupg1/Makefile
@@ -7,7 +7,7 @@
PORTNAME= gnupg
PORTVERSION= 1.4.0
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= security
MASTER_SITES= ${MASTER_SITE_GNUPG}
MASTER_SITE_SUBDIR= gnupg
diff --git a/security/gnupg1/files/patch-cfb b/security/gnupg1/files/patch-cfb
new file mode 100644
index 000000000000..5355e5d71569
--- /dev/null
+++ b/security/gnupg1/files/patch-cfb
@@ -0,0 +1,48 @@
+Index: include/cipher.h
+===================================================================
+RCS file: /cvs/gnupg/gnupg/include/cipher.h,v
+retrieving revision 1.63
+diff -u -r1.63 cipher.h
+--- include/cipher.h 29 Nov 2004 21:14:18 -0000 1.63
++++ include/cipher.h 8 Feb 2005 04:10:29 -0000
+@@ -75,6 +75,7 @@
+ int keylen;
+ int algo_info_printed;
+ int use_mdc;
++ int symmetric;
+ byte key[32]; /* this is the largest used keylen (256 bit) */
+ } DEK;
+
+Index: g10/mainproc.c
+===================================================================
+RCS file: /cvs/gnupg/gnupg/g10/mainproc.c,v
+retrieving revision 1.161
+diff -u -r1.161 mainproc.c
+--- g10/mainproc.c 21 Oct 2004 19:18:47 -0000 1.161
++++ g10/mainproc.c 8 Feb 2005 04:10:30 -0000
+@@ -330,6 +330,8 @@
+
+ if(c->dek)
+ {
++ c->dek->symmetric=1;
++
+ /* FIXME: This doesn't work perfectly if a symmetric
+ key comes before a public key in the message - if
+ the user doesn't know the passphrase, then there is
+Index: g10/encr-data.c
+===================================================================
+RCS file: /cvs/gnupg/gnupg/g10/encr-data.c,v
+retrieving revision 1.30
+diff -u -r1.30 encr-data.c
+--- g10/encr-data.c 8 Oct 2004 21:54:26 -0000 1.30
++++ g10/encr-data.c 8 Feb 2005 04:10:30 -0000
+@@ -125,7 +125,7 @@
+ cipher_sync( dfx.cipher_hd );
+ p = temp;
+ /* log_hexdump( "prefix", temp, nprefix+2 ); */
+- if( p[nprefix-2] != p[nprefix] || p[nprefix-1] != p[nprefix+1] ) {
++ if( dek->symmetric && (p[nprefix-2] != p[nprefix] || p[nprefix-1] != p[nprefix+1]) ) {
+ rc = G10ERR_BAD_KEY;
+ goto leave;
+ }
+