aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-03-05 17:38:05 +0000
committerDaniel Stenberg <daniel@haxx.se>2014-03-05 17:38:05 +0000
commit219a0fbe76204e2505a9143aeb149336c7f5683b (patch)
treeee5ece394dd59ab8ec7fc11e04468dca8f1e0c06 /lib/url.c
parent0b3750b5c23c25f1bcf4ed95edf8928ce4fd06cc (diff)
remote_port: allow connect to port 0
Port number zero is perfectly allowed to connect to. I moved to storing the remote port number in an int so that -1 means undefined and 0-65535 can be used for legitimate port numbers.
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/url.c b/lib/url.c
index 4d7508eee..7a7c2781d 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3553,6 +3553,7 @@ static struct connectdata *allocate_conn(struct SessionHandle *data)
conn->tempsock[1] = CURL_SOCKET_BAD; /* no file descriptor */
conn->connection_id = -1; /* no ID */
conn->port = -1; /* unknown at this point */
+ conn->remote_port = -1; /* unknown */
/* Default protocol-independent behavior doesn't support persistent
connections, so we set this to force-close. Protocols that support
@@ -4075,7 +4076,7 @@ static CURLcode setup_connection_internals(struct connectdata *conn)
/* only if remote_port was not already parsed off the URL we use the
default port number */
- if(!conn->remote_port)
+ if(conn->remote_port < 0)
conn->remote_port = (unsigned short)conn->given->defport;
return CURLE_OK;