Commit 156eefca authored by Nick Mathewson's avatar Nick Mathewson 🐚
Browse files

Make sure everything using an interned string is preceded by a log

(It's nice to know what we were about to rename before we died from
renaming it.)
parent 8dc6755f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -144,6 +144,7 @@ tor_open_cloexec(const char *path, int flags, unsigned mode)
    return -1;
#endif

  log_debug(LD_FS, "Opening %s with flags %x", path, flags);
  fd = open(path, flags, mode);
#ifdef FD_CLOEXEC
  if (fd >= 0) {
@@ -179,6 +180,7 @@ tor_fopen_cloexec(const char *path, const char *mode)
int
tor_rename(const char *path_old, const char *path_new)
{
  log_debug(LD_FS, "Renaming %s to %s", path_old, path_new);
  return rename(sandbox_intern_string(path_old),
                sandbox_intern_string(path_new));
}
+1 −0
Original line number Diff line number Diff line
@@ -2471,6 +2471,7 @@ crypto_strongest_rand(uint8_t *out, size_t out_len)
  return 0;
#else
  for (i = 0; filenames[i]; ++i) {
    log_debug(LD_FS, "Opening %s for entropy", filenames[i]);
    fd = open(sandbox_intern_string(filenames[i]), O_RDONLY, 0);
    if (fd<0) continue;
    log_info(LD_CRYPTO, "Reading entropy from \"%s\"", filenames[i]);
+2 −0
Original line number Diff line number Diff line
@@ -1830,6 +1830,7 @@ file_status(const char *fname)
  int r;
  f = tor_strdup(fname);
  clean_name_for_stat(f);
  log_debug(LD_FS, "stat()ing %s", f);
  r = stat(sandbox_intern_string(f), &st);
  tor_free(f);
  if (r) {
@@ -1880,6 +1881,7 @@ check_private_dir(const char *dirname, cpd_check_t check,
  tor_assert(dirname);
  f = tor_strdup(dirname);
  clean_name_for_stat(f);
  log_debug(LD_FS, "stat()ing %s", f);
  r = stat(sandbox_intern_string(f), &st);
  tor_free(f);
  if (r) {
+1 −0
Original line number Diff line number Diff line
@@ -6462,6 +6462,7 @@ remove_file_if_very_old(const char *fname, time_t now)
#define VERY_OLD_FILE_AGE (28*24*60*60)
  struct stat st;

  log_debug(LD_FS, "stat()ing %s", fname);
  if (stat(sandbox_intern_string(fname), &st)==0 &&
      st.st_mtime < now-VERY_OLD_FILE_AGE) {
    char buf[ISO_TIME_LEN+1];
+2 −0
Original line number Diff line number Diff line
@@ -1480,6 +1480,7 @@ configure_nameservers(int force)

  evdns_set_log_fn(evdns_log_cb);
  if (conf_fname) {
    log_debug(LD_FS, "stat()ing %s", conf_fname);
    if (stat(sandbox_intern_string(conf_fname), &st)) {
      log_warn(LD_EXIT, "Unable to stat resolver configuration in '%s': %s",
               conf_fname, strerror(errno));
@@ -1497,6 +1498,7 @@ configure_nameservers(int force)
#if defined(DNS_OPTION_HOSTSFILE) && defined(USE_LIBSECCOMP)
    if (flags & DNS_OPTION_HOSTSFILE) {
      flags ^= DNS_OPTION_HOSTSFILE;
      log_debug(LD_FS, "Loading /etc/hosts");
      evdns_base_load_hosts(the_evdns_base,
          sandbox_intern_string("/etc/hosts"));
    }