1. 14 Sep, 2018 1 commit
    • 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.
  2. 13 Sep, 2018 1 commit
  3. 12 Sep, 2018 1 commit
  4. 11 Sep, 2018 2 commits
  5. 10 Sep, 2018 1 commit
  6. 07 Sep, 2018 8 commits
  7. 05 Sep, 2018 3 commits
  8. 29 Aug, 2018 2 commits
  9. 23 Aug, 2018 5 commits
  10. 22 Aug, 2018 2 commits
  11. 20 Aug, 2018 2 commits
    • Nick Mathewson's avatar
      Rewrite test_tortls_cert_matches_key() · 85a87923
      Nick Mathewson authored
      Unlike the old test, this test no will no longer mess around with
      the forbidden internals of any openssl data structures.
      Additionally, it verifies several other behaviors of
      tor_tls_cert_matches_key() that we had wanted to verify, such as
      the possibility of the certificate's key not matching.
      Fixes bug 27226; bugfix on
    • Nick Mathewson's avatar
      Use our x509 wrapper code in tor_tls_cert_matches_key() · c1f476a3
      Nick Mathewson authored
      This allows us to mock our own tor_tls_get_peer_certificate()
      function in order to test ..cert_matches_key(), which will in turn
      allow us to simplify test_tortls_cert_matches_key() considerably.
      Prep work for the fix for 27226.
  12. 15 Aug, 2018 1 commit
  13. 10 Aug, 2018 5 commits
  14. 09 Aug, 2018 6 commits