summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2014-07-03 12:48:53 -0400
committerGreg Hudson <ghudson@mit.edu>2014-07-04 15:14:03 -0400
commit48a0b16ab1f70b6486a6d7af7ca9e7b376b19956 (patch)
treef761ac8f8209fca8708f9f55f8fc5c7b13ce8940 /src/lib
parent1fde9a67030845d3cae0661595f5737a4db8b9dd (diff)
downloadkrb5-48a0b16ab1f70b6486a6d7af7ca9e7b376b19956.tar.gz
krb5-48a0b16ab1f70b6486a6d7af7ca9e7b376b19956.tar.xz
krb5-48a0b16ab1f70b6486a6d7af7ca9e7b376b19956.zip
Avoid using length fields in socket addresses
Remove code to set or reference the length fields of socket addresses (sa_len/sin_len/sin6_len), since they aren't portable and setting them is not required. Remove autoconf tests for those fields which are no longer used or which were never used. There is one exception: in localaddr.c, we still neeed to reference sa_len for the definition of ifreq_size on platforms which have sa_len. Leave that behind, along with the autoconf test which defines SA_LEN.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/apputils/net-server.c18
-rw-r--r--src/lib/krb5/os/localaddr.c12
-rw-r--r--src/lib/rpc/clnt_generic.c3
-rw-r--r--src/lib/rpc/clnt_simple.c3
-rw-r--r--src/lib/rpc/getrpcport.c3
-rw-r--r--src/lib/rpc/svc_tcp.c3
-rw-r--r--src/lib/rpc/svc_udp.c3
7 files changed, 0 insertions, 45 deletions
diff --git a/src/lib/apputils/net-server.c b/src/lib/apputils/net-server.c
index 558eee34c..1ad64141c 100644
--- a/src/lib/apputils/net-server.c
+++ b/src/lib/apputils/net-server.c
@@ -708,16 +708,10 @@ setup_tcp_listener_ports(struct socksetup *data)
memset(&sin4, 0, sizeof(sin4));
sin4.sin_family = AF_INET;
-#ifdef HAVE_SA_LEN
- sin4.sin_len = sizeof(sin4);
-#endif
sin4.sin_addr.s_addr = INADDR_ANY;
memset(&sin6, 0, sizeof(sin6));
sin6.sin6_family = AF_INET6;
-#ifdef SIN6_LEN
- sin6.sin6_len = sizeof(sin6);
-#endif
sin6.sin6_addr = in6addr_any;
FOREACH_ELT (tcp_port_data, i, port) {
@@ -776,16 +770,10 @@ setup_rpc_listener_ports(struct socksetup *data)
memset(&sin4, 0, sizeof(sin4));
sin4.sin_family = AF_INET;
-#ifdef HAVE_SA_LEN
- sin4.sin_len = sizeof(sin4);
-#endif
sin4.sin_addr.s_addr = INADDR_ANY;
memset(&sin6, 0, sizeof(sin6));
sin6.sin6_family = AF_INET6;
-#ifdef HAVE_SA_LEN
- sin6.sin6_len = sizeof(sin6);
-#endif
sin6.sin6_addr = in6addr_any;
FOREACH_ELT (rpc_svc_data, i, svc) {
@@ -846,9 +834,6 @@ setup_udp_pktinfo_ports(struct socksetup *data)
memset(&sa, 0, sizeof(sa));
sa.sin_family = AF_INET;
-#ifdef HAVE_SA_LEN
- sa.sin_len = sizeof(sa);
-#endif
r = setup_udp_port_1(data, (struct sockaddr *)&sa, 4);
if (r == 0)
data->do_ipv4_udp_all = FALSE;
@@ -861,9 +846,6 @@ setup_udp_pktinfo_ports(struct socksetup *data)
memset(&sa, 0, sizeof(sa));
sa.sin6_family = AF_INET6;
-#ifdef HAVE_SA_LEN
- sa.sin6_len = sizeof(sa);
-#endif
r = setup_udp_port_1(data, (struct sockaddr *)&sa, 6);
if (r == 0)
data->do_ipv6_udp_all = FALSE;
diff --git a/src/lib/krb5/os/localaddr.c b/src/lib/krb5/os/localaddr.c
index 0e6a05c66..9f7765254 100644
--- a/src/lib/krb5/os/localaddr.c
+++ b/src/lib/krb5/os/localaddr.c
@@ -243,11 +243,6 @@ addr_eq (const struct sockaddr *s1, const struct sockaddr *s2)
{
if (s1->sa_family != s2->sa_family)
return 0;
-#ifdef HAVE_SA_LEN
- if (s1->sa_len != s2->sa_len)
- return 0;
- return !memcmp (s1, s2, s1->sa_len);
-#else
#define CMPTYPE(T,F) (!memcmp(&((const T*)s1)->F,&((const T*)s2)->F,sizeof(((const T*)s1)->F)))
switch (s1->sa_family) {
case AF_INET:
@@ -258,7 +253,6 @@ addr_eq (const struct sockaddr *s1, const struct sockaddr *s2)
/* Err on side of duplicate listings. */
return 0;
}
-#endif
}
#endif
@@ -1402,9 +1396,6 @@ get_localaddrs (krb5_context context, krb5_address ***addr, int use_profile)
struct sockaddr_in *sinp = ss2sin (&ss);
sinp->sin_family = AF_INET;
addrp = &sinp->sin_addr;
-#ifdef HAVE_SA_LEN
- sinp->sin_len = sizeof (struct sockaddr_in);
-#endif
break;
}
case ADDRTYPE_INET6:
@@ -1412,9 +1403,6 @@ get_localaddrs (krb5_context context, krb5_address ***addr, int use_profile)
struct sockaddr_in6 *sin6p = ss2sin6 (&ss);
sin6p->sin6_family = AF_INET6;
addrp = &sin6p->sin6_addr;
-#ifdef HAVE_SA_LEN
- sin6p->sin6_len = sizeof (struct sockaddr_in6);
-#endif
break;
}
default:
diff --git a/src/lib/rpc/clnt_generic.c b/src/lib/rpc/clnt_generic.c
index e2e5b1a83..da3e8e8ba 100644
--- a/src/lib/rpc/clnt_generic.c
+++ b/src/lib/rpc/clnt_generic.c
@@ -76,9 +76,6 @@ clnt_create(
return (NULL);
}
memset(&sockin, 0, sizeof(sockin));
-#if HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
- sockin.sin_len = sizeof(sockin);
-#endif
sockin.sin_family = h->h_addrtype;
sockin.sin_port = 0;
memmove((char*)&sockin.sin_addr, h->h_addr, sizeof(sockin.sin_addr));
diff --git a/src/lib/rpc/clnt_simple.c b/src/lib/rpc/clnt_simple.c
index c1dc8fee6..df8f246f2 100644
--- a/src/lib/rpc/clnt_simple.c
+++ b/src/lib/rpc/clnt_simple.c
@@ -107,9 +107,6 @@ callrpc(
memset(&server_addr, 0, sizeof(server_addr));
memmove((char *)&server_addr.sin_addr, hp->h_addr,
sizeof(server_addr.sin_addr));
-#if HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
- server_addr.sin_len = sizeof(server_addr);
-#endif
server_addr.sin_family = AF_INET;
server_addr.sin_port = 0;
if ((crp->client = clntudp_create(&server_addr, prognum,
diff --git a/src/lib/rpc/getrpcport.c b/src/lib/rpc/getrpcport.c
index 8247bb39d..32ff739fd 100644
--- a/src/lib/rpc/getrpcport.c
+++ b/src/lib/rpc/getrpcport.c
@@ -54,9 +54,6 @@ gssrpc_getrpcport(
return (0);
memset(&addr, 0, sizeof(addr));
memmove((char *) &addr.sin_addr, hp->h_addr, sizeof(addr.sin_addr));
-#if HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
- addr.sin_len = sizeof(addr);
-#endif
addr.sin_family = AF_INET;
addr.sin_port = 0;
return (pmap_getport(&addr, prognum, versnum, proto));
diff --git a/src/lib/rpc/svc_tcp.c b/src/lib/rpc/svc_tcp.c
index 3d0216481..f05220316 100644
--- a/src/lib/rpc/svc_tcp.c
+++ b/src/lib/rpc/svc_tcp.c
@@ -161,9 +161,6 @@ svctcp_create(
madesock = TRUE;
memset(&ss, 0, sizeof(ss));
sa->sa_family = AF_INET;
-#ifdef HAVE_SA_LEN
- sa->sa_len = sizeof(struct sockaddr_in);
-#endif
} else {
len = sizeof(struct sockaddr_storage);
if (getsockname(sock, sa, &len) != 0) {
diff --git a/src/lib/rpc/svc_udp.c b/src/lib/rpc/svc_udp.c
index 603f56a0b..928006164 100644
--- a/src/lib/rpc/svc_udp.c
+++ b/src/lib/rpc/svc_udp.c
@@ -132,9 +132,6 @@ svcudp_bufcreate(
madesock = TRUE;
memset(&ss, 0, sizeof(ss));
sa->sa_family = AF_INET;
-#ifdef HAVE_SA_LEN
- sa->sa_len = sizeof(struct sockaddr_in);
-#endif
} else {
len = sizeof(struct sockaddr_storage);
if (getsockname(sock, sa, &len) < 0) {