Ale Vesely fixed CURLOPT_INTERFACE when using a hostname
authorDaniel Stenberg <daniel@haxx.se>
Fri, 21 Apr 2006 13:46:19 +0000 (13:46 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 21 Apr 2006 13:46:19 +0000 (13:46 +0000)
CHANGES
RELEASE-NOTES
lib/connect.c

diff --git a/CHANGES b/CHANGES
index c7ac2e2..0f1a1de 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,7 +6,14 @@
 
                                   Changelog
 
+Daniel (21 April 2006)
+- Ale Vesely fixed CURLOPT_INTERFACE when using a hostname.
+
 Daniel (19 April 2006)
+- Based on previous info from Tor Arntsen, I made configure detect the Intel
+  ICC compiler to add a compiler option for it, in order for configure to
+  properly be able to detect function prototypes.
+
 - Robson Braga Araujo provided a patch that makes libcurl less eager to close
   the control connection when using FTP, for example when you remove an easy
   handle from a multi stack.
index 7b2cede..cb352f5 100644 (file)
@@ -18,10 +18,12 @@ This release includes the following changes:
 
 This release includes the following bugfixes:
 
+ o CURLOPT_INTERFACE works with hostname
+ o configure runs fine with ICC
  o closed control connection with FTP when easy handle was removed from multi
  o curl --trace crash when built with VS2005
  o SSL connect time-out
- o Improved NTLM functionality
+ o improved NTLM functionality
  o following redirects with more than one question mark in source URL
  o fixed debug build crash with -d
  o TFTP works on more systems
@@ -39,6 +41,7 @@ This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
  Dan Fandrich, Ilja van Sprundel, David McCreedy, Tor Arntsen, Xavier Bouchoux,
- David Byron, Michele Bini, Ates Goral, Katie Wang, Robson Braga Araujo
+ David Byron, Michele Bini, Ates Goral, Katie Wang, Robson Braga Araujo,
+ Ale Vesely
 
         Thanks! (and sorry if I forgot to mention someone)
index f0865f4..b3372f4 100644 (file)
 #include "url.h" /* for Curl_safefree() */
 #include "multiif.h"
 #include "sockaddr.h" /* required for Curl_sockaddr_storage */
+#include "inet_ntop.h"
 
 /* The last #include file should be: */
 #include "memdebug.h"
@@ -288,8 +289,14 @@ static CURLcode bindlocal(struct connectdata *conn,
         (void)Curl_wait_for_resolv(conn, &h);
 
       if(h) {
-        /* we know data->set.device is shorter than the myhost array */
-        strcpy(myhost, data->set.device);
+        if(in == CURL_INADDR_NONE)
+          /* convert the resolved address, sizeof myhost >= INET_ADDRSTRLEN */
+          Curl_inet_ntop(h->addr->ai_addr->sa_family,
+                         &((struct sockaddr_in*)h->addr->ai_addr)->sin_addr,
+                         myhost, sizeof myhost);
+        else
+          /* we know data->set.device is shorter than the myhost array */
+          strcpy(myhost, data->set.device);
         Curl_resolv_unlock(data, h);
       }
     }