summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-01-26 11:04:33 +0100
committerDaniel Stenberg <daniel@haxx.se>2021-01-27 09:19:01 +0100
commit764c6bd3bf2e7a1f8bc33162ab77b667770f4f73 (patch)
tree01321aab74a16bd212e36675ec0e1af556008a30
parent642d78026f409cfb5b31affc271a0eb8298e8020 (diff)
downloadcurl-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
-rw-r--r--lib/connect.c5
-rw-r--r--lib/url.c6
-rw-r--r--lib/urldata.h5
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;
diff --git a/lib/url.c b/lib/url.c
index ee6285c60..e856bfd2d 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -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