Commit Graph

308 Commits

Author SHA1 Message Date
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
C. Guy Yarvin
057b866b17 Add terminal printers. 2017-11-08 14:37:39 -08:00
Ted Blackman
2a75beaf8e -L -> -N, allow remote networking in -F mode 2017-10-30 17:41:48 -07:00
Ted Blackman
4843234a78 check for -A 2017-10-30 03:43:03 -07:00
Ted Blackman
e852389fd2 -s pill from arvo's git hash and branch 2017-10-30 03:17:14 -07:00
Ted Blackman
bef3f128b4 _arvo_hash() function works 2017-10-27 17:12:57 -07:00
Ted Blackman
cda959fa26 tabs 2017-10-27 09:44:37 -07:00
Ted Blackman
ae142e0b07 better default behavior for -u; also, whitespace 2017-10-27 09:32:48 -07:00
Ted Blackman
36e775b938 -u <pill url> command-line option 2017-10-27 09:19:39 -07:00
Ted Blackman
721b048f42 more sorting 2017-10-27 09:17:19 -07:00
Ted Blackman
1a67685913 sort command-line options 2017-10-26 14:31:22 -07:00
Ted Blackman
67f8cae687 Verbose command-line help 2017-10-26 14:12:02 -07:00
Matthew Levan
4417b1c6fe *Removed* line 1521 to remove default header 2017-10-25 14:22:13 -07:00
Matthew Levan
e228dcd822 Commented out 1521 to remove default header 2017-10-25 14:06:36 -07:00
C. Guy Yarvin
9253613738 Let's not encrypt (because encryption is now in zuse). 2017-09-27 17:28:11 -07:00
C. Guy Yarvin
497b1ffb7f Fix crash when error delivery fails. 2017-07-27 15:27:53 -07: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
311931d04a Merge branches 'u3x_hext' and 'andthus' into maint-0.4 2017-06-24 11:40:02 -04:00
C. Guy Yarvin
97ee2dcd22 Issue 504 to requester when socket breaks. 2017-06-24 11:39:15 -04:00
s-ol
531a4786f0 Suicide prevention with corrupt Lockfile 2017-04-04 16:19:10 +02:00
Raymond Pasco
39e8fa0216 Don't give up on trying to find czar IPs
If they're not found, "not found" has a 5 minute TTL - and if there was
already an IP for that czar, keep using it for 5 more minutes.
2016-12-16 12:12:50 -08: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
187d844cad Merge branch 'back-http-ports' into maint-0.4
Backport of .http.ports feature
2016-12-12 15:06:49 -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
C. Guy Yarvin
cbfc627d17 Don't print czar ip unless it changes. 2016-11-01 12:58:48 -04: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
6d2c60aa7a Version #define scaffolding 2016-10-25 10:54:00 -04:00
Raymond Pasco
d06bdd5ad1 Time out czar IPs after 5 minutes 2016-10-25 10:51:10 -04:00
Anton Dyudin
eb69bf45d2 fix -t error message 2016-10-24 17:23:43 -07:00
Anton Dyudin
3b1b0181ce add -G 0w-ca.rrier.-gene.rator flag 2016-10-24 11:56:44 -07:00
Joseph Bryan
2b9f103a0d updates _term_it_show_clear() to use ESC[K instead of ESC[J 2016-10-19 00:00:25 -04:00
Joseph Bryan
99dde17893 removes obsolete history-eating bug-fix from _term_it_show_clear() 2016-10-19 00:00:19 -04:00
Raymond Pasco
3400efdcea Remove redundant check for existing pier
that breaks non-galaxy startup...
2016-08-30 20:14:44 -04:00
Raymond Pasco
b8dcc5f17d Fetch pill from bootstrap site if not specified 2016-08-29 15:30:27 -04:00
Raymond Pasco
3434f2bd9c Move pier directory creation to beginning of boot
This is the smallest refactor that works.
2016-08-29 14:12:27 -04:00
Raymond Pasco
a7e32f3359 Add usage info for -A and -B options 2016-08-29 13:11:10 -04:00
Raymond Pasco
228b0fb20d Add -A option to locate initial galaxy sync files 2016-08-29 13:04:57 -04:00
Raymond Pasco
b03519f64f Delete giant commented-out mess mentioning U3_LIB
We have version control so we don't have to comment out things that
we've refactored into another function.

This is mainly to get rid of the false positive when I grep for U3_LIB.
2016-08-28 14:49:56 -04:00
Raymond Pasco
7291f72f59 Use pil_c rather than U3_LIB to boot pill 2016-08-28 13:12:49 -04:00
Raymond Pasco
25b2c007db Use pil_c rather than U3_LIB to copy pill 2016-08-28 13:12:34 -04:00
Raymond Pasco
1f8050aede Don't check U3_LIB for pills 2016-08-28 13:12:14 -04:00
Raymond Pasco
30f590c7a8 Remove unused u3_System global variable 2016-08-28 12:39:22 -04:00
Raymond Pasco
59cfe3303e Double entropy pool size 2016-08-11 10:22:26 -07:00
Raymond Pasco
983c2132ce Read in events only up to the last checkpoint 2016-08-03 17:30:28 -07:00
Raymond Pasco
a05a424053 Merge remote-tracking branches 'asgardiator/master', 'cgyarvin/slowcheck', 'joemfb/meta-keys' and 'philipcmonk/link-fix'
Update reference to urbit-meta to use dozbud
Tone down checkpointing frequency to every 2 minutes
Add term.c support for M-. and M-backspace
Update install instructions web link
2016-07-11 23:40:27 -07:00
Joseph Bryan
166431ed99 adds term support for meta-. and meta-backspace 2016-07-02 22:49:40 -04:00
C. Guy Yarvin
3947088354 Change checkpointing from 15 to 120 seconds. 2016-07-01 10:10:41 -07:00
John Franklin
fc06bec143 Call uv_close() on UV_EOF in _cttp_ccon_kick_read_cryp_cb() and _cttp_ccon_kick_read_clyr_cb(). This addresses https://github.com/urbit/urbit/issues/254. 2016-06-07 18:28:34 -05: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
Dan Haffey
26144fedde Shorter spinner delay after previous spinful event. 2016-02-20 14:35:06 -08:00
C. Guy Yarvin
6a72b535a9 Don't unlock mutex when exiting; it crashes for some reason. 2016-02-19 14:03:32 -05:00
Raymond Pasco
81ba11cd7d Merge branch 'pills'
Work correctly in refactored repository
NB: partially unfinished
2016-02-15 06:10:43 -05:00
Raymond Pasco
eb350a7e17 Merge branch 'switch-on-crub'
Accept more characters for carrier generator, in preparation for crub
2016-02-15 06:08:19 -05:00
Raymond Pasco
bb5e995202 Look for pill in build dir, arvo in arvo/
also .gitignore them
BUG: length of arvo sources directory is hardcoded!
2016-02-15 06:06:56 -05:00
Philip C Monk
27c10801c6 checkpoint 2016-02-11 14:44:28 -05:00
Raymond Pasco
101673f511 Merge tag 'hoon-151' into pills
Hoon 151 merge
2016-02-10 15:16:45 -05:00
Raymond Pasco
aa4eab1375 accept more characters in _sist_text() 2016-02-08 19:48:04 -05:00
C. Guy Yarvin
35a385e81c Fully shifted over to modern typed namespace. 2016-02-03 20:51:01 -08:00
Raymond Pasco
282b933882 support only U3_LIB, no hardcoded urb/ 2016-02-03 14:31:29 -05:00
Raymond Pasco
fda8ff38a4 support U3_LIB define 2016-01-28 08:28:13 -05:00
Raymond Pasco
71d8f1228d Make sure specified pill exists 2016-01-26 16:36:22 -05:00
Raymond Pasco
02f656b233 sanity check -B option 2016-01-26 16:31:26 -05:00
Raymond Pasco
c9c09bf99e Stub in -B bootstrap location option 2016-01-26 12:50:32 -05:00
Dan Haffey
5a23bbfda1 No signals on the spinner thread. 2015-12-16 23:40:34 -08:00
Dan Haffey
0ab8ad4ff5 No spinner delay for %ret. 2015-12-13 13:20:56 -08: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
Dan Haffey
d2391e78f8 Restore terminal line length and cursor position on refresh.
This keeps printfs from blowing away the line state (M-m M-m
won't erase your prompt).
2015-12-07 20:48:39 -08:00
C. Guy Yarvin
9083af04df Terminate on SIGTSTP. 2015-11-27 10:52:24 -08:00
C. Guy Yarvin
69b8603fa2 URL printing; doc and usability fixes. 2015-11-20 18:10:45 -05:00
Raymond Pasco
2830d2cddb Allow optional pier directory argument with -w -t 2015-11-19 16:01:58 -05:00
Charlie Cummings
66e2eb985e ignore dropped requests 2015-11-18 21:36:38 -05:00
John Franklin
1d79185707 Print libuv version in report(). 2015-11-16 17:34:49 -05:00
John Franklin
8201592594 Add command line option to report urbit build info. 2015-11-16 17:34:49 -05:00
Charlie Cummings
82359145dd more args 2015-11-16 17:34:49 -05:00
John Franklin
48c0e6e149 Print normal usage command when trying to create an existing planet/comet. 2015-11-10 15:12:03 -05:00
vere
7f1b5d2ae8 Proper double-word merge. 2015-11-06 22:08:58 +00:00
C. Guy Yarvin
1fedcb9b72 Profiling fix 2015-10-26 17:51:46 -04:00
C. Guy Yarvin
1ba234cee2 Fix typos. 2015-10-19 13:59:09 -07:00
C. Guy Yarvin
04d916aa59 Eliminate hasty chroot. 2015-10-17 20:29:59 -07:00
C. Guy Yarvin
1a47b2d5b8 Merge cgyarvin fixes into test. 2015-10-17 13:01:38 -07:00
John Franklin
d73fdfae61 Generalize the message if trying to use -c or -w on an existing pier. 2015-10-12 23:32:16 -05:00
C. Guy Yarvin
02277f6ca0 Merge branch 'test' of https://github.com/urbit/urbit into karpi
Conflicts:
	urb/urbit.pill
2015-10-12 17:10:56 -07:00
C. Guy Yarvin
e92012984c Doc fixes and changes to match. 2015-10-09 18:31:07 -07:00
Raymond Pasco
26e0060cd1 C89 compatible for loop 2015-10-08 13:17:15 -04:00
chc4
f265f80ab3 Update usage
I didn't list most of the ones that I never heard about before (-r, -l, -b)
2015-10-07 00:39:38 -04:00
Raymond Pasco
829d65b40a Check if directory already exists when using -c 2015-10-01 13:23:29 -04:00
Raymond Pasco
48865ce5f9 Merge remote-tracking branch 'burtonsamograd/ignore-emacs-temp-files' into test 2015-09-28 21:23:50 -04:00
Burton Samograd
f870a09d9d Tabs -> spaces. 2015-09-28 19:10:22 -06:00
Burton Samograd
56b0892ba9 Ignore #file#, which are emacs temp work files. 2015-09-28 19:07:28 -06:00
Charlie Cummings
2f2144e8c5 Ask for ticket, close #366 2015-09-27 19:07:26 -04:00
Charlie Cummings
98760f8e38 hide libuv socket errors 2015-09-04 18:49:09 -04:00
Charlie Cummings
ea3b2a3f83 optional sig 2015-08-24 19:23:13 -04:00
Philip C Monk
7cce82059d off-by-one error when checking for deleted childs
fixes #365
2015-07-14 17:07:12 -04:00
Anton Dyudin
c428adedaa aesthetic improvement 2015-07-13 17:46:37 -07:00
Anton Dyudin
cfe0339761 Rename %time to %behn, tym to now; closes #334 2015-06-24 12:50:30 -07:00
Philip C Monk
9edda1bb73 descriptive names for c files
fixes #294
2015-06-23 21:29:11 -04:00