diff options
-rw-r--r-- | src/ssl/tls_server.cpp | 2 | ||||
-rw-r--r-- | src/ssl/tls_server.h | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/ssl/tls_server.cpp b/src/ssl/tls_server.cpp index 82f90036d..47902a71c 100644 --- a/src/ssl/tls_server.cpp +++ b/src/ssl/tls_server.cpp @@ -343,6 +343,8 @@ void TLS_Server::process_handshake_msg(Handshake_Type type, state->client_hello = new Client_Hello(contents); + client_requested_hostname = state->client_hello->hostname(); + state->version = choose_version(state->client_hello->version(), policy->min_version()); diff --git a/src/ssl/tls_server.h b/src/ssl/tls_server.h index 3f4ff6473..5cf830a64 100644 --- a/src/ssl/tls_server.h +++ b/src/ssl/tls_server.h @@ -26,6 +26,9 @@ class BOTAN_DLL TLS_Server : public TLS_Connection std::vector<X509_Certificate> peer_cert_chain() const; + std::string requested_hostname() const + { return client_requested_hostname; } + void close(); bool is_closed() const; @@ -63,6 +66,7 @@ class BOTAN_DLL TLS_Server : public TLS_Connection SecureVector<byte> session_id; SecureQueue read_buf; std::string peer_id; + std::string client_requested_hostname; bool active; }; |