ports/122187: [patch] ipsec-tools failed build on FreeBSD 7.0 when RC5 is ON
Dmitry A Grigorovich
odip at bionet.nsc.ru
Fri Mar 28 11:40:02 UTC 2008
>Number: 122187
>Category: ports
>Synopsis: [patch] ipsec-tools failed build on FreeBSD 7.0 when RC5 is ON
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 28 11:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Dmitry A Grigorovich
>Release: FreeBSD 7.0-RELEASE i386
>Organization:
ICiG SB RAS, Novisibirsk, Russia
>Environment:
System: FreeBSD elf.bionet.nsc.ru 7.0-RELEASE FreeBSD 7.0-RELEASE #0
>Description:
On FreeBSD 7.0 try to build security/ipsec-tools with option RC5 is ON
root at elf# cd /usr/ports/security/ipsec-tools
root at elf# make showconfig
===> The following configuration options are available for ipsec-tools-0.7:
DEBUG=on "enable Debug support"
IPV6=on "enable IPV6 support"
ADMINPORT=on "enable Admin port"
STATS=on "enable Statistics logging function"
DPD=on "enable Dead Peer Detection"
NATT=off "enable NAT-Traversal (kernel-patch required)"
NATTF=off "require NAT-Traversal (fail without kernel-patch)"
FRAG=on "enable IKE fragmentation payload support"
HYBRID=on "enable Hybrid Mode-cfg and Xauth support"
PAM=on "enable PAM authentication"
GSSAPI=off "enable GSS-API authentication"
RADIUS=off "enable Radius authentication"
SAUNSPEC=off "enable Unspecified SA mode"
RC5=on "enable RC5 encryption (patented)"
IDEA=on "enable IDEA encryption (patented)"
===> Use 'make config' to modify these settings
root at elf# make build
...
cc -DHAVE_CONFIG_H -I. -I../.. -I./../libipsec -I./../../src/racoon/missing -D_GNU_SOURCE -DSYSCONFDIR=\"/usr/local/etc/racoon\" -DADMINPORTDIR=\"/var/db/racoon\" -pipe -march=pentiumpro -g -Wall -Werror -Wno-unused -DEAYDEBUG -o crypto_openssl_test.o -c ./crypto_openssl.c
cc1: warnings being treated as errors
./crypto_openssl.c: In function 'eay_rc5_encrypt':
./crypto_openssl.c:1394: warning: pointer targets in passing argument 3 of 'RC5_32_set_key' differ in signedness
./crypto_openssl.c:1402: warning: pointer targets in passing argument 1 of 'RC5_32_cbc_encrypt' differ in signedness
./crypto_openssl.c:1402: warning: pointer targets in passing argument 2 of 'RC5_32_cbc_encrypt' differ in signedness
./crypto_openssl.c:1402: warning: pointer targets in passing argument 5 of 'RC5_32_cbc_encrypt' differ in signedness
./crypto_openssl.c: In function 'eay_rc5_decrypt':
./crypto_openssl.c:1415: warning: pointer targets in passing argument 3 of 'RC5_32_set_key' differ in signedness
./crypto_openssl.c:1423: warning: pointer targets in passing argument 1 of 'RC5_32_cbc_encrypt' differ in signedness
./crypto_openssl.c:1423: warning: pointer targets in passing argument 2 of 'RC5_32_cbc_encrypt' differ in signedness
./crypto_openssl.c:1423: warning: pointer targets in passing argument 5 of 'RC5_32_cbc_encrypt' differ in signedness
*** Error code 1
Stop in /usr/ports/security/ipsec-tools/work/ipsec-tools-0.7/src/racoon.
*** Error code 1
Stop in /usr/ports/security/ipsec-tools/work/ipsec-tools-0.7/src.
*** Error code 1
Stop in /usr/ports/security/ipsec-tools/work/ipsec-tools-0.7.
*** Error code 1
Stop in /usr/ports/security/ipsec-tools/work/ipsec-tools-0.7.
*** Error code 1
Stop in /usr/ports/security/ipsec-tools.
*** Error code 1
Stop in /usr/ports/security/ipsec-tools.
==============================
On FreeBSD 6.3 bulding with same settings is OK
>How-To-Repeat:
See above !
>Fix:
Add following patch to /usr/ports/security/ipsec-tools/files/
Rebuild security/ipsec-tools
--- patch-crypto_openssl.c begins here ---
--- src/racoon/crypto_openssl.c.orig 2006-12-18 16:18:10.000000000 +0600
+++ src/racoon/crypto_openssl.c 2008-03-28 16:36:05.000000000 +0600
@@ -1391,15 +1391,15 @@
RC5_32_KEY ks;
/* in RFC 2451, there is information about the number of round. */
- RC5_32_set_key(&ks, key->l, key->v, 16);
+ RC5_32_set_key(&ks, key->l, (unsigned char*)key->v, 16);
/* allocate buffer for result */
if ((res = vmalloc(data->l)) == NULL)
return NULL;
/* decryption data */
- RC5_32_cbc_encrypt(data->v, res->v, data->l,
- &ks, iv->v, RC5_ENCRYPT);
+ RC5_32_cbc_encrypt( (unsigned char*)data->v, (unsigned char*)res->v, data->l,
+ &ks, (unsigned char*)iv->v, RC5_ENCRYPT);
return res;
}
@@ -1412,15 +1412,15 @@
RC5_32_KEY ks;
/* in RFC 2451, there is information about the number of round. */
- RC5_32_set_key(&ks, key->l, key->v, 16);
+ RC5_32_set_key(&ks, key->l, (unsigned char*)key->v, 16);
/* allocate buffer for result */
if ((res = vmalloc(data->l)) == NULL)
return NULL;
/* decryption data */
- RC5_32_cbc_encrypt(data->v, res->v, data->l,
- &ks, iv->v, RC5_DECRYPT);
+ RC5_32_cbc_encrypt( (unsigned char*)data->v, (unsigned char*)res->v, data->l,
+ &ks, (unsigned char*)iv->v, RC5_DECRYPT);
return res;
}
--- patch-crypto_openssl.c ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list