diff options
-rw-r--r-- | package/openssl/Makefile | 6 | ||||
-rw-r--r-- | package/openssl/patches/110-optimize-for-size.patch | 9 | ||||
-rw-r--r-- | package/openssl/patches/150-no_engines.patch | 38 | ||||
-rw-r--r-- | package/openssl/patches/180-gcc_breakage.patch | 252 |
4 files changed, 25 insertions, 280 deletions
diff --git a/package/openssl/Makefile b/package/openssl/Makefile index 86c584b7eb..fa11c160d3 100644 --- a/package/openssl/Makefile +++ b/package/openssl/Makefile @@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssl -PKG_VERSION:=0.9.8e -PKG_RELEASE:=3 +PKG_VERSION:=0.9.8g +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.openssl.org/source/ \ ftp://ftp.funet.fi/pub/crypt/cryptography/libs/openssl/source/ \ ftp://ftp.webmonster.de/pub/openssl/source/ \ ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/ -PKG_MD5SUM:=3a7ff24f6ea5cd711984722ad654b927 +PKG_MD5SUM:=acf70a16359bf3658bdfb74bda1c4419 include $(INCLUDE_DIR)/package.mk diff --git a/package/openssl/patches/110-optimize-for-size.patch b/package/openssl/patches/110-optimize-for-size.patch index e0a1952d32..a1c396cd23 100644 --- a/package/openssl/patches/110-optimize-for-size.patch +++ b/package/openssl/patches/110-optimize-for-size.patch @@ -1,8 +1,7 @@ -Index: openssl-0.9.8e/Configure -=================================================================== ---- openssl-0.9.8e.orig/Configure 2007-06-04 13:23:32.150846224 +0200 -+++ openssl-0.9.8e/Configure 2007-06-04 13:23:32.217836040 +0200 -@@ -353,6 +353,8 @@ +diff -ur openssl-0.9.8g/Configure openssl-0.9.8g2/Configure +--- openssl-0.9.8g/Configure 2007-09-16 14:24:17.000000000 +0200 ++++ openssl-0.9.8g2/Configure 2008-05-19 22:46:03.000000000 +0200 +@@ -352,6 +352,8 @@ "linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}", "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}", diff --git a/package/openssl/patches/150-no_engines.patch b/package/openssl/patches/150-no_engines.patch index 104cba07a2..1c9e715439 100644 --- a/package/openssl/patches/150-no_engines.patch +++ b/package/openssl/patches/150-no_engines.patch @@ -1,7 +1,21 @@ -Index: openssl-0.9.8e/util/libeay.num -=================================================================== ---- openssl-0.9.8e.orig/util/libeay.num 2007-06-04 13:23:32.021865832 +0200 -+++ openssl-0.9.8e/util/libeay.num 2007-06-04 13:23:33.045710184 +0200 +diff -ur openssl-0.9.8g/Configure openssl-0.9.8g2/Configure +--- openssl-0.9.8g/Configure 2008-05-19 22:49:45.000000000 +0200 ++++ openssl-0.9.8g2/Configure 2008-05-19 22:50:40.000000000 +0200 +@@ -1685,6 +1685,11 @@ + close(OUT); + } + ++# ugly hack to disable engines ++if($target eq "mingwx") { ++ system("sed -e s/^LIB/XLIB/g -i engines/Makefile"); ++} ++ + print <<EOF; + + Configured for $target. +diff -ur openssl-0.9.8g/util/libeay.num openssl-0.9.8g2/util/libeay.num +--- openssl-0.9.8g/util/libeay.num 2007-06-11 18:33:48.000000000 +0200 ++++ openssl-0.9.8g2/util/libeay.num 2008-05-19 22:50:40.000000000 +0200 @@ -2071,7 +2071,6 @@ UI_add_error_string 2633 EXIST::FUNCTION: KRB5_CHECKSUM_free 2634 EXIST::FUNCTION: @@ -67,19 +81,3 @@ Index: openssl-0.9.8e/util/libeay.num EC_GROUP_set_curve_name 3533 EXIST::FUNCTION:EC X509_CERT_PAIR_it 3534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: X509_CERT_PAIR_it 3534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -Index: openssl-0.9.8e/Configure -=================================================================== ---- openssl-0.9.8e.orig/Configure 2007-06-04 13:23:32.598778128 +0200 -+++ openssl-0.9.8e/Configure 2007-06-04 13:23:33.046710032 +0200 -@@ -1644,6 +1644,11 @@ - close(OUT); - } - -+# ugly hack to disable engines -+if($target eq "mingwx") { -+ system("sed -e s/^LIB/XLIB/g -i engines/Makefile"); -+} -+ - print <<EOF; - - Configured for $target. diff --git a/package/openssl/patches/180-gcc_breakage.patch b/package/openssl/patches/180-gcc_breakage.patch deleted file mode 100644 index 5f83dfda7e..0000000000 --- a/package/openssl/patches/180-gcc_breakage.patch +++ /dev/null @@ -1,252 +0,0 @@ -Index: openssl-0.9.8e/crypto/asn1/asn1.h -=================================================================== ---- openssl-0.9.8e.orig/crypto/asn1/asn1.h 2007-06-28 22:59:12.856745040 +0200 -+++ openssl-0.9.8e/crypto/asn1/asn1.h 2007-06-28 23:00:11.137884960 +0200 -@@ -322,6 +322,17 @@ - #define I2D_OF(type) int (*)(type *,unsigned char **) - #define I2D_OF_const(type) int (*)(const type *,unsigned char **) - -+#define CHECKED_D2I_OF(type, d2i) \ -+ ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) -+#define CHECKED_I2D_OF(type, i2d) \ -+ ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) -+#define CHECKED_NEW_OF(type, xnew) \ -+ ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) -+#define CHECKED_PTR_OF(type, p) \ -+ ((void*) (1 ? p : (type*)0)) -+#define CHECKED_PPTR_OF(type, p) \ -+ ((void**) (1 ? p : (type**)0)) -+ - #define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) - #define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) - #define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) -@@ -902,23 +913,41 @@ - - /* Used to implement other functions */ - void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x); -+ - #define ASN1_dup_of(type,i2d,d2i,x) \ -- ((type *(*)(I2D_OF(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(i2d,d2i,x) -+ ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ -+ CHECKED_D2I_OF(type, d2i), \ -+ CHECKED_PTR_OF(type, x))) -+ - #define ASN1_dup_of_const(type,i2d,d2i,x) \ -- ((type *(*)(I2D_OF_const(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(i2d,d2i,x) -+ ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ -+ CHECKED_D2I_OF(type, d2i), \ -+ CHECKED_PTR_OF(const type, x))) - - void *ASN1_item_dup(const ASN1_ITEM *it, void *x); - - #ifndef OPENSSL_NO_FP_API - void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x); -+ - #define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ -- ((type *(*)(type *(*)(void),D2I_OF(type),FILE *,type **))openssl_fcast(ASN1_d2i_fp))(xnew,d2i,in,x) -+ ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ -+ CHECKED_D2I_OF(type, d2i), \ -+ in, \ -+ CHECKED_PPTR_OF(type, x))) -+ - void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); - int ASN1_i2d_fp(i2d_of_void *i2d,FILE *out,void *x); -+ - #define ASN1_i2d_fp_of(type,i2d,out,x) \ -- ((int (*)(I2D_OF(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(i2d,out,x) -+ (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ -+ out, \ -+ CHECKED_PTR_OF(type, x))) -+ - #define ASN1_i2d_fp_of_const(type,i2d,out,x) \ -- ((int (*)(I2D_OF_const(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(i2d,out,x) -+ (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ -+ out, \ -+ CHECKED_PTR_OF(const type, x))) -+ - int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); - int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); - #endif -@@ -927,14 +956,26 @@ - - #ifndef OPENSSL_NO_BIO - void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x); -+ - #define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ -- ((type *(*)(type *(*)(void),D2I_OF(type),BIO *,type **))openssl_fcast(ASN1_d2i_bio))(xnew,d2i,in,x) -+ ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ -+ CHECKED_D2I_OF(type, d2i), \ -+ in, \ -+ CHECKED_PPTR_OF(type, x))) -+ - void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); - int ASN1_i2d_bio(i2d_of_void *i2d,BIO *out, unsigned char *x); -+ - #define ASN1_i2d_bio_of(type,i2d,out,x) \ -- ((int (*)(I2D_OF(type),BIO *,type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x) -+ (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ -+ out, \ -+ CHECKED_PTR_OF(type, x))) -+ - #define ASN1_i2d_bio_of_const(type,i2d,out,x) \ -- ((int (*)(I2D_OF_const(type),BIO *,const type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x) -+ (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ -+ out, \ -+ CHECKED_PTR_OF(const type, x))) -+ - int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); - int ASN1_UTCTIME_print(BIO *fp,ASN1_UTCTIME *a); - int ASN1_GENERALIZEDTIME_print(BIO *fp,ASN1_GENERALIZEDTIME *a); -@@ -977,8 +1018,12 @@ - void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); - ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, - ASN1_OCTET_STRING **oct); -+ - #define ASN1_pack_string_of(type,obj,i2d,oct) \ -- ((ASN1_STRING *(*)(type *,I2D_OF(type),ASN1_OCTET_STRING **))openssl_fcast(ASN1_pack_string))(obj,i2d,oct) -+ (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ -+ CHECKED_I2D_OF(type, i2d), \ -+ oct)) -+ - ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_OCTET_STRING **oct); - - void ASN1_STRING_set_default_mask(unsigned long mask); -Index: openssl-0.9.8e/crypto/pem/pem.h -=================================================================== ---- openssl-0.9.8e.orig/crypto/pem/pem.h 2007-06-28 22:59:46.719597104 +0200 -+++ openssl-0.9.8e/crypto/pem/pem.h 2007-06-28 23:00:11.138884808 +0200 -@@ -220,19 +220,28 @@ - #define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ - type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ - { \ --return(((type *(*)(D2I_OF(type),char *,FILE *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read))(d2i_##asn1, str,fp,x,cb,u)); \ -+ return (type*)PEM_ASN1_read(CHECKED_D2I_OF(type, d2i_##asn1), \ -+ str, fp, \ -+ CHECKED_PPTR_OF(type, x), \ -+ cb, u); \ - } - - #define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ - int PEM_write_##name(FILE *fp, type *x) \ - { \ --return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \ -+ return PEM_ASN1_write(CHECKED_I2D_OF(type, i2d_##asn1), \ -+ str, fp, \ -+ CHECKED_PTR_OF(type, x), \ -+ NULL, NULL, 0, NULL, NULL); \ - } - - #define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ - int PEM_write_##name(FILE *fp, const type *x) \ - { \ --return(((int (*)(I2D_OF_const(type),const char *,FILE *, const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \ -+ return PEM_ASN1_write(CHECKED_I2D_OF(const type, i2d_##asn1), \ -+ str, fp, \ -+ CHECKED_PTR_OF(const type, x), \ -+ NULL, NULL, 0, NULL, NULL); \ - } - - #define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ -@@ -240,7 +249,10 @@ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ -- return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \ -+ return PEM_ASN1_write(CHECKED_I2D_OF(type, i2d_##asn1), \ -+ str, fp, \ -+ CHECKED_PTR_OF(type, x), \ -+ enc, kstr, klen, cb, u); \ - } - - #define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ -@@ -248,7 +260,10 @@ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ -- return(((int (*)(I2D_OF_const(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \ -+ return PEM_ASN1_write(CHECKED_I2D_OF(const type, i2d_##asn1), \ -+ str, fp, \ -+ CHECKED_PTR_OF(const type, x), \ -+ enc, kstr, klen, cb, u); \ - } - - #endif -@@ -256,33 +271,48 @@ - #define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ - type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ - { \ --return(((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i_##asn1, str,bp,x,cb,u)); \ -+ return (type*)PEM_ASN1_read_bio(CHECKED_D2I_OF(type, d2i_##asn1), \ -+ str, bp, \ -+ CHECKED_PPTR_OF(type, x), \ -+ cb, u); \ - } - - #define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ - int PEM_write_bio_##name(BIO *bp, type *x) \ - { \ --return(((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \ -+ return PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d_##asn1), \ -+ str, bp, \ -+ CHECKED_PTR_OF(type, x), \ -+ NULL, NULL, 0, NULL, NULL); \ - } - - #define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ - int PEM_write_bio_##name(BIO *bp, const type *x) \ - { \ --return(((int (*)(I2D_OF_const(type),const char *,BIO *,const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \ -+ return PEM_ASN1_write_bio(CHECKED_I2D_OF(const type, i2d_##asn1), \ -+ str, bp, \ -+ CHECKED_PTR_OF(const type, x), \ -+ NULL, NULL, 0, NULL, NULL); \ - } - - #define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ - int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ -- return(((int (*)(I2D_OF(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \ -+ return PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d_##asn1), \ -+ str, bp, \ -+ CHECKED_PTR_OF(type, x), \ -+ enc, kstr, klen, cb, u); \ - } - - #define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ - int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ -- return(((int (*)(I2D_OF_const(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \ -+ return PEM_ASN1_write_bio(CHECKED_I2D_OF(const type, i2d_##asn1), \ -+ str, bp, \ -+ CHECKED_PTR_OF(const type, x), \ -+ enc, kstr, klen, cb, u); \ - } - - #define IMPLEMENT_PEM_write(name, type, str, asn1) \ -@@ -545,13 +575,22 @@ - pem_password_cb *cb, void *u); - void * PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, - void **x, pem_password_cb *cb, void *u); -+ - #define PEM_ASN1_read_bio_of(type,d2i,name,bp,x,cb,u) \ --((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i,name,bp,x,cb,u) -+ ((type*)PEM_ASN1_read_bio(CHECKED_D2I_OF(type, d2i), \ -+ name, bp, \ -+ CHECKED_PPTR_OF(type, x), \ -+ cb, u)) -+ - int PEM_ASN1_write_bio(i2d_of_void *i2d,const char *name,BIO *bp,char *x, - const EVP_CIPHER *enc,unsigned char *kstr,int klen, - pem_password_cb *cb, void *u); -+ - #define PEM_ASN1_write_bio_of(type,i2d,name,bp,x,enc,kstr,klen,cb,u) \ -- ((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d,name,bp,x,enc,kstr,klen,cb,u) -+ (PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d), \ -+ name, bp, \ -+ CHECKED_PTR_OF(type, x), \ -+ enc, kstr, klen, cb, u)) - - STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); - int PEM_X509_INFO_write_bio(BIO *bp,X509_INFO *xi, EVP_CIPHER *enc, |