X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=src%2Ftlsproxy.c;h=a35b49b0280d99e52f8cb8db2f5ec88110bb0d85;hp=77459304da23cd61867410d82e6a0a26e02636d0;hb=HEAD;hpb=da3b5fdb4d8c70bea3bc4d2a9b5e4eab737864eb diff --git a/src/tlsproxy.c b/src/tlsproxy.c index 7745930..a35b49b 100644 --- a/src/tlsproxy.c +++ b/src/tlsproxy.c @@ -3,7 +3,7 @@ * 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-2013 Simon Ruderich + * Copyright (C) 2011-2014 Simon Ruderich * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,13 +26,14 @@ #include #include #include +#include +#include #include #include +#include #include #include #include -#include -#include #if GNUTLS_VERSION_NUMBER <= 0x020b00 /* Necessary for GnuTLS when used with threads. */ @@ -150,9 +151,9 @@ int main(int argc, char **argv) { } #ifdef USE_IPV4_ONLY - server_socket = socket(PF_INET, SOCK_STREAM, 0); + server_socket = socket(AF_INET, SOCK_STREAM, 0); #else - server_socket = socket(PF_INET6, SOCK_STREAM, 0); + server_socket = socket(AF_INET6, SOCK_STREAM, 0); #endif if (server_socket < 0) { perror("socket()"); @@ -191,6 +192,7 @@ int main(int argc, char **argv) { if (global_log_level >= LOG_DEBUG1_LEVEL) { printf("tlsproxy %s\n", VERSION); printf("Listening for connections on port %d.\n", port); + printf("Priority string: %s.\n", PROXY_TLS_PRIORITIES); if (global_proxy_host != NULL && global_proxy_port != NULL) { printf("Using proxy: %s:%s.\n", global_proxy_host, @@ -315,12 +317,11 @@ static void parse_arguments(int argc, char **argv) { memcpy(global_proxy_host, optarg, (size_t)(position - optarg)); global_proxy_host[position - optarg] = '\0'; - global_proxy_port = malloc(strlen(position + 1) + 1); + global_proxy_host = strdup(position + 1); if (global_proxy_port == NULL) { - perror("malloc()"); + perror("strdup()"); exit(EXIT_FAILURE); } - strcpy(global_proxy_port, position + 1); break; } @@ -413,7 +414,8 @@ static void initialize_gnutls(void) { #endif /* Setup GnuTLS cipher suites. */ - result = gnutls_priority_init(&global_tls_priority_cache, "NORMAL", NULL); + result = gnutls_priority_init(&global_tls_priority_cache, + PROXY_TLS_PRIORITIES, NULL); GNUTLS_ERROR_EXIT(result, "gnutls_priority_init()"); /* Read Diffie-Hellman parameters. */