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:
parent
ffc5fa3a2b
commit
245e3122df
@ -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)
|
||||||
|
@ -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) {
|
||||||
|
25
lib/hostip.c
25
lib/hostip.c
@ -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;
|
||||||
|
14
lib/hostip.h
14
lib/hostip.h
@ -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
|
||||||
|
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user