From: Dr. Stephen Henson Date: Thu, 15 Oct 2009 18:48:47 +0000 (+0000) Subject: Fix for WIN32 (and possibly other platforms) which don't define in_port_t. X-Git-Tag: OpenSSL_1_0_0-beta4~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=595e804ae39ac4a4e5b923320f8203e29838b0d3;p=openssl Fix for WIN32 (and possibly other platforms) which don't define in_port_t. --- diff --git a/apps/s_cb.c b/apps/s_cb.c index 4b27c7f0f5..78c8a5cc28 100644 --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -723,15 +723,16 @@ int MS_CALLBACK generate_cookie_callback(SSL *ssl, unsigned char *cookie, unsign { case AF_INET: length += sizeof(struct in_addr); + length += sizeof(peer.s4.sin_port); break; case AF_INET6: length += sizeof(struct in6_addr); + length += sizeof(peer.s6.sin6_port); break; default: OPENSSL_assert(0); break; } - length += sizeof(in_port_t); #else length = sizeof(peer.sin_addr); length += sizeof(peer.sin_port); @@ -750,16 +751,16 @@ int MS_CALLBACK generate_cookie_callback(SSL *ssl, unsigned char *cookie, unsign case AF_INET: memcpy(buffer, &peer.s4.sin_port, - sizeof(in_port_t)); - memcpy(buffer + sizeof(in_port_t), + sizeof(peer.s4.sin_port)); + memcpy(buffer + sizeof(peer.s4.sin_port), &peer.s4.sin_addr, sizeof(struct in_addr)); break; case AF_INET6: memcpy(buffer, &peer.s6.sin6_port, - sizeof(in_port_t)); - memcpy(buffer + sizeof(in_port_t), + sizeof(peer.s6.sin6_port)); + memcpy(buffer + sizeof(peer.s6.sin6_port), &peer.s6.sin6_addr, sizeof(struct in6_addr)); break; @@ -811,15 +812,16 @@ int MS_CALLBACK verify_cookie_callback(SSL *ssl, unsigned char *cookie, unsigned { case AF_INET: length += sizeof(struct in_addr); + length += sizeof(peer.s4.sin_port); break; case AF_INET6: length += sizeof(struct in6_addr); + length += sizeof(peer.s6.sin6_port); break; default: OPENSSL_assert(0); break; } - length += sizeof(in_port_t); #else length = sizeof(peer.sin_addr); length += sizeof(peer.sin_port); @@ -838,16 +840,16 @@ int MS_CALLBACK verify_cookie_callback(SSL *ssl, unsigned char *cookie, unsigned case AF_INET: memcpy(buffer, &peer.s4.sin_port, - sizeof(in_port_t)); - memcpy(buffer + sizeof(in_port_t), + sizeof(peer.s4.sin_port)); + memcpy(buffer + sizeof(peer.s4.sin_port), &peer.s4.sin_addr, sizeof(struct in_addr)); break; case AF_INET6: memcpy(buffer, &peer.s6.sin6_port, - sizeof(in_port_t)); - memcpy(buffer + sizeof(in_port_t), + sizeof(peer.s6.sin6_port)); + memcpy(buffer + sizeof(peer.s6.sin6_port), &peer.s6.sin6_addr, sizeof(struct in6_addr)); break;