diff options
author | lloyd <[email protected]> | 2010-03-30 20:11:24 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-03-30 20:11:24 +0000 |
commit | c8b7f5eb0663ffdecffb9179db5636cd6116f3e1 (patch) | |
tree | bed359044365c60a51b13ca2501509219f8bd1ad /src | |
parent | 23bbdea2264961f32164a98370a6b3ea9df8698a (diff) |
Present requested hostname (SNI extn) to TLS_Server user
Diffstat (limited to 'src')
-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; }; |