X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Ftlsproxy.h;h=b3dcf7f0fd72d8475d07d17cf6975316f9602d62;hb=28bc2ca1129818da944dcd5f2073cffdc497065c;hp=513964cc02381c15e6b81689d5377a1081846c9b;hpb=4aa2eea6b3115cab6f3165c4391d523d5df61e51;p=tlsproxy%2Ftlsproxy.git diff --git a/src/tlsproxy.h b/src/tlsproxy.h index 513964c..b3dcf7f 100644 --- a/src/tlsproxy.h +++ b/src/tlsproxy.h @@ -1,7 +1,7 @@ /* - * Global variables. + * 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 @@ -20,8 +20,57 @@ #ifndef TLSPROXY_H #define TLSPROXY_H +#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 and the server key. */ +#define PROXY_CA_PATH "proxy-ca.pem" +#define PROXY_KEY_PATH "proxy-key.pem" +/* Path to special "invalid" certificate send to the client when an error + * occurs. */ +#define PROXY_INVALID_CERT_PATH "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. */ -char *use_proxy_host; -char *use_proxy_port; +char *global_proxy_host; +char *global_proxy_port; + +/* Passphrase for authentication of this proxy. Used with the -a option. */ +char *http_digest_authorization; + +/* 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 global_tls_priority_cache; +gnutls_dh_params_t global_tls_dh_params; + +/* Very simple compile time asserts. No good error message though. */ +#define ct_assert(x) { \ + int unused[(x) ? 1 : -1]; \ + (void)unused; \ +} #endif