Matthias,

Patch looks good, though why the dummy() functions?  They generate warnings on
gcc 2.96 if you build with --disable-lzo, --disable-crypto, etc.  Some
compiler that doesn't like empty source files?

James

Matthias Andree <ma+ov...@dt.e-technik.uni-dortmund.de> said:

> On Sat, 15 Mar 2003, James Yonan wrote:
> 
> > Yes, I think we should try to fix if it's only a trivial cast involved to
> > silence the warning.
> > 
> > I don't see them on gcc 2.96, even with "-Wall -W -Wpointer-arith
> > -Wsign-compare -Winline".
> 
> Indeed, it takes the sun compiler or the even more picky splint utility
> (www.splint.org) to see them.
> 
> The patch below doesn't fix
> "crypto.c", line 228: warning: end-of-loop code not reached
> 
> also on ll. 237 259 269 273 277 281 286 299 312 327.
> 
> Fixing that would require a rewrite of crypto.c, the issue is the
> 
> do { goto ...; } while(false);
> 
> I'm not fixing this and I don't recommend changing that at this time
> (after 1.3.3 maybe, if you're to fix that at all).
> 
> Here's the patch:
> 
> # buffer.c     |   14 +++++++-------
> # crypto.c     |   12 ++++++------
> # error.c      |    2 +-
> # lzo.c        |    2 ++
> # misc.c       |    2 +-
> # packet_id.c  |    4 ++--
> # reliable.c   |    2 ++
> # session_id.c |    2 ++
> # socket.c     |    4 ++--
> # ssl.c        |    6 ++++--
> # thread.c     |    2 ++
> # tun.c        |    4 ++--
> # 12 files changed, 33 insertions(+), 23 deletions(-)
> 
> Index: buffer.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/buffer.c,v
> retrieving revision 1.11
> diff -u -r1.11 buffer.c
> --- buffer.c  15 Mar 2003 07:18:00 -0000      1.11
> +++ buffer.c  15 Mar 2003 22:42:02 -0000
> @@ -115,14 +115,14 @@
>  {
>    va_list arglist;
>  
> -  char *ptr = BEND (buf);
> +  uint8_t *ptr = BEND (buf);
>    int cap = buf_forward_capacity (buf);
>  
>    va_start (arglist, format);
> -  vsnprintf (ptr, cap, format, arglist);
> +  vsnprintf ((char *)ptr, cap, format, arglist);
>    va_end (arglist);
>  
> -  buf->len += strlen (ptr);
> +  buf->len += strlen ((char *)ptr);
>  }
>  
>  /*
> @@ -137,7 +137,7 @@
>        int len = strlen (str) + 1;
>        if (len < buf_forward_capacity_total (buf))
>       {
> -       strncpynt (buf->data + buf->capacity - len, str, len);
> +       strncpynt ((char *)(buf->data + buf->capacity - len), str, len);
>       }
>      }
>  }
> @@ -148,7 +148,7 @@
>  void
>  convert_to_one_line (struct buffer *buf)
>  {
> -  char *cp = BPTR(buf);
> +  uint8_t *cp = BPTR(buf);
>    int len = BLEN(buf);
>    while (len--)
>      {
> @@ -185,7 +185,7 @@
>    struct gc_entry *e;
>    struct gc_thread* thread = &x_gc_thread[thread_number()];
>  
> -  while (e = thread->gc_stack)
> +  while ((e = thread->gc_stack))
>      {
>        if (e->level < level)
>       break;
> @@ -235,5 +235,5 @@
>        buf_printf (&out, "%02x", data[i]);
>      }
>    buf_catrunc (&out, "[more...]");
> -  return out.data;
> +  return (char *)out.data;
>  }
> Index: crypto.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/crypto.c,v
> retrieving revision 1.14
> diff -u -r1.14 crypto.c
> --- crypto.c  21 Feb 2003 16:14:05 -0000      1.14
> +++ crypto.c  15 Mar 2003 22:42:03 -0000
> @@ -184,7 +184,7 @@
>         HMAC_Update (ctx->hmac, BPTR (&work), BLEN (&work));
>         output = buf_prepend (&work, HMAC_size (ctx->hmac));
>         ASSERT (output);
> -       HMAC_Final (ctx->hmac, output, &hmac_len);
> +       HMAC_Final (ctx->hmac, output, (unsigned int *)&hmac_len);
>         ASSERT (hmac_len == HMAC_size (ctx->hmac));
>       }
>  
> @@ -229,7 +229,7 @@
>  
>         HMAC_Update (ctx->hmac, BPTR (buf) + hmac_len,
>                      BLEN (buf) - hmac_len);
> -       HMAC_Final (ctx->hmac, local_hmac, &in_hmac_len);
> +       HMAC_Final (ctx->hmac, local_hmac, (unsigned int *)&in_hmac_len);
>         ASSERT (hmac_len == in_hmac_len);
>  
>         /* Compare locally computed HMAC with packet HMAC */
> @@ -883,9 +883,9 @@
>    if (fd == -1)
>      msg (M_ERR, "Cannot open shared secret file %s", filename);
>  
> -  while (size = read (fd, in.data, in.capacity))
> +  while ((size = read (fd, in.data, in.capacity)))
>      {
> -      const char *cp = in.data;
> +      const char *cp = (char *)in.data;
>        while (size)
>       {
>         const char c = *cp;
> @@ -923,7 +923,7 @@
>                   if (hb_index == 2)
>                     {
>                       unsigned int u;
> -                     ASSERT(sscanf(hex_byte, "%x", &u) == 1);
> +                     ASSERT(sscanf((const char *)hex_byte, "%x", &u) == 1);
>                       *out++ = u;
>                       hb_index = 0;
>                       if (++count == keylen)
> @@ -982,7 +982,7 @@
>    buf_printf (&out, "%s\n", static_key_foot);
>  
>    /* write data to file */
> -  len = strlen (BPTR(&out));
> +  len = strlen ((char *)BPTR(&out));
>    size = write (fd, BPTR(&out), len);
>    if (size != len)
>      msg (M_ERR, "Write error on shared secret file %s", filename);
> Index: error.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/error.c,v
> retrieving revision 1.15
> diff -u -r1.15 error.c
> --- error.c   15 Mar 2003 07:18:00 -0000      1.15
> +++ error.c   15 Mar 2003 22:42:03 -0000
> @@ -177,7 +177,7 @@
>      {
>        int nerrs = 0;
>        int err;
> -      while (err = ERR_get_error ())
> +      while ((err = ERR_get_error ()))
>       {
>         snprintf (m2, ERR_BUF_SIZE, "%s: %s", m1, ERR_error_string (err, 
> NULL));
>         SWAP;
> Index: lzo.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/lzo.c,v
> retrieving revision 1.11
> diff -u -r1.11 lzo.c
> --- lzo.c     21 Feb 2003 16:14:06 -0000      1.11
> +++ lzo.c     15 Mar 2003 22:42:03 -0000
> @@ -239,4 +239,6 @@
>    msg (M_INFO, " post-decompress bytes:" counter_format,
lzo_compwork->post_decompress);
>  }
>  
> +#else
> +static void dummy(void) {}
>  #endif /* USE_LZO */
> Index: misc.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/misc.c,v
> retrieving revision 1.15
> diff -u -r1.15 misc.c
> --- misc.c    21 Feb 2003 16:14:06 -0000      1.15
> +++ misc.c    15 Mar 2003 22:42:03 -0000
> @@ -285,7 +285,7 @@
>        else
>       buf_printf (&out, "shell command exited with error status: %d", 
> cmd_ret);
>      }
> -  return out.data;
> +  return (const char *)out.data;
>  }
>  
>  /*
> Index: packet_id.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/packet_id.c,v
> retrieving revision 1.11
> diff -u -r1.11 packet_id.c
> --- packet_id.c       21 Feb 2003 16:14:06 -0000      1.11
> +++ packet_id.c       15 Mar 2003 22:42:03 -0000
> @@ -124,7 +124,7 @@
>      }
>  
>    buf_printf (&out, " ]");
> -  return out.data;
> +  return (char *)out.data;
>  }
>  
>  /* initialize the packet_id_persist structure in a disabled state */
> @@ -265,7 +265,7 @@
>      }
>  
>    buf_printf (&out, " ]");
> -  return out.data;
> +  return (char *)out.data;
>  }
>  
>  #ifdef PID_TEST
> Index: reliable.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/reliable.c,v
> retrieving revision 1.10
> diff -u -r1.10 reliable.c
> --- reliable.c        21 Feb 2003 16:14:06 -0000      1.10
> +++ reliable.c        15 Mar 2003 22:42:03 -0000
> @@ -500,4 +500,6 @@
>  
>  #endif
>  
> +#else
> +static void dummy(void) {}
>  #endif /* USE_CRYPTO && USE_SSL*/
> Index: session_id.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/session_id.c,v
> retrieving revision 1.4
> diff -u -r1.4 session_id.c
> --- session_id.c      21 Feb 2003 16:14:06 -0000      1.4
> +++ session_id.c      15 Mar 2003 22:42:03 -0000
> @@ -60,4 +60,6 @@
>    return format_hex (sid->id, SID_SIZE, 0);
>  }
>  
> +#else
> +static void dummy(void) {}
>  #endif /* USE_CRYPTO && USE_SSL*/
> Index: socket.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/socket.c,v
> retrieving revision 1.17
> diff -u -r1.17 socket.c
> --- socket.c  15 Mar 2003 07:18:00 -0000      1.17
> +++ socket.c  15 Mar 2003 22:42:04 -0000
> @@ -255,7 +255,7 @@
>           {
>             char command[256];
>             struct buffer out;
> -           buf_set_write (&out, command, sizeof (command));
> +           buf_set_write (&out, (uint8_t *)command, sizeof (command));
>             buf_printf (&out, "%s %s",
>                         sock->ipchange_command,
>                         print_sockaddr_ex (&usa->actual, true, " "));
> @@ -356,5 +356,5 @@
>  
>        buf_printf (&out, "%d", port);
>      }
> -  return out.data;
> +  return (char *)out.data;
>  }
> Index: ssl.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/ssl.c,v
> retrieving revision 1.30
> diff -u -r1.30 ssl.c
> --- ssl.c     15 Mar 2003 07:18:00 -0000      1.30
> +++ ssl.c     15 Mar 2003 22:42:05 -0000
> @@ -228,7 +228,7 @@
>  system_safe_string (char *cp)
>  {
>    int c;
> -  while (c = *cp)
> +  while ((c = *cp))
>      {
>        if (isalnum (c)
>         || c == '/'
> @@ -494,7 +494,7 @@
>  
>    printf ("Available TLS Ciphers,\n");
>    printf ("listed in order of preference:\n\n");
> -  while (cipher_name = SSL_get_cipher_list (ssl, priority++))
> +  while ((cipher_name = SSL_get_cipher_list (ssl, priority++)))
>      printf ("%s\n", cipher_name);
>    printf ("\n");
>  
> @@ -2491,4 +2491,6 @@
>    return out.data;
>  }
>  
> +#else
> +static void dummy(void) {}
>  #endif /* USE_CRYPTO && USE_SSL*/
> Index: thread.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/thread.c,v
> retrieving revision 1.4
> diff -u -r1.4 thread.c
> --- thread.c  21 Feb 2003 16:14:06 -0000      1.4
> +++ thread.c  15 Mar 2003 22:42:05 -0000
> @@ -175,4 +175,6 @@
>      }
>  }
>  
> +#else
> +static void dummy(void) {}
>  #endif
> Index: tun.c
> ===================================================================
> RCS file: /cvsroot/openvpn/openvpn/tun.c,v
> retrieving revision 1.25
> diff -u -r1.25 tun.c
> --- tun.c     15 Mar 2003 07:18:00 -0000      1.25
> +++ tun.c     15 Mar 2003 22:42:05 -0000
> @@ -609,7 +609,7 @@
>  {
>    struct strbuf sbuf;
>    sbuf.len = len;
> -  sbuf.buf = buf;
> +  sbuf.buf = (char *)buf;
>    return putmsg (tt->fd, NULL, &sbuf, 0) >= 0 ? sbuf.len : -1;
>  }
>  
> @@ -620,7 +620,7 @@
>    int f = 0;
>  
>    sbuf.maxlen = len;
> -  sbuf.buf = buf;
> +  sbuf.buf = (char *)buf;
>    return getmsg (tt->fd, NULL, &sbuf, &f) >= 0 ? sbuf.len : -1;
>  }
>  
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by:Crypto Challenge is now open! 
> Get cracking and register here for some mind boggling fun and 
> the chance of winning an Apple iPod:
> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
> 



-- 




Reply via email to