1. 01 May, 2020 1 commit
  2. 08 Jan, 2020 1 commit
  3. 07 Nov, 2019 1 commit
  4. 26 Oct, 2019 1 commit
  5. 25 Oct, 2019 3 commits
    • Nick Mathewson's avatar
      Make foo_validate() functions call config_validate(). · dc6d7f07
      Nick Mathewson authored
      The former foo_validate() functions are now toplevel
      legacy_validate_fn callbacks.  The new foo_validate() functions now
      call them.
      
      This change lets us remove the old shared_random disk state
      validation callback entirely.
      dc6d7f07
    • Nick Mathewson's avatar
      Rename validate_fn{,_t} to start with "legacy_". · 4a248baf
      Nick Mathewson authored
      The current API of this callback mixes responsibilities, including:
        * validation
        * transition checking
        * processing (modifying) the configuration object.
      
      These will have to be disentangled piece by piece, so for now, we'll
      have "legacy" validate functions as well.
      
      This is an automated commit, generated by this command:
      
      ./scripts/maint/rename_c_identifier.py \
              validate_fn_t legacy_validate_fn_t \
              validate_fn legacy_validate_fn
      4a248baf
    • Nick Mathewson's avatar
      Use named-member syntax for initializing config_format_t objects · 27dbf20b
      Nick Mathewson authored
      I'm about to mess with their lists of callbacks, and I don't want to
      proliferate lists where we say "NULL, NULL, NULL, ..."
      27dbf20b
  6. 22 Oct, 2019 2 commits
  7. 16 Oct, 2019 1 commit
  8. 11 Sep, 2019 1 commit
  9. 05 Sep, 2019 1 commit
  10. 28 Aug, 2019 2 commits
    • Nick Mathewson's avatar
      Make a config_suite_t type to hold multiple config sub-objects · 38b770bb
      Nick Mathewson authored
      Right now, it doesn't do anything; this patch is meant to make sure
      that we're doing memory management correctly.
      38b770bb
    • Nick Mathewson's avatar
      Refactor config free logic to use a single path. · 47654d32
      Nick Mathewson authored
      The right way to free a config object is now to wrap config_free(),
      always.  Instead of creating an alternative free function, objects
      should provide an alternative clear callback to free any fields that
      the configuration manager doesn't manage.
      
      This lets us simplify our code a little, and lets us extend the
      confparse.c code to manage additional fields in config_free.
      47654d32
  11. 24 Jul, 2019 4 commits
    • Nick Mathewson's avatar
      Use config_new() to construct configuration objects. · 57e87cc8
      Nick Mathewson authored
      We'll need to do it this way once the objects become more complex.
      57e87cc8
    • Nick Mathewson's avatar
      Make config_var and config_fmt const. · f8b193a7
      Nick Mathewson authored
      Now that we have a reasonable implementation for overriding the
      default options for TestingTorNetwork, we don't need to modify
      config_var_t structs any more.  And therefore, we can have constant
      format options, like reasonable people.
      f8b193a7
    • Nick Mathewson's avatar
      Add a "freeze" function for config_mgr_t objects. · dde091eb
      Nick Mathewson authored
      It's important to make sure that we don't change a config_mgr_t
      after we start using it to make objects, or we could get into
      inconsistent states.  This feature is the start of a safety
      mechanism to prevent this problem.
      dde091eb
    • Nick Mathewson's avatar
      Add a config_mgr_t type to wrap config_format_t · e8dc513b
      Nick Mathewson authored
      Remember that our goal in the present refactoring is to allow each
      subsystem to declare its own configuration structure and
      variables.  To do this, each module will get its own
      config_format_t, and so we'll want a different structure that wraps
      several config_format_t objects.  This is a "config_mgr_t".
      e8dc513b
  12. 25 Jun, 2019 4 commits
  13. 15 Jun, 2019 1 commit
  14. 16 May, 2019 1 commit
  15. 30 Apr, 2019 1 commit
  16. 16 Jan, 2019 2 commits
  17. 30 Nov, 2018 1 commit
  18. 05 Nov, 2018 1 commit
  19. 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 0.3.2.1-alpha.
      8812f562
  20. 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.
      ef486e3c
    • 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.
      63b4ea22
  21. 01 Jul, 2018 2 commits
  22. 21 Jun, 2018 1 commit
  23. 20 Jun, 2018 2 commits
  24. 01 May, 2018 3 commits