aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2013-03-09 16:42:35 -0500
committerRoger Dingledine <arma@torproject.org>2013-03-10 23:38:18 -0400
commit599aeef9bc9e707ec7146da79b2018bf2f2924b3 (patch)
tree423e03ae6c7e8cafb03da8f69f91e6f6ba72d20f
parente270a066a6262784be317f003f6102430db24880 (diff)
downloadtor-599aeef9bc9e707ec7146da79b2018bf2f2924b3.tar.gz
tor-599aeef9bc9e707ec7146da79b2018bf2f2924b3.zip
parameterize SSLKeyLifetime
no actual changes in behavior yet
-rw-r--r--src/or/config.c1
-rw-r--r--src/or/or.h5
-rw-r--r--src/or/router.c7
3 files changed, 9 insertions, 4 deletions
diff --git a/src/or/config.c b/src/or/config.c
index dad571967e..b7613bdf92 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -380,6 +380,7 @@ static config_var_t option_vars_[] = {
V(SocksPolicy, LINELIST, NULL),
VPORT(SocksPort, LINELIST, NULL),
V(SocksTimeout, INTERVAL, "2 minutes"),
+ V(SSLKeyLifetime, INTERVAL, "365 days"),
OBSOLETE("StatusFetchPeriod"),
V(StrictNodes, BOOL, "0"),
OBSOLETE("SysLog"),
diff --git a/src/or/or.h b/src/or/or.h
index c2cd8a6cae..a71468c1c6 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -177,8 +177,6 @@
#define MIN_ONION_KEY_LIFETIME (7*24*60*60)
/** How often do we rotate TLS contexts? */
#define MAX_SSL_KEY_LIFETIME_INTERNAL (2*60*60)
-/** What expiry time shall we place on our SSL certs? */
-#define MAX_SSL_KEY_LIFETIME_ADVERTISED (365*24*60*60)
/** How old do we allow a router to get before removing it
* from the router list? In seconds. */
@@ -4010,6 +4008,9 @@ typedef struct {
*/
int DisableV2DirectoryInfo_;
+ /** What expiry time shall we place on our SSL certs? */
+ int SSLKeyLifetime;
+
} or_options_t;
/** Persistent state for an onion router, as saved to disk. */
diff --git a/src/or/router.c b/src/or/router.c
index 95aa70a9c4..c9c35f6132 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -650,6 +650,7 @@ router_initialize_tls_context(void)
{
unsigned int flags = 0;
const or_options_t *options = get_options();
+ int lifetime = options->SSLKeyLifetime;
if (public_server_mode(options))
flags |= TOR_TLS_CTX_IS_PUBLIC_SERVER;
if (options->TLSECGroup) {
@@ -659,11 +660,13 @@ router_initialize_tls_context(void)
flags |= TOR_TLS_CTX_USE_ECDHE_P224;
}
+ /* It's ok to pass lifetime in as an unsigned int, since
+ * config_parse_interval() checked it. */
return tor_tls_context_init(flags,
get_tlsclient_identity_key(),
- server_mode(get_options()) ?
+ server_mode(options) ?
get_server_identity_key() : NULL,
- MAX_SSL_KEY_LIFETIME_ADVERTISED);
+ (unsigned int)lifetime);
}
/** Initialize all OR private keys, and the TLS context, as necessary.