Commit Graph

2804 Commits

Author SHA1 Message Date
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
Keaton Dunsford
7633b5cc9c
Merge pull request #998 from urbit/urbit-0-6-0
Version the bootstrap.urbit.org boot pill URL
2018-06-08 19:31:51 -07: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
Keaton Dunsford
ba709ca8c8
Merge pull request #997 from urbit/0-6-0
Bump Vere version to version 0.6.0
2018-06-08 14:43:11 -07:00
Keaton Dunsford
d9f0c19d69 Bump Vere version to version 0.6.0
The breaking change here is urbit/urbit#987, commit 762638ac, changing
the memory allocation size of _box_slot. This introduced urbit/urbit
issue #990 and has required a continuity breach. The version bump here
is mostly to signal to users that they need to update to the new Vere
version to prevent a future ship crash. Though, we can't enforce this,
and if this happens, we have a couple imperfect fixes that may or may
not revive the crashed ship.
2018-06-08 14:31:42 -07:00
Anthony Arroyo
5164bd0d67
Merge pull request #989 from urbit/set-meson-flag-o3
Set meson --buildtype to release
2018-05-29 13:27:08 -07:00
Elliot Glaysher
59a7d23377 Update subprojects so they don't hard code -O2. 2018-05-29 12:35:01 -07:00
Elliot Glaysher
dc898c93ff Use --buildtype instead of -Dbuildtype 2018-05-29 11:19:55 -07:00
Elliot Glaysher
f256c9a6c1 Revert "Revert "Merge pull request #977 from urbit/meson-build-type""
This reverts commit 1f037986b9.
2018-05-29 10:55:24 -07:00
cgyarvin
6e76eb99d5
Merge pull request #988 from urbit/fix-revert-meson-flags
Revert "Merge pull request #977 from urbit/meson-build-type"
2018-05-28 16:33:06 -07:00
Anthony Arroyo
1f037986b9 Revert "Merge pull request #977 from urbit/meson-build-type"
This reverts commit 26996c2b16, reversing
changes made to 38f9c546c4.

Related discussion can be found here:
https://github.com/urbit/arvo/issues/709
2018-05-28 16:12:47 -07:00
cgyarvin
762638ac4e
Merge pull request #987 from frodwith/boxslot
bug in _box_slot
2018-05-27 13:09:23 -07:00
Paul Driver
5c0232a42b bug in _box_slot 2018-05-26 20:49:11 -07:00
Keaton Dunsford
ba288c518c
Merge pull request #985 from urbit/fix-ames-sync-galaxy
updates ames to resolve galaxy addresses asynchronously
2018-05-22 23:22:51 -07:00
Keaton Dunsford
06e1360532
Merge pull request #980 from techieAgnostic/issue_907
Removed unused variable. Closes #907
2018-05-22 23:22:08 -07:00
Joe Bryan
cfe3779fc0 updates ames to resolve galaxy addresses asynchronously 2018-05-22 15:05:03 -07:00
Keaton Dunsford
1069377075
Merge pull request #982 from urbit/fix-static-library
Use static subprojects.
2018-05-15 13:50:33 -07:00
Elliot Glaysher
3a4318ccdb Use static subprojects. 2018-05-15 13:45:56 -07:00
Shaun Kerr
152e206d18 Removed unused variable. Closes #907 2018-05-15 14:51:52 +12:00
Joe Bryan
b4df1bca18
Merge pull request #976 from joemfb/http-idempotent-resp
makes http response %thou effectively idempotent
2018-05-07 18:55:50 -07:00
Elliot Glaysher
26996c2b16
Merge pull request #977 from urbit/meson-build-type
Use built in "buildrelease" flag instead of custom "debug=true" flag.
2018-05-07 16:20:44 -07:00
Elliot Glaysher
584855e390 Also fix the README. 2018-05-07 16:15:29 -07:00
Elliot Glaysher
44b210b238 Removes non-functional meson debug option.
It looks like the debug mode was copied literally from the old
Makefiles, which interacts poorly with meson and leads to builds
with "-O0 -g -O3".

The correct way to do this is to use "-Dbuildtype=release" or
"-Dbuildtype=debug" during configuration. Set the default builds
made by scripts/build to release.
2018-05-07 16:10:10 -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
3c88802e6d
Merge pull request #973 from joemfb/http-resp-free
http: ensures that response buffers aren't freed until the request is disposed
2018-04-25 14:44:43 -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