Changeset 58548 in vbox for trunk/src/VBox/NetworkServices
- Timestamp:
- Nov 3, 2015 2:06:48 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 103880
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/NetworkServices/NAT/pxtcp.c
r58542 r58548 276 276 static void pxtcp_pcb_err(void *, err_t); 277 277 278 static err_t pxtcp_pcb_accept_outbound(struct tcp_pcb *, struct pbuf *, int, ipX_addr_t *, u16_t); 279 278 280 static err_t pxtcp_pcb_forward_outbound(struct pxtcp *, struct pbuf *); 279 281 static void pxtcp_pcb_forward_outbound_close(struct pxtcp *); … … 1004 1006 { 1005 1007 struct pbuf *p = (struct pbuf *)arg; 1008 1009 LWIP_UNUSED_ARG(error); /* always ERR_OK */ 1010 1011 return pxtcp_pcb_accept_outbound(newpcb, p, 1012 PCB_ISIPV6(newpcb), &newpcb->local_ip, newpcb->local_port); 1013 } 1014 1015 1016 static err_t 1017 pxtcp_pcb_accept_outbound(struct tcp_pcb *newpcb, struct pbuf *p, 1018 int is_ipv6, ipX_addr_t *dst_addr, u16_t dst_port) 1019 { 1006 1020 struct pxtcp *pxtcp; 1007 ipX_addr_t dst_addr;1021 ipX_addr_t mapped_dst_addr; 1008 1022 int sdom; 1009 1023 SOCKET sock; 1010 1024 ssize_t nsent; 1011 1025 int sockerr = 0; 1012 1013 LWIP_UNUSED_ARG(error); /* always ERR_OK */1014 1026 1015 1027 /* … … 1026 1038 tcp_setprio(newpcb, TCP_PRIO_MAX); 1027 1039 1028 pxremap_outbound_ipX( PCB_ISIPV6(newpcb), &dst_addr, &newpcb->local_ip);1029 1030 sdom = PCB_ISIPV6(newpcb)? PF_INET6 : PF_INET;1040 pxremap_outbound_ipX(is_ipv6, &mapped_dst_addr, dst_addr); 1041 1042 sdom = is_ipv6 ? PF_INET6 : PF_INET; 1031 1043 sock = proxy_connected_socket(sdom, SOCK_STREAM, 1032 & dst_addr, newpcb->local_port);1044 &mapped_dst_addr, dst_port); 1033 1045 if (sock == INVALID_SOCKET) { 1034 1046 sockerr = SOCKERRNO();
Note:
See TracChangeset
for help on using the changeset viewer.