Skip to content
Snippets Groups Projects
  1. Jan 05, 2015
  2. Dec 29, 2014
    • akwizgran's avatar
      Don't try to erase secrets from memory. · 358166bc
      akwizgran authored
      1. The things we're really trying to protect - contact identities,
      message contents, etc - can't be erased from memory because they're
      encapsulated inside objects we don't control.
      
      2. Long-term secrets can't be protected by erasing them from memory
      because they're stored in the database and the database key has to be
      held in memory whenever the app's running.
      
      3. If the runtime uses a compacting garbage collector then we have no
      way to ensure an object is erased from memory.
      
      4. Trying to erase secrets from memory makes the code more complex.
      
      Conclusion: Let's not try to protect secrets from an attacker who can
      read arbitrary memory locations.
      358166bc
  3. Dec 26, 2014
  4. Dec 22, 2014
  5. Dec 17, 2014
  6. Dec 14, 2014
  7. Dec 13, 2014
    • akwizgran's avatar
      Application layer keepalives to detect dead TCP connections. · d4fa656d
      akwizgran authored
      DuplexOutgoingSession flushes its output stream if it's idle for a
      transport-defined interval, causing an empty frame to be sent. The TCP
      and Tor plugins use a socket timeout equal to twice the idle interval to
      detect dead connections.
      
      See bugs #27, #46 and #60.
      d4fa656d
  8. Dec 06, 2014
  9. Dec 05, 2014
  10. Dec 04, 2014
  11. Nov 25, 2014
  12. Nov 24, 2014
  13. Nov 13, 2014
  14. Nov 12, 2014
    • akwizgran's avatar
      Set max SDK version to 20. · 1bbdbc54
      akwizgran authored
      Android L requires executables to be compiled with PIE support, so we'll
      have to ship two Tor binaries.
      1bbdbc54
  15. Nov 09, 2014
  16. Nov 05, 2014
  17. Nov 04, 2014
  18. Oct 29, 2014
  19. Oct 08, 2014
  20. Oct 07, 2014
  21. Oct 06, 2014
    • akwizgran's avatar
      Patched tor and jtorctl for improved hidden service performance. · 9e5e2e2d
      akwizgran authored
      Two changes have been made to Tor:
      
      1. Set can_complete_circuit to false when the network is disabled, and
      don't try to build introduction circuits while can_complete_circuit is
      false. This avoids a situation where Tor tries to build introduction
      circuits as soon as the network is re-enabled, all the circuits fail,
      and then Tor waits 5 minutes before trying to build more.
      
      2. Added a FORGETHS command to the control protocol which clears any
      cached client state relating to a specified hidden service. This can be
      used to flush state that's likely to be stale before trying to connect
      to a hidden service with an unstable network connection.
      
      Support for the FORGETHS command was also added to jtorctl.
      9e5e2e2d
  22. Oct 03, 2014
  23. Oct 02, 2014
  24. Jul 08, 2014
    • akwizgran's avatar
      Shut down the Tor process without hacks. · d406853f
      akwizgran authored
      Tor has a controller command, TAKEOWNERSHIP, and a configuration option,
      __OwningControllerProcess, that work together to ensure Tor shuts down
      when the controlling process dies and/or disconnects from the control
      port. By using them we can avoid creating runaway Tor processes that
      have to be killed with hacks.
      d406853f
  25. Jul 04, 2014
Loading