提交 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)
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
......@@ -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
......@@ -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
......@@ -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;
}
......@@ -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);
}
}
......@@ -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;
}
......@@ -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);
}
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册