Changeset 51576 in vbox for trunk/src/VBox/NetworkServices
- Timestamp:
- Jun 8, 2014 10:36:33 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94270
- Location:
- trunk/src/VBox/NetworkServices/NAT
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/NetworkServices/NAT/fwtcp.c
r51574 r51576 202 202 struct sockaddr_storage ss; 203 203 socklen_t sslen; 204 void *peer_addr;205 uint16_t peer_port;206 204 struct pxtcp *pxtcp; 207 205 SOCKET newsock; … … 229 227 if (ss.ss_family == PF_INET) { 230 228 struct sockaddr_in *peer4 = (struct sockaddr_in *)&ss; 231 peer_addr = &peer4->sin_addr;232 peer_port = peer4->sin_port;229 DPRINTF(("<--- TCP %RTnaipv4:%d\n", 230 peer4->sin_addr.s_addr, ntohs(peer4->sin_port))); 233 231 } 234 232 else { /* PF_INET6 */ 235 233 struct sockaddr_in6 *peer6 = (struct sockaddr_in6 *)&ss; 236 peer_addr = &peer6->sin6_addr; 237 peer_port = peer6->sin6_port; 238 } 239 peer_port = ntohs(peer_port); 240 241 #if PLEASE_ABSTAIN_FROM_DPRINFING > 1 /* DPRINTF */ && !defined(RT_OS_WINDOWS) 242 { 243 char addrbuf[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"]; 244 const char *addrstr; 245 246 addrstr = inet_ntop(ss.ss_family, peer_addr, addrbuf, sizeof(addrbuf)); 247 DPRINTF(("<--- TCP %s%s%s:%d\n", 248 ss.ss_family == AF_INET6 ? "[" : "", 249 addrstr, 250 ss.ss_family == AF_INET6 ? "]" : "", 251 peer_port)); 252 } 253 #endif /* DPRINTF */ 254 234 DPRINTF(("<--- TCP %RTnaipv6:%d\n", 235 &peer6->sin6_addr, ntohs(peer6->sin6_port))); 236 } 255 237 256 238 pxtcp = pxtcp_create_forwarded(newsock); -
trunk/src/VBox/NetworkServices/NAT/proxy.c
r51574 r51576 250 250 LWIP_ASSERT1(stype == SOCK_STREAM || stype == SOCK_DGRAM); 251 251 252 DPRINTF(("---> %s ", stype == SOCK_STREAM ? "TCP" : "UDP")); 252 253 if (sdom == PF_INET6) { 253 254 pdst_sa = (struct sockaddr *)&dst_sin6; … … 262 263 memcpy(&dst_sin6.sin6_addr, &dst_addr->ip6, sizeof(ip6_addr_t)); 263 264 dst_sin6.sin6_port = htons(dst_port); 265 266 DPRINTF(("[%RTnaipv6]:%d ", &dst_sin6.sin6_addr, dst_port)); 264 267 } 265 268 else { /* sdom = PF_INET */ … … 275 278 dst_sin.sin_addr.s_addr = dst_addr->ip4.addr; /* byte-order? */ 276 279 dst_sin.sin_port = htons(dst_port); 277 } 278 279 #if LWIP_PROXY_DEBUG && !RT_OS_WINDOWS 280 { 281 char addrbuf[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"]; 282 const char *addrstr; 283 284 addrstr = inet_ntop(sdom, pdst_addr, addrbuf, sizeof(addrbuf)); 285 DPRINTF(("---> %s %s%s%s:%d ", 286 stype == SOCK_STREAM ? "TCP" : "UDP", 287 sdom == PF_INET6 ? "[" : "", 288 addrstr, 289 sdom == PF_INET6 ? "]" : "", 290 dst_port)); 291 } 292 #endif 280 281 DPRINTF(("%RTnaipv4:%d ", dst_sin.sin_addr.s_addr, dst_port)); 282 } 293 283 294 284 s = proxy_create_socket(sdom, stype); -
trunk/src/VBox/NetworkServices/NAT/winutils.h
r49857 r51576 36 36 # define __func__ __FUNCTION__ 37 37 # define __attribute__(x) /* IGNORE */ 38 39 /*40 * XXX: inet_ntop() is only available starting from Vista.41 */42 DECLINLINE(PCSTR)43 inet_ntop(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBufSize)44 {45 DWORD size = (DWORD)StringBufSize;46 int status;47 48 if (Family == AF_INET)49 {50 struct sockaddr_in sin;51 memset(&sin, 0, sizeof(sin));52 sin.sin_family = AF_INET;53 memcpy(&sin.sin_addr, pAddr, sizeof(sin.sin_addr));54 sin.sin_port = 0;55 status = WSAAddressToStringA((LPSOCKADDR)&sin, sizeof(sin), NULL,56 pStringBuf, &size);57 }58 else if (Family == AF_INET6)59 {60 struct sockaddr_in6 sin6;61 memset(&sin6, 0, sizeof(sin6));62 sin6.sin6_family = AF_INET6;63 memcpy(&sin6.sin6_addr, pAddr, sizeof(sin6.sin6_addr));64 sin6.sin6_port = 0;65 status = WSAAddressToStringA((LPSOCKADDR)&sin6, sizeof(sin6), NULL,66 pStringBuf, &size);67 }68 else69 {70 WSASetLastError(WSAEAFNOSUPPORT);71 return NULL;72 }73 74 if (status == SOCKET_ERROR)75 {76 return NULL;77 }78 79 return pStringBuf;80 }81 82 38 83 39 /**
Note:
See TracChangeset
for help on using the changeset viewer.