summaryrefslogtreecommitdiff
path: root/toxcore
diff options
context:
space:
mode:
authorRoman Proskuryakov <humbug@deeptown.org>2016-01-23 16:41:34 +0300
committerRoman Proskuryakov <humbug@deeptown.org>2016-01-27 02:14:59 +0300
commit7d66c700374c3f5d772a439b6706bf455c703fea (patch)
treeb77ba53708596f460eb3ed7604963e76c0fd6d12 /toxcore
parentb3655f2c60694fd08f55d9f5663ae1370d178e25 (diff)
add: more comments into network.c
Diffstat (limited to 'toxcore')
-rw-r--r--toxcore/network.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/toxcore/network.c b/toxcore/network.c
index 965e65f9..04efd03b 100644
--- a/toxcore/network.c
+++ b/toxcore/network.c
@@ -699,6 +699,9 @@ Networking_Core *new_networking_ex(IP ip, uint16_t port_from, uint16_t port_to,
699/* Function to cleanup networking stuff. */ 699/* Function to cleanup networking stuff. */
700void kill_networking(Networking_Core *net) 700void kill_networking(Networking_Core *net)
701{ 701{
702 if (!net)
703 return;
704
702 if (net->family != 0) /* Socket not initialized */ 705 if (net->family != 0) /* Socket not initialized */
703 kill_sock(net->sock); 706 kill_sock(net->sock);
704 707
@@ -823,7 +826,7 @@ void ipport_copy(IP_Port *target, const IP_Port *source)
823 * writes error message into the buffer on error 826 * writes error message into the buffer on error
824 */ 827 */
825/* there would be INET6_ADDRSTRLEN, but it might be too short for the error message */ 828/* there would be INET6_ADDRSTRLEN, but it might be too short for the error message */
826static char addresstext[96]; 829static char addresstext[96]; // FIXME magic number. Why not INET6_ADDRSTRLEN ?
827const char *ip_ntoa(const IP *ip) 830const char *ip_ntoa(const IP *ip)
828{ 831{
829 if (ip) { 832 if (ip) {
@@ -964,10 +967,10 @@ int addr_resolve(const char *address, IP *to, IP *extra)
964 return 0; 967 return 0;
965 } 968 }
966 969
967 IP4 ip4; 970 IP ip4;
968 memset(&ip4, 0, sizeof(ip4)); 971 ip_init(&ip4, /* ipv6? */ false);
969 IP6 ip6; 972 IP ip6;
970 memset(&ip6, 0, sizeof(ip6)); 973 ip_init(&ip6, /* ipv6? */ true);
971 974
972 for (walker = server; (walker != NULL) && (rc != 3); walker = walker->ai_next) { 975 for (walker = server; (walker != NULL) && (rc != 3); walker = walker->ai_next) {
973 switch (walker->ai_family) { 976 switch (walker->ai_family) {
@@ -975,11 +978,11 @@ int addr_resolve(const char *address, IP *to, IP *extra)
975 if (walker->ai_family == family) { /* AF_INET requested, done */ 978 if (walker->ai_family == family) { /* AF_INET requested, done */
976 struct sockaddr_in *addr = (struct sockaddr_in *)walker->ai_addr; 979 struct sockaddr_in *addr = (struct sockaddr_in *)walker->ai_addr;
977 to->ip4.in_addr = addr->sin_addr; 980 to->ip4.in_addr = addr->sin_addr;
978 rc = 3; 981 rc = 3; // TODO do we really have to reuse variable instead of creating a new one?
979 } else if (!(rc & 1)) { /* AF_UNSPEC requested, store away */ 982 } else if (!(rc & 1)) { /* AF_UNSPEC requested, store away */
980 struct sockaddr_in *addr = (struct sockaddr_in *)walker->ai_addr; 983 struct sockaddr_in *addr = (struct sockaddr_in *)walker->ai_addr;
981 ip4.in_addr = addr->sin_addr; 984 ip4.ip4.in_addr = addr->sin_addr;
982 rc |= 1; 985 rc |= 1; // FIXME magic number
983 } 986 }
984 987
985 break; /* switch */ 988 break; /* switch */
@@ -994,7 +997,7 @@ int addr_resolve(const char *address, IP *to, IP *extra)
994 } else if (!(rc & 2)) { /* AF_UNSPEC requested, store away */ 997 } else if (!(rc & 2)) { /* AF_UNSPEC requested, store away */
995 if (walker->ai_addrlen == sizeof(struct sockaddr_in6)) { 998 if (walker->ai_addrlen == sizeof(struct sockaddr_in6)) {
996 struct sockaddr_in6 *addr = (struct sockaddr_in6 *)walker->ai_addr; 999 struct sockaddr_in6 *addr = (struct sockaddr_in6 *)walker->ai_addr;
997 ip6.in6_addr = addr->sin6_addr; 1000 ip6.ip6.in6_addr = addr->sin6_addr;
998 rc |= 2; 1001 rc |= 2;
999 } 1002 }
1000 } 1003 }
@@ -1004,17 +1007,14 @@ int addr_resolve(const char *address, IP *to, IP *extra)
1004 } 1007 }
1005 1008
1006 if (to->family == AF_UNSPEC) { 1009 if (to->family == AF_UNSPEC) {
1007 if (rc & 2) { 1010 if (rc & 2) { // FIXME magic number
1008 to->family = AF_INET6; 1011 ip_copy(to, &ip6);
1009 to->ip6 = ip6;
1010 1012
1011 if ((rc & 1) && (extra != NULL)) { 1013 if ((rc & 1) && (extra != NULL)) {
1012 extra->family = AF_INET; 1014 ip_copy(extra, &ip4);
1013 extra->ip4 = ip4;
1014 } 1015 }
1015 } else if (rc & 1) { 1016 } else if (rc & 1) {
1016 to->family = AF_INET; 1017 ip_copy(to, &ip4);
1017 to->ip4 = ip4;
1018 } else 1018 } else
1019 rc = 0; 1019 rc = 0;
1020 } 1020 }