1. 27 Sep, 2018 1 commit
    • Nick Mathewson's avatar
      Fix a memory leak in --dump-config · 8812f562
      Nick Mathewson authored
      When freeing a configuration object from confparse.c in
      dump_config(), we need to call the appropriate higher-level free
      function (like or_options_free()) and not just config_free().
      This only happens with options (since they're the one where
      options_validate allocates extra stuff) and only when running
      --dump-config with something other than minimal (since
      OPTIONS_DUMP_MINIMAL doesn't hit this code).
      Fixes bug 27893; bugfix on
  2. 25 Sep, 2018 1 commit
  3. 21 Sep, 2018 1 commit
    • Nick Mathewson's avatar
      Split main.c into main.c and mainloop.c · c7ce6b98
      Nick Mathewson authored
      The main.c code is responsible for initialization and shutdown;
      the mainloop.c code is responsible for running the main loop of Tor.
      Splitting the "generic event loop" part of mainloop.c from the
      event-loop-specific part is not done as part of this patch.
  4. 10 Jul, 2018 1 commit
  5. 05 Jul, 2018 2 commits
    • Nick Mathewson's avatar
      Fix every include path changed in the previous commit (automated) · ef486e3c
      Nick Mathewson authored
      I am very glad to have written this script.
    • Nick Mathewson's avatar
      Move literally everything out of src/or · 63b4ea22
      Nick Mathewson authored
      This commit won't build yet -- it just puts everything in a slightly
      more logical place.
      The reasoning here is that "src/core" will hold the stuff that every (or
      nearly every) tor instance will need in order to do onion routing.
      Other features (including some necessary ones) will live in
      "src/feature".  The "src/app" directory will hold the stuff needed
      to have Tor be an application you can actually run.
      This commit DOES NOT refactor the former contents of src/or into a
      logical set of acyclic libraries, or change any code at all.  That
      will have to come in the future.
      We will continue to move things around and split them in the future,
      but I hope this lays a reasonable groundwork for doing so.
  6. 01 Jul, 2018 3 commits
  7. 27 Jun, 2018 1 commit
  8. 20 Jun, 2018 2 commits
  9. 30 Apr, 2018 1 commit
  10. 27 Apr, 2018 1 commit
  11. 08 Dec, 2017 1 commit
  12. 26 Sep, 2017 1 commit
    • Nick Mathewson's avatar
      Add test to make sure all confparse variables are well-typed · eb54a856
      Nick Mathewson authored
      New approach, suggested by Taylor: During testing builds, we
      initialize a union member of an appropriate pointer type with the
      address of the member field we're trying to test, so we can make
      sure that the compiler doesn't warn.
      My earlier approach invoked undefined behavior.
  13. 22 Sep, 2017 1 commit
  14. 20 Sep, 2017 2 commits
    • Taylor Yu's avatar
      Avoid assertion failure for state file clock skew · ad814cad
      Taylor Yu authored
      The clock_skew_warning() refactoring allowed calls from
      or_state_load() to control_event_bootstrap_problem() to occur prior
      bootstrap phase 0, causing an assertion failure.  Initialize the
      bootstrap status prior to calling clock_skew_warning() from
    • Taylor Yu's avatar
      Use correct sign for state file clock skew · 1c017eda
      Taylor Yu authored
      or_state_load() was using an incorrect sign convention when calling
      clock_skew_warning() to warn about state file clock skew.  This caused
      the wording of the warning to be incorrect about the direction of the
  15. 13 Sep, 2017 1 commit
  16. 09 Aug, 2017 2 commits
  17. 03 Aug, 2017 1 commit
  18. 15 Mar, 2017 1 commit
  19. 30 Nov, 2016 1 commit
    • Nick Mathewson's avatar
      Make new prop271 entry guards persistent · 858c8f55
      Nick Mathewson authored
      To do this, it makes sense to treat legacy guards as a separate
      guard_selection_t *, and handle them separately.  This also means we
      add support here for having multiple guard selections.
      Note that we don't persist pathbias information yet; that will take
      some refactoring.
  20. 17 Oct, 2016 1 commit
    • Nick Mathewson's avatar
      Write a bunch of module documentation. · aae034d1
      Nick Mathewson authored
      This commit adds or improves the module-level documenation for:
        buffers.c circuitstats.c command.c connection_edge.c control.c
        cpuworker.c crypto_curve25519.c crypto_curve25519.h
        crypto_ed25519.c crypto_format.c dircollate.c dirserv.c dns.c
        dns_structs.h fp_pair.c geoip.c hibernate.c keypin.c ntmain.c
        onion.c onion_fast.c onion_ntor.c onion_tap.c periodic.c
        protover.c protover.h reasons.c rephist.c replaycache.c
        routerlist.c routerparse.c routerset.c statefile.c status.c
        tor_main.c workqueue.c
      In particular, I've tried to explain (for each documented module)
      what each module does, what's in it, what the big idea is, why it
      belongs in Tor, and who calls it.  In a few cases, I've added TODO
      notes about refactoring opportunities.
      I've also renamed an argument, and fixed a few DOCDOC comments.
  21. 03 Aug, 2016 2 commits
  22. 27 Feb, 2016 2 commits
  23. 11 Dec, 2015 1 commit
  24. 01 Oct, 2015 1 commit
  25. 30 Sep, 2015 1 commit
  26. 02 Jan, 2015 1 commit
  27. 08 Nov, 2014 1 commit
    • teor's avatar
      Stop failing when key files are zero-length · fd7e9e90
      teor authored
      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.
  28. 28 Oct, 2014 1 commit
  29. 01 May, 2014 1 commit
  30. 26 Apr, 2014 1 commit
  31. 17 Apr, 2014 1 commit
  32. 31 Mar, 2014 1 commit