Joe Bryan
|
11e76024f1
|
adds u3_wcon (ward candidate conn), refactors ward connection accept and auth
|
2018-07-14 19:01:52 -04:00 |
|
Joe Bryan
|
68ce42f68c
|
enables ALPN and HTTP2 over TLS
|
2018-07-13 12:49:06 -04:00 |
|
Joe Bryan
|
92ae8c09c1
|
increases timeout before server struct, adds explanatory comment
|
2018-07-13 12:48:43 -04:00 |
|
Joe Bryan
|
a557a11dff
|
closes u3_ward stream and timer sequentially, fixing use-after-free per ASan
|
2018-07-12 23:43:37 -04:00 |
|
Joe Bryan
|
8b5b5903e6
|
updates %wise and %that to give and receive the proxy auth nonce
|
2018-07-10 23:42:49 -04:00 |
|
Joe Bryan
|
fc0c1165b4
|
implements nonce-baced authentication for u3_ward proxies
with constant nonces, not yet wired to into arvo
|
2018-07-10 23:42:49 -04:00 |
|
Joe Bryan
|
f5cf585417
|
refactors uv_close callbacks to avoid cast
|
2018-07-10 23:42:49 -04:00 |
|
Joe Bryan
|
789bfacf21
|
calls u3_lo_open() and shut() in _http_rec_accept()
and notes the need in _proxy_ward_start()
|
2018-07-10 23:42:49 -04:00 |
|
Joe Bryan
|
3499456261
|
rewrites graceful restart, re-architects u3_hcon and u3_hreq lifecycle
|
2018-07-10 23:42:40 -04:00 |
|
Joe Bryan
|
3d0fd316f4
|
frees openssl ctx in _http_serv_free
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
60b0c90122
|
refactors http config (%form) application
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
18ef4ce52c
|
include ipv4 addresses and hostname (if galaxy) in %eyre %born
|
2018-07-10 13:13:44 -04:00 |
|
Joe Bryan
|
9660f19184
|
simplifies casting libh2o connection to get u3 connection
|
2018-07-10 13:13:44 -04:00 |
|
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 |
|