X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=src%2Ftlsproxy.h;h=7bd573b5fb2dc0dfb2a603969f6ecd112f919d0e;hp=d244b8d01efd6ac17948d9b8c13e0286a0db36e8;hb=7eba49d24d56288d83746f3f0ce383d7c0c36552;hpb=219d904b7d12173ee93d016fe1a2cb8ae32eea9c diff --git a/src/tlsproxy.h b/src/tlsproxy.h index d244b8d..7bd573b 100644 --- a/src/tlsproxy.h +++ b/src/tlsproxy.h @@ -1,7 +1,7 @@ /* * Global variables/defines. * - * 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 @@ -25,15 +25,17 @@ #include #include #include +#include #include #include "log.h" + /* Length for path arrays. */ #define TLSPROXY_MAX_PATH_LENGTH 1024 -/* Paths to necessary TLS files: the CA, the server key and DH parameters. */ +/* Paths to proxy files: the CA, the server key and DH parameters. */ #define PROXY_CA_PATH "proxy-ca.pem" #define PROXY_KEY_PATH "proxy-key.pem" #define PROXY_DH_PATH "proxy-dh.pem" @@ -43,11 +45,23 @@ /* The server certificate for the given hostname is stored in * "./certificate-hostname-proxy.pem" - we use this for the connection to the * client. */ -#define PROXY_SERVER_CERT_FORMAT "./certificate-%s-proxy.pem" +#define PROXY_SERVER_CERT_FILE_FORMAT "./certificate-%s-proxy.pem" /* The remote server certificate for the given hostname is stored in * "./certificate-hostname-proxy.pem" - we make sure the server sends this * certificate. */ -#define STORED_SERVER_CERT_FORMAT "./certificate-%s-server.pem" +#define STORED_SERVER_CERT_FILE_FORMAT "./certificate-%s-server.pem" + +/* GnuTLS priority string used for both server and client connections. */ +#define PROXY_TLS_PRIORITIES \ + /* Don't use known insecure algorithms. */ \ + "SECURE" \ + /* Lower priority of SHA-1, user better hashes if possible. */ \ + ":-SHA1:+SHA1" \ + /* Force safe renegotiations. Shouldn't cause any problems as this \ + * option only affects the server side (with GnuTLS defaults) and the \ + * local clients most-likely already support safe renegotiations (old \ + * servers are therefore not an issue). */ \ + ":%SAFE_RENEGOTIATION" /* Proxy hostname and port if specified on the command line. */ @@ -55,7 +69,7 @@ char *global_proxy_host; char *global_proxy_port; /* Passphrase for authentication of this proxy. Used with the -a option. */ -char *http_digest_authorization; +char *global_http_digest_authorization; /* Log level, command line option. */ int global_log_level;