X-Git-Url: https://ruderich.org/simon/gitweb/?p=tlsproxy%2Ftlsproxy.git;a=blobdiff_plain;f=src%2Ftlsproxy.h;h=fae7d60dec4dbfd0647b2ad5017abbf17a1ee8ad;hp=ae6a818f435729a2af734cda3e74eaa16206d931;hb=9f7ef8fa5c5216ac2510d2b4acb3b1b5c26886d1;hpb=80e82203daef6daf7a16219876fc404e12f82c8a diff --git a/src/tlsproxy.h b/src/tlsproxy.h index ae6a818..fae7d60 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 @@ -22,36 +22,45 @@ #include -#include #include +#include #include -/* GnuTLS */ #include #include "log.h" -/* 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" +/* Length for path arrays. */ +#define TLSPROXY_MAX_PATH_LENGTH 1024 + +/* Paths to necessary TLS 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" /* Path to special "invalid" certificate send to the client when an error * occurs. */ -#define PROXY_INVALID_CERT_FILE "proxy-invalid.pem" +#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" +#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 "NORMAL" /* Proxy hostname and port if specified on the command line. */ char *global_proxy_host; char *global_proxy_port; +/* Passphrase for authentication of this proxy. Used with the -a option. */ +char *global_http_digest_authorization; + /* Log level, command line option. */ int global_log_level; @@ -60,7 +69,13 @@ int global_log_level; 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; + +/* Very simple compile time asserts. No good error message though. */ +#define ct_assert(x) { \ + int unused[(x) ? 1 : -1]; \ + (void)unused; \ +} #endif