aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2011-03-25 16:00:41 +0100
committerDaniel Stenberg <daniel@haxx.se>2011-03-25 16:03:37 +0100
commit11c2db2aa2a8ce5f3c151d6075066283e65bfd85 (patch)
tree1d93f381909ae59d57b63b5459344c03aef32af2 /lib/urldata.h
parentd02f444759eab5901a3d5439cf00657669b198c7 (diff)
fix: re-use of bound connections
When asked to bind the local end of a connection when doing a request, the code will now disqualify other existing connections from re-use even if they are connected to the correct remote host. This will also affect which connections that can be used for pipelining, so that only connections that aren't bound or bound to the same device/port you're asking for will be considered.
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index 7588cedc5..d1718a9a4 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -936,6 +936,16 @@ struct connectdata {
long verifypeer;
long verifyhost;
+
+ /* When this connection is created, store the conditions for the local end
+ bind. This is stored before the actual bind and before any connection is
+ made and will serve the purpose of being used for comparison reasons so
+ that subsequent bound-requested connections aren't accidentally re-using
+ wrong connections. */
+ char *localdev;
+ unsigned short localport;
+ int localportrange;
+
};
/* The end of connectdata. */