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
|
ad4f76a431
|
adds state enum to u3_hreq, ignores attempts to send duplicate http responses
|
2018-05-04 15:49:44 -04: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
|
0588a3c7fd
|
updates "secure server not started" msg to be friendlier
|
2018-04-11 13:57:14 -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 |
|
Joseph Bryan
|
f4e60f604a
|
cleans up server SSL_CTX, saves pointer on u3_Host
|
2018-03-15 22:55:51 -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
|
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
|
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 |
|
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 |
|
John Franklin
|
79f8e67a0c
|
Call u3a_free() in _http_release_ports_file(). Addresses https://github.com/urbit/urbit/issues/835.
|
2017-06-27 06:02:08 -05:00 |
|
Raymond Pasco
|
b7036d60ca
|
#define _WITH_DPRINTF for BSD systems
|
2016-12-13 05:43:53 -08:00 |
|
Raymond Pasco
|
c0b9da9eda
|
_http_write_ports_file(): remove indirect C malloc
|
2016-12-13 05:32:23 -08:00 |
|
Raymond Pasco
|
f72515618f
|
Remove stray debug printf
|
2016-12-12 15:43:15 -08:00 |
|
Raymond Pasco
|
5ab32ac055
|
Use assumed-secure for the "secure" port
|
2016-12-12 15:06:13 -08:00 |
|
Raymond Pasco
|
8535def3b2
|
Write .http.ports file
|
2016-12-12 15:06:13 -08:00 |
|
Philip C Monk
|
ea3cbd5474
|
remove "connection to x.x.x.x" printf
|
2016-04-18 18:38:27 -04:00 |
|
Raymond Pasco
|
be4678ff0a
|
Merge remote-tracking branches 'philipcmonk/new-lens' and 'galenwp/arch'
http.c changes for urbctl API
add Arch linux to readme
|
2016-04-14 15:09:15 -04:00 |
|
Max G
|
9d221ddebd
|
Fixed pipelining on incoming http requests
Associated http-parser with connection instead of request; fixed queuing bug
|
2016-04-07 21:27:53 +03:00 |
|
Anton Dyudin
|
3d05538f75
|
add %chis for local-request backwards compatibility
|
2016-03-31 10:36:58 -07:00 |
|
Philip C Monk
|
37223edb4b
|
loopback fix
|
2016-03-09 14:19:11 -05:00 |
|
Philip C Monk
|
27c10801c6
|
checkpoint
|
2016-02-11 14:44:28 -05:00 |
|
Charlie Cummings
|
66e2eb985e
|
ignore dropped requests
|
2015-11-18 21:36:38 -05:00 |
|
C. Guy Yarvin
|
1ba234cee2
|
Fix typos.
|
2015-10-19 13:59:09 -07:00 |
|
C. Guy Yarvin
|
e92012984c
|
Doc fixes and changes to match.
|
2015-10-09 18:31:07 -07:00 |
|
Charlie Cummings
|
98760f8e38
|
hide libuv socket errors
|
2015-09-04 18:49:09 -04:00 |
|
Philip C Monk
|
9edda1bb73
|
descriptive names for c files
fixes #294
|
2015-06-23 21:29:11 -04:00 |
|