提交 29620124 编写于 作者: R Richard Levitte

On solaris, the variable name sun clashes, use s_un instead

For orthogonality, we change sin -> s_in and sin6 -> s_in6 as well.
Reviewed-by: NMatt Caswell <matt@openssl.org>
上级 432c7a50
...@@ -100,18 +100,18 @@ void BIO_ADDR_clear(BIO_ADDR *ap) ...@@ -100,18 +100,18 @@ void BIO_ADDR_clear(BIO_ADDR *ap)
int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa) int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa)
{ {
if (sa->sa_family == AF_INET) { if (sa->sa_family == AF_INET) {
ap->sin = *(const struct sockaddr_in *)sa; ap->s_in = *(const struct sockaddr_in *)sa;
return 1; return 1;
} }
#ifdef AF_INET6 #ifdef AF_INET6
if (sa->sa_family == 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; return 1;
} }
#endif #endif
#ifdef AF_UNIX #ifdef AF_UNIX
if (ap->sa.sa_family == 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; return 1;
} }
#endif #endif
...@@ -125,31 +125,31 @@ int BIO_ADDR_rawmake(BIO_ADDR *ap, int family, ...@@ -125,31 +125,31 @@ int BIO_ADDR_rawmake(BIO_ADDR *ap, int family,
{ {
#ifdef AF_UNIX #ifdef AF_UNIX
if (family == 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; return 0;
memset(&ap->sun, 0, sizeof(ap->sun)); memset(&ap->s_un, 0, sizeof(ap->s_un));
ap->sun.sun_family = family; ap->s_un.sun_family = family;
strncpy(ap->sun.sun_path, where, sizeof(ap->sun.sun_path) - 1); strncpy(ap->s_un.sun_path, where, sizeof(ap->s_un.sun_path) - 1);
return 1; return 1;
} }
#endif #endif
if (family == AF_INET) { if (family == AF_INET) {
if (wherelen != sizeof(struct in_addr)) if (wherelen != sizeof(struct in_addr))
return 0; return 0;
memset(&ap->sin, 0, sizeof(ap->sin)); memset(&ap->s_in, 0, sizeof(ap->s_in));
ap->sin.sin_family = family; ap->s_in.sin_family = family;
ap->sin.sin_port = port; ap->s_in.sin_port = port;
ap->sin.sin_addr = *(struct in_addr *)where; ap->s_in.sin_addr = *(struct in_addr *)where;
return 1; return 1;
} }
#ifdef AF_INET6 #ifdef AF_INET6
if (family == AF_INET6) { if (family == AF_INET6) {
if (wherelen != sizeof(struct in6_addr)) if (wherelen != sizeof(struct in6_addr))
return 0; return 0;
memset(&ap->sin6, 0, sizeof(ap->sin6)); memset(&ap->s_in6, 0, sizeof(ap->s_in6));
ap->sin6.sin6_family = family; ap->s_in6.sin6_family = family;
ap->sin6.sin6_port = port; ap->s_in6.sin6_port = port;
ap->sin6.sin6_addr = *(struct in6_addr *)where; ap->s_in6.sin6_addr = *(struct in6_addr *)where;
return 1; return 1;
} }
#endif #endif
...@@ -168,19 +168,19 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) ...@@ -168,19 +168,19 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l)
const void *addrptr = NULL; const void *addrptr = NULL;
if (ap->sa.sa_family == AF_INET) { if (ap->sa.sa_family == AF_INET) {
len = sizeof(ap->sin.sin_addr); len = sizeof(ap->s_in.sin_addr);
addrptr = &ap->sin.sin_addr; addrptr = &ap->s_in.sin_addr;
} }
#ifdef AF_INET6 #ifdef AF_INET6
else if (ap->sa.sa_family == AF_INET6) { else if (ap->sa.sa_family == AF_INET6) {
len = sizeof(ap->sin6.sin6_addr); len = sizeof(ap->s_in6.sin6_addr);
addrptr = &ap->sin6.sin6_addr; addrptr = &ap->s_in6.sin6_addr;
} }
#endif #endif
#ifdef AF_UNIX #ifdef AF_UNIX
else if (ap->sa.sa_family == AF_UNIX) { else if (ap->sa.sa_family == AF_UNIX) {
len = strlen(ap->sun.sun_path); len = strlen(ap->s_un.sun_path);
addrptr = &ap->sun.sun_path; addrptr = &ap->s_un.sun_path;
} }
#endif #endif
...@@ -199,10 +199,10 @@ int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l) ...@@ -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) unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap)
{ {
if (ap->sa.sa_family == AF_INET) if (ap->sa.sa_family == AF_INET)
return ap->sin.sin_port; return ap->s_in.sin_port;
#ifdef AF_INET6 #ifdef AF_INET6
if (ap->sa.sa_family == AF_INET6) if (ap->sa.sa_family == AF_INET6)
return ap->sin6.sin6_port; return ap->s_in6.sin6_port;
#endif #endif
return 0; return 0;
} }
...@@ -270,10 +270,10 @@ static int addr_strings(const BIO_ADDR *ap, int numeric, ...@@ -270,10 +270,10 @@ static int addr_strings(const BIO_ADDR *ap, int numeric,
} else { } else {
#endif #endif
if (hostname) if (hostname)
*hostname = OPENSSL_strdup(inet_ntoa(ap->sin.sin_addr)); *hostname = OPENSSL_strdup(inet_ntoa(ap->s_in.sin_addr));
if (service) { if (service) {
char serv[6]; /* port is 16 bits => max 5 decimal digits */ 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); *service = OPENSSL_strdup(serv);
} }
} }
...@@ -305,7 +305,7 @@ char *BIO_ADDR_path_string(const BIO_ADDR *ap) ...@@ -305,7 +305,7 @@ char *BIO_ADDR_path_string(const BIO_ADDR *ap)
{ {
#ifdef AF_UNIX #ifdef AF_UNIX
if (ap->sa.sa_family == 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 #endif
return NULL; return NULL;
} }
...@@ -340,14 +340,14 @@ struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap) ...@@ -340,14 +340,14 @@ struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap)
socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap) socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap)
{ {
if (ap->sa.sa_family == AF_INET) if (ap->sa.sa_family == AF_INET)
return sizeof(ap->sin); return sizeof(ap->s_in);
#ifdef AF_INET6 #ifdef AF_INET6
if (ap->sa.sa_family == AF_INET6) if (ap->sa.sa_family == AF_INET6)
return sizeof(ap->sin6); return sizeof(ap->s_in6);
#endif #endif
#ifdef AF_UNIX #ifdef AF_UNIX
if (ap->sa.sa_family == AF_UNIX) if (ap->sa.sa_family == AF_UNIX)
return sizeof(ap->sun); return sizeof(ap->s_un);
#endif #endif
return sizeof(*ap); return sizeof(*ap);
} }
......
...@@ -53,11 +53,11 @@ struct bio_addrinfo_st { ...@@ -53,11 +53,11 @@ struct bio_addrinfo_st {
union bio_addr_st { union bio_addr_st {
struct sockaddr sa; struct sockaddr sa;
# ifdef AF_INET6 # ifdef AF_INET6
struct sockaddr_in6 sin6; struct sockaddr_in6 s_in6;
# endif # endif
struct sockaddr_in sin; struct sockaddr_in s_in;
# ifdef AF_UNIX # ifdef AF_UNIX
struct sockaddr_un sun; struct sockaddr_un s_un;
# endif # endif
}; };
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册