Joe Bryan
|
e665912fcf
|
doubly-links http connections and requests
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
dab9c9d850
|
fixes linking bugs in doubly-linked u3_creq
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
107c417a82
|
implements link/unlink for proxy structs, improves resource cleanup
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
fab9308014
|
sends http/s ports to eyre (%live)
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
5a444d8849
|
wires up http config event (%form)
only starts servers on recv config
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
2a9384738a
|
always start proxies on fake ships
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
580cdca96c
|
initialize TLS from %eyre config (%form)
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
5134d2b198
|
free hard-restart timer more safely
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
28d9c769cd
|
terrible horrible graceful http restarts
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
f4c90aa7bc
|
adds proxy structs to vere.h, backlinks to u3_http
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
318b1e8d3e
|
WIP start servers/proxies from config effect
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
9ff2c86a2b
|
adds static libsni (extracted from sniproxy) dependency
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
8c14770e98
|
renames u3_proxy_conn to u3_pcon, refactors relevant functions
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
6363fc4e04
|
renames u3_proxy_client to u3_warc, refactors relevant functions
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
30f8d6829c
|
adds expiration timer for ward listener
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
af3c687ff8
|
cleans up u3_prox member comments
|
2018-06-20 23:39:20 -04:00 |
|
Joe Bryan
|
5027f53b24
|
renames u3_proxy_reverse to u3_ward, refactors relevant functions
|
2018-06-20 23:39:15 -04:00 |
|
Joe Bryan
|
c312ff0427
|
renames u3_proxy_listener to u3_prox, renames relevant functions
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
cbe05913a1
|
renames loopback and duplex functions, refactors _proxy_write
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
81cf3867d0
|
checks types in u3_http_ef_that, calculates length for host snprintf
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
ed913d859a
|
prevents length-extension attack on Host/SNI matching
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
378d707c78
|
null-terminates (and strips port from) Host header
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
03d6469e5f
|
cleans up error handling on proxy reverse listener failures
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
61b8a20b42
|
adds src tagged union to u3_proxy_conn, refactors connection lifecycle
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
bf041ef80d
|
fixes overly-complicated loopback proxy connect logic
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
a10479abd0
|
refactors proxy reverse listener callback to be clear that it always closes
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
85f8b10ca7
|
fixes memory leak on proxy reverse connection failure
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
b59bdb217c
|
fixes use-after-free on proxy reverse connection failure
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
8835510aeb
|
refactors proxy server startup to better handle EADDRINUSE
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
5dfb51b1dd
|
updates SNI parsing to not fail on valid ClientHello without SNI
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
55b7b30329
|
refactors proxy peek parsing, again
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
12da824716
|
refactors libuv read_cb error handling, adds _proxy_write()
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
84b1dd7628
|
connection close debugging, TODO comments
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
52503a2add
|
updates proxy to always allocate 4K buffers on socket read
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
ad424fcbda
|
binds proxies on ports 80/443, or 9090/9443 then ascending
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
06259e2d7d
|
adds SNI parser (commented out pending build decision)
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
fb8b24259a
|
refactors proxy peeking to support multiple reads
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
e2565e4b87
|
refactors proxy peek parsing
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
40f7e683fc
|
refactors proxy listener startup to support multiple
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
7dcf91e689
|
removes the upstream/downstream read_cb buffer copies
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
040e162176
|
checks return code on uv_tcp_connect
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
90603f5bbb
|
copies read_cb buffers before writes
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
eeb0536ab9
|
wires up reverse proxy notification effect %that
works!
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
9c08361cf8
|
use domain from -H instead of hardcoding urbit.org
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
f9618b1587
|
adds client for ship-specific reverse proxy, comments throughout
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
4792466ed5
|
implements reverse listener and "should-proxy" predicate, refactors loopback
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
2eb44fd326
|
adds http request parser for host header
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
65ac6dd5e0
|
refactors loopback proxy and connection structs, corrects close/free lifecycle
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
3c24756d28
|
looks up the correct loopback port by server struct
|
2018-06-15 14:16:17 -04:00 |
|
Joe Bryan
|
e1b5ab35cd
|
adds proxy listener and connection structs, refactors loopback proxy
|
2018-06-15 14:16:17 -04:00 |
|