mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Merge remote-tracking branch 'ffmancera/github/bug23271'
This commit is contained in:
commit
18543c2c9b
6
changes/ticket23271
Normal file
6
changes/ticket23271
Normal file
@ -0,0 +1,6 @@
|
||||
o Code simplification and refactoring:
|
||||
- Separate the function that deletes ephemeral files when Tor stops
|
||||
gracefully.
|
||||
o Minor features (cleanup):
|
||||
- Tor now deletes the CookieAuthFile and ExtORPortCookieAuthFile when it
|
||||
stops. Closes ticket 23271.
|
@ -3397,6 +3397,18 @@ tor_free_all(int postfork)
|
||||
}
|
||||
}
|
||||
|
||||
/** Remove the specified file. */
|
||||
void
|
||||
tor_remove_file(const char *filename)
|
||||
{
|
||||
if (file_status(filename) == FN_FILE) {
|
||||
if (tor_unlink(filename) != 0) {
|
||||
log_warn(LD_FS, "Couldn't unlink %s: %s",
|
||||
filename, strerror(errno));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Do whatever cleanup is necessary before shutting Tor down. */
|
||||
void
|
||||
tor_cleanup(void)
|
||||
@ -3406,19 +3418,14 @@ tor_cleanup(void)
|
||||
time_t now = time(NULL);
|
||||
/* Remove our pid file. We don't care if there was an error when we
|
||||
* unlink, nothing we could do about it anyways. */
|
||||
if (options->PidFile) {
|
||||
if (unlink(options->PidFile) != 0) {
|
||||
log_warn(LD_FS, "Couldn't unlink pid file %s: %s",
|
||||
options->PidFile, strerror(errno));
|
||||
}
|
||||
}
|
||||
if (options->ControlPortWriteToFile) {
|
||||
if (unlink(options->ControlPortWriteToFile) != 0) {
|
||||
log_warn(LD_FS, "Couldn't unlink control port file %s: %s",
|
||||
options->ControlPortWriteToFile,
|
||||
strerror(errno));
|
||||
}
|
||||
}
|
||||
tor_remove_file(options->PidFile);
|
||||
/* Remove control port file */
|
||||
tor_remove_file(options->ControlPortWriteToFile);
|
||||
/* Remove cookie authentication file */
|
||||
tor_remove_file(get_controller_cookie_file_name());
|
||||
/* Remove Extended ORPort cookie authentication file */
|
||||
tor_remove_file(get_ext_or_auth_cookie_file_name());
|
||||
|
||||
if (accounting_is_enabled(options))
|
||||
accounting_record_bandwidth_usage(now, get_or_state());
|
||||
or_state_mark_dirty(get_or_state(), 0); /* force an immediate save. */
|
||||
|
@ -73,6 +73,8 @@ int try_locking(const or_options_t *options, int err_if_locked);
|
||||
int have_lockfile(void);
|
||||
void release_lockfile(void);
|
||||
|
||||
void tor_remove_file(const char *filename);
|
||||
|
||||
void tor_cleanup(void);
|
||||
void tor_free_all(int postfork);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user