X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Ftlsproxy.h;h=f23167e6e2e143f3c7298d4cd4741826a48d9f48;hb=2768e020f19f47e0d31ed883698a5aba1ad9d3a8;hp=b2d690e92c5a8206bdb9e82fd666833584802761;hpb=14106ea40a55acbba0d14a6f66350221ade044ab;p=tlsproxy%2Ftlsproxy.git diff --git a/src/tlsproxy.h b/src/tlsproxy.h index b2d690e..f23167e 100644 --- a/src/tlsproxy.h +++ b/src/tlsproxy.h @@ -1,7 +1,7 @@ /* * Global variables/defines. * - * Copyright (C) 2011 Simon Ruderich + * Copyright (C) 2011-2013 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 @@ -29,19 +29,25 @@ /* GnuTLS */ #include +#include "log.h" -/* Log level constants. */ -#define LOG_ERROR 0 -#define LOG_WARNING 1 -#define LOG_DEBUG 2 +/* Length for path arrays. */ +#define TLSPROXY_MAX_PATH_LENGTH 1024 - -/* Macros for shorter error handling. */ -#define GNUTLS_ERROR_EXIT(error, message) \ - if (GNUTLS_E_SUCCESS != error) { \ - fprintf(stderr, "%s: %s\n", message, gnutls_strerror(error)); \ - exit(EXIT_FAILURE); \ - } +/* Paths to necessary TLS files: the CA and the server key. */ +#define PROXY_CA_FILE "proxy-ca.pem" +#define PROXY_KEY_FILE "proxy-key.pem" +/* Path to special "invalid" certificate send to the client when an error + * occurs. */ +#define PROXY_INVALID_CERT_FILE "proxy-invalid.pem" +/* 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" +/* 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" /* Proxy hostname and port if specified on the command line. */ @@ -51,8 +57,12 @@ char *global_proxy_port; /* Log level, command line option. */ int global_log_level; +/* Passthrough connections if no certificate is stored for this hostname? + * Specified on the command line. */ +int global_passthrough_unknown; + /* "Global" GnuTLS data used by all threads, read only. */ -gnutls_priority_t tls_priority_cache; -gnutls_dh_params_t tls_dh_params; +gnutls_priority_t global_tls_priority_cache; +gnutls_dh_params_t global_tls_dh_params; #endif