Loading crypto/bio/b_addr.c +29 −29 Original line number Diff line number Diff line Loading @@ -100,18 +100,18 @@ void BIO_ADDR_clear(BIO_ADDR *ap) int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) { if (sa->sa_family == AF_INET) { ap->sin = *(const struct sockaddr_in *)sa; ap->s_in = *(const struct sockaddr_in *)sa; return 1; } #ifdef AF_INET6 if (sa->sa_family == AF_INET6) { ap->sin6 = *(const struct sockaddr_in6 *)sa; ap->s_in6 = *(const struct sockaddr_in6 *)sa; return 1; } #endif #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) { ap->sun = *(const struct sockaddr_un *)sa; ap->s_un = *(const struct sockaddr_un *)sa; return 1; } #endif Loading @@ -125,31 +125,31 @@ int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, { #ifdef AF_UNIX if (family == AF_UNIX) { if (wherelen + 1 > sizeof(ap->sun.sun_path)) if (wherelen + 1 > sizeof(ap->s_un.sun_path)) return 0; memset(&ap->sun, 0, sizeof(ap->sun)); ap->sun.sun_family = family; strncpy(ap->sun.sun_path, where, sizeof(ap->sun.sun_path) - 1); memset(&ap->s_un, 0, sizeof(ap->s_un)); ap->s_un.sun_family = family; strncpy(ap->s_un.sun_path, where, sizeof(ap->s_un.sun_path) - 1); return 1; } #endif if (family == AF_INET) { if (wherelen != sizeof(struct in_addr)) return 0; memset(&ap->sin, 0, sizeof(ap->sin)); ap->sin.sin_family = family; ap->sin.sin_port = port; ap->sin.sin_addr = *(struct in_addr *)where; memset(&ap->s_in, 0, sizeof(ap->s_in)); ap->s_in.sin_family = family; ap->s_in.sin_port = port; ap->s_in.sin_addr = *(struct in_addr *)where; return 1; } #ifdef AF_INET6 if (family == AF_INET6) { if (wherelen != sizeof(struct in6_addr)) return 0; memset(&ap->sin6, 0, sizeof(ap->sin6)); ap->sin6.sin6_family = family; ap->sin6.sin6_port = port; ap->sin6.sin6_addr = *(struct in6_addr *)where; memset(&ap->s_in6, 0, sizeof(ap->s_in6)); ap->s_in6.sin6_family = family; ap->s_in6.sin6_port = port; ap->s_in6.sin6_addr = *(struct in6_addr *)where; return 1; } #endif Loading @@ -168,19 +168,19 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) const void *addrptr = NULL; if (ap->sa.sa_family == AF_INET) { len = sizeof(ap->sin.sin_addr); addrptr = &ap->sin.sin_addr; len = sizeof(ap->s_in.sin_addr); addrptr = &ap->s_in.sin_addr; } #ifdef AF_INET6 else if (ap->sa.sa_family == AF_INET6) { len = sizeof(ap->sin6.sin6_addr); addrptr = &ap->sin6.sin6_addr; len = sizeof(ap->s_in6.sin6_addr); addrptr = &ap->s_in6.sin6_addr; } #endif #ifdef AF_UNIX else if (ap->sa.sa_family == AF_UNIX) { len = strlen(ap->sun.sun_path); addrptr = &ap->sun.sun_path; len = strlen(ap->s_un.sun_path); addrptr = &ap->s_un.sun_path; } #endif Loading @@ -199,10 +199,10 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap) { if (ap->sa.sa_family == AF_INET) return ap->sin.sin_port; return ap->s_in.sin_port; #ifdef AF_INET6 if (ap->sa.sa_family == AF_INET6) return ap->sin6.sin6_port; return ap->s_in6.sin6_port; #endif return 0; } Loading Loading @@ -270,10 +270,10 @@ static int addr_strings(const BIO_ADDR *ap, int numeric, } else { #endif if (hostname) *hostname = OPENSSL_strdup(inet_ntoa(ap->sin.sin_addr)); *hostname = OPENSSL_strdup(inet_ntoa(ap->s_in.sin_addr)); if (service) { char serv[6]; /* port is 16 bits => max 5 decimal digits */ BIO_snprintf(serv, sizeof(serv), "%d", ntohs(ap->sin.sin_port)); BIO_snprintf(serv, sizeof(serv), "%d", ntohs(ap->s_in.sin_port)); *service = OPENSSL_strdup(serv); } } Loading Loading @@ -305,7 +305,7 @@ char *BIO_ADDR_path_string(const BIO_ADDR *ap) { #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) return OPENSSL_strdup(ap->sun.sun_path); return OPENSSL_strdup(ap->s_un.sun_path); #endif return NULL; } Loading Loading @@ -340,14 +340,14 @@ struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap) socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap) { if (ap->sa.sa_family == AF_INET) return sizeof(ap->sin); return sizeof(ap->s_in); #ifdef AF_INET6 if (ap->sa.sa_family == AF_INET6) return sizeof(ap->sin6); return sizeof(ap->s_in6); #endif #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) return sizeof(ap->sun); return sizeof(ap->s_un); #endif return sizeof(*ap); } Loading crypto/bio/bio_lcl.h +3 −3 Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ struct bio_addrinfo_st { union bio_addr_st { struct sockaddr sa; # ifdef AF_INET6 struct sockaddr_in6 sin6; struct sockaddr_in6 s_in6; # endif struct sockaddr_in sin; struct sockaddr_in s_in; # ifdef AF_UNIX struct sockaddr_un sun; struct sockaddr_un s_un; # endif }; #endif Loading Loading
crypto/bio/b_addr.c +29 −29 Original line number Diff line number Diff line Loading @@ -100,18 +100,18 @@ void BIO_ADDR_clear(BIO_ADDR *ap) int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) { if (sa->sa_family == AF_INET) { ap->sin = *(const struct sockaddr_in *)sa; ap->s_in = *(const struct sockaddr_in *)sa; return 1; } #ifdef AF_INET6 if (sa->sa_family == AF_INET6) { ap->sin6 = *(const struct sockaddr_in6 *)sa; ap->s_in6 = *(const struct sockaddr_in6 *)sa; return 1; } #endif #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) { ap->sun = *(const struct sockaddr_un *)sa; ap->s_un = *(const struct sockaddr_un *)sa; return 1; } #endif Loading @@ -125,31 +125,31 @@ int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, { #ifdef AF_UNIX if (family == AF_UNIX) { if (wherelen + 1 > sizeof(ap->sun.sun_path)) if (wherelen + 1 > sizeof(ap->s_un.sun_path)) return 0; memset(&ap->sun, 0, sizeof(ap->sun)); ap->sun.sun_family = family; strncpy(ap->sun.sun_path, where, sizeof(ap->sun.sun_path) - 1); memset(&ap->s_un, 0, sizeof(ap->s_un)); ap->s_un.sun_family = family; strncpy(ap->s_un.sun_path, where, sizeof(ap->s_un.sun_path) - 1); return 1; } #endif if (family == AF_INET) { if (wherelen != sizeof(struct in_addr)) return 0; memset(&ap->sin, 0, sizeof(ap->sin)); ap->sin.sin_family = family; ap->sin.sin_port = port; ap->sin.sin_addr = *(struct in_addr *)where; memset(&ap->s_in, 0, sizeof(ap->s_in)); ap->s_in.sin_family = family; ap->s_in.sin_port = port; ap->s_in.sin_addr = *(struct in_addr *)where; return 1; } #ifdef AF_INET6 if (family == AF_INET6) { if (wherelen != sizeof(struct in6_addr)) return 0; memset(&ap->sin6, 0, sizeof(ap->sin6)); ap->sin6.sin6_family = family; ap->sin6.sin6_port = port; ap->sin6.sin6_addr = *(struct in6_addr *)where; memset(&ap->s_in6, 0, sizeof(ap->s_in6)); ap->s_in6.sin6_family = family; ap->s_in6.sin6_port = port; ap->s_in6.sin6_addr = *(struct in6_addr *)where; return 1; } #endif Loading @@ -168,19 +168,19 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) const void *addrptr = NULL; if (ap->sa.sa_family == AF_INET) { len = sizeof(ap->sin.sin_addr); addrptr = &ap->sin.sin_addr; len = sizeof(ap->s_in.sin_addr); addrptr = &ap->s_in.sin_addr; } #ifdef AF_INET6 else if (ap->sa.sa_family == AF_INET6) { len = sizeof(ap->sin6.sin6_addr); addrptr = &ap->sin6.sin6_addr; len = sizeof(ap->s_in6.sin6_addr); addrptr = &ap->s_in6.sin6_addr; } #endif #ifdef AF_UNIX else if (ap->sa.sa_family == AF_UNIX) { len = strlen(ap->sun.sun_path); addrptr = &ap->sun.sun_path; len = strlen(ap->s_un.sun_path); addrptr = &ap->s_un.sun_path; } #endif Loading @@ -199,10 +199,10 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap) { if (ap->sa.sa_family == AF_INET) return ap->sin.sin_port; return ap->s_in.sin_port; #ifdef AF_INET6 if (ap->sa.sa_family == AF_INET6) return ap->sin6.sin6_port; return ap->s_in6.sin6_port; #endif return 0; } Loading Loading @@ -270,10 +270,10 @@ static int addr_strings(const BIO_ADDR *ap, int numeric, } else { #endif if (hostname) *hostname = OPENSSL_strdup(inet_ntoa(ap->sin.sin_addr)); *hostname = OPENSSL_strdup(inet_ntoa(ap->s_in.sin_addr)); if (service) { char serv[6]; /* port is 16 bits => max 5 decimal digits */ BIO_snprintf(serv, sizeof(serv), "%d", ntohs(ap->sin.sin_port)); BIO_snprintf(serv, sizeof(serv), "%d", ntohs(ap->s_in.sin_port)); *service = OPENSSL_strdup(serv); } } Loading Loading @@ -305,7 +305,7 @@ char *BIO_ADDR_path_string(const BIO_ADDR *ap) { #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) return OPENSSL_strdup(ap->sun.sun_path); return OPENSSL_strdup(ap->s_un.sun_path); #endif return NULL; } Loading Loading @@ -340,14 +340,14 @@ struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap) socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap) { if (ap->sa.sa_family == AF_INET) return sizeof(ap->sin); return sizeof(ap->s_in); #ifdef AF_INET6 if (ap->sa.sa_family == AF_INET6) return sizeof(ap->sin6); return sizeof(ap->s_in6); #endif #ifdef AF_UNIX if (ap->sa.sa_family == AF_UNIX) return sizeof(ap->sun); return sizeof(ap->s_un); #endif return sizeof(*ap); } Loading
crypto/bio/bio_lcl.h +3 −3 Original line number Diff line number Diff line Loading @@ -53,11 +53,11 @@ struct bio_addrinfo_st { union bio_addr_st { struct sockaddr sa; # ifdef AF_INET6 struct sockaddr_in6 sin6; struct sockaddr_in6 s_in6; # endif struct sockaddr_in sin; struct sockaddr_in s_in; # ifdef AF_UNIX struct sockaddr_un sun; struct sockaddr_un s_un; # endif }; #endif Loading