Commit 26983053 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

take port numbers into account when finding a previous session from the

cache
parent 8e004316
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -371,7 +371,8 @@ static int Get_SSL_Session(struct connectdata *conn,
    if(!check->sessionid)
      /* not session ID means blank entry */
      continue;
    if(strequal(conn->name, check->name)) {
    if(strequal(conn->name, check->name) &&
       (conn->remote_port == check->remote_port) ) {
      /* yes, we have a session ID! */
      data->ssl.sessionage++;            /* increase general age */
      check->age = data->ssl.sessionage; /* set this as used in this age */
@@ -459,6 +460,7 @@ static int Store_SSL_Session(struct connectdata *conn)
  store->sessionid = ssl_sessionid;
  store->age = data->ssl.sessionage;      /* set current age */
  store->name = strdup(conn->name);       /* clone host name */
  store->remote_port = conn->remote_port; /* port number */

  return 0;
}
+1 −0
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ struct curl_ssl_session {
  char *name;       /* host name for which this ID was used */
  void *sessionid;  /* as returned from the SSL layer */
  long age;         /* just a number, the higher the more recent */
  unsigned short remote_port; /* remote port to connect to */
};

struct ssl_config_data {