retitle 287884 openswan: FTBFS (amd64/gcc-4.0): pointer targets in passing argument 6 of 'recvfrom' differ in signedness thanks
After the latest upload I now get a different error when building 'openswan' on amd64 with gcc-4.0: cc -g -O3 -I../.. -I../../linux/include -I../../include -Wall -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wbad-function-cast -DNAT_TRAVERSAL -DKERNEL_ALG -DIKE_ALG -Werror -c -o ikeping.o ikeping.c cc1: warnings being treated as errors ikeping.c: In function 'receive_ping': ikeping.c:206: warning: pointer targets in passing argument 6 of 'recvfrom' differ in signedness make[3]: *** [ikeping.o] Error 1 make[3]: Leaving directory `/openswan-2.3.0/programs/ikeping' The attached patch make s 'openswan' compile on amd64 with gcc-4.0. Regards Andreas Jochens diff -urN ../tmp-orig/openswan-2.3.0/programs/ikeping/ikeping.c ./programs/ikeping/ikeping.c --- ../tmp-orig/openswan-2.3.0/programs/ikeping/ikeping.c 2004-10-18 01:58:59.000000000 +0200 +++ ./programs/ikeping/ikeping.c 2005-02-06 22:24:22.303154817 +0100 @@ -196,7 +196,8 @@ ip_address sender; struct isakmp_hdr ih; char buf[64]; - int n, rport, sendlen; + int n, rport; + socklen_t sendlen; const char *xchg_name; int xchg; diff -urN ../tmp-orig/openswan-2.3.0/programs/starter/cmp.c ./programs/starter/cmp.c --- ../tmp-orig/openswan-2.3.0/programs/starter/cmp.c 2004-12-01 08:33:14.000000000 +0100 +++ ./programs/starter/cmp.c 2005-02-06 22:24:22.303154817 +0100 @@ -24,7 +24,7 @@ #define streqn(a,b) (a)?((b)?(strcmp(a,b)):(-1)):(b!=NULL) -#define STRCMP(obj) if (streqn(c1->obj,c2->obj)) return -1 +#define STRCMP(obj) if (streqn((char*)c1->obj,(char*)c2->obj)) return -1 #define VARCMP(obj) if (c1->obj!=c2->obj) return -1 #define MEMCMP(obj) if (memcmp(&c1->obj,&c2->obj,sizeof(c1->obj))) return -1 #define ADDCMP(obj) if (addrcmp(&c1->obj,&c2->obj)) return -1 diff -urN ../tmp-orig/openswan-2.3.0/programs/starter/confread.c ./programs/starter/confread.c --- ../tmp-orig/openswan-2.3.0/programs/starter/confread.c 2004-04-11 17:17:30.000000000 +0200 +++ ./programs/starter/confread.c 2005-02-06 22:24:22.304154624 +0100 @@ -347,14 +347,14 @@ char *value = end->strings[KSCF_RSAKEY1]; if (end->rsakey1) free(end->rsakey1); - end->rsakey1 = xstrdup(value); + end->rsakey1 = (unsigned char*)xstrdup(value); } if(end->strings[KSCF_RSAKEY2] != NULL) { char *value = end->strings[KSCF_RSAKEY2]; if (end->rsakey2) free(end->rsakey2); - end->rsakey2 = xstrdup(value); + end->rsakey2 = (unsigned char*)xstrdup(value); } return err; @@ -754,14 +754,15 @@ memset(&conn->link, 0, sizeof(conn->link)); #define CONN_STR(v) if (v) v=xstrdup(v) +#define CONN_STRU(v) if (v) v=(unsigned char*)xstrdup((char*)v) CONN_STR(conn->left.iface); CONN_STR(conn->left.id); - CONN_STR(conn->left.rsakey1); - CONN_STR(conn->left.rsakey2); + CONN_STRU(conn->left.rsakey1); + CONN_STRU(conn->left.rsakey2); CONN_STR(conn->right.iface); CONN_STR(conn->right.id); - CONN_STR(conn->right.rsakey1); - CONN_STR(conn->right.rsakey2); + CONN_STRU(conn->right.rsakey1); + CONN_STRU(conn->right.rsakey2); for(i=0; i<KSCF_MAX; i++) { diff -urN ../tmp-orig/openswan-2.3.0/programs/starter/interfaces.c ./programs/starter/interfaces.c --- ../tmp-orig/openswan-2.3.0/programs/starter/interfaces.c 2004-04-10 18:37:37.000000000 +0200 +++ ./programs/starter/interfaces.c 2005-02-06 22:24:22.304154624 +0100 @@ -322,7 +322,7 @@ int starter_ifaces_load (char **ifaces, unsigned int omtu, int nat_t) { char *tmp_phys, *phys; - int n; + unsigned n; char **i; int sock; int j, found; diff -urN ../tmp-orig/openswan-2.3.0/programs/starter/keywords.c ./programs/starter/keywords.c --- ../tmp-orig/openswan-2.3.0/programs/starter/keywords.c 2004-12-02 17:26:02.000000000 +0100 +++ ./programs/starter/keywords.c 2005-02-06 22:24:22.305154431 +0100 @@ -165,22 +165,22 @@ struct keyword_enum_value kw_klipsdebug_values[]={ - { "all", LRANGE(KDF_XMIT, KDF_COMP) }, - { "none", 0 }, - { "verbose", LELEM(KDF_VERBOSE) }, - { "xmit", LELEM(KDF_XMIT) }, - { "tunnel-xmit", LELEM(KDF_XMIT) }, - { "netlink", LELEM(KDF_NETLINK) }, - { "xform", LELEM(KDF_XFORM) }, - { "eroute", LELEM(KDF_EROUTE) }, - { "spi", LELEM(KDF_SPI) }, - { "radij", LELEM(KDF_RADIJ) }, - { "esp", LELEM(KDF_ESP) }, - { "ah", LELEM(KDF_AH) }, - { "rcv", LELEM(KDF_RCV) }, - { "tunnel", LELEM(KDF_TUNNEL) }, - { "pfkey", LELEM(KDF_PFKEY) }, - { "comp", LELEM(KDF_COMP) }, + { (unsigned char*)"all", LRANGE(KDF_XMIT, KDF_COMP) }, + { (unsigned char*)"none", 0 }, + { (unsigned char*)"verbose", LELEM(KDF_VERBOSE) }, + { (unsigned char*)"xmit", LELEM(KDF_XMIT) }, + { (unsigned char*)"tunnel-xmit", LELEM(KDF_XMIT) }, + { (unsigned char*)"netlink", LELEM(KDF_NETLINK) }, + { (unsigned char*)"xform", LELEM(KDF_XFORM) }, + { (unsigned char*)"eroute", LELEM(KDF_EROUTE) }, + { (unsigned char*)"spi", LELEM(KDF_SPI) }, + { (unsigned char*)"radij", LELEM(KDF_RADIJ) }, + { (unsigned char*)"esp", LELEM(KDF_ESP) }, + { (unsigned char*)"ah", LELEM(KDF_AH) }, + { (unsigned char*)"rcv", LELEM(KDF_RCV) }, + { (unsigned char*)"tunnel", LELEM(KDF_TUNNEL) }, + { (unsigned char*)"pfkey", LELEM(KDF_PFKEY) }, + { (unsigned char*)"comp", LELEM(KDF_COMP) }, }; @@ -379,7 +379,7 @@ assert(kd->validenum != NULL); for(kevcount = kd->validenum->valuesize, kev = kd->validenum->values; - kevcount > 0 && strcasecmp(piece, kev->name)!=0; + kevcount > 0 && strcasecmp(piece, (const char*)kev->name)!=0; kev++, kevcount--); /* if we found something */ @@ -445,7 +445,7 @@ assert(kd->validenum != NULL && kd->validenum->values != NULL); for(kevcount = kd->validenum->valuesize, kev = kd->validenum->values; - kevcount > 0 && strcasecmp(s, kev->name)!=0; + kevcount > 0 && strcasecmp(s, (const char*)kev->name)!=0; kev++, kevcount--); /* if we found something */ diff -urN ../tmp-orig/openswan-2.3.0/programs/starter/starterwhack.c ./programs/starter/starterwhack.c --- ../tmp-orig/openswan-2.3.0/programs/starter/starterwhack.c 2004-12-01 08:33:14.000000000 +0100 +++ ./programs/starter/starterwhack.c 2005-02-06 22:24:22.305154431 +0100 @@ -152,7 +152,7 @@ msg.pubkey_alg = PUBKEY_ALG_RSA; if (end->id && end->rsakey1) { msg.keyid = end->id; - err = atobytes(end->rsakey1, 0, keyspace, sizeof(keyspace), + err = atobytes((char*)end->rsakey1, 0, keyspace, sizeof(keyspace), &msg.keyval.len); if (err) { starter_log(LOG_LEVEL_ERR, "conn %s/%s: rsakey malformed [%s]", @@ -160,13 +160,13 @@ return 1; } else { - msg.keyval.ptr = keyspace; + msg.keyval.ptr = (unsigned char*)keyspace; return send_whack_msg(&msg); } } if (end->id && end->rsakey2) { msg.keyid = end->id; - err = atobytes(end->rsakey2, 0, keyspace, sizeof(keyspace), + err = atobytes((char*)end->rsakey2, 0, keyspace, sizeof(keyspace), &msg.keyval.len); if (err) { starter_log(LOG_LEVEL_ERR, "conn %s/%s: rsakey malformed [%s]", @@ -174,7 +174,7 @@ return 1; } else { - msg.keyval.ptr = keyspace; + msg.keyval.ptr = (unsigned char*)keyspace; return send_whack_msg(&msg); } } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]