X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Ftlsproxy.c;h=5fed55427ae95468c88bed20b615472ba2bf8625;hb=3c4d48bc9f6d8228b4eb61ef7920bdc64fc2eec1;hp=85ca776af98516a91f3d98e789ba2fc266e190bf;hpb=8db64b0eebeaa80e46b2df40b91af741e533e7bc;p=tlsproxy%2Ftlsproxy.git diff --git a/src/tlsproxy.c b/src/tlsproxy.c index 85ca776..5fed554 100644 --- a/src/tlsproxy.c +++ b/src/tlsproxy.c @@ -1,5 +1,7 @@ /* - * tlsproxy is a transparent TLS proxy for HTTPS connections. + * tlsproxy is a TLS proxy for HTTPS which intercepts the connections and + * ensures the server certificate doesn't change. Normally this isn't detected + * if a trusted CA for the new server certificate is installed. * * Copyright (C) 2011 Simon Ruderich * @@ -71,7 +73,9 @@ static SEM *ringbuffer_free; /* Space for another element in the buffer? */ static SEM *ringbuffer_lock; /* Read lock. */ +#ifdef DEBUG static void sigint_handler(int signal); +#endif static void parse_arguments(int argc, char **argv); static void print_usage(const char *argv); @@ -102,11 +106,13 @@ int main(int argc, char **argv) { } /* Setup our SIGINT signal handler which allows a "normal" termination of - * the server. */ + * the server in DEBUG mode. */ sigemptyset(&action.sa_mask); - action.sa_handler = sigint_handler; action.sa_flags = 0; +#ifdef DEBUG + action.sa_handler = sigint_handler; sigaction(SIGINT, &action, NULL); +#endif /* Ignore SIGPIPEs. */ action.sa_handler = SIG_IGN; sigaction(SIGPIPE, &action, NULL); @@ -140,7 +146,8 @@ int main(int argc, char **argv) { (void * (*)(void *))&worker_thread, NULL); if (0 != result) { - printf("failed to create worker thread: %s\n", strerror(result)); + fprintf(stderr, "failed to create worker thread: %s\n", + strerror(result)); return EXIT_FAILURE; } @@ -233,11 +240,13 @@ int main(int argc, char **argv) { return EXIT_FAILURE; } +#ifdef DEBUG static void sigint_handler(int signal_number) { (void)signal_number; done = 1; } +#endif static void parse_arguments(int argc, char **argv) { int option;