Commit Graph

55 Commits

Author SHA1 Message Date
Joe Bryan
c058bae81c implements initial version of eth-integrated %dawn boot 2018-10-05 00:38:53 -04:00
Joe Bryan
f0524c23f0 Merge branch 'release-candidate' into hashboard
* release-candidate: (138 commits)
  adds meson option (-Dprof=true) to set U3_CPU_DEBUG
  adds meson option (-Dgc=true) to set U3_MEMORY_DEBUG
  refactors http card validation
  fixes leak in proxy when networking is disabled
  fixes leak in _http_serv_start_all
  bypassed profiling bug
  Eliminate cons optimization.
  Remove broken assert.
  Clean up some printfs.
  increases tcp proxy listener timeout to 2 minutes
  fixes dumb bug in tcp reverse proxy remote address resolution
  Fix issue with trimming >4 character jet names
  upgrades libh2o to v0.13.5 (h2o v2.2.5)
  sets the http client request timeout to 2 minutes
  adds an http request timer to ensure connections are always closed
  adds an http request timer to ensure connections are always closed
  adds (disabled) h2o access log
  don't leak ship-name in _proxy_ward_connect()
  refactors .http.ports write/release (avoid the loom, etc.)
  updates SSL_CTX init to support any PEM private key, simplifies error handling
  ...
2018-10-02 18:25:41 -04:00
Joe Bryan
b1f8b79992 adds -S to skip battery hashes 2018-10-02 15:23:35 -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
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
11e76024f1 adds u3_wcon (ward candidate conn), refactors ward connection accept and auth 2018-07-14 19:01:52 -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
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
3499456261 rewrites graceful restart, re-architects u3_hcon and u3_hreq lifecycle 2018-07-10 23:42:40 -04:00
Joe Bryan
60b0c90122 refactors http config (%form) application 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
107c417a82 implements link/unlink for proxy structs, improves resource cleanup 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
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
eeb0536ab9 wires up reverse proxy notification effect %that
works!
2018-06-15 14:16:17 -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
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
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
828c73c7e9 adds nam_w and val_w to u3_hhed, updates cttp appropriately 2018-03-14 13:21:10 -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
a0b19f125f cleanup 2018-03-05 10:36:35 -05:00
Joseph Bryan
75b027bdd7 makes h2o_globalconf_t per server in u3_http 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
ebbbf6cf0c recursively mkdir in u3_walk_save 2018-03-02 17:39:08 -05:00
Ted Blackman
49a3bc4ffa added -H ames bootstrap domain 2017-12-13 15:13:44 -08:00
Ted Blackman
2a75beaf8e -L -> -N, allow remote networking in -F mode 2017-10-30 17:41:48 -07:00
Ted Blackman
d07352dbb1 whitespace 2017-10-30 03:18:53 -07:00
Ted Blackman
e852389fd2 -s pill from arvo's git hash and branch 2017-10-30 03:17:14 -07:00
Ted Blackman
36e775b938 -u <pill url> command-line option 2017-10-27 09:19:39 -07:00
Ted Blackman
3385e8275b sort command-line options in struct 2017-10-27 09:17:19 -07:00
Anton Dyudin
2168721e90 fix -V description 2016-11-04 11:31:38 -07:00
Raymond Pasco
3c86f46df5 Merge branches 'czar-expire' and 'version-scaffolding', remote-tracking branches 'joemfb/line-eating' and 'ohAitch/flag-g-generator'
Expire czar IPs after 5 minutes
Version number scaffolding for release
Fix line-munching term.c bug
Add -G to ease scripted creation of live galaxies
2016-10-25 11:02:59 -04:00
Raymond Pasco
d06bdd5ad1 Time out czar IPs after 5 minutes 2016-10-25 10:51:10 -04:00
Anton Dyudin
3b1b0181ce add -G 0w-ca.rrier.-gene.rator flag 2016-10-24 11:56:44 -07:00
Raymond Pasco
228b0fb20d Add -A option to locate initial galaxy sync files 2016-08-29 13:04:57 -04:00
Raymond Pasco
30f590c7a8 Remove unused u3_System global variable 2016-08-28 12:39:22 -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
Dan Haffey
26144fedde Shorter spinner delay after previous spinful event. 2016-02-20 14:35:06 -08:00
Philip C Monk
27c10801c6 checkpoint 2016-02-11 14:44:28 -05:00
Raymond Pasco
c9c09bf99e Stub in -B bootstrap location option 2016-01-26 12:50:32 -05:00
Dan Haffey
2acf161381 Cursor spinner while processing events for more than 500ms. (#599)
The spinner is a simple |/-\ at the current cursor position. For non-terminal
events, the root of the event's wire is also displayed to the right of the
spinner to give some indication of what's causing an unresponsive terminal.

I used the simplest synchronization strategy I could think of: u3_utat.mex_u is
a mutex that serializes access to a terminal's state. The main thread holds it
at all times except when processing events. When a terminal receives a %bee blit
with a non-nul bulb (the event ovum), it releases the mutex to let the spinner
thread do its thing. A %bee with a nul bulb halts the spinner by grabbing the
mutex and refreshing the input line.

Off-thread console writes are directly against the underlying fd to avoid
trashing non-thread-safe libuv state. Given the simple locking pattern, calling
libuv from the spinner thread might be fine, but I didn't feel like auditing
vere to rule out concurrent calls. It worked when I tried it, but... threads.

I didn't look into supporting anything other than the main terminal, so
currently it's the only one that receives %bee blits. In daemon mode, the
spinner is disabled entirely and no additional thread is started.
2015-12-12 20:42:33 -08:00