tls: Support a null encryption flag on TLS socket abstraction
This commit is contained in:
+13
-2
@@ -406,9 +406,11 @@ METHOD(tls_socket_t, destroy, void,
|
||||
* See header
|
||||
*/
|
||||
tls_socket_t *tls_socket_create(bool is_server, identification_t *server,
|
||||
identification_t *peer, int fd, tls_cache_t *cache)
|
||||
identification_t *peer, int fd, tls_cache_t *cache,
|
||||
bool nullok)
|
||||
{
|
||||
private_tls_socket_t *this;
|
||||
tls_purpose_t purpose;
|
||||
|
||||
INIT(this,
|
||||
.public = {
|
||||
@@ -430,7 +432,16 @@ tls_socket_t *tls_socket_create(bool is_server, identification_t *server,
|
||||
.fd = fd,
|
||||
);
|
||||
|
||||
this->tls = tls_create(is_server, server, peer, TLS_PURPOSE_GENERIC,
|
||||
if (nullok)
|
||||
{
|
||||
purpose = TLS_PURPOSE_GENERIC_NULLOK;
|
||||
}
|
||||
else
|
||||
{
|
||||
purpose = TLS_PURPOSE_GENERIC;
|
||||
}
|
||||
|
||||
this->tls = tls_create(is_server, server, peer, purpose,
|
||||
&this->app.application, cache);
|
||||
if (!this->tls)
|
||||
{
|
||||
|
||||
@@ -104,9 +104,11 @@ struct tls_socket_t {
|
||||
* @param peer client identity, NULL for no client authentication
|
||||
* @param fd socket to read/write from
|
||||
* @param cache session cache to use, or NULL
|
||||
* @param nullok accept NULL encryption ciphers
|
||||
* @return TLS socket wrapper
|
||||
*/
|
||||
tls_socket_t *tls_socket_create(bool is_server, identification_t *server,
|
||||
identification_t *peer, int fd, tls_cache_t *cache);
|
||||
identification_t *peer, int fd, tls_cache_t *cache,
|
||||
bool nullok);
|
||||
|
||||
#endif /** TLS_SOCKET_H_ @}*/
|
||||
|
||||
Reference in New Issue
Block a user