Commit Graph

263 Commits

Author SHA1 Message Date
d435c41bdb stdin and stdout have different fds, so make SockWrapper take *two* socks.
We'll need this when we have a SockWrapper pointing at a Mux on a subprocess
pipe.
2010-05-01 23:32:30 -04:00
5f0bfb5d9e Basic implementation of a multiplex protocol - client side only.
Currently the 'server' is just a pipe to run 'hd' (hexdump) for looking at
the client-side results.  Lame, but true.
2010-05-01 23:14:42 -04:00
9f514d7a15 Smarter listenport selection.
Now if we aren't given an explicit port, we always initiate the port search
at 12300 and count upward looking for an available port.

Normally the kernel will assign us a random port, but that's not ideal
in our case because we'd like to use the same port numbers whenever
possible; that avoids piling up crap inside iptables in the (hopefully
unlikely) event that we die without cleaning up correctly.
2010-05-01 21:50:43 -04:00
ad459e2918 iptables.py: completely replace ipt script.
Doing it in python instead of shell makes the code a bit less error prone.
Plus we can parse the iptables output and avoid triggering iptables errors.
2010-05-01 21:34:05 -04:00
8278dcfb5d Parse options correctly; call ./ipt automatically. 2010-05-01 21:14:19 -04:00
550048370e Move some code that'll be useful for the server into ssnet.py. 2010-05-01 20:48:11 -04:00
3766d4d506 Don't "import * from socket". 2010-05-01 20:26:16 -04:00
651b945299 Prevent loopbacks caused by telnetting to the transproxy port directly. 2010-05-01 20:20:54 -04:00
dc643ccdc4 Clean up log messages slightly. 2010-05-01 20:14:17 -04:00
72ed385b7f Really basic transproxying on localhost.
When regenerating outgoing connections, we set TTL=42 to prevent re-proxying
of requests.  That's a little hacky, but at least it avoids infinite loops.
2010-05-01 20:03:50 -04:00
a818105dfe client now listens on a socket and gets SO_ORIGINAL_DST correctly. 2010-05-01 18:03:45 -04:00
f84b87d7eb ipt: example script for how to set up an iptables transproxy. 2010-05-01 17:15:18 -04:00
2f3c86e962 Initial commit.
Importing options.py, ssh.py, and LICENSE from the bup project.
2010-05-01 16:15:37 -04:00