1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

Made defines instead of plain numbers for the Curl_resolv() return code to

make the code easier to read
This commit is contained in:
Daniel Stenberg 2004-04-26 14:18:00 +00:00
parent ffc5fa3a2b
commit 245e3122df
5 changed files with 33 additions and 26 deletions

View File

@ -263,7 +263,7 @@ static CURLcode bindlocal(struct connectdata *conn,
* We now have the numerical IPv4-style x.y.z.w in the 'myhost' buffer * We now have the numerical IPv4-style x.y.z.w in the 'myhost' buffer
*/ */
rc = Curl_resolv(conn, myhost, 0, &h); rc = Curl_resolv(conn, myhost, 0, &h);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
(void)Curl_wait_for_resolv(conn, &h); (void)Curl_wait_for_resolv(conn, &h);
if(h) if(h)
@ -276,7 +276,7 @@ static CURLcode bindlocal(struct connectdata *conn,
* or IP number * or IP number
*/ */
rc = Curl_resolv(conn, data->set.device, 0, &h); rc = Curl_resolv(conn, data->set.device, 0, &h);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
(void)Curl_wait_for_resolv(conn, &h); (void)Curl_wait_for_resolv(conn, &h);
if(h) if(h)

View File

@ -1367,14 +1367,14 @@ CURLcode ftp_use_port(struct connectdata *conn)
if((in == CURL_INADDR_NONE) && if((in == CURL_INADDR_NONE) &&
Curl_if2ip(data->set.ftpport, myhost, sizeof(myhost))) { Curl_if2ip(data->set.ftpport, myhost, sizeof(myhost))) {
rc = Curl_resolv(conn, myhost, 0, &h); rc = Curl_resolv(conn, myhost, 0, &h);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
rc = Curl_wait_for_resolv(conn, &h); rc = Curl_wait_for_resolv(conn, &h);
} }
else { else {
size_t len = strlen(data->set.ftpport); size_t len = strlen(data->set.ftpport);
if(len>1) { if(len>1) {
rc = Curl_resolv(conn, data->set.ftpport, 0, &h); rc = Curl_resolv(conn, data->set.ftpport, 0, &h);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
rc = Curl_wait_for_resolv(conn, &h); rc = Curl_wait_for_resolv(conn, &h);
} }
if(h) if(h)
@ -1642,7 +1642,7 @@ CURLcode ftp_use_pasv(struct connectdata *conn,
* now, instead we remake the lookup here and now! * now, instead we remake the lookup here and now!
*/ */
rc = Curl_resolv(conn, conn->proxyhost, conn->port, &addr); rc = Curl_resolv(conn, conn->proxyhost, conn->port, &addr);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
rc = Curl_wait_for_resolv(conn, &addr); rc = Curl_wait_for_resolv(conn, &addr);
connectport = connectport =
@ -1652,7 +1652,7 @@ CURLcode ftp_use_pasv(struct connectdata *conn,
else { else {
/* normal, direct, ftp connection */ /* normal, direct, ftp connection */
rc = Curl_resolv(conn, newhostp, newport, &addr); rc = Curl_resolv(conn, newhostp, newport, &addr);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
rc = Curl_wait_for_resolv(conn, &addr); rc = Curl_wait_for_resolv(conn, &addr);
if(!addr) { if(!addr) {

View File

@ -366,10 +366,11 @@ Curl_cache_addr(struct SessionHandle *data,
* *
* Return codes: * Return codes:
* *
* -1 = error, no pointer * CURLRESOLV_ERROR (-1) = error, no pointer
* 0 = OK, pointer provided * CURLRESOLV_RESOLVED (0) = OK, pointer provided
* 1 = waiting for response, no pointer * CURLRESOLV_PENDING (1) = waiting for response, no pointer
*/ */
int Curl_resolv(struct connectdata *conn, int Curl_resolv(struct connectdata *conn,
char *hostname, char *hostname,
int port, int port,
@ -383,7 +384,7 @@ int Curl_resolv(struct connectdata *conn,
CURLcode result; CURLcode result;
/* default to failure */ /* default to failure */
int rc = -1; int rc = CURLRESOLV_ERROR;
*entry = NULL; *entry = NULL;
#ifdef HAVE_SIGSETJMP #ifdef HAVE_SIGSETJMP
@ -392,7 +393,7 @@ int Curl_resolv(struct connectdata *conn,
if(!data->set.no_signal && sigsetjmp(curl_jmpenv, 1)) { if(!data->set.no_signal && sigsetjmp(curl_jmpenv, 1)) {
/* this is coming from a siglongjmp() */ /* this is coming from a siglongjmp() */
failf(data, "name lookup timed out"); failf(data, "name lookup timed out");
return -1; return CURLRESOLV_ERROR;
} }
#endif #endif
@ -400,7 +401,7 @@ int Curl_resolv(struct connectdata *conn,
entry_id = create_hostcache_id(hostname, port, &entry_len); entry_id = create_hostcache_id(hostname, port, &entry_len);
/* If we can't create the entry id, fail */ /* If we can't create the entry id, fail */
if (!entry_id) if (!entry_id)
return -1; return CURLRESOLV_ERROR;
if(data->share) if(data->share)
Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE);
@ -422,7 +423,7 @@ int Curl_resolv(struct connectdata *conn,
/* Check what IP specifics the app has requested and if we can provide it. /* Check what IP specifics the app has requested and if we can provide it.
* If not, bail out. */ * If not, bail out. */
if(!Curl_ipvalid(data)) if(!Curl_ipvalid(data))
return -1; return CURLRESOLV_ERROR;
/* If Curl_getaddrinfo() returns NULL, 'wait' might be set to a non-zero /* If Curl_getaddrinfo() returns NULL, 'wait' might be set to a non-zero
value indicating that we need to wait for the response to the resolve value indicating that we need to wait for the response to the resolve
@ -436,11 +437,11 @@ int Curl_resolv(struct connectdata *conn,
/* First, check that we haven't received the info by now */ /* First, check that we haven't received the info by now */
result = Curl_is_resolved(conn, &dns); result = Curl_is_resolved(conn, &dns);
if(result) /* error detected */ if(result) /* error detected */
return -1; return CURLRESOLV_ERROR;
if(dns) if(dns)
rc = 0; /* pointer provided */ rc = CURLRESOLV_RESOLVED; /* pointer provided */
else else
rc = 1; /* no info yet */ rc = CURLRESOLV_PENDING; /* no info yet */
} }
} }
else { else {
@ -457,12 +458,12 @@ int Curl_resolv(struct connectdata *conn,
/* returned failure, bail out nicely */ /* returned failure, bail out nicely */
Curl_freeaddrinfo(addr); Curl_freeaddrinfo(addr);
else else
rc = 0; rc = CURLRESOLV_RESOLVED;
} }
} }
else { else {
dns->inuse++; /* we use it! */ dns->inuse++; /* we use it! */
rc = 0; rc = CURLRESOLV_RESOLVED;
} }
*entry = dns; *entry = dns;

View File

@ -51,10 +51,12 @@ struct Curl_dns_entry {
* The returned data *MUST* be "unlocked" with Curl_resolv_unlock() after * The returned data *MUST* be "unlocked" with Curl_resolv_unlock() after
* use, or we'll leak memory! * use, or we'll leak memory!
*/ */
int Curl_resolv(struct connectdata *conn, /* return codes */
char *hostname, #define CURLRESOLV_ERROR -1
int port, #define CURLRESOLV_RESOLVED 0
struct Curl_dns_entry **dnsentry); #define CURLRESOLV_PENDING 1
int Curl_resolv(struct connectdata *conn, char *hostname,
int port, struct Curl_dns_entry **dnsentry);
/* /*
* Curl_ipvalid() checks what CURL_IPRESOLVE_* requirements that might've * Curl_ipvalid() checks what CURL_IPRESOLVE_* requirements that might've
@ -201,6 +203,10 @@ Curl_cache_addr(struct SessionHandle *data, Curl_addrinfo *addr,
#define CURLRES_SYNCH #define CURLRES_SYNCH
#endif #endif
#ifndef USE_LIBIDN
#define CURLRES_IDN
#endif
/* Allocate enough memory to hold the full name information structs and /* Allocate enough memory to hold the full name information structs and
* everything. OSF1 is known to require at least 8872 bytes. The buffer * everything. OSF1 is known to require at least 8872 bytes. The buffer
* required for storing all possible aliases and IP numbers is according to * required for storing all possible aliases and IP numbers is according to

View File

@ -1765,10 +1765,10 @@ static int handleSock5Proxy(const char *proxy_name,
Curl_addrinfo *hp=NULL; Curl_addrinfo *hp=NULL;
int rc = Curl_resolv(conn, TRUE_HOSTNAME(conn), conn->remote_port, &dns); int rc = Curl_resolv(conn, TRUE_HOSTNAME(conn), conn->remote_port, &dns);
if(rc == -1) if(rc == CURLRESOLV_ERROR)
return 1; return 1;
if(rc == 1) if(rc == CURLRESOLV_PENDING)
/* this requires that we're in "wait for resolve" state */ /* this requires that we're in "wait for resolve" state */
rc = Curl_wait_for_resolv(conn, &dns); rc = Curl_wait_for_resolv(conn, &dns);
@ -3062,7 +3062,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
/* Resolve target host right on */ /* Resolve target host right on */
rc = Curl_resolv(conn, TRUE_HOSTNAME(conn), conn->port, &hostaddr); rc = Curl_resolv(conn, TRUE_HOSTNAME(conn), conn->port, &hostaddr);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
*async = TRUE; *async = TRUE;
else if(!hostaddr) { else if(!hostaddr) {
@ -3077,7 +3077,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
/* resolve proxy */ /* resolve proxy */
rc = Curl_resolv(conn, conn->proxyhost, conn->port, &hostaddr); rc = Curl_resolv(conn, conn->proxyhost, conn->port, &hostaddr);
if(rc == 1) if(rc == CURLRESOLV_PENDING)
*async = TRUE; *async = TRUE;
else if(!hostaddr) { else if(!hostaddr) {