diff options
author | teor <teor2345@gmail.com> | 2014-10-19 17:48:07 +1100 |
---|---|---|
committer | teor <teor2345@gmail.com> | 2014-11-08 20:31:20 +1100 |
commit | fd7e9e9030cee9d8e863cea3f3f90226ae66fdfe (patch) | |
tree | a9ca33e658ff76b7a4bf4a7d5f9dd3a4936da575 /src/or/statefile.c | |
parent | ce7fd6e160e2e3acb824b29e29afe15cd5e7bf4f (diff) | |
download | tor-fd7e9e9030cee9d8e863cea3f3f90226ae66fdfe.tar.gz tor-fd7e9e9030cee9d8e863cea3f3f90226ae66fdfe.zip |
Stop failing when key files are zero-length
Instead, generate new keys, and overwrite the empty key files.
Adds FN_EMPTY to file_status_t and file_status.
Fixes bug 13111.
Related changes due to review of FN_FILE usage:
Stop generating a fresh .old RSA key file when the .old file is missing.
Avoid overwriting .old key files with empty key files.
Skip loading zero-length extra info store, router store, stats, state,
and key files.
Diffstat (limited to 'src/or/statefile.c')
-rw-r--r-- | src/or/statefile.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/statefile.c b/src/or/statefile.c index 2ce53fdfca..6640aed7d0 100644 --- a/src/or/statefile.c +++ b/src/or/statefile.c @@ -323,7 +323,10 @@ or_state_load(void) goto done; } break; + /* treat empty state files as if the file doesn't exist, and generate + * a new state file, overwriting the empty file in or_state_save() */ case FN_NOENT: + case FN_EMPTY: break; case FN_ERROR: case FN_DIR: |