]> sjero.net Git - wget/blobdiff - src/connect.c
Add --bindport option to force TCP source port.
[wget] / src / connect.c
index 6d7cc97594158fc49e0a7e3ee968f35d979b9cf7..90e2abf4a49da2d5901120a4eaa9dc081afa14e7 100644 (file)
@@ -190,7 +190,7 @@ resolve_bind_address (struct sockaddr *sa)
   if (called)
     {
       if (should_bind)
-        sockaddr_set_data (sa, &ip, 0);
+        sockaddr_set_data (sa, &ip, opt.bind_port);
       return should_bind;
     }
   called = true;
@@ -212,7 +212,7 @@ resolve_bind_address (struct sockaddr *sa)
   ip = *address_list_address_at (al, 0);
   address_list_release (al);
 
-  sockaddr_set_data (sa, &ip, 0);
+  sockaddr_set_data (sa, &ip, opt.bind_port);
   should_bind = true;
   return true;
 }
@@ -273,7 +273,7 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
       const char *txt_addr = print_address (ip);
       if (0 != strcmp (print, txt_addr))
         {
-                                 char *str = NULL, *name;
+          char *str = NULL, *name;
 
           if (opt.enable_iri && (name = idn_decode ((char *) print)) != NULL)
             {
@@ -287,18 +287,18 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
           logprintf (LOG_VERBOSE, _("Connecting to %s|%s|:%d... "),
                      str ? str : escnonprint_uri (print), txt_addr, port);
 
-                                       if (str)
-                                         xfree (str);
+          if (str)
+              xfree (str);
         }
       else
-       {
+        {
            if (ip->family == AF_INET)
                logprintf (LOG_VERBOSE, _("Connecting to %s:%d... "), txt_addr, port);
 #ifdef ENABLE_IPV6
            else if (ip->family == AF_INET6)
                logprintf (LOG_VERBOSE, _("Connecting to [%s]:%d... "), txt_addr, port);
 #endif
-       }
+        }
     }
 
   /* Store the sockaddr info to SA.  */
@@ -559,6 +559,7 @@ socket_ip_address (int sock, ip_address *ip, int endpoint)
   if (ret < 0)
     return false;
 
+  memset(ip, 0, sizeof(ip_address));
   ip->family = sockaddr->sa_family;
   switch (sockaddr->sa_family)
     {