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
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
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
Elliot Glaysher
0f09810dd7
Revert "Merge pull request #952 from eglaysher/revert-meson"
...
This reverts commit 9978ad8b72
, reversing
changes made to a85369fa1f
.
2018-03-20 10:16:16 -07:00
Elliot Glaysher
e6f6315691
Revert "Merge pull request #949 from eglaysher/meson-build-clean"
...
This reverts commit 9f795b535f
, reversing
changes made to d5c7b3b932
.
2018-03-19 15:13:19 -07:00
Elliot Glaysher
b9432b4d57
Merge pull request #930 from joemfb/sav-mkdirp
...
recursively mkdir in u3_walk_save
2018-03-19 14:36:57 -07:00
Elliot Glaysher
9f795b535f
Merge pull request #949 from eglaysher/meson-build-clean
...
Meson build clean
2018-03-19 11:14:53 -07:00
Joseph Bryan
a23d708dae
reorder, rename, refactor, comment
2018-03-15 22:56:05 -04:00
Joseph Bryan
f4e60f604a
cleans up server SSL_CTX, saves pointer on u3_Host
2018-03-15 22:55:51 -04:00
Joseph Bryan
419a634ad9
cleans up client SSL_CTX initialization
2018-03-14 17:02:06 -04:00
Joseph Bryan
63081c94e5
updates cancellation to properly handle async address resolution
2018-03-14 13:21:20 -04:00
Joseph Bryan
f6c0ec399f
comments cttp.c for functions duplicated from http.c
2018-03-14 13:21:20 -04:00
Joseph Bryan
234ef5d109
replaces local h2hed struct with updated u3_hhed in http.c
2018-03-14 13:21:15 -04:00
Joseph Bryan
828c73c7e9
adds nam_w and val_w to u3_hhed, updates cttp appropriately
2018-03-14 13:21:10 -04:00
Joseph Bryan
cf47c0a2b8
implements request cancellation, cleans up success/failure handling
2018-03-14 11:33:59 -04:00
Joseph Bryan
221207053d
resolves ip addresses explicitly, enables https requests
2018-03-14 11:33:58 -04:00
Joseph Bryan
a0bf822036
attaches response headers
2018-03-14 11:33:58 -04:00
Joseph Bryan
09585f73a9
switches cttp to be request-oriented, removes u3_ccon and jhttp
...
still buggy
2018-03-14 11:33:53 -04:00
Joseph Bryan
157fc2c7bb
sends cttp responses to %eyre (buggy)
2018-03-12 21:09:38 -04:00
Joseph Bryan
97caea778b
ghetto libh2o client
2018-03-12 21:09:37 -04:00
Joseph Bryan
50b06e1ec6
sets Server header to urbit/vere-$VERSION
2018-03-12 21:09:37 -04:00
Joseph Bryan
01bedc86f5
moves openssl init and prng seeding to main.c
2018-03-12 12:19:00 -04:00
Joseph Bryan
27da6091ea
prints libh2o version in urbit -R
2018-03-12 12:10:23 -04:00
Joseph Bryan
04dde536f9
makes pointer sanity-check safe for tls, removes unnecessary malloc
2018-03-12 12:01:29 -04:00
Joseph Bryan
c01609b290
disables automatic chunked transfer-encoding
...
by setting content-length before start_response
2018-03-08 15:28:47 -05:00
Shaun Kerr
9592f0315d
Updated key generation message. Fixes #876
2018-03-06 13:39:21 +13:00
Joseph Bryan
4222bd24fb
generalizes _http_rec_fail
2018-03-05 13:40:23 -05:00
Joseph Bryan
0a74b9d272
adds pointer sanity check to struct cast in _http_rec_accept
2018-03-05 13:40:23 -05:00
Joseph Bryan
a3a7bd9f97
switches to stack allocation in _http_vec_from_octs
2018-03-05 13:40:17 -05:00
Joseph Bryan
40a588889c
refactor, reorder, rename
2018-03-05 10:36:35 -05:00
Joseph Bryan
159d586e67
writes only successfully started servers to .http.ports
2018-03-05 10:36:35 -05:00
Joseph Bryan
a0b19f125f
cleanup
2018-03-05 10:36:35 -05:00
Joseph Bryan
54fcac2b92
asan fix: initialize host before linking config to accept_ctx
...
and adds hostname(s) TODO
2018-03-05 10:36:34 -05:00
Joseph Bryan
fdafc30ee8
set HTTP response content length
2018-03-05 10:36:34 -05:00
Joseph Bryan
2f5623c3d4
skip starting secure server if no tls
2018-03-05 10:36:34 -05:00
Joseph Bryan
75b027bdd7
makes h2o_globalconf_t per server in u3_http
2018-03-05 10:36:34 -05:00
Joseph Bryan
c7b7a5fb17
refactors _http_respond()
2018-03-05 10:36:34 -05:00
Joseph Bryan
0451ebc81c
print unknown request methods (debug only)
2018-03-05 10:36:34 -05:00
Joseph Bryan
d8c16add85
print error on uv_listen failure
2018-03-05 10:36:34 -05:00
Joseph Bryan
5f843afb65
bail on massive octs (??)
2018-03-05 10:36:34 -05:00
Joseph Bryan
f74c20473d
updates vere.h with new server/connection/request structs
2018-03-05 10:36:33 -05:00
Joseph Bryan
79a13059bd
cleanup from review
2018-03-05 10:36:33 -05:00
Joseph Bryan
9693794afc
ghetto tls
2018-03-05 10:36:33 -05:00
Joseph Bryan
86ec59f86d
start all 3 servers
2018-03-05 10:36:33 -05:00
Joseph Bryan
d2edbb116d
perhaps we should pass the query parameters ...
2018-03-05 10:36:33 -05:00
Joseph Bryan
f62a117741
restore host header to make %eyre happy
2018-03-05 10:36:33 -05:00
Joseph Bryan
6a9e13eb79
adds real %eyre integration, removes jhttp
2018-03-05 10:36:33 -05:00
Joseph Bryan
24dd4e92ac
stop leaking headers
2018-03-05 10:36:33 -05:00
Joseph Bryan
ed8c902b4a
refactors meth
2018-03-05 10:36:33 -05:00
Joseph Bryan
18c4f09bcc
ghetto eyre integration works! (errs in ++emule)
2018-03-05 10:36:32 -05:00
Joseph Bryan
28022ddca8
refactors response headers
2018-03-05 10:36:32 -05:00
Joseph Bryan
79fa28df98
better names
2018-03-05 10:36:32 -05:00
Joseph Bryan
fbfb1c4186
print ip
2018-03-05 10:36:32 -05:00
Joseph Bryan
e65fa24fca
adds trivial libh2o integration
2018-03-05 10:36:32 -05:00
Joseph Bryan
ebbbf6cf0c
recursively mkdir in u3_walk_save
2018-03-02 17:39:08 -05:00
mikolajp
4ba14cb4bc
Fix UV__* for new libuv
2018-02-25 16:02:18 +08:00