1. 28 Feb, 2011 1 commit
  2. 27 Feb, 2011 4 commits
  3. 21 Feb, 2011 1 commit
    • Avery Pennarun's avatar
      firewall.py: iptables: failure to delete a rule isn't always fatal. · 6ef9ae17
      Avery Pennarun authored
      If the previous run of sshuttle didn't manage to clean up after itself, it
      might have left the sshuttle-12300 chain intact, but the OUTPUT chain might
      not refer to it anymore.  That would cause the *next* run of sshuttle to
      barf when trying to delete the OUTPUT entry, and then never get to the part
      where it just tries to delete the old chain so it can continue.
      
      Now only the last delete command (the one that actually deletes the chain)
      is fatal if it fails; the others just print a scary message, but that should
      only happen once in your life if you're unlucky.
      6ef9ae17
  4. 08 Feb, 2011 1 commit
  5. 07 Feb, 2011 1 commit
  6. 05 Feb, 2011 3 commits
    • Avery Pennarun's avatar
      firewall.py: MacOS: permanently set the net.inet.ip.scopedroute sysctl. · 4fde980f
      Avery Pennarun authored
      If this sysctl isn't set to 0 at the time your network interface is brought
      up, and we later change it, then the MacOS (10.6.6 at least) ARP table gets
      totally confused and networking stops working about 15 minutes later, until
      you down and re-up the interface.  The symptom is that pings outside your
      LAN would give results like this:
      
          ping: sendto: no route to host
      
      and "arp -a -n" would show *two* entries for your default gateway instead of
      just one.
      
      sshuttle was helpfully putting the sysctl back the way it was when it shuts
      down, so you would fix your network by downing the interface, so sshuttle
      would abort and change the sysctl back, then you would re-up the interface,
      then restart sshuttle, and sshuttle would change the sysctl back and restart
      the cycle: it would break again a few minutes later.
      
      That's annoying, and it gives sshuttle a bad reputation for being the thing
      that breaks your network.  I can't find a *really* good workaround for the
      bug, so barring that, let's just permanently set the sysctl to 0 and not
      change it back on exit.  That should just leave your computer back how it
      worked in MacOS 10.5, as far as I know, which seems harmless.  At least I've
      been running my Mac that way for a few days and I haven't seen any
      weirdness.
      
      Now, doing *that* would still mean that the first sshuttle session after a
      reboot would still break the network, since sysctl changes are lost on
      reboot.  Thus, let's be extra hardcore and write it to /etc/sysctl.conf so
      that it goes the way we want it after a reboot.  Thus, sshuttle should break
      your network at most once.  Which still sucks, but hopefully nobody will
      notice.
      4fde980f
    • Avery Pennarun's avatar
      ui-macos: move the noLatencyControl setting to a per-connection setting. · 621997b2
      Avery Pennarun authored
      I think some connections you'll want to optimize for latency, and others for
      bandwidth.  Probably.
      
      Also, use a dropdown box instead of a checkbox; that way we can make it more
      clear what each of the settings means.
      
      While we're here, adjust all the anchor settings for the different display
      items so that resizing the dialog box works sensibly.
      621997b2
    • Avery Pennarun's avatar
      stresstest.py: a program to create lots and lots of TCP connections. · ca7d38dc
      Avery Pennarun authored
      This version is a bit limited: it always only connects back to itself, which
      is always on 127.0.0.1.  It also doesn't really find any problems, other
      than odd behaviour when Linux runs out of available port numbers after a
      while.
      ca7d38dc
  7. 02 Feb, 2011 1 commit
    • Avery Pennarun's avatar
      Add --wrap option to force channel number wrapping at a lower number. · a81972b2
      Avery Pennarun authored
      This makes it easier to actually test what happens when channel numbers wrap
      around.  The good news: it works.
      
      However, I did find a bug where sshuttle would die if we completely ran out
      of available channel numbers because so many of them were open.  This would
      never realistically happen at the default of 65535 channels (we'd run out of
      file descriptors first), but it's still a bug, so let's handle it by just
      dropping the connection when it happens.
      a81972b2
  8. 01 Feb, 2011 2 commits
  9. 27 Jan, 2011 1 commit
  10. 26 Jan, 2011 16 commits
  11. 23 Jan, 2011 9 commits