- Tru64 and some IRIX boxes seem to not like test 237 as it is. Their
authorDaniel Stenberg <daniel@haxx.se>
Wed, 16 Mar 2005 22:01:39 +0000 (22:01 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 16 Mar 2005 22:01:39 +0000 (22:01 +0000)
  inet_addr() functions seems to use &255 on all numericals in a ipv4 dotted
  address which makes a different failure... Now I've modified the ipv4
  resolve code to use inet_pton() instead in an attempt to make these systems
  better detect this as a bad IP address rather than creating a toally bogus
  address that is then passed on and used.

CHANGES
lib/hostip4.c
lib/inet_pton.h

diff --git a/CHANGES b/CHANGES
index d6308e1..28a9f65 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,19 @@
                                   Changelog
 
 
+Daniel (16 March 2005)
+- Tru64 and some IRIX boxes seem to not like test 237 as it is. Their
+  inet_addr() functions seems to use &255 on all numericals in a ipv4 dotted
+  address which makes a different failure... Now I've modified the ipv4
+  resolve code to use inet_pton() instead in an attempt to make these systems
+  better detect this as a bad IP address rather than creating a toally bogus
+  address that is then passed on and used.
+
+Daniel (15 March 2005)
+- Added test 237 and 238: test EPSV and PASV response handling when they get
+  well- formated data back but using illegal values. In 237 PASV gets an IP
+  address that is way bad. In 238 EPSV gets a port that is way out of range.
+
 Daniel (14 March 2005)
 - Added a few missing features to the curl-config --features list
 
index ebbb9e3..97c4236 100644 (file)
@@ -79,6 +79,7 @@
 #include "share.h"
 #include "strerror.h"
 #include "url.h"
+#include "inet_pton.h"
 
 #define _MPRINTF_REPLACE /* use our functions only */
 #include <curl/mprintf.h>
@@ -202,11 +203,9 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
 
   *waitp = 0; /* don't wait, we act synchronously */
 
-  in=inet_addr(hostname);
-  if (in != CURL_INADDR_NONE) {
+  if(1 == inet_pton(AF_INET, hostname, &in))
     /* This is a dotted IP address 123.123.123.123-style */
     return Curl_ip2addr(in, hostname, port);
-  }
 
 #if defined(HAVE_GETHOSTBYNAME_R)
   /*
index b0a70d4..6d911eb 100644 (file)
@@ -1,10 +1,10 @@
 #ifndef __INET_PTON_H
 #define __INET_PTON_H
 /***************************************************************************
- *                                  _   _ ____  _     
- *  Project                     ___| | | |  _ \| |    
- *                             / __| | | | |_) | |    
- *                            | (__| |_| |  _ <| |___ 
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
  * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
@@ -12,7 +12,7 @@
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
  * are also available at http://curl.haxx.se/docs/copyright.html.
- * 
+ *
  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  * copies of the Software, and permit persons to whom the Software is
  * furnished to do so, under the terms of the COPYING file.