Brent Cook(bust...@gmail.com) on 2015.11.22 16:32:49 -0600:
> 
> Finally getting around to trying out nc on some more platforms for
> LibreSSL-portable, and ran into Sun/Oracle's silly definition of 'sun'
> in the system headers. OK to rename the local sockaddr_un variables?

ok benno@
 
> Portable contains a patch full of #ifdef's around other systems-specific
> nc features (e.g. rdomain support). I'm not sure if any of those
> should also move into cvs or stay in the portable patch.

while for nc it might be fine (small programm etc) i would not like to have
this elsewhere (i.e. ntpd, relayd, bgpd...) because it will make reading the
code harder.

i'm ok with restructuring our code a bit if it reduces your ifdef hell.
 
> Index: netcat.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/nc/netcat.c,v
> retrieving revision 1.143
> diff -u -p -u -p -r1.143 netcat.c
> --- netcat.c  13 Nov 2015 18:13:13 -0000      1.143
> +++ netcat.c  22 Nov 2015 22:26:08 -0000
> @@ -643,7 +643,7 @@ main(int argc, char *argv[])
>  int
>  unix_bind(char *path, int flags)
>  {
> -     struct sockaddr_un sun;
> +     struct sockaddr_un s_un;
>       int s;
> 
>       /* Create unix domain socket. */
> @@ -651,17 +651,17 @@ unix_bind(char *path, int flags)
>           0)) < 0)
>               return (-1);
> 
> -     memset(&sun, 0, sizeof(struct sockaddr_un));
> -     sun.sun_family = AF_UNIX;
> +     memset(&s_un, 0, sizeof(struct sockaddr_un));
> +     s_un.sun_family = AF_UNIX;
> 
> -     if (strlcpy(sun.sun_path, path, sizeof(sun.sun_path)) >=
> -         sizeof(sun.sun_path)) {
> +     if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >=
> +         sizeof(s_un.sun_path)) {
>               close(s);
>               errno = ENAMETOOLONG;
>               return (-1);
>       }
> 
> -     if (bind(s, (struct sockaddr *)&sun, sizeof(sun)) < 0) {
> +     if (bind(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) {
>               close(s);
>               return (-1);
>       }
> @@ -737,7 +737,7 @@ tls_setup_server(struct tls *tls_ctx, in
>  int
>  unix_connect(char *path)
>  {
> -     struct sockaddr_un sun;
> +     struct sockaddr_un s_un;
>       int s;
> 
>       if (uflag) {
> @@ -748,16 +748,16 @@ unix_connect(char *path)
>                       return (-1);
>       }
> 
> -     memset(&sun, 0, sizeof(struct sockaddr_un));
> -     sun.sun_family = AF_UNIX;
> +     memset(&s_un, 0, sizeof(struct sockaddr_un));
> +     s_un.sun_family = AF_UNIX;
> 
> -     if (strlcpy(sun.sun_path, path, sizeof(sun.sun_path)) >=
> -         sizeof(sun.sun_path)) {
> +     if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >=
> +         sizeof(s_un.sun_path)) {
>               close(s);
>               errno = ENAMETOOLONG;
>               return (-1);
>       }
> -     if (connect(s, (struct sockaddr *)&sun, sizeof(sun)) < 0) {
> +     if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) {
>               close(s);
>               return (-1);
>       }
> 

-- 

Reply via email to