Joe Bryan
34570e428e
fixes leak in proxy when networking is disabled
2018-09-28 22:58:39 -04:00
Joe Bryan
8de9a059ce
fixes leak in _http_serv_start_all
...
by removing calls to u3_lo_open and u3_lo_shut
2018-09-28 22:58:39 -04:00
Joe Bryan
dacb80eef0
Merge branch 'master' into https-proxy-config
...
* master:
adds an http request timer to ensure connections are always closed
moves u3_pact to vere.h, replacing the unused u3_apac
fixes memory leak in failed cttp.c address resolution
Remove deprecated paths from gitignore
print error on failed syscall in _ce_patch_create()
removes tabs from http.c
removes orphaned telnet constants and forward declarations
2018-08-09 18:22:53 -04:00
Joe Bryan
f0c581160e
increases tcp proxy listener timeout to 2 minutes
2018-07-22 00:18:03 -04:00
Joe Bryan
47557a5380
fixes dumb bug in tcp reverse proxy remote address resolution
2018-07-22 00:17:33 -04:00
Joe Bryan
36ae7a5f07
sets the http client request timeout to 2 minutes
2018-07-18 13:52:49 -04:00
Joe Bryan
123a9c7289
adds an http request timer to ensure connections are always closed
2018-07-17 13:25:19 -04:00
Joe Bryan
a08dcf8a19
adds an http request timer to ensure connections are always closed
2018-07-17 12:55:16 -04:00
Joe Bryan
9abf5bfa50
adds (disabled) h2o access log
2018-07-16 16:42:50 -04:00
Joe Bryan
9cf861990f
don't leak ship-name in _proxy_ward_connect()
2018-07-16 14:24:29 -04:00
Joe Bryan
0ca3561794
refactors .http.ports write/release (avoid the loom, etc.)
2018-07-15 16:37:15 -04:00
Joe Bryan
2574b865c9
updates SSL_CTX init to support any PEM private key, simplifies error handling
2018-07-14 23:26:42 -04:00
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
e6b9dbda8d
moves u3_pact to vere.h, replacing the unused u3_apac
2018-07-12 22:43:32 -04:00
Joe Bryan
f5867bfad5
fixes memory leak in failed cttp.c address resolution
2018-07-12 22:43:05 -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
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
Joe Bryan
c4928a7f3b
adds initial, leaky tcp loopback proxy
2018-06-15 14:16:17 -04:00
Joe Bryan
59a049b170
removes tabs from http.c
2018-06-11 10:41:48 -04:00
Joe Bryan
0f80535867
removes orphaned telnet constants and forward declarations
2018-06-11 10:41:48 -04:00
Keaton Dunsford
41d89f30af
Version the bootstrap.urbit.org boot pill URL
...
This way, between continuity breaches, we can update the old pills,
adding printf's to them that will trigger upon `~zod is not responding`
messages such as urbit/arvo@c83fb6e23e ,
telling people to pull the latest Vere. And upon breaches, we
can update these bootstrap links. This is a simple/hacky yet reasonably
effective way to help get more people on the same page as it relates to
handling users running different Veres with breaking changes.
2018-06-08 19:26:29 -07:00
Paul Driver
da051310df
Merge branch 'master' into hashboard
2018-06-04 14:15:53 -07:00
Joe Bryan
cfe3779fc0
updates ames to resolve galaxy addresses asynchronously
2018-05-22 15:05:03 -07:00
Joe Bryan
ad4f76a431
adds state enum to u3_hreq, ignores attempts to send duplicate http responses
2018-05-04 15:49:44 -04:00
Paul Driver
002a1d8996
Merge branch 'master' into c-sites
2018-04-30 11:48:53 -07:00
Paul Driver
b7e0dc4651
merge conflict
2018-04-30 11:42:24 -07:00
Joe Bryan
38f9c546c4
Merge pull request #972 from joemfb/ames-f-n
...
allows imperial addresses in the absence of -N (fix -F)
2018-04-25 14:45:00 -07:00
Joe Bryan
2b3554a845
refactors _http_req_respond to use the h2o memory pool and defer cleanup
...
possibly fixing a use after free
2018-04-25 16:14:59 -04:00
Joe Bryan
dcc5eb521d
fixes memory leak in ames fuzz-mode canceled requests
2018-04-24 15:28:35 -04:00
Joe Bryan
4466119b2e
allows imperial addresses in the absence of -N
2018-04-24 15:27:04 -04:00
Joe Bryan
2a10000a67
fixes improper null-termination in cttp header buffers
2018-04-16 15:14:49 -04:00
Joe Bryan
0588a3c7fd
updates "secure server not started" msg to be friendlier
2018-04-11 13:57:14 -07:00
Joe Bryan
3ee0c7605c
removes client request debug printf
2018-04-11 12:23:42 -07:00
Joe Bryan
70cb696559
terminates all strings in headers and body buffers
2018-04-10 17:04:21 -07:00
Joe Bryan
a62d59edf0
cleans up http headers, incorporate review feedback
2018-04-10 17:04:21 -07:00
Joe Bryan
05339a771e
adds extra newline between headers and body
2018-04-10 12:55:44 -07:00
Joe Bryan
b745cb83bc
updates cttp.c to allocate header struct and members separately
2018-04-10 12:55:44 -07:00
Joe Bryan
6c36594f6f
Merge branch 'master' into libh2o
...
* master: (124 commits)
use compile-time assertion to check for unsigned char
Don't build libuv in travis if it is now submoduled.
Rebuild the scripts without PKG_CONFIG_PATH hacks.
Remove manual PKG_CONFIG_PATH configuration.
Enable fallback libuv bundle
Bundle libuv.
adds a cell check for the sample of the +roll gate
Add missing flags fixing the markdown parser bug #951
Revert "Merge pull request #952 from eglaysher/revert-meson"
Revert "Merge pull request #949 from eglaysher/meson-build-clean"
Revert "The -C flag was added for exactly this case."
The -C flag was added for exactly this case.
Take ownership of the submodule repositories.
Revert "Revert "Merge pull request #941 from frodwith/runtime-overflows""
Add legacy meson instructions to README
Fix new meson version check
Fix legacy meson version detection.
Universal meson build.
change overflow check to short
do the don trick for jam
...
2018-04-09 19:49:40 -07:00
Keaton Dunsford
87e28fb787
Merge pull request #953 from eglaysher/reapply-meson
...
Reapply meson
2018-04-09 19:14:55 -07:00
Joseph Bryan
2caa2bc6bd
use compile-time assertion to check for unsigned char
2018-04-09 18:22:48 -07:00