diff options
-rw-r--r-- | bounce.c | 2 | ||||
-rw-r--r-- | bounce.h | 1 | ||||
-rw-r--r-- | server.c | 5 |
3 files changed, 8 insertions, 0 deletions
diff --git a/bounce.c b/bounce.c index 71433ee..416c228 100644 --- a/bounce.c +++ b/bounce.c @@ -349,6 +349,7 @@ int main(int argc, char *argv[]) { serverConfig(true, NULL, NULL, NULL); serverConnect(serverBindHost, host, port); serverPrintCert(); + serverClose(); return EX_OK; } @@ -564,6 +565,7 @@ int main(int argc, char *argv[]) { } serverFormat("QUIT :%s\r\n", quit); + serverClose(); for (size_t i = clientIndex; i < event.len; ++i) { struct Client *client = event.clients[i]; if (!client->need) { diff --git a/bounce.h b/bounce.h index 434e443..4144324 100644 --- a/bounce.h +++ b/bounce.h @@ -198,6 +198,7 @@ void serverFormat(const char *format, ...) void serverEnqueue(const char *format, ...) __attribute__((format(printf, 1, 2))); void serverDequeue(void); +void serverClose(void); enum Need { BIT(NeedHandshake), diff --git a/server.c b/server.c index aa17cde..6640f8f 100644 --- a/server.c +++ b/server.c @@ -155,6 +155,11 @@ int serverConnect(const char *bindHost, const char *host, const char *port) { return sock; } +void serverClose(void) { + tls_close(client); + tls_free(client); +} + void serverPrintCert(void) { size_t len; const byte *pem = tls_peer_cert_chain_pem(client, &len); |