Commit Graph

5594 Commits

Author SHA1 Message Date
Elliot Glaysher
056a179dc7
Merge pull request #3665 from urbit/king-multitenant-fixups
King multitenant fixups
2020-10-07 13:39:12 -04:00
Elliot Glaysher
5eeb86a935 king: actually try shutting down the piers 2020-10-07 13:00:05 -04:00
Elliot Glaysher
ce92c405fe king: --serf="" is a host option, not a per ship option.
This means you don't need to specify this per ship in a multitenant
environment when you are alwyas going to set it to the same binary
if you're overriding it in the first place.
2020-10-07 13:00:00 -04:00
Joe Bryan
42b10e4b80 u3: optimizes +wyt:in jet, gated by compile-time assertion 2020-10-06 17:02:30 -07:00
Joe Bryan
0f9fbba66a u3: further optimizes +lent jet, gated by compile-time assertion 2020-10-06 16:53:42 -07:00
Joe Bryan
f20fe17434 u3: refactors allocator constants, adds u3a_cells and u3a_maximum 2020-10-06 16:53:01 -07:00
Joe Bryan
94a4dc5f5d u3: optimizes +lent jet, avoiding u3i_vint() while possible 2020-10-06 16:48:38 -07:00
Joe Bryan
4215209f27 u3: moves cell allocation counter into u3a_celloc() 2020-10-06 16:13:17 -07:00
Joe Bryan
a217ddbed9 u3: fixes memory leak introduced in +murn jet 2020-10-06 16:12:03 -07:00
Joe Bryan
247f416a09 u3: fixes mismatches in +div and +dvr jets 2020-10-06 15:17:37 -07:00
Joe Bryan
c4587d9043 u3: fixes memory leaks in +dvr and +sqt jets
caused by unecessary u3k() calls around gmp conversion
2020-10-06 15:14:35 -07:00
fang
56b7777a21
Merge pull request #3557 from urbit/m/slog-stream
vere: webslogs
2020-10-06 23:09:31 +02:00
Joe Bryan
20ea17250b u3: rewrites +flop jet using new list iteration idiom 2020-10-06 14:05:31 -07:00
Joe Bryan
d9d7a4a13b u3: rewrites +weld jet using u3i_defcons() 2020-10-06 13:59:10 -07:00
Joe Bryan
d42c858d73 u3: rewrites +scag jet using u3i_defcons() 2020-10-06 13:58:08 -07:00
Joe Bryan
8d99c90d81 u3: rewrites +murn jet using u3i_defcons() 2020-10-06 13:57:10 -07:00
Joe Bryan
f81c05fd04 u3: rewrites +turn jet using u3i_defcons() 2020-10-06 13:56:20 -07:00
Joe Bryan
43425061b0 u3: adds u3i_defcons(), deferred cell constructor 2020-10-06 13:55:29 -07:00
Fang
0e790719d6
vere: add missing function comment 2020-10-06 20:59:17 +02:00
Fang
f2e64e39b6
vere: use h2o functions for finding cookie header 2020-10-06 20:57:45 +02:00
Joe Bryan
6b5be2b5cf
Merge pull request #3577 from urbit/jb/base16-jets
vere: adds jets for en/decoding base16
2020-10-06 10:52:23 -07:00
Fang
cc389c52e9
vere: put runtime http bindings under /~_~ 2020-10-06 16:37:02 +02:00
Fang
8044692b41
vere: touch up slogstream style and logic 2020-10-06 16:31:21 +02:00
Fang
2554dad0d8
vere: improve streamslog event construction
Assemble as list of atoms, then rap once, instead of catting multiple
times.

Also fixes refcounts, probably.
2020-10-06 16:10:04 +02:00
Elliot Glaysher
7e117f86b7 king: move internal IPC types to own file
This lets us put a StrictData annotation on these datas, without
touching the rest.
2020-10-05 14:28:17 -04:00
Elliot Glaysher
77a11a82be
Merge branch 'release/next-vere' into kh-strict 2020-10-05 13:26:46 -04:00
Elliot Glaysher
8d3e15c62b king: strictify all parsed nouns
At least some of the parsed plea structures were holding on to the raw
bytestrings through laziness.
2020-10-05 13:16:45 -04:00
Elliot Glaysher
0451953822 king: evaluate text which goes into the log 2020-10-05 13:15:57 -04:00
Elliot Glaysher
37a52136ab king: Use modifyTVar' instead of modifyTVar.
We mostly used modifyTVar', but there were a few lazy cases.
2020-10-05 13:12:22 -04:00
Elliot Glaysher
e7b69c9407 king: use Data.Map.Strict instead of Data.Map. 2020-10-05 13:12:22 -04:00
fang
ba0192f9f1
Merge pull request #3524 from urbit/m/unassume-klr
term: don't print styles in non-interactive mode
2020-10-05 16:13:20 +02:00
Joe Bryan
4415c1c099
Merge pull request #3490 from urbit/jb/moar-pile
u3: use new road-stack api in noun traversals
2020-10-02 15:25:01 -07:00
Joe Bryan
e314d070ea u3: corrects a couple more comments 2020-10-02 14:44:57 -07:00
Joe Bryan
236dd0b894 u3: cleans up comments, fixing typos 2020-10-01 17:14:13 -07:00
Fang
6266df6f30
vere: include %ex mote 2020-10-02 01:32:20 +02:00
Fang
d0d9437a93
vere: require authentication for webslogs
By scrying into Eyre to see if the cookie included in the request makes
it an authenticated request.

Depends on #3628.
2020-10-01 19:58:58 +02:00
Elliot Glaysher
4698659bb2
Merge pull request #3575 from urbit/kh-printing-is-a-slog
King Haskell terminal fixes
2020-10-01 12:14:30 -04:00
Elliot Glaysher
4b2d2b5931 king: more review comments 2020-10-01 11:10:30 -04:00
Fang
6b0aa04a0f
vere: don't close slog stream on-heartbeat
It was erroneously flagging the heartbeat responses as "complete".
2020-10-01 15:59:41 +02:00
Fang
1bce077ab4
vere: don't crash when slogging during replay
We're not guaranteed to have the sog_f callback set when
_pier_on_lord_slog gets called, so we should make sure there's a
function there before we call it.
2020-10-01 15:54:36 +02:00
Joe Bryan
220b01e921 u3: updates +leer and +lore jets to use slab api 2020-09-30 18:38:51 -07:00
Joe Bryan
ecfa2bc882 Merge branch 'release/next-vere' into jb/restage-leer
* release/next-vere: (47 commits)
  u3: updates u3i_slab implementation to normalize zero-length allocations to 1
  u3: updates u3i_slab_grow() to always zero-initialize new space
  u3: adds debug assertion for atom-allocation internal invariant
  u3: renames word-length in u3i_slab
  u3: removes byte-length from u3i_slab
  u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation
  u3: minor refactoring/dedupication of slab implementation
  u3: simplifies atom slab-allocation in cue implementations
  u3: removes redundant condition in +dis jet
  u3: adds u3i_chub(), refactors u3i_chubs()
  u3: improves effiency of gmp->u3a_atom conversion
  u3: uses c3_d for length arguments in slab api
  u3: removes redundant bitwidth function in serial.c
  u3: refactors u3s_jam_fib to use slab api
  u3: fixes u3i_slab_grow()
  u3: removes unnecessary zero-initialization in +rip jet
  u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop()
  u3: removes u3a_slab and friends
  u3: refactors +repn jet using u3i_slab api
  u3: refactors u3i_* atom functions using u3i_slab api
  ...
2020-09-30 18:27:55 -07:00
Joe Bryan
b3746e1cba u3: updates u3qe_de_base16() to use slab api 2020-09-30 18:06:17 -07:00
Joe Bryan
e03c8f34a0 u3: updates u3qe_en_base16() to use slab api 2020-09-30 18:02:14 -07:00
Joe Bryan
9d7f3b99ed Merge branch 'release/next-vere' into jb/base16-jets
* release/next-vere: (47 commits)
  u3: updates u3i_slab implementation to normalize zero-length allocations to 1
  u3: updates u3i_slab_grow() to always zero-initialize new space
  u3: adds debug assertion for atom-allocation internal invariant
  u3: renames word-length in u3i_slab
  u3: removes byte-length from u3i_slab
  u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation
  u3: minor refactoring/dedupication of slab implementation
  u3: simplifies atom slab-allocation in cue implementations
  u3: removes redundant condition in +dis jet
  u3: adds u3i_chub(), refactors u3i_chubs()
  u3: improves effiency of gmp->u3a_atom conversion
  u3: uses c3_d for length arguments in slab api
  u3: removes redundant bitwidth function in serial.c
  u3: refactors u3s_jam_fib to use slab api
  u3: fixes u3i_slab_grow()
  u3: removes unnecessary zero-initialization in +rip jet
  u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop()
  u3: removes u3a_slab and friends
  u3: refactors +repn jet using u3i_slab api
  u3: refactors u3i_* atom functions using u3i_slab api
  ...
2020-09-30 17:54:40 -07:00
Joe Bryan
854279772a Merge branch 'release/next-vere' into jb/slab
* release/next-vere: (23 commits)
  kh: abolish unicode syntax in favor of ascii
  vere: use cue/test handles for repeated packet parsing
  ur: adds missing serial.h include
  u3: updates u3s_cue_xeno() to return error, not bail on oversized atoms
  u3: factors atoms/backrefs back into u3s_cue_xeno()
  u3: renames u3s_cue_sill* to u3s_cue_xeno*
  u3: removes u3s_cue_xeno()
  u3: removes unused atom measurement function in urth.c
  vere: use u3s_cue_sill() for ivory pill
  vere: use u3s_cue_sill for ipc $plea's
  serf: use u3s_cue_sill() for ipc $writ's
  u3: use u3s_cue_sill_with() in u3u_uncram()
  u3: adds u3s_cue_fill and handle-based api
  u3: factors atoms/backrefs out of u3s_cue_xeno
  u3: refactors u3s_cue_bytes() to use road-stack api
  ur: removes unused variables in tests
  ur: cleans up ur_bsr_log()
  ur: cleans up ur_met(), atom measurement
  ur: refactors unsafe jam into a handle-based api
  ur: adds walk_fore variant with a handle-based api for repeated traversal
  ...
2020-09-29 13:01:41 -07:00
Joe Bryan
54d7b85cab u3: updates u3i_slab implementation to normalize zero-length allocations to 1 2020-09-29 12:55:06 -07:00
Joe Bryan
e189aa13a6 u3: updates u3i_slab_grow() to always zero-initialize new space 2020-09-29 12:46:16 -07:00
Joe Bryan
f6279181bb u3: adds debug assertion for atom-allocation internal invariant 2020-09-29 12:36:13 -07:00
Joe Bryan
190297266a u3: renames word-length in u3i_slab 2020-09-29 12:33:37 -07:00
Joe Bryan
e8a042cb25 u3: removes byte-length from u3i_slab 2020-09-29 12:28:22 -07:00
Joe Bryan
5be91ad7b2 u3: tweaks u3s_jam_fib() call sites, correcting byte-length calculation 2020-09-29 12:24:00 -07:00
Joe Bryan
5c8fac43d4 u3: minor refactoring/dedupication of slab implementation 2020-09-29 12:20:48 -07:00
Joe Bryan
187fee0406 u3: simplifies atom slab-allocation in cue implementations 2020-09-29 11:48:28 -07:00
Joe Bryan
c551b2a9ab
Merge pull request #3579 from urbit/jb/ur-handles-ames
vere: adds/uses apis for repeated deserialization
2020-09-29 11:16:48 -07:00
Joe Bryan
ef3ea31683 u3: removes redundant condition in +dis jet 2020-09-28 22:15:22 -07:00
Joe Bryan
1ca3fdcf5e u3: adds u3i_chub(), refactors u3i_chubs() 2020-09-28 18:20:46 -07:00
Joe Bryan
02804f8d21 u3: improves effiency of gmp->u3a_atom conversion 2020-09-28 17:49:41 -07:00
Joe Bryan
cdb94ae70e u3: uses c3_d for length arguments in slab api 2020-09-28 17:49:17 -07:00
Joe Bryan
667a5a71db u3: removes redundant bitwidth function in serial.c 2020-09-28 12:38:27 -07:00
Joe Bryan
f026343713 u3: refactors u3s_jam_fib to use slab api 2020-09-28 12:28:57 -07:00
Joe Bryan
9620fb1545 u3: fixes u3i_slab_grow() 2020-09-28 12:28:57 -07:00
Joe Bryan
a0b7f852ee u3: removes unnecessary zero-initialization in +rip jet 2020-09-28 12:28:57 -07:00
Joe Bryan
ecb9c23e08 u3: adds u3i_slab_from(), removes unnecessary uses of u3r_chop() 2020-09-28 12:28:57 -07:00
Joe Bryan
ea9328a4db u3: removes u3a_slab and friends 2020-09-28 12:28:57 -07:00
Joe Bryan
1116652b2a u3: refactors +repn jet using u3i_slab api 2020-09-28 12:28:57 -07:00
Joe Bryan
58267092fa u3: refactors u3i_* atom functions using u3i_slab api 2020-09-28 12:28:57 -07:00
Joe Bryan
5f75ad0055 u3: moves all use of u3a_slab/slaq to new u3i_slab api 2020-09-28 12:28:57 -07:00
Joe Bryan
c01134bf10 u3: moves slab atom-builder to "imprison" module, refactors 2020-09-28 12:28:46 -07:00
Elliot Glaysher
dd18bf6f0f king: review comments 2020-09-28 10:56:51 -04:00
Joe Bryan
012991310b u3: adds u3a_wtrim(), for shrinking word-aligned allocations 2020-09-25 19:21:18 -07:00
Joe Bryan
4ce4ce1974 u3: adds new bigatom allocation/builder api 2020-09-25 17:21:23 -07:00
Joe Bryan
5ea372be12 vere: adds basic tests for base16 jets 2020-09-25 10:51:35 -07:00
Elliot Glaysher
20a6c0331c king: set initial terminal size and react to resizes
This changes startup so we get the size of the current terminal
to send to Urbit on startup. We then subscribe to terminal size
change notifications and send those to your Urbit via the terminal
muxing system.

In the case where there are multiple terminal connections to your
Urbit, set the terminal size to the minimum of the widths.
2020-09-25 12:40:24 -04:00
Elliot Glaysher
e9f09e32c1 king: put slogs in the muxed scrollback
If you connect to an urbit using the remote terminal code,
slogs would not be printed to them since they were hard
coded to be printed to stderr. This threads slog printing
to the terminal driver, and puts them in scrollback.

(It does not actually fix slogs being printed on one line.)
2020-09-25 12:40:23 -04:00
Joe Bryan
2541ccbbec vere: refactors u3qe_de_base16() to properly handle odd lengths 2020-09-24 23:27:38 -07:00
Joe Bryan
a5c51aed0b vere: adds jets for en/decoding base16 2020-09-24 19:59:53 -07:00
Fang
6659c859f1
kh: abolish unicode syntax in favor of ascii 2020-09-25 01:43:03 +02:00
Fang
a6af035532
vere: add heartbeat to slog endpoint
Because ISPs might close connections that have no data going over them.
2020-09-24 23:30:42 +02:00
Fang
c4a2088bff
vere: add /~/slog http endpoint
Acts as a SSE endpoint for streaming slogs emitted by the runtime. Takes care
of tank rendering, emitting the lines resulting from printing the tank at
whatever the current terminal width is.

Adds siginfo logic to http.c, showing how many connections to that endpoint are
open.
2020-09-24 23:29:50 +02:00
Elliot Glaysher
bf2aa9d2e6 king: remove dead code in noun conversion. 2020-09-23 11:27:53 -04:00
Joe Bryan
592b61fa86 vere: use cue/test handles for repeated packet parsing 2020-09-22 11:55:57 -07:00
Joe Bryan
7493f98480 ur: adds missing serial.h include 2020-09-22 11:42:28 -07:00
Fang
d6c14eea35
term: don't print styles in non-interactive mode 2020-09-19 00:41:06 +02:00
Paul Driver
cd7c303908 vere: accept embedded nulls in leer-jet (to-wain:format)
Prior to this commit, there was a jet mismatch in to-wain (formerly
called lore, and still jetted under that name). 0 bytes in the middle of
a cord caused the jet to crash, whereas the hoon simply treated them as
the end of cord and truncated the output. The history of this behavior
is fraught with controversy. This commit rectifies the current mess with
the following rationale: Null bytes are valid ASCII/UTF-8, and \n\n in
the input will cause null list items in the output, so nulls are (for
the purposes of to-wain) allowed in cords. Trailing nulls cannot be
represented because of the nature of atoms, but that is outside the
scope of to-wain's concern. Therefore to-wain should simply measure the
cord and split on newlines, and do nothing fancy at all with nulls.

The old jet is left wired up under %lore, and should be removed when
support for the old, unupgraded zuse is no longer necessary. A new jet
with matching null handling has been wired up under the name %leer.
2020-09-18 15:37:35 -07:00
Joe Bryan
be1cfc16c4 Merge branch 'master' into release/next-vere
* master: (187 commits)
  glob: update to 0v3.u1ets.ipgbo.eo23m.md70h.djpj0
  chat: fixes
  glob: update to 0v6.cvqlg.l55tn.kk8qp.lv4q3.f06lj
  groups: restore previous virtualiser
  chat: fixes new scroll implementation behavior
  soto: address #3484 review
  soto: call resetControllers on mount
  leap: ensure selected is always an array
  glob: update to 0v4.kdc52.27is2.c7mnh.7vsrb.ij4jo
  chat: hotfix new message indicator
  leap: safety check state.selected
  glob: update to 0v6.vnpkl.sq452.quabg.73g7k.dhi55
  chat: show pending messages again
  statusBar: prepend sig to ship settings button
  links: pipe remoteContentPolicy to pending comments
  interface: always show home button
  publish: mobile scrolling fix
  publish: scroll markdown editor correctly
  chat: prevent message rerender
  interface: embeds on by default
  ...
2020-09-18 14:21:32 -07:00
Paul Driver
0917a89d1e vere: fix typo in secp reco jet
ecdsa-raw-recover had an erroneous jet. This commit fixes the critical
error so that the jet returns the right result according to the secp
secp256k1 spec, although it still does not match the hoon. The hoon is
subtly wrong, and will be addressed in a future commit.
2020-09-18 14:01:25 -07:00
Joe Bryan
d2047862d8 u3: updates u3s_cue_xeno() to return error, not bail on oversized atoms 2020-09-18 12:25:47 -07:00
Joe Bryan
00df76c214 u3: factors atoms/backrefs back into u3s_cue_xeno() 2020-09-18 12:24:34 -07:00
Joe Bryan
c3a854363e u3: renames u3s_cue_sill* to u3s_cue_xeno* 2020-09-18 12:04:04 -07:00
Joe Bryan
5f8dcecbe3 u3: removes u3s_cue_xeno() 2020-09-18 12:02:38 -07:00
Joe Bryan
77754c974c u3: removes unused atom measurement function in urth.c 2020-09-18 11:35:36 -07:00
Joe Bryan
e4e8c4e9e8 vere: use u3s_cue_sill() for ivory pill 2020-09-18 11:24:20 -07:00
Joe Bryan
830df0d86e vere: use u3s_cue_sill for ipc $plea's 2020-09-18 11:24:02 -07:00
Joe Bryan
a79a0e9437 serf: use u3s_cue_sill() for ipc $writ's 2020-09-18 11:23:12 -07:00
Joe Bryan
fe01695594 u3: use u3s_cue_sill_with() in u3u_uncram() 2020-09-18 11:22:36 -07:00
Joe Bryan
bf117f63a8 u3: adds u3s_cue_fill and handle-based api 2020-09-17 22:45:53 -07:00
Joe Bryan
55c4fa2079 u3: factors atoms/backrefs out of u3s_cue_xeno 2020-09-17 22:45:53 -07:00
Joe Bryan
81e38c7b72 u3: refactors u3s_cue_bytes() to use road-stack api 2020-09-17 22:45:53 -07:00
Joe Bryan
6ef6acbddc ur: removes unused variables in tests 2020-09-17 22:45:53 -07:00