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
Paul Driver
a61ed7df17
fix compile errors
2018-03-30 11:49:18 -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
mikolajp
94ac10e29e
Remove telnet. Remove batz
2018-02-25 14:12:44 +08:00
Steven Dee
35bbba7b28
Fix uv error code reference
2018-02-24 21:40:34 -05:00
cgyarvin
91f2eaadaf
Merge pull request #919 from urbit/ames-straitjacket
...
Enforce -F / -N network options in Ames
2018-02-23 10:36:58 -08:00
cgyarvin
285c6d2ad2
Merge pull request #928 from joemfb/ctlc-pro
...
forwardports #813 (show prompt after ctrl-c)
2018-02-23 10:36:05 -08:00
Joseph Bryan
4db7eb4d60
maintains cursors position on %clr
2018-02-21 23:10:41 -05:00
Ted Blackman
c1725e2cf2
Prevent Ames from sending and receiving remote packets if remote networking is disabled
2018-01-29 12:03:37 -08:00
Ted Blackman
87e250e90f
help text: added -N and removed -L
2018-01-29 10:21:46 -08:00
Joseph Bryan
23d878f0b8
show prompt after ctrl-c
2018-01-15 22:29:36 -05:00
Ted Blackman
49a3bc4ffa
added -H ames bootstrap domain
2017-12-13 15:13:44 -08:00
Ted Blackman
ea2adb6e22
typo
2017-11-29 17:26:01 -08:00
Ted Blackman
9044de04cf
Print out localhost-only message on ames init
2017-11-29 17:18:34 -08:00
Ted Blackman
48c98653a7
cool it with the 'ames: czar: localhost-only' messages
2017-11-29 17:13:42 -08:00