From 61133545f6790f3d6ae4fcfdb4bc7a3156a17cdd Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 16 Mar 2005 22:01:39 +0000 Subject: [PATCH] - 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. --- CHANGES | 13 +++++++++++++ lib/hostip4.c | 5 ++--- lib/inet_pton.h | 10 +++++----- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/CHANGES b/CHANGES index d6308e19a..28a9f65c4 100644 --- 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 diff --git a/lib/hostip4.c b/lib/hostip4.c index ebbb9e375..97c42360a 100644 --- a/lib/hostip4.c +++ b/lib/hostip4.c @@ -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 @@ -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) /* diff --git a/lib/inet_pton.h b/lib/inet_pton.h index b0a70d457..6d911eb7b 100644 --- a/lib/inet_pton.h +++ b/lib/inet_pton.h @@ -1,10 +1,10 @@ #ifndef __INET_PTON_H #define __INET_PTON_H /*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, , 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.