summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2014-07-03 12:17:25 -0400
committerGreg Hudson <ghudson@mit.edu>2014-07-04 15:14:02 -0400
commit1fde9a67030845d3cae0661595f5737a4db8b9dd (patch)
tree40a98f75bff979d5c681d21ec45a0ce18a1d3d80 /src/lib
parentdc04419132e73ec5e38f6680055f1e2e627d42d7 (diff)
downloadkrb5-1fde9a67030845d3cae0661595f5737a4db8b9dd.tar.gz
krb5-1fde9a67030845d3cae0661595f5737a4db8b9dd.tar.xz
krb5-1fde9a67030845d3cae0661595f5737a4db8b9dd.zip
Don't depend on sa_len sockaddr field
In socket-utils.h, replace the socklen macro with an inline function sa_socklen which always uses the address family, even on platforms with the sa_len sockaddr field. This removes the need to set sa_len in socket addresses we construct.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/apputils/net-server.c4
-rw-r--r--src/lib/krb5/os/localaddr.c6
-rw-r--r--src/lib/rpc/bindresvport.c2
-rw-r--r--src/lib/rpc/svc_tcp.c2
-rw-r--r--src/lib/rpc/svc_udp.c2
5 files changed, 8 insertions, 8 deletions
diff --git a/src/lib/apputils/net-server.c b/src/lib/apputils/net-server.c
index 2dd435b76..558eee34c 100644
--- a/src/lib/apputils/net-server.c
+++ b/src/lib/apputils/net-server.c
@@ -139,7 +139,7 @@ paddr(struct sockaddr *sa)
{
static char buf[100];
char portbuf[10];
- if (getnameinfo(sa, socklen(sa),
+ if (getnameinfo(sa, sa_socklen(sa),
buf, sizeof(buf), portbuf, sizeof(portbuf),
NI_NUMERICHOST|NI_NUMERICSERV))
strlcpy(buf, "<unprintable>", sizeof(buf));
@@ -592,7 +592,7 @@ create_server_socket(struct socksetup *data, struct sockaddr *addr, int type)
#endif /* IPV6_V6ONLY */
}
- if (bind(sock, addr, socklen(addr)) == -1) {
+ if (bind(sock, addr, sa_socklen(addr)) == -1) {
data->retval = errno;
com_err(data->prog, errno, _("Cannot bind server socket on %s"),
paddr(addr));
diff --git a/src/lib/krb5/os/localaddr.c b/src/lib/krb5/os/localaddr.c
index f7eb2d240..0e6a05c66 100644
--- a/src/lib/krb5/os/localaddr.c
+++ b/src/lib/krb5/os/localaddr.c
@@ -165,7 +165,7 @@ printaddr(struct sockaddr *sa)
int err;
printf ("%p ", (void *) sa);
- err = getnameinfo (sa, socklen (sa), buf, sizeof (buf), 0, 0,
+ err = getnameinfo (sa, sa_socklen (sa), buf, sizeof (buf), 0, 0,
NI_NUMERICHOST);
if (err)
printf ("<getnameinfo error %d: %s> family=%d",
@@ -1085,7 +1085,7 @@ static int print_addr (/*@unused@*/ void *dataptr, struct sockaddr *sa)
socklen_t len;
printf (" --> family %2d ", sa->sa_family);
- len = socklen (sa);
+ len = sa_socklen (sa);
err = getnameinfo (sa, len, hostbuf, (socklen_t) sizeof (hostbuf),
(char *) NULL, 0, NI_NUMERICHOST);
if (err) {
@@ -1423,7 +1423,7 @@ get_localaddrs (krb5_context context, krb5_address ***addr, int use_profile)
}
if (addrp)
memcpy (addrp, addr[0][j]->contents, addr[0][j]->length);
- err2 = getnameinfo (ss2sa(&ss), socklen (ss2sa (&ss)),
+ err2 = getnameinfo (ss2sa(&ss), sa_socklen (ss2sa (&ss)),
namebuf, sizeof (namebuf), 0, 0,
NI_NUMERICHOST);
if (err2 == 0)
diff --git a/src/lib/rpc/bindresvport.c b/src/lib/rpc/bindresvport.c
index fa28b6071..ba11e0a8b 100644
--- a/src/lib/rpc/bindresvport.c
+++ b/src/lib/rpc/bindresvport.c
@@ -81,7 +81,7 @@ bindresvport_sa(int sd, struct sockaddr *sa)
if (port > ENDPORT) {
port = STARTPORT;
}
- res = bind(sd, sa, socklen(sa));
+ res = bind(sd, sa, sa_socklen(sa));
}
return (res);
}
diff --git a/src/lib/rpc/svc_tcp.c b/src/lib/rpc/svc_tcp.c
index 7b69c33da..3d0216481 100644
--- a/src/lib/rpc/svc_tcp.c
+++ b/src/lib/rpc/svc_tcp.c
@@ -174,7 +174,7 @@ svctcp_create(
if (bindresvport_sa(sock, sa)) {
sa_setport(sa, 0);
- (void)bind(sock, sa, socklen(sa));
+ (void)bind(sock, sa, sa_socklen(sa));
}
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 e9f1c3d00..603f56a0b 100644
--- a/src/lib/rpc/svc_udp.c
+++ b/src/lib/rpc/svc_udp.c
@@ -145,7 +145,7 @@ svcudp_bufcreate(
if (bindresvport_sa(sock, sa)) {
sa_setport(sa, 0);
- (void)bind(sock, sa, socklen(sa));
+ (void)bind(sock, sa, sa_socklen(sa));
}
len = sizeof(struct sockaddr_storage);
if (getsockname(sock, sa, &len) != 0) {