diff options
author | Daniel Stenberg <daniel@haxx.se> | 2021-01-26 11:04:33 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-01-27 09:19:01 +0100 |
commit | 764c6bd3bf2e7a1f8bc33162ab77b667770f4f73 (patch) | |
tree | 01321aab74a16bd212e36675ec0e1af556008a30 /lib | |
parent | 642d78026f409cfb5b31affc271a0eb8298e8020 (diff) | |
download | curl-764c6bd3bf2e7a1f8bc33162ab77b667770f4f73.tar.gz |
urldata: remove duplicate port number storage
... and use 'int' for ports. We don't use 'unsigned short' since -1 is
still often used internally to signify "unknown value" and 0 - 65535 are
all valid port numbers.
Closes #6534
Diffstat (limited to 'lib')
-rw-r--r-- | lib/connect.c | 5 | ||||
-rw-r--r-- | lib/url.c | 6 | ||||
-rw-r--r-- | lib/urldata.h | 5 |
3 files changed, 8 insertions, 8 deletions
diff --git a/lib/connect.c b/lib/connect.c index b9716e274..b01dbed98 100644 --- a/lib/connect.c +++ b/lib/connect.c @@ -616,7 +616,7 @@ void Curl_persistconninfo(struct Curl_easy *data, struct connectdata *conn) memcpy(data->info.conn_local_ip, conn->local_ip, MAX_IPADR_LEN); data->info.conn_scheme = conn->handler->scheme; data->info.conn_protocol = conn->handler->protocol; - data->info.conn_primary_port = conn->primary_port; + data->info.conn_primary_port = conn->port; data->info.conn_local_port = conn->local_port; } @@ -686,6 +686,7 @@ void Curl_conninfo_remote(struct Curl_easy *data, char buffer[STRERROR_LEN]; struct Curl_sockaddr_storage ssrem; curl_socklen_t plen; + long port; plen = sizeof(struct Curl_sockaddr_storage); memset(&ssrem, 0, sizeof(ssrem)); if(getpeername(sockfd, (struct sockaddr*) &ssrem, &plen)) { @@ -695,7 +696,7 @@ void Curl_conninfo_remote(struct Curl_easy *data, return; } if(!Curl_addr2string((struct sockaddr*)&ssrem, plen, - conn->primary_ip, &conn->primary_port)) { + conn->primary_ip, &port)) { failf(data, "ssrem inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; @@ -2319,7 +2319,7 @@ static CURLcode parse_proxy(struct Curl_easy *data, curl_proxytype proxytype) { char *portptr = NULL; - long port = -1; + int port = -1; char *proxyuser = NULL; char *proxypasswd = NULL; char *host; @@ -2408,14 +2408,14 @@ static CURLcode parse_proxy(struct Curl_easy *data, curl_url_get(uhp, CURLUPART_PORT, &portptr, 0); if(portptr) { - port = strtol(portptr, NULL, 10); + port = (int)strtol(portptr, NULL, 10); free(portptr); } else { if(data->set.proxyport) /* None given in the proxy string, then get the default one if it is given */ - port = data->set.proxyport; + port = (int)data->set.proxyport; else { if(proxytype == CURLPROXY_HTTPS) port = CURL_DEFAULT_HTTPS_PROXY_PORT; diff --git a/lib/urldata.h b/lib/urldata.h index 3ab06feea..1e186d22d 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -782,7 +782,7 @@ struct Curl_handler { struct connectdata *conn, unsigned int checks_to_perform); - long defport; /* Default port. */ + int defport; /* Default port. */ unsigned int protocol; /* See CURLPROTO_* - this needs to be the single specific protocol bit */ unsigned int family; /* single bit for protocol family; basically the @@ -961,7 +961,7 @@ struct connectdata { struct proxy_info socks_proxy; struct proxy_info http_proxy; #endif - long port; /* which port to use locally */ + int port; /* which port to use locally - to connect to */ int remote_port; /* the remote port, not the proxy port! */ int conn_to_port; /* the remote port to connect to. valid only if bits.conn_to_port is set */ @@ -976,7 +976,6 @@ struct connectdata { these are updated with data which comes directly from the socket. */ char primary_ip[MAX_IPADR_LEN]; - long primary_port; /* 'local_ip' and 'local_port' get filled with local's numerical ip address and port number whenever an outgoing connection is |