tlsrp

A simple TLS reverse proxy
git clone git://nihaljere.xyz/tlsrp
Log | Files | Refs

commit 338574a9296e24bc5171779607a93ed642ffc04a
parent d4810782ca446a8c71e5a20f041b3e8aca507782
Author: Nihal Jere <nihal@nihaljere.xyz>
Date:   Sat,  2 May 2020 22:36:54 -0500

changed to absolute paths, TLS works!

Diffstat:
MMakefile | 2+-
Mtlsrp.c | 14+++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile @@ -16,4 +16,4 @@ clean: rm $(OBJ) run: - LD_LIBRARY_PATH=/usr/lib/libressl ./$(OBJ) + LD_LIBRARY_PATH=/usr/lib/libressl ./$(OBJ) -U "/tmp/conn.socket" -f 443 diff --git a/tlsrp.c b/tlsrp.c @@ -160,7 +160,7 @@ serve(int serverfd, int clientfd, struct tls *clientconn) if ((pfd[CLIENT].revents & POLLIN)) { clicount = tls_read(clientconn, clibuf, BUF_SIZE); if (clicount == -1) { - die("client read failed:"); + die("client read failed: %s\n", tls_error(clientconn)); return -2; } } @@ -230,17 +230,17 @@ main(int argc, char* argv[]) die("failed to get tls config:"); } - if (tls_config_set_ca_file(config, "~/projects/libtls/CA/root.pem") == -1) { + if (tls_config_set_ca_file(config, "/home/nihal/projects/libtls/CA/root.pem") == -1) { tls_config_free(config); die("failed to load ca file:"); } - if (tls_config_set_cert_file(config, "~/projects/libtls/CA/server.crt") == -1) { + if (tls_config_set_cert_file(config, "/home/nihal/projects/libtls/CA/server.crt") == -1) { tls_config_free(config); die("failed to load cert file:"); } - if (tls_config_set_key_file(config, "~/projects/libtls/CA/server.key") == -1) { + if (tls_config_set_key_file(config, "/home/nihal/projects/libtls/CA/server.key") == -1) { tls_config_free(config); die("failed to load key file:"); } @@ -282,12 +282,16 @@ main(int argc, char* argv[]) else serverfd = donetworkconnect(host, backport); - tls_accept_socket(tls_client, &conn, clientfd); + if (tls_accept_socket(tls_client, &conn, clientfd) == -1) { + warn("tls_accept_socket: %s", tls_error(tls_client)); + goto tlsfail; + } if (serverfd) serve(serverfd, clientfd, conn); tls_close(conn); +tlsfail: close(serverfd); close(clientfd); close(bindfd);