ports/118903: [patch] security/py-pow unbreak fix build with GCC 4.2 + adopt maintainship
Pietro Cerutti
gahr at gahr.ch
Thu Dec 20 20:40:03 UTC 2007
>Number: 118903
>Category: ports
>Synopsis: [patch] security/py-pow unbreak fix build with GCC 4.2 + adopt maintainship
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Dec 20 20:40:03 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Pietro Cerutti
>Release: FreeBSD 8.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD 8.0-CURRENT #18: Tue Dec 18 12:48:22 CET 2007
root at gahrtop.localhost:/usr/obj/usr/src/sys/MSI1034
>Description:
>How-To-Repeat:
>Fix:
--- _py-pow.diff begins here ---
--- Makefile.orig 2007-12-20 19:50:51.000000000 +0100
+++ Makefile 2007-12-20 20:20:13.000000000 +0100
@@ -14,7 +14,7 @@
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= ${PORTNAME:U}-${PORTVERSION}
-MAINTAINER= ports at FreeBSD.org
+MAINTAINER= gahr at gahr.ch
COMMENT= Python OpenSSL Wrappers
USE_PYTHON= yes
@@ -24,11 +24,8 @@
PORTDOCS= POW.pdf
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 700019
-BROKEN= Does not compile on FreeBSD >= 7.0
-.endif
+post-patch:
+ ${REINPLACE_CMD} -e 's|licence|license|' ${WRKSRC}/setup.py
post-install:
.if !defined(NOPORTDOCS)
@@ -38,4 +35,4 @@
.endfor
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
a0 149
--- /dev/null 2007-12-20 21:22:00.000000000 +0100
+++ files/patch-POW.c 2007-12-20 21:32:25.000000000 +0100
@@ -0,0 +1,149 @@
+--- POW.c.orig 2002-09-18 05:54:28.000000000 +0200
++++ POW.c 2007-12-20 21:31:49.000000000 +0100
+@@ -47,8 +47,10 @@
+ #include <openssl/err.h>
+ #include <openssl/md5.h>
+ #include <openssl/md2.h>
++#include <openssl/rsa.h>
+ #include <openssl/sha.h>
+ #include <openssl/hmac.h>
++#include <openssl/ripemd.h>
+
+ #include <time.h>
+
+@@ -304,54 +306,54 @@
+ switch(cipher_type)
+ {
+ #ifndef NO_DES
+- case DES_ECB: return EVP_des_ecb();
+- case DES_EDE: return EVP_des_ede();
+- case DES_EDE3: return EVP_des_ede3();
+- case DES_CFB: return EVP_des_cfb();
+- case DES_EDE_CFB: return EVP_des_ede_cfb();
+- case DES_EDE3_CFB: return EVP_des_ede3_cfb();
+- case DES_OFB: return EVP_des_ofb();
+- case DES_EDE_OFB: return EVP_des_ede_ofb();
+- case DES_EDE3_OFB: return EVP_des_ede3_ofb();
+- case DES_CBC: return EVP_des_cbc();
+- case DES_EDE_CBC: return EVP_des_ede_cbc();
+- case DES_EDE3_CBC: return EVP_des_ede3_cbc();
+- case DESX_CBC: return EVP_desx_cbc();
++ case DES_ECB: return (EVP_CIPHER *) EVP_des_ecb();
++ case DES_EDE: return (EVP_CIPHER *) EVP_des_ede();
++ case DES_EDE3: return (EVP_CIPHER *) EVP_des_ede3();
++ case DES_CFB: return (EVP_CIPHER *) EVP_des_cfb();
++ case DES_EDE_CFB: return (EVP_CIPHER *) EVP_des_ede_cfb();
++ case DES_EDE3_CFB: return (EVP_CIPHER *) EVP_des_ede3_cfb();
++ case DES_OFB: return (EVP_CIPHER *) EVP_des_ofb();
++ case DES_EDE_OFB: return (EVP_CIPHER *) EVP_des_ede_ofb();
++ case DES_EDE3_OFB: return (EVP_CIPHER *) EVP_des_ede3_ofb();
++ case DES_CBC: return (EVP_CIPHER *) EVP_des_cbc();
++ case DES_EDE_CBC: return (EVP_CIPHER *) EVP_des_ede_cbc();
++ case DES_EDE3_CBC: return (EVP_CIPHER *) EVP_des_ede3_cbc();
++ case DESX_CBC: return (EVP_CIPHER *) EVP_desx_cbc();
+ #endif
+ #ifndef NO_RC4
+- case RC4: return EVP_rc4();
+- case RC4_40: return EVP_rc4_40();
++ case RC4: return (EVP_CIPHER *) EVP_rc4();
++ case RC4_40: return (EVP_CIPHER *) EVP_rc4_40();
+ #endif
+ #ifndef NO_IDEA
+- case IDEA_ECB: return EVP_idea_ecb();
+- case IDEA_CFB: return EVP_idea_cfb();
+- case IDEA_OFB: return EVP_idea_ofb();
+- case IDEA_CBC: return EVP_idea_cbc();
++ case IDEA_ECB: return (EVP_CIPHER *) EVP_idea_ecb();
++ case IDEA_CFB: return (EVP_CIPHER *) EVP_idea_cfb();
++ case IDEA_OFB: return (EVP_CIPHER *) EVP_idea_ofb();
++ case IDEA_CBC: return (EVP_CIPHER *) EVP_idea_cbc();
+ #endif
+ #ifndef NO_RC2
+- case RC2_ECB: return EVP_rc2_ecb();
+- case RC2_CBC: return EVP_rc2_cbc();
+- case RC2_40_CBC: return EVP_rc2_40_cbc();
+- case RC2_CFB: return EVP_rc2_cfb();
+- case RC2_OFB: return EVP_rc2_ofb();
++ case RC2_ECB: return (EVP_CIPHER *) EVP_rc2_ecb();
++ case RC2_CBC: return (EVP_CIPHER *) EVP_rc2_cbc();
++ case RC2_40_CBC: return (EVP_CIPHER *) EVP_rc2_40_cbc();
++ case RC2_CFB: return (EVP_CIPHER *) EVP_rc2_cfb();
++ case RC2_OFB: return (EVP_CIPHER *) EVP_rc2_ofb();
+ #endif
+ #ifndef NO_BF
+- case BF_ECB: return EVP_bf_ecb();
+- case BF_CBC: return EVP_bf_cbc();
+- case BF_CFB: return EVP_bf_cfb();
+- case BF_OFB: return EVP_bf_ofb();
++ case BF_ECB: return (EVP_CIPHER *) EVP_bf_ecb();
++ case BF_CBC: return (EVP_CIPHER *) EVP_bf_cbc();
++ case BF_CFB: return (EVP_CIPHER *) EVP_bf_cfb();
++ case BF_OFB: return (EVP_CIPHER *) EVP_bf_ofb();
+ #endif
+ #ifndef NO_CAST5
+- case CAST5_ECB: return EVP_cast5_ecb();
+- case CAST5_CBC: return EVP_cast5_cbc();
+- case CAST5_CFB: return EVP_cast5_cfb();
+- case CAST5_OFB: return EVP_cast5_ofb();
++ case CAST5_ECB: return (EVP_CIPHER *) EVP_cast5_ecb();
++ case CAST5_CBC: return (EVP_CIPHER *) EVP_cast5_cbc();
++ case CAST5_CFB: return (EVP_CIPHER *) EVP_cast5_cfb();
++ case CAST5_OFB: return (EVP_CIPHER *) EVP_cast5_ofb();
+ #endif
+ #ifndef NO_RC5_32_12_16
+- case RC5_32_12_16_CBC: return EVP_rc5_32_12_16_cbc();
+- case RC5_32_12_16_CFB: return EVP_rc5_32_12_16_cfb();
+- case RC5_32_12_16_ECB: return EVP_rc5_32_12_16_ecb();
+- case RC5_32_12_16_OFB: return EVP_rc5_32_12_16_ofb();
++ case RC5_32_12_16_CBC: return (EVP_CIPHER *) EVP_rc5_32_12_16_cbc();
++ case RC5_32_12_16_CFB: return (EVP_CIPHER *) EVP_rc5_32_12_16_cfb();
++ case RC5_32_12_16_ECB: return (EVP_CIPHER *) EVP_rc5_32_12_16_ecb();
++ case RC5_32_12_16_OFB: return (EVP_CIPHER *) EVP_rc5_32_12_16_ofb();
+ #endif
+ default: return NULL;
+ }
+@@ -580,7 +582,7 @@
+ X509_object_der_read(char *src, int len)
+ {
+ x509_object *self;
+- unsigned char *ptr = src;
++ const unsigned char *ptr = src;
+
+ if ( !(self = PyObject_New( x509_object, &x509type ) ) )
+ goto error;
+@@ -2050,7 +2052,7 @@
+ x509_crl_object_der_read(char *src, int len)
+ {
+ x509_crl_object *self;
+- unsigned char* ptr = src;
++ const unsigned char* ptr = src;
+
+ if ( !(self = PyObject_New( x509_crl_object, &x509_crltype ) ) )
+ goto error;
+@@ -2435,7 +2437,7 @@
+ X509_REVOKED_dup(X509_REVOKED *rev)
+ {
+ return((X509_REVOKED *)ASN1_dup((int (*)())i2d_X509_REVOKED,
+- (char *(*)())d2i_X509_REVOKED,(char *)rev));
++ (void *)d2i_X509_REVOKED,(char *)rev));
+ }
+
+ static PyObject *
+@@ -4576,7 +4578,7 @@
+ asymmetric_object_der_read(int key_type, char *src, int len)
+ {
+ asymmetric_object *self=NULL;
+- unsigned char *ptr = src;
++ const unsigned char *ptr = src;
+
+ self = PyObject_New( asymmetric_object, &asymmetrictype );
+ if (self == NULL)
+@@ -5777,7 +5779,7 @@
+ hmac_object_new(int digest_type, char *key, int key_len)
+ {
+ hmac_object *self=NULL;
+- EVP_MD *md=NULL;
++ const EVP_MD *md=NULL;
+
+ self = PyObject_New( hmac_object, &hmactype );
+ if (self == NULL)
--- _py-pow.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list