mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
r15318@catbus: nickm | 2007-09-24 11:42:25 -0400
Backport r11566 so that --list-fingerprint will not die when it finds no state file. svn:r11606
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ Backport items for 0.1.2:
|
||||
o r11138: PROTOCOLINFO support.
|
||||
D r11141: CookieAuthFile and CookieAuthFileGroupReadable.
|
||||
- r11166: Don't believe future dates from the state file.
|
||||
- r11566: make r11438 not actually break things.
|
||||
o r11566: make r11438 not actually break things.
|
||||
|
||||
|
||||
Backport for 0.1.2.x once better tested:
|
||||
|
||||
+15
-10
@@ -239,7 +239,6 @@ init_keys(void)
|
||||
char digest[20];
|
||||
char *cp;
|
||||
or_options_t *options = get_options();
|
||||
or_state_t *state = get_or_state();
|
||||
|
||||
if (!key_lock)
|
||||
key_lock = tor_mutex_new();
|
||||
@@ -284,15 +283,21 @@ init_keys(void)
|
||||
prkey = init_key_from_file(keydir);
|
||||
if (!prkey) return -1;
|
||||
set_onion_key(prkey);
|
||||
if (state->LastRotatedOnionKey > 100) { /* allow for some parsing slop. */
|
||||
onionkey_set_at = state->LastRotatedOnionKey;
|
||||
} else {
|
||||
/* We have no LastRotatedOnionKey set; either we just created the key
|
||||
* or it's a holdover from 0.1.2.4-alpha-dev or earlier. In either case,
|
||||
* start the clock ticking now so that we will eventually rotate it even
|
||||
* if we don't stay up for a full MIN_ONION_KEY_LIFETIME. */
|
||||
state->LastRotatedOnionKey = onionkey_set_at = time(NULL);
|
||||
or_state_mark_dirty(state, options->AvoidDiskWrites ? time(NULL)+3600 : 0);
|
||||
|
||||
if (options->command == CMD_RUN_TOR) {
|
||||
/* Only mess with the state file if we're actually running Tor */
|
||||
or_state_t *state = get_or_state();
|
||||
if (state->LastRotatedOnionKey > 100) { /* allow for some parsing slop. */
|
||||
onionkey_set_at = state->LastRotatedOnionKey;
|
||||
} else {
|
||||
/* We have no LastRotatedOnionKey set; either we just created the key
|
||||
* or it's a holdover from 0.1.2.4-alpha-dev or earlier. In either case,
|
||||
* start the clock ticking now so that we will eventually rotate it even
|
||||
* if we don't stay up for a full MIN_ONION_KEY_LIFETIME. */
|
||||
state->LastRotatedOnionKey = onionkey_set_at = time(NULL);
|
||||
or_state_mark_dirty(state,
|
||||
options->AvoidDiskWrites ? time(NULL)+3600 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
tor_snprintf(keydir,sizeof(keydir),"%s/keys/secret_onion_key.old",datadir);
|
||||
|
||||
Reference in New Issue
Block a user