Commit Graph

441 Commits

Author SHA1 Message Date
Elliot Glaysher
82cb9ed2ce
Merge pull request #1086 from urbit/use-slaw-instead-of-slay
Use +slaw instead of +slay.
2018-12-04 16:53:31 -08:00
Elliot Glaysher
e7c10cd828
Merge pull request #1081 from urbit/json-trace
Add support for trace_event files.
2018-12-04 16:41:54 -08:00
Elliot Glaysher
39eb89d66b Use u3_nul 2018-12-04 16:40:19 -08:00
Elliot Glaysher
e611cc34c4 Use +slaw instead of +slay. 2018-12-04 16:27:20 -08:00
Elliot Glaysher
4a53ebc6c5 Cleanup 2018-12-04 14:48:26 -08:00
Joe Bryan
bf4e7910dc loads initial filesystem from pill, -A optional for all ships 2018-12-04 02:54:12 -05:00
Elliot Glaysher
7b475e7caa Remove 30ms per dill-blit. 2018-12-03 16:10:07 -08:00
Elliot Glaysher
8b9680072a Add support for trace_event files.
This adds a -j parameter which writes traces of your Urbit's function call
stack to a json file, readable by Chrome's about://tracing or the standalone
trace-viewer webapp.
2018-12-01 15:54:55 -08:00
Joe Bryan
bc30fb282b automatically process events on restart 2018-11-26 16:34:49 -05:00
Joe Bryan
1774725e4c removes i/o polling 2018-11-26 16:29:38 -05:00
Joe Bryan
9121e108ab removes %behn timer backoff 2018-11-26 12:22:13 -05:00
Joe Bryan
c3555c25a9 increases %behn timer accuracy 2018-11-26 03:08:14 -05:00
Joe Bryan
a77f6401a7 updates %behn to use effects instead of u3v_keep polling 2018-11-26 03:08:14 -05:00
Joe Bryan
a9c8615674 removes %ames timer and disables u3v_keep polling 2018-11-26 03:08:14 -05:00
Joe Bryan
f89b02f8a1
Merge pull request #1070 from urbit/remove-obsolete-arguments
removes obsolete CLI arguments
2018-11-21 13:09:32 -05:00
Joe Bryan
42c61039a4 refines -F argument handling 2018-11-16 20:05:03 -05:00
Joe Bryan
80b1d34aa6 alphabetizes u3_opts and usage instructions 2018-11-16 20:04:58 -05:00
Joe Bryan
eaab7dda8f replaces -N (enable fake networking) with -L (disable networking) 2018-11-16 19:19:48 -05:00
Robert
1c97747e7c updates boot printfs 2018-11-16 15:40:33 -08:00
Joe Bryan
3edcd47b7c removes the option to set -l, -n, and -r (raft options) 2018-11-16 17:52:58 -05:00
Joe Bryan
0148b101e7 removes -X ("skip last event") 2018-11-16 17:52:47 -05:00
Joe Bryan
f87120095a removes -M ("memory madness") 2018-11-16 17:52:25 -05:00
Joe Bryan
2ea9cb52fe properly zero-initialize u3_wcon linked-list pointer 2018-11-15 19:33:30 -05:00
Joe Bryan
965c43c57a fixes race in _proxy_ward_close by unlinking early 2018-11-13 14:06:35 -05:00
Joe Bryan
c072605792 restores -H for overriding contract/snapshot ames domains 2018-11-08 23:13:19 -05:00
Joe Bryan
a348fae401 adds perror() calls for u3_term_io_hija/loja i/o errors 2018-11-06 20:35:13 -05:00
Joe Bryan
ebeb785ef3 adds more specific error messages to proxy write callbacks 2018-11-06 19:43:13 -05:00
Joe Bryan
07b6cf807b bumps http client request timeout to 5 minutes 2018-11-06 19:30:23 -05:00
Joe Bryan
db46b2d798 make implicit -S persist across fake-keyed restarts 2018-11-06 11:16:58 -05:00
Joe Bryan
f319cd6c81 fixes merge conflict resolution in the previous. mea maxima culpa 2018-11-01 01:18:50 -04:00
Joe Bryan
b3eb48408c
Merge branch 'release-candidate' into bs/disable-core-hashing-on-fake-ships 2018-11-01 01:11:57 -04:00
Joe Bryan
7027f43563 updates fake-zod examples, removing -I 2018-11-01 00:43:09 -04:00
Joe Bryan
35bfb49086 Merge branch 'release-candidate' into ames-eth-keys
* release-candidate: (21 commits)
  zinc gate casting bug
  Bug fix for metal-wrapping runes
  converting iron and zinc cores to lead bug
  8. updates nock 4K spec
  7. updates %5 to require two subformulas (nock 4K)
  6. implements edit at %10 (nock 4K)
  5. removes %13 and %14 (nock 4K)
  4. emits %11 and %12 (nock 4K)
  3. implements hint at %11 and wish at %12 (nock 4K)
  2. removes %10 and %11 (nock 4K)
  1. duplicates hint (%10) and wish (%11) at %13 and %14 (nock 4K)
  Disable terminal echo on passcode entry
  increased inbound request and ward timeouts to 5 min
  mutating edit
  bail in _n_edit on invalid path
  avoid allocating an atom for _cj_bash
  bypass mat and chop directly in jam
  small memory leak for large edits
  disable hike jet, kill errant and unneccessary mutate-context-sample opcodes
  bugfixes
  ...
2018-11-01 00:16:20 -04:00
Philip Monk
345459e931
allow booting from ethereum snapshot 2018-10-31 15:43:55 -07:00
Joe Bryan
d6b9d6088c sets default pre-boot validation ethereum gateway to ropsten infura 2018-10-29 21:52:46 -04:00
Joe Bryan
f0efa1ac12 includes block number and ethereum gateway url in boot event 2018-10-29 15:23:17 -04:00
Joe Bryan
770207e186 pins pre-boot validation eth rpc requests to a single block 2018-10-29 14:01:45 -04:00
Joe Bryan
9ebeaeb3dc requires ethereum gateway (with -e) for non-fake galaxy boot 2018-10-29 12:39:02 -04:00
Joe Bryan
68a2963051 swaps -K (now kernel stage) and -k (now key-file) 2018-10-29 11:48:05 -04:00
Joe Bryan
b9668c77f9 corrects boot comments 2018-10-28 21:29:50 -04:00
Joe Bryan
b7fbd4108e fixes memory leak (temporarily) by disabling +xeb jet 2018-10-28 21:10:25 -04:00
Benjamin Summers
c198b4ff0c Disabled core hashing on fake ships. 2018-10-26 15:36:35 -07:00
Philip Monk
999e82a44a
actually send headers 2018-10-24 10:38:09 -07:00
Joe Bryan
61c1ece926 corrects public-key retrieval for (parent of) moons 2018-10-18 15:24:04 -04:00
Joe Bryan
562c9b310a factors out pre-boot verification failure 2018-10-18 15:13:14 -04:00
Joe Bryan
37f551d65f adds pre-boot validation status printfs 2018-10-18 14:47:15 -04:00
Joe Bryan
d9cfb8de35 removes extra %init handlers in reck.c 2018-10-18 01:26:50 -04:00
Joe Bryan
cc8c01ea70 adds comet mining (temporarily hardcoded under ~marzod) 2018-10-17 22:53:01 -04:00
Joe Bryan
1f42dfc812 documents new cli arguments 2018-10-17 17:28:46 -04:00
Joe Bryan
07c04e32a7 initialize %ames (and galxy sync) early on first boot 2018-10-17 12:06:16 -04:00
Joe Bryan
f939b63cca simplifies dawn status noun, improves error messages 2018-10-16 23:46:31 -04:00
Joe Bryan
4b6c697814 allows -G as an alternative to -K (temporarily) 2018-10-16 23:46:11 -04:00
Joe Bryan
ca1259bf70 check that -w matches the ship in -K 2018-10-16 22:57:18 -04:00
Joe Bryan
178c2212cf adds -e to specify ethereum node url 2018-10-16 22:56:27 -04:00
Joe Bryan
4bcfcf0b3a completely removes -I 2018-10-16 22:55:19 -04:00
Joe Bryan
f76f8b5363 refactors u3_sist_boot and pre-boot validation 2018-10-16 22:54:21 -04:00
Joe Bryan
5207c8321f use +clan:title to detect galaxy 2018-10-16 22:41:38 -04:00
Joe Bryan
6e77aa110a starts ames on %turf card, removes -H
uses ames domain for tcp proxy, and
moves czar arvo sync after ames initialization
2018-10-16 20:51:51 -04:00
Joe Bryan
fc6530fa30 allows -N without -F (temporary, revisit) 2018-10-16 18:02:55 -04:00
Joe Bryan
5b33f63f6a restores %dawn galaxy table 2018-10-16 17:38:27 -04:00
Joe Bryan
25bb368243 accepts all (identical) %init cards 2018-10-16 17:26:41 -04:00
Joe Bryan
204cf9be09 restores u3A->fak on full event replay 2018-10-09 15:42:40 -04:00
Joe Bryan
0b13837bfa single-home's arvo, refines fake keys 2018-10-05 20:29:53 -04:00
Joe Bryan
bcc1261009 removes first-boot ticket 2018-10-05 20:29:53 -04:00
Joe Bryan
8fc65462b8 minimal fake-key boot - galaxies only for now 2018-10-05 20:29:53 -04:00
ixv
13b291736a
Merge pull request #1033 from urbit/release-candidate-increase-timeout
increased inbound request and ward timeouts to 5 min
2018-10-05 15:55:08 -07:00
Elliot Glaysher
3a8fcdb818
Merge pull request #1032 from urbit/cherry-pick-33cd4b7-to-release-candidate
Disable terminal echo on passcode entry
2018-10-05 14:29:12 -07:00
Joseph Lukasik
91f2d9ed68 Disable terminal echo on passcode entry 2018-10-05 14:23:47 -07:00
Joe Bryan
c058bae81c implements initial version of eth-integrated %dawn boot 2018-10-05 00:38:53 -04:00
Isaac Visintainer
2f92e6409f increased inbound request and ward timeouts to 5 min 2018-10-04 11:40:12 -07: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
8affdf44ea refactors http card validation
in u3_http_ef_that and u3_http_ef_form
2018-10-01 19:04:51 -04:00
Joe Bryan
34570e428e fixes leak in proxy when networking is disabled 2018-09-28 22:58:39 -04:00
Joe Bryan
8de9a059ce fixes leak in _http_serv_start_all
by removing calls to u3_lo_open and u3_lo_shut
2018-09-28 22:58:39 -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
f0c581160e increases tcp proxy listener timeout to 2 minutes 2018-07-22 00:18:03 -04:00
Joe Bryan
47557a5380 fixes dumb bug in tcp reverse proxy remote address resolution 2018-07-22 00:17:33 -04:00
Joe Bryan
36ae7a5f07 sets the http client request timeout to 2 minutes 2018-07-18 13:52:49 -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
9abf5bfa50 adds (disabled) h2o access log 2018-07-16 16:42:50 -04:00
Joe Bryan
9cf861990f don't leak ship-name in _proxy_ward_connect() 2018-07-16 14:24:29 -04:00
Joe Bryan
0ca3561794 refactors .http.ports write/release (avoid the loom, etc.) 2018-07-15 16:37:15 -04:00
Joe Bryan
2574b865c9 updates SSL_CTX init to support any PEM private key, simplifies error handling 2018-07-14 23:26:42 -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
68ce42f68c enables ALPN and HTTP2 over TLS 2018-07-13 12:49:06 -04:00
Joe Bryan
92ae8c09c1 increases timeout before server struct, adds explanatory comment 2018-07-13 12:48:43 -04:00
Joe Bryan
a557a11dff closes u3_ward stream and timer sequentially, fixing use-after-free per ASan 2018-07-12 23:43:37 -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
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