Changes in uspace/srv/net/tcp/sock.c [05bfce7:a2e3ee6] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tcp/sock.c
r05bfce7 ra2e3ee6 179 179 } 180 180 181 sock->laddr.ipv4 = TCP_IPV4_ANY;181 inet_addr_any(&sock->laddr); 182 182 sock->lconn = NULL; 183 183 sock->backlog = 0; … … 314 314 log_msg(LOG_DEFAULT, LVL_DEBUG, " - open connections"); 315 315 316 lsocket.addr.ipv4 = TCP_IPV4_ANY;316 inet_addr_any(&lsocket.addr); 317 317 lsocket.port = sock_core->port; 318 fsocket.addr.ipv4 = TCP_IPV4_ANY; 318 319 inet_addr_any(&fsocket.addr); 319 320 fsocket.port = TCP_PORT_ANY; 320 321 … … 396 397 fibril_mutex_lock(&socket->lock); 397 398 398 if ( socket->laddr.ipv4 == TCP_IPV4_ANY) {399 if (inet_addr_is_any(&socket->laddr)) { 399 400 /* Determine local IP address */ 400 inet_addr_t loc_addr, rem_addr; 401 402 rem_addr.ipv4 = uint32_t_be2host(addr->sin_addr.s_addr); 401 inet_addr_t loc_addr; 402 inet_addr_t rem_addr; 403 404 inet_addr_unpack(uint32_t_be2host(addr->sin_addr.s_addr), 405 &rem_addr); 403 406 rc = inet_get_srcaddr(&rem_addr, 0, &loc_addr); 404 407 if (rc != EOK) { … … 409 412 return; 410 413 } 411 412 socket->laddr.ipv4 = loc_addr.ipv4; 413 log_msg(LOG_DEFAULT, LVL_DEBUG, "Local IP address is %x", socket->laddr.ipv4); 414 } 415 416 lsocket.addr.ipv4 = socket->laddr.ipv4; 414 415 socket->laddr = loc_addr; 416 } 417 418 lsocket.addr = socket->laddr; 417 419 lsocket.port = sock_core->port; 418 fsocket.addr.ipv4 = uint32_t_be2host(addr->sin_addr.s_addr); 420 421 inet_addr_unpack(uint32_t_be2host(addr->sin_addr.s_addr), 422 &fsocket.addr); 419 423 fsocket.port = uint16_t_be2host(addr->sin_port); 420 424 … … 507 511 /* Replenish listening connection */ 508 512 509 lsocket.addr.ipv4 = TCP_IPV4_ANY;513 inet_addr_any(&lsocket.addr); 510 514 lsocket.port = sock_core->port; 511 fsocket.addr.ipv4 = TCP_IPV4_ANY; 515 516 inet_addr_any(&fsocket.addr); 512 517 fsocket.port = TCP_PORT_ANY; 513 518 … … 728 733 729 734 if (IPC_GET_IMETHOD(call) == NET_SOCKET_RECVFROM) { 730 /* Fill addr */735 /* Fill address */ 731 736 rsock = &socket->conn->ident.foreign; 737 738 uint32_t rsock_addr; 739 int rc = inet_addr_pack(&rsock->addr, &rsock_addr); 740 if (rc != EOK) { 741 fibril_mutex_unlock(&socket->recv_buffer_lock); 742 fibril_mutex_unlock(&socket->lock); 743 async_answer_0(callid, rc); 744 return; 745 } 746 732 747 addr.sin_family = AF_INET; 733 addr.sin_addr.s_addr = host2uint32_t_be(rsock ->addr.ipv4);748 addr.sin_addr.s_addr = host2uint32_t_be(rsock_addr); 734 749 addr.sin_port = host2uint16_t_be(rsock->port); 735 750
Note:
See TracChangeset
for help on using the changeset viewer.