summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/openssl/files')
-rw-r--r--dev-libs/openssl/files/digest-openssl-0.9.8e-r33
-rw-r--r--dev-libs/openssl/files/openssl-0.9.8e-CVE-2007-5135.patch50
2 files changed, 53 insertions, 0 deletions
diff --git a/dev-libs/openssl/files/digest-openssl-0.9.8e-r3 b/dev-libs/openssl/files/digest-openssl-0.9.8e-r3
new file mode 100644
index 000000000000..1ecd5456a79a
--- /dev/null
+++ b/dev-libs/openssl/files/digest-openssl-0.9.8e-r3
@@ -0,0 +1,3 @@
+MD5 3a7ff24f6ea5cd711984722ad654b927 openssl-0.9.8e.tar.gz 3341665
+RMD160 c1a498606dc0fc7219376b950fab6b53687466db openssl-0.9.8e.tar.gz 3341665
+SHA256 414e8428b95fbc51707965fda31390497d058290356426bfe084b49464a60340 openssl-0.9.8e.tar.gz 3341665
diff --git a/dev-libs/openssl/files/openssl-0.9.8e-CVE-2007-5135.patch b/dev-libs/openssl/files/openssl-0.9.8e-CVE-2007-5135.patch
new file mode 100644
index 000000000000..b42f4d28a89e
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-0.9.8e-CVE-2007-5135.patch
@@ -0,0 +1,50 @@
+http://bugs.gentoo.org/194039
+
+Index: ssl/ssl_lib.c
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/ssl/ssl_lib.c,v
+retrieving revision 1.133.2.9
+retrieving revision 1.133.2.10
+diff -u -p -r1.133.2.9 -r1.133.2.10
+--- ssl/ssl_lib.c 12 Aug 2007 18:59:02 -0000 1.133.2.9
++++ ssl/ssl_lib.c 19 Sep 2007 12:16:21 -0000 1.133.2.10
+@@ -1210,7 +1210,6 @@ int SSL_set_cipher_list(SSL *s,const cha
+ char *SSL_get_shared_ciphers(const SSL *s,char *buf,int len)
+ {
+ char *p;
+- const char *cp;
+ STACK_OF(SSL_CIPHER) *sk;
+ SSL_CIPHER *c;
+ int i;
+@@ -1223,20 +1222,21 @@ char *SSL_get_shared_ciphers(const SSL *
+ sk=s->session->ciphers;
+ for (i=0; i<sk_SSL_CIPHER_num(sk); i++)
+ {
+- /* Decrement for either the ':' or a '\0' */
+- len--;
++ int n;
++
+ c=sk_SSL_CIPHER_value(sk,i);
+- for (cp=c->name; *cp; )
++ n=strlen(c->name);
++ if (n+1 > len)
+ {
+- if (len-- <= 0)
+- {
+- *p='\0';
+- return(buf);
+- }
+- else
+- *(p++)= *(cp++);
++ if (p != buf)
++ --p;
++ *p='\0';
++ return buf;
+ }
++ strcpy(p,c->name);
++ p+=n;
+ *(p++)=':';
++ len-=n+1;
+ }
+ p[-1]='\0';
+ return(buf);