diff options
Diffstat (limited to 'src/libpttls/pt_tls_server.c')
-rw-r--r-- | src/libpttls/pt_tls_server.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/libpttls/pt_tls_server.c b/src/libpttls/pt_tls_server.c index 2260d72ab..b525acb6f 100644 --- a/src/libpttls/pt_tls_server.c +++ b/src/libpttls/pt_tls_server.c @@ -18,8 +18,6 @@ #include <utils/debug.h> -#include <tnc/tnc.h> - typedef struct private_pt_tls_server_t private_pt_tls_server_t; /** @@ -221,12 +219,6 @@ METHOD(pt_tls_server_t, handle, status_t, return FAILED; } this->state = PT_TLS_SERVER_TNCCS; - this->tnccs = (tls_t*)tnc->tnccs->create_instance(tnc->tnccs, - TNCCS_2_0, TRUE); - if (!this->tnccs) - { - return FAILED; - } break; case PT_TLS_SERVER_TNCCS: if (!assess(this, (tls_t*)this->tnccs)) @@ -250,7 +242,7 @@ METHOD(pt_tls_server_t, get_fd, int, METHOD(pt_tls_server_t, destroy, void, private_pt_tls_server_t *this) { - DESTROY_IF(this->tnccs); + this->tnccs->destroy(this->tnccs); this->tls->destroy(this->tls); free(this); } @@ -258,7 +250,8 @@ METHOD(pt_tls_server_t, destroy, void, /** * See header */ -pt_tls_server_t *pt_tls_server_create(identification_t *server, int fd) +pt_tls_server_t *pt_tls_server_create(identification_t *server, int fd, + tnccs_t *tnccs) { private_pt_tls_server_t *this; @@ -270,10 +263,12 @@ pt_tls_server_t *pt_tls_server_create(identification_t *server, int fd) }, .state = PT_TLS_SERVER_VERSION, .tls = tls_socket_create(TRUE, server, NULL, fd, NULL), + .tnccs = (tls_t*)tnccs, ); if (!this->tls) { + this->tnccs->destroy(this->tnccs); free(this); return NULL; } |