]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
urldata: remove duplicate port number storage
authorDaniel Stenberg <daniel@haxx.se>
Tue, 26 Jan 2021 10:04:33 +0000 (11:04 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 27 Jan 2021 08:19:01 +0000 (09:19 +0100)
... 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

lib/connect.c
lib/url.c
lib/urldata.h

index b9716e274793fd2a807a7867378ce121194c6666..b01dbed98abe94bf28d93ebd0c1338c2f546701b 100644 (file)
@@ -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;
index ee6285c60b90cd158bb870399ca45b8a647cdb2e..e856bfd2da9df1db696a51594f4514b935bc65e8 100644 (file)
--- 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;
index 3ab06feea6b459f86d49e299751a794ac01fb925..1e186d22d7112e8754587bf2df349ca2310f0d75 100644 (file)
@@ -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