krb5 commit: Fix compilation issues in udppktinfo.c

Greg Hudson ghudson at mit.edu
Fri Feb 19 11:59:38 EST 2016


https://github.com/krb5/krb5/commit/0d1c32d6d00d40049a9ea7b91c161e65c13dc273
commit 0d1c32d6d00d40049a9ea7b91c161e65c13dc273
Author: Greg Hudson <ghudson at mit.edu>
Date:   Thu Feb 18 15:00:04 2016 -0500

    Fix compilation issues in udppktinfo.c
    
    Move is_socket_bound_to_wildcard() into an #if block so it doesn't get
    built when it isn't used.  Avoid using the identifier "socket" as it
    can produce shadowed declaration warnings.  Make the definition of the
    fallback send_to_from() conform to the declaration.

 src/lib/apputils/udppktinfo.c |   80 ++++++++++++++++++++--------------------
 src/lib/apputils/udppktinfo.h |    6 ++--
 2 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/src/lib/apputils/udppktinfo.c b/src/lib/apputils/udppktinfo.c
index 8fafb15..bc7ad09 100644
--- a/src/lib/apputils/udppktinfo.c
+++ b/src/lib/apputils/udppktinfo.c
@@ -68,31 +68,6 @@ union pktinfo {
 };
 #endif /* HAVE_IPV6_PKTINFO && HAVE_STRUCT_CMSGHDR && HAVE_PKTINFO_SUPPORT */
 
-/*
- * Check if a socket is bound to a wildcard address.
- * Returns 1 if it is, 0 if it's bound to a specific address, or -1 on error
- * with errno set to the error.
- */
-static int
-is_socket_bound_to_wildcard(int sock)
-{
-    struct sockaddr_storage bound_addr;
-    socklen_t bound_addr_len = sizeof(bound_addr);
-
-    if (getsockname(sock, ss2sa(&bound_addr), &bound_addr_len) < 0)
-        return -1;
-
-    switch (ss2sa(&bound_addr)->sa_family) {
-    case AF_INET:
-        return ss2sin(&bound_addr)->sin_addr.s_addr == INADDR_ANY;
-    case AF_INET6:
-        return IN6_IS_ADDR_UNSPECIFIED(&ss2sin6(&bound_addr)->sin6_addr);
-    default:
-        errno = EINVAL;
-        return -1;
-    }
-}
-
 #ifdef HAVE_IP_PKTINFO
 
 #define set_ipv4_pktinfo set_ipv4_recvpktinfo
@@ -156,6 +131,31 @@ set_pktinfo(int sock, int family)
 
 #if defined(HAVE_PKTINFO_SUPPORT) && defined(CMSG_SPACE)
 
+/*
+ * Check if a socket is bound to a wildcard address.
+ * Returns 1 if it is, 0 if it's bound to a specific address, or -1 on error
+ * with errno set to the error.
+ */
+static int
+is_socket_bound_to_wildcard(int sock)
+{
+    struct sockaddr_storage bound_addr;
+    socklen_t bound_addr_len = sizeof(bound_addr);
+
+    if (getsockname(sock, ss2sa(&bound_addr), &bound_addr_len) < 0)
+        return -1;
+
+    switch (ss2sa(&bound_addr)->sa_family) {
+    case AF_INET:
+        return ss2sin(&bound_addr)->sin_addr.s_addr == INADDR_ANY;
+    case AF_INET6:
+        return IN6_IS_ADDR_UNSPECIFIED(&ss2sin6(&bound_addr)->sin6_addr);
+    default:
+        errno = EINVAL;
+        return -1;
+    }
+}
+
 #ifdef HAVE_IP_PKTINFO
 
 static inline struct in_pktinfo *
@@ -262,7 +262,7 @@ check_cmsg_pktinfo(struct cmsghdr *cmsgptr, struct sockaddr *to,
  * Receive a message from a socket.
  *
  * Arguments:
- *  socket
+ *  sock
  *  buf     - The buffer to store the message in.
  *  len     - buf length
  *  flags
@@ -277,7 +277,7 @@ check_cmsg_pktinfo(struct cmsghdr *cmsgptr, struct sockaddr *to,
  * Returns 0 on success, otherwise an error code.
  */
 krb5_error_code
-recv_from_to(int socket, void *buf, size_t len, int flags,
+recv_from_to(int sock, void *buf, size_t len, int flags,
              struct sockaddr *from, socklen_t * fromlen,
              struct sockaddr *to, socklen_t * tolen,
              aux_addressing_info *auxaddr)
@@ -290,12 +290,12 @@ recv_from_to(int socket, void *buf, size_t len, int flags,
     struct msghdr msg;
 
     /* Don't use pktinfo if the socket isn't bound to a wildcard address. */
-    r = is_socket_bound_to_wildcard(socket);
+    r = is_socket_bound_to_wildcard(sock);
     if (r < 0)
         return errno;
 
     if (!to || !tolen || !r)
-        return recvfrom(socket, buf, len, flags, from, fromlen);
+        return recvfrom(sock, buf, len, flags, from, fromlen);
 
     /* Clobber with something recognizeable in case we can't extract the
      * address but try to use it anyways. */
@@ -311,7 +311,7 @@ recv_from_to(int socket, void *buf, size_t len, int flags,
     msg.msg_control = cmsg;
     msg.msg_controllen = sizeof(cmsg);
 
-    r = recvmsg(socket, &msg, flags);
+    r = recvmsg(sock, &msg, flags);
     if (r < 0)
         return r;
     *fromlen = msg.msg_namelen;
@@ -438,7 +438,7 @@ set_msg_from(int family, struct msghdr *msg, struct cmsghdr *cmsgptr,
  * Send a message to an address.
  *
  * Arguments:
- *  socket
+ *  sock
  *  buf     - The message to send.
  *  len     - buf length
  *  flags
@@ -451,7 +451,7 @@ set_msg_from(int family, struct msghdr *msg, struct cmsghdr *cmsgptr,
  * Returns 0 on success, otherwise an error code.
  */
 krb5_error_code
-send_to_from(int socket, void *buf, size_t len, int flags,
+send_to_from(int sock, void *buf, size_t len, int flags,
              const struct sockaddr *to, socklen_t tolen, struct sockaddr *from,
              socklen_t fromlen, aux_addressing_info *auxaddr)
 {
@@ -462,7 +462,7 @@ send_to_from(int socket, void *buf, size_t len, int flags,
     char cbuf[CMSG_SPACE(sizeof(union pktinfo))];
 
     /* Don't use pktinfo if the socket isn't bound to a wildcard address. */
-    r = is_socket_bound_to_wildcard(socket);
+    r = is_socket_bound_to_wildcard(sock);
     if (r < 0)
         return errno;
 
@@ -489,16 +489,16 @@ send_to_from(int socket, void *buf, size_t len, int flags,
 
     if (set_msg_from(from->sa_family, &msg, cmsgptr, from, fromlen, auxaddr))
         goto use_sendto;
-    return sendmsg(socket, &msg, flags);
+    return sendmsg(sock, &msg, flags);
 
 use_sendto:
-    return sendto(socket, buf, len, flags, to, tolen);
+    return sendto(sock, buf, len, flags, to, tolen);
 }
 
 #else /* HAVE_PKTINFO_SUPPORT && CMSG_SPACE */
 
 krb5_error_code
-recv_from_to(int socket, void *buf, size_t len, int flags,
+recv_from_to(int sock, void *buf, size_t len, int flags,
              struct sockaddr *from, socklen_t *fromlen,
              struct sockaddr *to, socklen_t *tolen,
              aux_addressing_info *auxaddr)
@@ -510,16 +510,16 @@ recv_from_to(int socket, void *buf, size_t len, int flags,
         *tolen = 0;
     }
 
-    return recvfrom(socket, buf, len, flags, from, fromlen);
+    return recvfrom(sock, buf, len, flags, from, fromlen);
 }
 
 krb5_error_code
-send_to_from(int socket, void *buf, size_t len, int flags,
+send_to_from(int sock, void *buf, size_t len, int flags,
              const struct sockaddr *to, socklen_t tolen,
-             const struct sockaddr *from, socklen_t fromlen,
+             struct sockaddr *from, socklen_t fromlen,
              aux_addressing_info *auxaddr)
 {
-    return sendto(socket, buf, len, flags, to, tolen);
+    return sendto(sock, buf, len, flags, to, tolen);
 }
 
 #endif /* HAVE_PKTINFO_SUPPORT && CMSG_SPACE */
diff --git a/src/lib/apputils/udppktinfo.h b/src/lib/apputils/udppktinfo.h
index 53a584a..b0c7ea3 100644
--- a/src/lib/apputils/udppktinfo.h
+++ b/src/lib/apputils/udppktinfo.h
@@ -42,16 +42,16 @@ typedef union aux_addressing_info
 } aux_addressing_info;
 
 krb5_error_code
-set_pktinfo(int socket, int family);
+set_pktinfo(int sock, int family);
 
 krb5_error_code
-recv_from_to(int socket, void *buf, size_t len, int flags,
+recv_from_to(int sock, void *buf, size_t len, int flags,
              struct sockaddr *from, socklen_t *fromlen,
              struct sockaddr *to, socklen_t *tolen,
              aux_addressing_info *auxaddr);
 
 krb5_error_code
-send_to_from(int socket, void *buf, size_t len, int flags,
+send_to_from(int sock, void *buf, size_t len, int flags,
              const struct sockaddr *to, socklen_t tolen, struct sockaddr *from,
              socklen_t fromlen, aux_addressing_info *auxaddr);
 


More information about the cvs-krb5 mailing list