1. 16 Oct, 2018 2 commits
  2. 15 Oct, 2018 11 commits
  3. 10 Oct, 2018 13 commits
  4. 24 Sep, 2018 1 commit
  5. 21 Sep, 2018 3 commits
  6. 20 Sep, 2018 1 commit
  7. 18 Sep, 2018 5 commits
  8. 14 Sep, 2018 4 commits
    • Nick Mathewson's avatar
      6f47734e
    • Nick Mathewson's avatar
      a546e076
    • David Goulet's avatar
      hs-v3: Don't BUG() on directory permission check failure · 0971b3ce
      David Goulet authored and Nick Mathewson's avatar Nick Mathewson committed
      
      
      In hs_config.c, we do validate the permission of the hidden service directory
      but we do not try to create it. So, in the event that the directory doesn't
      exists, we end up in the loading key code path which checks for the
      permission and possibly creates the directory. On failure, don't BUG() since
      there is a perfectly valid use case for that function to fail.
      
      Fixes #27335
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      0971b3ce
    • Nick Mathewson's avatar
      Revise our assertion and bug macros to work with -Wparentheses · bb465be0
      Nick Mathewson authored
      On GCC and Clang, there's a feature to warn you about bad
      conditionals like "if (a = b)", which should be "if (a == b)".
      However, they don't warn you if there are extra parentheses around
      "a = b".
      
      Unfortunately, the tor_assert() macro and all of its kin have been
      passing their inputs through stuff like PREDICT_UNLIKELY(expr) or
      PREDICT_UNLIKELY(!(expr)), both of which expand to stuff with more
      parentheses around "expr", thus suppressing these warnings.
      
      To fix this, this patch introduces new macros that do not wrap
      expr.  They're only used when GCC or Clang is enabled (both define
      __GNUC__), since they require GCC's "({statement expression})"
      syntax extension.  They're only used when we're building the
      unit-test variant of the object files, since they suppress the
      branch-prediction hints.
      
      I've confirmed that tor_assert(), tor_assert_nonfatal(),
      tor_assert_nonfatal_once(), BUG(), and IF_BUG_ONCE() all now give
      compiler warnings when their argument is an assignment expression.
      
      Fixes bug 27709.
      
      Bugfix on 0.0.6, where we first introduced the "tor_assert()" macro.
      bb465be0