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]

Reply via email to