Commit Graph

1302 Commits

Author SHA1 Message Date
fang
a37b728b86
Merge pull request #3565 from tylershuster/eyre-response-code
eyre: send 'no content' status with no content
2020-10-01 16:06:44 +02:00
Fang
0866d99c73
eyre: minimal CORS support
Adds a cors-registry to Eyre's state that tracks allowed and rejected
origins for the purposes of CORS request handling.

For preflight requests, generates a response in-line.
For simple requests, adds CORS headers onto whatever response is given.

See also:
https://groups.google.com/a/urbit.org/g/dev/c/bb82dwEJGzM/m/q2JjNSx5BwAJ
2020-09-30 15:54:15 +02:00
Elliot Glaysher
cea51ef16d
Merge pull request #3553 from pkova/eyre
eyre: remove superfluous connection-state check
2020-09-28 10:50:20 -04:00
Tyler Brown Cifu Shuster
9d1514385f Merge branch 'release/next-sys' of https://github.com/urbit/urbit into eyre-response-code 2020-09-27 21:28:04 -07:00
Tyler Brown Cifu Shuster
8a9534e0ac eyre: send 'no content' headers with no content 2020-09-24 21:07:07 -07:00
fang
c46061eda7
zuse: make octs value @ instead of @t
Because these things aren't always printable/valid @t.
2020-09-24 21:36:45 +02:00
pkova
5902ef9a53 eyre: remove superfluous connection-state check
This was originally introduced by me in #1814 to address #1811. Eyre was not
canceling heartbeat timers on all relevant events making it easy to end
up with an infinite behn loop. This check allowed ships that entered an infinite
loop to recover, as per my comment at
https://github.com/urbit/urbit/pull/1814#discussion_r333477482. Otherwise it's
not necessary.
2020-09-24 17:50:42 +03:00
Paul Driver
513c0e92d8 hoon: ensure lib/bip32 is working with new secp, remove old secp 2020-09-18 17:43:15 -07:00
Paul Driver
a675bf322a vere: wire up jets for new secp 2020-09-18 17:16:10 -07:00
Joe Bryan
30befdf4a9 arvo: updates +of-wain:format sample
and consistently uses $cord and $wain in of/to-wain
2020-09-18 16:15:13 -07:00
Paul Driver
2da36aa234 arvo: change sample type of ++to-wain:format to @t
@t further indicates to the caller (although loosely, because auras
are loosely enforced types) that the input should not contain embedded
NUL bytes, which are not valid @t.

Separately, a minor improvement has been made to the performance of
the raw hoon by pinning the gates used in the inner loop.
2020-09-18 16:15:12 -07:00
Paul Driver
3aaf82de5e arvo: accept embedded nulls in 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.

In addition, the hoon for to-wain was written in an inefficient style
that produced a lot of intermediate garbage atoms via rsh and cat. This
commit's implementation measures once and cuts once, so to speak, and so
avoids the intermediate garbage.  Quick benchmarks suggest it is about
20x faster than the old hoon, but still orders of magnitude slower than
the jetted code. to-wain is the workhorse for the txt mark, so we should
still prefer to have a jet.

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 16:15:10 -07:00
Paul Driver
44b7d5de6b zuse: make it clear where the secp jet should make explicit size checks
Well-behaved secp jets can now plausibly exit if they are given inputs
of the wrong size/range. Previously this was either not checked or the inputs
were silently truncated.
2020-09-18 15:59:00 -07:00
Paul Driver
9be3318ae9 zuse: add refactored secp core (unjetted)
The secp core had some flaws: in particular, the logic for signing/recovery
did not match libsecbp256k1 w.r.t. the enigmatic "recid" (v) value. The jet
hints were also subtly wrong, in that the curve parameters were in a sample
(not an arm) and thus not matched by the jet matching scheme. Consequently,
the jets would be used (but incorrect) for other curve parameters.

Tests were also added to exercise the recovery id cases thoroughly.
2020-09-18 14:47:22 -07:00
Ted Blackman
f2be97d315 ames: print failed scrys 2020-09-18 16:06:13 -04:00
Joe Bryan
74d5d5df24 hoon: refactors +stir types/comments for clarity 2020-09-11 12:48:19 -07:00
Joe Bryan
d89210cceb hoon: rewrites +stir using tail-recursion and +roll 2020-09-11 12:48:14 -07:00
Joe Bryan
31fe240632 arvo: adds |meld, triggering memory unification 2020-09-09 22:50:43 -07:00
Joe Bryan
7f0b500778 arvo: adds |trim, triggering memory reclamation 2020-09-09 22:49:37 -07:00
Fang
ef4b56f8c7
dill: send styled text to runtime as-is
Depending on the additions to term.c made in 467d8d239 allows dill to
forget about ansi escape codes, and pass styled text nouns straight on
to vere.

Also removes a bit of logic from drum, which assumed things about the
rendering of escape codes to adjust cursor positioning. Now it simply
states the semantic cursor position, letting the runtime deal with the
potential influence of styling.
2020-09-09 19:09:29 +02:00
Philip Monk
f9665c0cbd
Merge pull request #3378 from urbit/philip/base-hash
clay: expose mergebase as base-hash
2020-09-08 20:11:05 -07:00
matildepark
c45691d214
Merge pull request #3408 from urbit/lf/xml-ver
zuse: allow xml declaration in +de-xml:html
2020-09-05 16:17:31 -04:00
Philip Monk
c7480c9b07
clay: fix bug in %mate
If both sides changed a file in the same way, %mate used the version in
the mergebase, which is incorrect.  This changes it to use the version
in the destination desk.

An example of this issue:

    > +cat %/test/hoon
    /~zod/home/~2020.9.3..21.41.24..61ed/test/hoon
    first

    > |merge %scratch our %home
    >=
    merged with strategy %fine
    + /~zod/scratch/2/test/hoon

    > +cat /=scratch=/test
    /~zod/scratch/~2020.9.3..21.41.32..408c/test/hoon
    first

    > *%/test/hoon 'second'
    : /~zod/home/3/test/hoon

    > *%%%/scratch=/test/hoon 'second'
    : /~zod/scratch/3/test/hoon

    > |merge %scratch our %home
    >=
    %fine merge failed, trying %meet
    %meet merge failed, trying %mate
    merged with strategy %mate
    : /~zod/scratch/4/test/hoon

    > +cat /=scratch=/test
    /~zod/scratch/~2020.9.3..21.42.25..9e8b/test/hoon
    first
2020-09-03 14:34:30 -07:00
Liam Fitzgerald
5020223ff2 zuse: de-xml:html handles declarations as in spec 2020-09-01 02:15:19 +10:00
Liam Fitzgerald
b5f64715f4 zuse: allow xml declaration in +de-xml:html
Allows for parsing of an xml declaration. Throws it away, as the
datastructure doesn't have anywhere to put the result
2020-08-31 12:24:41 +10:00
Philip Monk
67c5caada8
clay: add safe merge options
As described in gen/hood/merge/help.txt
2020-08-28 16:36:00 -07:00
Fang
2385670631
Merge pull request #3387 from urbit/m/eyre-wack-gall
eyre: prevent %eyre-no-channel errors
2020-08-27 22:26:19 +02:00
Fang
b06f8a0f9e
eyre: send %leave on %fact/ack for deleted channel
Ordinarily, eyre cleans up the relevant gall subscriptions whenever a
channel disappears. In yet unresolved erroneous behavior though, it may
leave a gall subscription open, despite wiping the channel from state.

Attempting to pass the response onto the deleted channel anyway results
in an %eyre-no-channel error later in the event. The volume of these
errors can degrade the user experience, as per #3196.

To resolve the annoyance (but not the underlying issue) we detect the
"subscription has no channel" case, and issue a %leave. Doing so
requires additional information in the wire, so we add that in,
refactoring the relevant wire building along the way.

Note that due to the wire requirements, this cannot resolve existing
cases. For that, we depend on bc929ba6d.
2020-08-27 14:16:46 +02:00
Fang
bc929ba6db
gall: forget eyre subscriptions once
As part of the solution to #3196, we need to clean up any gall
subscriptions that eyre didn't properly clean up.

Since detecting that is hard, we opt to just wipe _all_ eyre-originating
subscriptions from gall. We inspect the duct, which isn't good, but it's
only just this once.
2020-08-27 13:23:36 +02:00
Philip Monk
769b43d73a
clay: add comments and cleanup +find-merge-points 2020-08-26 18:32:20 -07:00
Philip Monk
9cd826f8f9
clay: make +find-merge-points faster
The main thing here is that we aggressively check whether we're in
ancestry of another mergebase candidate.  This means we don't have to do
a 2nd pass to eliminate redundant candidates.
2020-08-25 22:54:48 -07:00
Philip Monk
4468d79509
clay: expose mergebase as base-hash
Change the definition of base-hash to be the mergebase of %home with the
OTA source.  This means it's the most recent successfully-applied
update, which is usually the most important information.

Add sour-hash, which is the hash of the most recently *downloaded*
update, regardless of whether it applied successfuly (ie the old
base-hash).

Add a summary of the various hashes at the top of gen/trouble.
2020-08-25 20:25:39 -07:00
Philip Monk
f606d2e3d6
clay: cleaner no-op detection
Only no-op if the incoming commit's parent is the old head of the desk.
Also move the printing near the end so we can know exactly if anything
changed.
2020-08-25 18:15:06 -07:00
Philip Monk
d5596eb1a3
clay: if commit would be a no-op, don't commit it
fixes #3317
2020-08-25 16:24:36 -07:00
Philip Monk
d4c7f99bd6
Merge pull request #3217 from cmarcelo/code-reset
jael, eyre: Add a way to reset the web login code
2020-08-25 15:26:01 -07:00
Caio Marcelo de Oliveira Filho
92cf9d7c33 Merge branch 'master' into code-reset 2020-08-17 14:55:07 -07:00
Fang
22c66f9ac4
Merge pull request #3304 from ohAitch/patch-3
Fix {a/$foo} in type printing to [a=%foo]
2020-08-13 10:44:36 +02:00
Anton Dyudin
06262cb701
Fix {a/$foo} in type printing to [a/%foo]
Per longtime deprecation of modeless mold syntax.
2020-08-12 12:25:46 -07:00
Fang
2e7ea5cdb3
hoon: add +lead and +late
For tacking some head or tail onto some noun, respectively.
2020-08-09 16:15:17 +02:00
Caio Marcelo de Oliveira Filho
72b164ade2 eyre: Make %code-changed handling less chatty 2020-07-31 13:01:19 -07:00
Caio Marcelo de Oliveira Filho
df868e2c4f jael, eyre: Add a way to reset the web login code
Jael now stores a `step` that is combined with the original salt to
produce a new code.  A `%step` card is used to increment that value,
and effectively resetting the keys.  Because the first `step` is zero,
the first code is the same as before.

Eyre was changed to be notified with `%code-changed` so it can forget
old cookies, sessions and discard all the existing channels.

A new generator was added |code, that does both querying and
resetting the code

    |code             :: shows current code, step and help
    |code %reset      :: changes the code

The old +code generator still works correctly.
2020-07-31 11:35:48 -07:00
Philip Monk
48745e945a
Merge branch 'philip/ames-lane' (#3186)
* origin/philip/ames-lane:
  ames: fix lane discovery during some lane changes

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-07-30 13:33:29 -07:00
Philip Monk
a289615f8d
Merge branch 'philip/clay' (#3188)
* philip/clay:
  clay: fix ph tests
  clay: remove debugging printfs
  clay: rewrite new protocol
  clay: refactor over-the-wire protocol

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-07-30 13:30:16 -07:00
Philip Monk
3d1b7f2b35
clay: fix ph tests 2020-07-28 21:44:45 -07:00
Philip Monk
e29b7ea70a
Merge pull request #3124 from lukechampine/wtts-axis
hoon: fix wtts axis for simple wings
2020-07-27 18:01:47 -07:00
Joe Bryan
e0c3ce08c8 Merge branch 'master' into na-release/next-vere
* master: (915 commits)
  vere: bumps urbit version to v0.10.8
  pill: updates all
  king: fix ames tests
  contact-store: restore /~/default contacts
  contact-hook: resubscribe on correct paths
  u3: note that u3a_rewrit* doesn't yet support south roads
  king: it was too clever of me to use stateTVar; compiler can't help
  king: fix comment about ames q behavior
  king: ames bounded q, now with logging and fifo
  serf: tweaks |pack and |mass printfs
  u3: moves u3a_compact to u3m_pack, refactors internals
  metadata: handle OTA correctly
  u3: refactors u3m_reclaim() into noun modules, works on any road
  release: urbit-os-v1.0.30
  group-store: remove scries from OTA logic
  release: urbit-os-v1.0.30
  MAINTAINERS: amend for post-fusion
  ames: add scry endpoint for forward lanes
  ames: improve scry interface
  chat, publish, contacts: fix OTA bugs
  ...
2020-07-27 11:58:53 -07:00
Philip Monk
495a6cf004
clay: remove debugging printfs 2020-07-24 22:05:49 -07:00
Philip Monk
1d0409c4c4
ames: fix lane discovery during some lane changes
We used to not accept new indirect lanes if we already have a direct
lane.  This means that if Bob, with a publicly-accessible lane, changes
lanes (eg by restarting the process and getting a new port or changing
ip addresses), tries to talk to Alice, who is behind a NAT, then Bob
will try directly but fail (because Alice is behind a NAT), so he will
route the message through her galaxy.  This is good -- the message gets
to Alice.  However, Alice had a direct route to Bob's old lane, so she
will try to ack on that lane, which fails.  She will not time out this
lane because she doesn't know that Bob isn't getting the acks (acks
don't have their own acks).

The solution is that if Alice receives an indirect lane for Bob when she
already has a direct lane, she shouldn't ignore it.  If the lane is the
same as what she has, she shouldn't change anything (in particular, she
shouldn't mark it as indirect).  But if it's a new lane, she should
discard her old direct lane and use the new indirect lane.
2020-07-24 20:41:48 -07:00
Philip Monk
51983e5480
clay: rewrite new protocol
Use an explicit state machine to carefully manage pending downloads.
2020-07-24 00:20:22 -07:00
Philip Monk
553a9db843
clay: refactor over-the-wire protocol
Don't send blobs initially; instead, wait for the recipient to ask for
any they need.  This should significantly reduce network and memory usage.
2020-07-23 00:12:33 -07:00
Matilde Park
0d68f3f901 Merge branch 'release/next-sys' 2020-07-22 14:31:17 -04:00
Fang
d6a39c1311
Merge pull request #3059 from urbit/jb/m/behn-scry
arvo: ames & behn scry interface updates
2020-07-22 19:55:16 +02:00
Fang
3955d1092b
ames: add scry endpoint for forward lanes
Finds the lane for that peer, or their galaxy. Intended for use in the
runtime, to enable stateless forwarding.
2020-07-22 16:33:34 +02:00
Fang
4ea98e569f
ames: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.
2020-07-22 16:30:47 +02:00
Philip Monk
452b668c5f
Merge pull request #2972 from urbit/la/ordered-map-subset
zuse: add subset arm to ordered-map
2020-07-21 18:09:22 -07:00
Philip Monk
753ccf1b7e
Merge remote-tracking branch 'origin/ted/fix-huck' into release/next-sys 2020-07-21 17:08:01 -07:00
Fang
3eab480de7
Merge branch 'release/next-sys' into jb/m/behn-scry 2020-07-22 02:02:05 +02:00
Philip Monk
1169d6b443
clay: ignore extraneous /sys/lyv results 2020-07-21 15:42:46 -07:00
Logan Allen
f76759b9e0 zuse: added docstring and warning 2020-07-21 14:39:42 -07:00
Philip Monk
f4c34c7598
release: urbit-os-v1.0.29 2020-07-21 12:59:12 -07:00
Fang
d65148ea37
zuse: parse rfc2396 unreserved chars correctly
RFC2396 defines[1] unreserved characters as alphanumerics and nine "mark"
characters. We were only parsing for four of those, leading to parsing failure
for valid URLs.

[1]: https://tools.ietf.org/html/rfc2396#appendix-A
2020-07-19 17:58:19 +02:00
lukechampine
8b5097eb0f hoon: fix wtts axis for simple wings 2020-07-14 12:34:47 -04:00
matildepark
2ea019850e
Merge pull request #3105 from urbit/mp/destub-ver
eyre: remove stubbed version text
2020-07-09 16:53:12 -04:00
Fang
76b3ce8ef1
Merge pull request #3063 from urbit/m/drop-pole
zuse: make +drop-pole produce a unit
2020-07-09 18:06:15 +02:00
Fang
fa32d711fa
eyre: remove channel.js
Userspace has, rightfully, taken over the task of serving a js client for
eyre's channel API.
2020-07-09 00:15:51 +02:00
Logan Allen
64a30fea62 ordered-map: got %zuse to compile and all tests to pass 2020-07-08 15:07:14 -04:00
Ted Blackman
11a8e911be zuse,behn,gall: fix %huck and |reset 2020-07-08 02:08:27 -04:00
Matilde Park
eef149d46d eyre: remove stubbed version text
In replicating a mockup, the residual 'version' for OS1 has overstayed
its welcome as a stub. This commit
removes it.
2020-07-07 23:41:37 -04:00
Logan Allen
cd5840770e zuse: ordered-map subset style fixes 2020-07-07 19:19:47 -04:00
Logan Allen
4168344c3b zuse: added mop, a mold builder for ordered-maps 2020-07-07 19:19:47 -04:00
Logan Allen
04232e0ebe zuse: add subset arm to ordered-map 2020-07-07 19:19:47 -04:00
Philip Monk
935ffaaf23
eyre: give scry function to generators
In Ford Fusion, Clay builds generators but Dojo and Eyre run them.  Dojo
is already virtualized with a scry function, so +mule is fine, but Eyre
is not, so Eyre needs to use +mock and explicitly supply the scry
function.  This does that.  Fortunately, the produced result is simple
and easily clammable.

Fixes #3089
2020-07-02 23:30:17 -07:00
Philip Monk
37b9f854fd
eyre: give all args to generators
fixes #3082
2020-07-02 14:42:26 -07:00
Philip Monk
f3dede23d1
Merge pull request #3076 from urbit/philip/clay-print
kiln: Small fixes
2020-06-30 18:08:01 -07:00
Philip Monk
f4f1d0ab4b
clay: print conflicts 2020-06-30 15:24:42 -07:00
Philip Monk
51c5a74360
Merge remote-tracking branch 'origin/philip/jael-breach-restart' into release/next-sys 2020-06-29 19:25:13 -07:00
Philip Monk
e7e2c07d6f
clay: remove scaffolding 2020-06-29 14:30:33 -07:00
Philip Monk
40db8ea580
kiln: make otas continue even if they failed to apply 2020-06-29 13:25:10 -07:00
Ted Blackman
ede7105820 clay: flop syntax error trace 2020-06-29 11:01:23 -04:00
Fang
0ecd108f98
zuse: make +drop-pole produce a unit
Both +drop-list and +drop-map produce units instead of crashing. This makes
+drop-pole match that behavior, producing a unit of the resulting tuple.
2020-06-28 21:33:17 +02:00
Ted Blackman
f6171042ae arvo: use date instead of kelvin 2020-06-28 01:13:42 -04:00
Ted Blackman
7266b3f5c3 hoon: re-fix +slab; /tests: fix clay tests 2020-06-28 00:59:02 -04:00
Philip Monk
42de999024
kiln: don't implicitly create syncs
Also silence some spurious errors.
2020-06-26 19:21:09 -07:00
Philip Monk
0301838f25
Merge remote-tracking branch 'origin/release/next-sys' into ford-fusion 2020-06-26 17:46:25 -07:00
Fang
523acf2eaf behn: optimize bounded timers scry 2020-06-26 15:17:20 -07:00
Fang
fe87d69ad1 behn: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.

Expose ducts only under a debug endpoint, nothing else should care about
being able to inspect them.

Add scry endpoints for the very next timer (if any), and all timers up
to and including a specified timestamp.
2020-06-26 15:17:12 -07:00
Fang
b824d5bd70 arvo: allow the empty desk (%$) in scries
+slaw fails to parse empty strings as %tas, so we special-case it here.
2020-06-26 15:17:03 -07:00
Philip Monk
77df80d603
gall: don't make large stack trace 2020-06-26 09:20:17 -07:00
Ted Blackman
ef138bb007 ames: use +cut in +encrypt 2020-06-25 22:54:37 -04:00
Ted Blackman
3daecd8c1b Merge remote-tracking branch 'origin/fix-slab' into ford-fusion 2020-06-25 21:58:21 -04:00
Philip Monk
51c6faaa31
ford,kiln: nicer errors 2020-06-24 21:24:58 -07:00
Philip Monk
3a662881be
clay: don't be evil 2020-06-24 21:24:27 -07:00
Philip Monk
fc42bf6039
clay: special-case +run-pact for %hoon 2020-06-24 20:26:04 -07:00
Ted Blackman
154f153801 gall: fix routes in +ap-yoke 2020-06-22 21:37:17 -04:00
Ted Blackman
652dc70304 clay,dojo: clean up stack traces 2020-06-20 03:46:22 -04:00
Philip Monk
6ff9f75bb7
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-19 14:52:18 -07:00
Ted Blackman
d1b4af89fe sys: s/mure/road 2020-06-19 00:44:17 -04:00
Philip Monk
7494bf57c6
clay: make reachable-takos linear instead of exponential
When merging, +reachable-takos is called roughly once per merge commit
in the ancestry of the new commit.  +reachable-takos was exponential in
the number of merge commits in the ancestry of the commit it's looking
at, due to mishandling of the accumulator.  This makes it linear.

Of course, linear x linear is still quadratic, which is not great.  I
doubt +reachable-takos can be made asymptotically better, but
+reduce-merge-points/+find-merge-points probably can.  50 merge commits
already gives about 14.000 iterations through the loop in
+reachable-takos.  Another option is to try to memoize this somehow, but
a simple ~+ is insufficient since `s` is usually different.

In local tests on macOS with a -L copy of ~wicdev-wisryt, this speeds up
OTAs significantly.  The majority of time was spent on this.
2020-06-18 18:56:31 -07:00
Fang
3ecb6f7154
Merge branch 'release/next-sys' into m/eyre-kill-channels 2020-06-18 22:34:22 +02:00
Fang
b2600f553c
Merge branch 'master' into m/eyre-kill-channels 2020-06-18 22:23:47 +02:00
Fang
8cb81370bb
Merge ford-fusion into m/eyre-scries 2020-06-18 20:23:06 +02:00
Ted Blackman
3914c0c0dd ota: works on my machine 2020-06-17 23:31:37 -04:00
Matilde Park
a65edb52cd Merge branch 'master' into feat/spa 2020-06-17 17:12:13 -04:00
Philip Monk
4e3aace970
Merge branch 'jb/aes-siv-fix' (#3013)
* origin/jb/aes-siv-fix:
  tests: updates aes-siv regression test comment
  pill: updates solid
  zuse: propagates fix to aes-128-siv and aes-192-siv as well
  Revert "test: disable aes-siv jets to demonstrate test failure"
  pill: updates solid
  zuse: fixes bug in aes-256-siv iv calculation (+s2vc:aes:crypto)
  test: disable aes-siv jets to demonstrate test failure
  test: add test case for aes-256-siv jet mismatch, observed in the wild

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-06-15 19:57:01 -07:00
Philip Monk
9410b4f66d
arvo: +mure is taken 2020-06-15 19:34:30 -07:00
Ted Blackman
1b1d7c9512 Merge remote-tracking branch 'origin/m/clay-fusion-markers' into ota-ford-fusion 2020-06-13 02:09:31 -04:00
Ted Blackman
879d846487 arvo: spam %vega on kernel reload 2020-06-13 01:50:12 -04:00
Joe Bryan
faa4956969 zuse: propagates fix to aes-128-siv and aes-192-siv as well 2020-06-12 22:21:19 -07:00
Philip Monk
90f3c7d2a1
clay: build reef to prime reef-cache on inital OTA 2020-06-12 21:40:32 -07:00
Philip Monk
0447ac1ee1
arvo: add dummy ford and fix whey scry 2020-06-12 21:40:13 -07:00
Philip Monk
21c0f77321
arvo: add +mure for compiling hoon/arvo
Also use +mure in clay for building cores
2020-06-12 21:38:50 -07:00
Joe Bryan
0ddeb6526b zuse: fixes bug in aes-256-siv iv calculation (+s2vc:aes:crypto) 2020-06-12 21:34:04 -07:00
Ted Blackman
8cf4e4bb38 gall: retry if agent fails first build 2020-06-13 00:16:09 -04:00
Philip Monk
4e466214e3
arvo: compile hoon/arvo in separate roads
Adds +mure to run a trap in a separate road.  This should eventually be
just a hint.

Vega was running inside a mule, but since +load was called within vega,
the new kernel was all run within the same mule, so it didn't actually
get to reclaim the space after hoon compiled.

We verified this with printfs in u3m_fall.  On the test ship (from
mainnet) which had 800MB used, vega was taking interior free space from
950MB to 450 over the course of compiling hoon, then each vane would go
from about 450 to 350 and then back to 450 once it finished (which
proves they were correctly isolated).  With this change, after hoon
compiles the free space goes back up to 950MB.  This gives us a lot more
space to compile OTAs.

We had to slightly refactor the logic for doubly-recompiling hoon, since
+mure as written produces a ?(!! _trap), and you can't find faces in the
result of the trap.  We could bake mure, but that's rather awkward.  I
wonder if there's a way to fix this as a wet gate.
2020-06-12 20:51:23 -07:00
Fang
ed09418f7f
Merge pull request #3000 from urbit/m/eyre-login-redirect
eyre: don't lose redirect upon failing login
2020-06-12 21:32:57 +02:00
Fang
dcbdf28cd1
Merge branch 'master' into m/eyre-scries 2020-06-12 15:29:10 +02:00
Philip Monk
05f0e47f68
ames: fix larval +load for fusion 2020-06-11 22:55:08 -07:00
Philip Monk
e34a1a2e61
arvo: filter old-arvo effects for %veer 2020-06-11 22:54:19 -07:00
Philip Monk
a3e15cd64c
clay: send notifications on vega 2020-06-11 19:41:22 -07:00
Fang
4ab55893bc
eyre: slightly better error pages 2020-06-12 02:13:13 +02:00
Fang
3c168eddb4
gall: do mark conversion in +ap-peek
Attempt to convert the scry result to the mark that was asked for,
failing the scry (with ~) if the conversion fails.

Eyre's scry logic, then, can pass the requested mark directly into gall.
2020-06-12 02:11:08 +02:00
Fang
b870466977
eyre: only allow authenticated GET scry requests
Lacking any other permissioning mechanism, we must simply reject
unauthenticated HTTP-scry requests for now.
2020-06-12 00:57:25 +02:00
Ted Blackman
8c6fd1406f gall: clean up state adapter using +any-agent 2020-06-11 18:21:52 -04:00
Philip Monk
895542b93e
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-11 13:14:59 -07:00
Ted Blackman
d87d246232 gall: +load runs, +molt still fails 2020-06-11 16:07:54 -04:00
Fang
d20877e414
eyre: support %gx scries
Exposes a scry endpoint. Any requests made to the /app/scry.mark url
under the endpoint will scry into %app using a %gx scry, at the
/scry/noun path, and attempt to convert the scry result into the %mark,
before converting that into the %mime mark, and sending that as an http
response.
2020-06-11 01:45:05 +02:00
Fang
f1fab71d59
eyre: find sub-path for binding
In addition to producing the action bound for a given request, now also
produces the subset of the request url that comes _after_ the path at
which the binding has been established.

Will allow some bindings to more easily dispatch off the relevant part
of the url.
2020-06-11 01:42:21 +02:00
Fang
a4785458d1
eyre: don't lose redirect upon failing login
If we failed the password check, the login page served to us would never
include any redirect details, even if they were there in the original request.

Now we simply (attempt to) parse out the redirect field a little earlier.
2020-06-10 20:37:12 +02:00
Ted Blackman
db21fad4dd gall: WIP load-lost 2020-06-10 04:16:25 -04:00
Ted Blackman
a2b1b16f60 Merge branch 'ford-fusion' into ota-ford-fusion 2020-06-09 21:34:16 -04:00
Fang
0a32bcda35
Merge branch 'release/next-sys' into ford-fusion 2020-06-09 20:10:28 +02:00
Fang
6e8822ffb5
clay: resurrect ':' for file-change notifications
Instead of printing '+' for both additions and modifications.
2020-06-08 23:24:23 +02:00
Philip Monk
6344a8441d
jael: always restart subscription to breached ship 2020-06-05 17:59:31 -07:00
Philip Monk
c68b0e817a
gall: properly handle empty outstanding ack queue
Fixes #2977
2020-06-05 17:05:22 -07:00
Fang
90ef268a32
Merge branch 'release/next-sys' into m/eyre-kill-channels 2020-06-05 22:25:18 +02:00
Liam Fitzgerald
976da56ced Merge branch 'origin/lf/get-eyre-redirect' into feat/spa 2020-06-05 11:11:37 +10:00
Philip Monk
80ead610ea
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-04 17:52:42 -07:00
Liam Fitzgerald
3ff99b0d7f Merge branch 'origin/lf/get-eyre-redirect' into release/next-sys 2020-06-05 10:41:15 +10:00
Fang
b54dc7cd34
eyre, zuse: expire channels with their sessions
Associates channels with the authentication sessions that opened them,
and deletes the channel when its associated session expires.

Also updates the debug dashboard to display channel counts per session.
2020-06-05 00:22:39 +02:00
Fang
68491420d2
eyre: refactor %delete to reuse timeout logic
Turns +on-channel-timeout into +discard-channel, which cleans up the
entirety of the channel, based on its current state. This allows us to
simplify the %delete channel request into a simple function call.
2020-06-05 00:20:06 +02:00
Liam Fitzgerald
b553d57c29 eyre: 303 redirect on successful login
Changes the HTTP status code of the redirect that occurs upon a
successful login from 307 to 303. 307 preserves the method of the
original request, so the redirected request is a POST. With the new SPA,
this causes a 404 as app/file-server validates the method of the
request, something that did not happen in earlier versions of landscape.
303 instead changes the method to always produce a GET request.
2020-06-04 15:09:00 +10:00
Fang
a66cfc31da
eyre: fake duct for on-load logout binding
Empty duct is considered not good.
2020-06-03 14:29:13 +02:00
Fang
6e3284feac
eyre: use 303 to redirect to login post-logout
This ensures the client sends a GET request, which is more appropriate.
2020-06-03 14:28:30 +02:00
Ted Blackman
3834860410 clay: state adapter, still needs :goad 2020-06-03 03:00:45 -04:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Fang
4d93349402
eyre: provide logout endpoint
Set up, by default, on /~/logout.

Sending a POST request to this expires the current session and redirects
to the login page. If the "all" key is set in the request body, expires
all open sessions.
2020-06-03 01:40:32 +02:00
Philip Monk
818d2231f6
ames: remove jumbo packets 2020-06-02 14:13:28 -07:00
Philip Monk
84b8a67e47
clay: handle reefs for non-home desks
We build a reef for each desk but use the compiler from our kernel.  At
some point we should use the compiler from the desk, but then we need to
validate any results we get from it.
2020-06-01 20:52:20 -07:00
Fang
574b05a88a
Merge pull request #2959 from urbit/m/eyre-cookies
eyre: augmented cookie handling
2020-06-01 22:11:57 +02:00
Ted Blackman
b191636276 clay: WIP reef building 2020-06-01 12:56:21 -04:00
Fang
750ff6e5e1
eyre: respect "forwarded" header from localhost
For request transparency, HTTP proxies may set the Forwarded header to
specify who the original requester is.

For requests from localhost only, we make Eyre respect the Forwarded
header, and adjust the handled ip address accordingly.

Note that we do not support X-Forwarded or other non-standard variants.
The header remains in the request, so server applications can handle
them as desired.

Fixes #2723.
2020-05-31 17:45:22 +02:00
Fang
a87000149d
zuse: add parsers for http header field values
Multi-value format as used by some headers.

Also updates pill with recent zuse changes.
2020-05-31 17:45:20 +02:00
Fang
b1daaec7bf
zuse: add parsers for ip addresses
Parses into +address:eyre.
2020-05-31 17:45:18 +02:00
Fang
63c26151a3
eyre: extend session duration on-use
When sending a response to an authenticated request, update the session
to last for +session-timeout again, and send an updated cookie to match.

Assuming the user makes an actual HTTP request at least once a week,
this will make sure they don't get logged out automatically. Simply
keeping a channel open, unfortunately, doesn't count.
2020-05-30 02:29:20 +02:00
Fang
a51d93326a
eyre: clean up old +load code
Removes pre-breach state adapter logic and touches up code style.
2020-05-29 15:33:22 +02:00
Fang
00e3159287
eyre: clear expired sessions/cookies from state
Instead of setting a timer for every session, we set a single expiry
timer when the first session is created. On the subsequent wake event,
we clear all cookies that have expired at that time, then set a timer
for when the next session expires.

This approach gives us flexibility wrt sessions going forward, allowing
extending or early deleting of sessions without having to care about the
related timers.

Note that in +load, we clear all existing sessions. We would start the
expiry timer flow there, but can't. Forcing the user to login again
post-ota once isn't the end of the world.
2020-05-29 15:28:44 +02:00
Philip Monk
18e396cf53
release: urbit-os-v1.0.20
Previous urbit-os-v1.0.20 was not released
2020-05-28 18:43:20 -07:00
Philip Monk
d49e8adc08
Merge remote-tracking branch 'origin/philip/behn-fix' into release/hotfix
behn: fix +unset-timer
2020-05-28 18:37:39 -07:00
Philip Monk
3ab618e234
behn: fix +unset-timer
It was throwing away timers sometimes if you cancelled a timer at the
same date as other timers.
2020-05-28 17:09:25 -07:00
Philip Monk
0cfee46fa8
jael: send breach notifications in order
See #2952 for details
2020-05-28 15:24:19 -07:00
Philip Monk
1be5411c75
jael: don't notify breach on initial update to ship
See #2952 for details
2020-05-28 14:38:07 -07:00
Philip Monk
c20cd29932
jael: look for correct wire
We inspect the wire of our subscriber to see if we need to produce the
result as a %public-keys or a %boon.  This is bad -- we should proxy the
subscription to avoid this need, but this doesn't make that change yet.

%pubs is an old name that doesn't exist anymore (last existed around
September 2019).  The new version is /public-keys, but it's worked so
far because /public-keys has only one item in the path, so it missed the
conditional.  This commit makes the intent more clear.

The [%a @ @ *] could be just [%a @ *], but I leave it to reduce the
chance of breaking stuff.
2020-05-28 14:27:08 -07:00
Philip Monk
0642cc5861
ames: add |ames-wake
Somehow we ended up with flows which expected to awaken but did not wake
up.  This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.

This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.

I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
2020-05-28 10:28:31 -07:00
John Franklin
2bc6bdad8d hoon: lob/rob to kel/ker 2020-05-28 08:31:11 -05:00
John Franklin
9d8730a833 hoon: leb/reb to kel/ker 2020-05-28 07:20:04 -05:00
John Franklin
510fb6b394 hoon: bat/net to bas/fas 2020-05-28 06:58:18 -05:00
John Franklin
250f4e3130 hoon: lac/rac to sel/ser 2020-05-28 06:14:23 -05:00
John Franklin
413c5682b6 hoon: lit/rit to pal/par 2020-05-28 05:31:50 -05:00
John Franklin
fdb03c1f7d hoon: led/ban to gal/gar 2020-05-28 04:46:13 -05:00
John Franklin
a75cd8c85c hoon: yel to doq 2020-05-28 04:01:25 -05:00
John Franklin
b9027100af hoon: toc to doq 2020-05-28 03:38:08 -05:00
John Franklin
51bd4a95f8 hoon: say to soq 2020-05-28 03:17:41 -05:00
John Franklin
6c8e3b1c92 hoon: vat to pat 2020-05-28 02:45:04 -05:00
John Franklin
bc46e26a5d hoon: pad to pam 2020-05-28 02:06:00 -05:00
John Franklin
ba51e2391c hoon: tec to tic 2020-05-28 01:44:36 -05:00
John Franklin
1d8624cd74 hoon: bus to buc 2020-05-28 00:50:45 -05:00
John Franklin
4ce25c5d9f hoon: add doq, kel, ker, pal, pam, par, pat, sel, ser, soq, tic
update "XX deprecated" comments to match:
      https://urbit.org/docs/tutorials/hoon/hoon-syntax/#reading-hoon-aloud
      restore mnemonics
2020-05-27 22:26:59 -05:00
Philip Monk
472ad18c90
behn: already deleted, don't need to do it again 2020-05-27 18:47:50 -07:00
Philip Monk
86fb78d933
Merge remote-tracking branch 'origin/ted/behn-same-date' into release/hotfix 2020-05-27 18:36:10 -07:00
Philip Monk
ff01a1ea04
ames: don't set new timer if we woke up too early
Otherwise if we end up having multple outstanding timers, they never
coalesce to a single timer.
2020-05-27 17:38:18 -07:00
Ted Blackman
8ed07dfc7e behn: fix bug with timers at same date 2020-05-27 02:59:07 -04:00
Fang
36b7fc2e4f
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-26 20:36:27 +02:00
pkova
28cd252ce7 zuse: improve json to rn parsing
Allow the exponent token to be 'e' or 'E', allow the explicit sign of '+'.
Following the spec at https://json.org. Fixes #2935.
2020-05-26 19:29:24 +03:00
pilfer-pandex
78729f4f87 hoon: better comment for +slab 2020-05-25 22:42:49 -04:00
pilfer-pandex
831206d4fe hoon: comment and syn mod for +slab 2020-05-25 22:35:54 -04:00
Fang
58e85fa661
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-23 01:00:45 +02:00
Fang
52ef23ccca
eyre, zuse: add scry interfaces for eyre state
Scries for getting out open connections, cookie sessions, and existing
channels.

Moves the involved types from eyre into zuse.
2020-05-22 23:55:17 +02:00
Philip Monk
a4a44f1e21
kiln: cleanup 2020-05-22 14:32:32 -07:00
Philip Monk
096149713a
drum: relink to chat-cli
The subscription changes in drum broke existing subscriptions.  This
worked alright (though loud) for dojo, but it left chat-cli "frozen"
unless you manually unlinked/relinked.  This does that automatically.

It also includes a refactoring of +on-load in drum, to avoid vain
repetition.
2020-05-22 00:17:56 -07:00
Philip Monk
4aff4d74e2
kiln: get updates into %home, remove %base
We need to get updates directly into %home in case the marks depend on
changes to hoon.hoon.  %base has no reason to exist.

Our ota strategy is now to merge from parent/kids to home, then
parent/kids to kids.
2020-05-21 23:45:17 -07:00
Philip Monk
4fcd9f23c0
Merge branch 'release/behn-fast' (#2915)
* release/behn-fast:
  zuse: add +ordered-map
  behn: switch to ordered-map
  chat: virtualize message-to-json conversion
2020-05-21 22:43:53 -07:00
Philip Monk
0e7b07e061
Merge branch 'release/link-dojo' (#2867)
* origin/release/link-dojo:
  chat-cli: allow sending • character
  chat-cli: always talk to local ship only
  chat-cli: single-target sole effects as needed
  chat-cli: don't allow excessively small cli widths
  chat-cli: pull in sole-sur namespace where relevant
  chat-cli: remove unused entropy from state
  chat-cli: print newlines correctly
  chat-cli: support multiple sole connections
  chat-cli: don't crash on %bad-text
  dojo: rename remote access generators
  gall: fix handling of empty path list
  dojo: remove unused %json poke
  dojo: add remote access controls
  drum: switch to per-ship /sole/drum duct

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-05-21 22:42:18 -07:00
Philip Monk
274215ec6b
zuse: add +ordered-map
At some point this should be more properly styled similar to +by, +in,
and +to, but for now this reduces duplication and makes the ordered map
available to everyone.
2020-05-21 22:28:16 -07:00
pilfer-pandex
90e8c9a2b0 hoon: make +slab respect variance using given mode and return false 2020-05-21 19:38:10 -04:00
pilfer-pandex
7e4c0036f6 hoon: make +slab respect variance (%read) and return false 2020-05-21 19:37:20 -04:00
Fang
4c9d18e5c0
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-21 20:09:58 +02:00
Philip Monk
8c4c0f31fc
Merge pull request #2920 from urbit/ted/ames-mass-alien
ames: fix %alien |mass over-reporting
2020-05-21 01:40:30 -07:00
Philip Monk
a84b0db733
clay: fix clobbering changes if identical changes 2020-05-21 01:23:04 -07:00
Philip Monk
560e3375f5
clay: drip if foreign desk 2020-05-21 01:10:39 -07:00
Ted Blackman
a0eafa8aa3 zuse,ames: handle %trim task 2020-05-21 03:45:08 -04:00
Ted Blackman
0f7b213f38 ames: fix %alien |mass over-reporting 2020-05-21 03:19:20 -04:00
Joe Bryan
a7168478f3 gall: cleans up blocked-scry handling in %gall virtualization 2020-05-20 17:20:51 -07:00
Joe Bryan
6d3a5be259 Merge branch 'na-release/next-vere' into jt/minkleton
* na-release/next-vere: (1169 commits)
  jets: fix broken jets so ~marzod can boot.
  jets: hook up preexisting +repn jet.
  jets: add empty hashes
  jets: review comments
  Revert "Revert "u3: clear cached mugs on cell edit""
  jets: +welp and +zing
  jets: fix memory leak in +run:in
  jet: +find
  jets: +all:by and +any:by
  jets: +urn:by
  jet: +rep:by
  jet: +rep:in
  jets: +apt:in
  jets: +run:in
  jets: final cleanup
  jets: reenable +uni:by
  jets: jet +apt:by
  jets: +key:by and +wyt:by
  jets: +run:by
  jet: final cleanup
  ...
2020-05-20 14:05:17 -07:00
Joe Bryan
8f79e50640 hoon: clean up +mook comments 2020-05-20 12:07:48 -07:00
Ted Blackman
96264f7fa3 eyre: clarify common prints 2020-05-20 04:36:33 -04:00
Ted Blackman
1028e9fd7c hoon,kiln: clean up boot prints; new pill 2020-05-20 04:36:16 -04:00
Ted Blackman
5a1f227622 clay: remove beak from compiler path 2020-05-20 04:25:00 -04:00
Ted Blackman
917c55eaa3 gall: remove pupal queue, molt on any event 2020-05-20 03:30:29 -04:00
Ted Blackman
7e69e66280 ames/zuse: handle %trim event 2020-05-20 03:29:54 -04:00
Philip Monk
56c66be87a
behn: switch to ordered-map 2020-05-19 21:40:39 -07:00
Ted Blackman
044c22357d clay: virtualize +read-at-aeon:ze so failures don't kill event 2020-05-19 20:28:24 -04:00
Philip Monk
aaf7a45e25
arvo: properly print %warn 2020-05-17 02:01:17 -07:00
Philip Monk
161cc7aa15
clay: put ship/desk in compiler path 2020-05-17 01:59:10 -07:00
Philip Monk
2583da4d31
gall: subscribe to hoon/arvo/zuse as well 2020-05-17 00:22:51 -07:00
Philip Monk
b7beb6a697
clay: make covariant in type of +hoon 2020-05-16 05:22:39 -07:00
Joe Bryan
1c9e004fb4 hoon: switches +soft to use +mole 2020-05-14 19:12:12 -07:00
Joe Bryan
dae21cdbe7 hoon: modernizes virtualization style 2020-05-14 19:11:12 -07:00
Joe Bryan
7ad707edc5 hoon: adds +mole and +mure -- unitary virtualization 2020-05-14 18:45:33 -07:00
Joe Bryan
5141dc4de9 hoon: refactors +edit and +frag in +mink 2020-05-14 18:45:20 -07:00
Elliot Glaysher
12c556f0be Merge remote-tracking branch 'origin/release/next-vere' into eg/map-jets 2020-05-14 15:26:25 -07:00
Elliot Glaysher
19bb618d8c Merge remote-tracking branch 'origin/release/next-vere' into scot-jets 2020-05-14 14:42:53 -07:00
Joe Bryan
56418b7ad7 hoon: refactors nock %11 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
e7d8a64a21 hoon: refactors nock %6 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
953091a920 hoon: refactors stack-trace production in +mook 2020-05-14 13:24:38 -07:00
Joe Bryan
3fd545e40f hoon: switches %hunk to scry sample 2020-05-14 11:00:52 -07:00
Ted Blackman
88b834107c gall: pupal phase 2020-05-14 07:24:44 -04:00
Philip Monk
a874ab4355
zuse: remove +ford 2020-05-14 00:22:39 -07:00
Joe Bryan
27a47cc72f hoon: switches +mink %hunk from tank to (untyped) path
a %hunk is the error-stack frame for a failed ([~ ~]) scry.
this changes the frame type from tank to *, avoiding
coordination overhead between +mink and the interpreter.
2020-05-14 00:09:52 -07:00
Philip Monk
2c2e16df7a
language-server: convert to fusion 2020-05-13 23:30:52 -07:00
Philip Monk
fd26b2184e
kiln: convert to fusion 2020-05-13 20:13:53 -07:00
Philip Monk
af1a26aa5d
clay: abort mate on conflicts 2020-05-13 19:29:20 -07:00
Ted Blackman
2ce063f409 ford: delete, update /lib/pill 2020-05-13 21:10:35 -04:00
Ted Blackman
4dde2081f1 Merge branch 'ted/leap-arvo' into ford-fusion 2020-05-13 19:44:44 -04:00
Philip Monk
9b434af44e clay: only reload vanes that changed 2020-05-13 18:27:14 -04:00
Ted Blackman
778f6e9d05 /sys: make hoon optional in %lyra 2020-05-13 18:27:14 -04:00
Elliot Glaysher
34c1f416f4 jets: +welp and +zing 2020-05-13 11:18:37 -07:00
Philip Monk
6da1424f8a
clay: remove last turbo references 2020-05-12 23:36:55 -07:00
Philip Monk
be77fa39db
clay: convert foreign-update to fusion 2020-05-12 22:53:23 -07:00
Philip Monk
ee13aa73d4
clay: move foreign-request to fusion 2020-05-12 20:22:25 -07:00
Elliot Glaysher
3b645370e2 jets: +urn:by 2020-05-12 14:03:58 -07:00
Philip Monk
8536c6b1ca
clay: remove move of +util 2020-05-12 03:03:07 -07:00
Philip Monk
6e10a7439a
clay: remove fusion mount and queuing infrastructure 2020-05-12 02:09:41 -07:00
Philip Monk
4e1bac8946
clay: convert |mount to fusion 2020-05-12 01:27:19 -07:00
Philip Monk
5474b2fab6
clay: remove turbo merge 2020-05-12 00:43:45 -07:00
Philip Monk
aacd6f80d8
clay: move merge back into clay 2020-05-12 00:01:46 -07:00
Philip Monk
e75ab631a4
clay: remove turbo commit 2020-05-11 19:33:56 -07:00
Philip Monk
7d5e102dfe
clay: change %info to use ford fusion 2020-05-11 19:26:22 -07:00
Philip Monk
9a9d91214f
clay: port mate/meld to ford fusion 2020-05-11 18:23:44 -07:00
Elliot Glaysher
94c66ec433 jets: +apt:in 2020-05-11 16:31:46 -07:00
Fang
be087a8c92
Merge branch 'release/next-sys' of https://github.com/urbit/urbit into m/debug-dashboard 2020-05-11 20:39:00 +02:00
pkova
9d3c997ecf zuse: allow whitespace around = in attr:de-xml:html
Allow one or more whitespace characters before and/or after the equals sign in
name attribute pairs, such as `<hello a = "yo" />` or `<hello a=    "yo" />`.
Following the spec at https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Eq.
2020-05-11 21:09:23 +03:00
Fang
e33a8952c1
Merge pull request #2840 from urbit/m/gall-just-not-unique
gall: smaller %watch-not-unique print
2020-05-11 19:44:30 +02:00
Elliot Glaysher
8791af0333 jets: jet +apt:by
As a lark, I put in a debugging printf on this function. It spammed
the console. It's a highly recursive function so jet it.
2020-05-08 14:48:27 -07:00
Philip Monk
170f791d1d
Merge branch 'philip/ames-dedup' (#2852)
* origin/philip/ames-dedup:
  clay: don't send peers to message pump
  ames: only dedupe long messages
  ames: don't split messages until ready to send
  ames: dedup new messages and fragments
2020-05-08 13:40:09 -07:00
Elliot Glaysher
3f293cae47 jets: +key:by and +wyt:by 2020-05-08 13:03:25 -07:00
Elliot Glaysher
7149e591ef jets: +run:by 2020-05-08 13:03:20 -07:00
Ted Blackman
b6dcb65061 clay: rebuild desk on zuse change 2020-05-08 06:03:29 -04:00
Ted Blackman
717d6e1b70 arvo: unvirtualize vane installation 2020-05-08 06:02:54 -04:00
Ted Blackman
b32ca5d222 /sys: kernel upgrades seem to work 2020-05-08 02:18:24 -04:00
Ted Blackman
9588542ed4 eyre: fix tests 2020-05-08 01:29:25 -04:00
Philip Monk
54e550d229
gall: clear outstanding ack queue on-load
This will fix the issue described in #2867 for ducts that have already
triggered the bug.  This will also send spurious acks for any messages
that are outstanding at the time of the upgrade, but I don't believe
this will cause a serious problem.
2020-05-07 21:31:50 -07:00
Philip Monk
35ca2be344
gall: clear outstanding ack queue to breaching ships
fixes #2867
2020-05-07 21:17:42 -07:00
Ted Blackman
ea2386b36c clay: stop the %drip 2020-05-07 23:58:03 -04:00
lukechampine
8cbb8f142e gall: fix handling of empty path list 2020-05-07 22:46:51 -04:00
Fang
664275c9f1
eyre: expose bindings through scry
Allows you to scry out all bound endpoints at /=bindings=.

Moves an internal type into zuse for easier external use.
2020-05-08 01:39:56 +02:00
Fang
61a5e7a45e
behn: expose timers through scry
Instead of giving the tank of the timers, give the list of timers
itself.

Updates +timers to account for this.
2020-05-08 01:38:29 +02:00
Fang
14831f4864
ames: expose state through scries
Support /=peers= and /=peer=/~ship scries for getting at all peers and
a specific peer's connection state, respectively.

Moves some internal types into zuse for easier external use.
2020-05-08 01:37:07 +02:00
Ted Blackman
9dea282d5d arvo: minor cleanup 2020-05-07 05:10:43 -04:00
Ted Blackman
7493fd4fd9 arvo: handle %warn event 2020-05-07 05:00:11 -04:00
Ted Blackman
a064afbd89 /sys: |mass works again 2020-05-07 04:51:08 -04:00
Elliot Glaysher
a05360f97a jets: hook %ob, then %fein/%fynd 2020-05-06 15:13:59 -07:00
Ted Blackman
63b77c1b7f arvo: WIP trying to get |reset working 2020-05-06 13:11:51 -04:00
Ted Blackman
a3846d6e03 arvo: fix boot bugs 2020-05-06 12:33:42 -04:00
Ted Blackman
ea75255290 arvo: synchronous updates compile; untested 2020-05-06 09:02:11 -04:00
Ted Blackman
339e4e34ce clay: fix %mime->%html mark conversion 2020-05-06 01:09:35 -04:00
Philip Monk
4cc3fea534
clay: don't send peers to message pump 2020-05-05 16:39:50 -07:00
Ted Blackman
3ad411646b clay: fix %sole-effect->%json conversion 2020-05-05 18:24:16 -04:00
Ted Blackman
58d3820e41 clay: track /{mar,lib,sur} dependencies properly 2020-05-05 02:31:35 -04:00
Ted Blackman
8fc787b0ca eyre: use ford-fusion; compiles, untested 2020-05-05 01:28:37 -04:00
Philip Monk
490b615b6a
ames: only dedupe long messages 2020-05-04 21:39:59 -07:00
Elliot Glaysher
fa4dbfb9f6 jets: remove +ob and add hooks for +fein and +fynd
I'm not going to be able to debug the memory leaks in the +ob core
jets, so remove those new jets and hooks to +fein and +fynd so they
can be called from the @p parsing jets. This moves +fein adn +fynd
to the toplevel because there appear to be issues with hooks
referencing things that aren't in the directly jetted core.
2020-05-04 15:49:20 -07:00
Elliot Glaysher
bf1f08e698 jets: Rebuild pills, the enabled jets here now don't leak memory. 2020-05-04 12:59:41 -07:00
Fang
ab9ecdd7fe
gall: smaller %watch-not-unique print
Instead of printing all outgoing subscriptions for the app, only print the
subscription whose wire we're trying to re-use.
2020-05-03 23:21:30 +02:00
Philip Monk
081c8a864d
ames: don't split messages until ready to send
Trying to reduce the size of ames queues.  This deduplicates incoming
message-blobs by comparing with existing message-blobs in other queues.

It also stops splitting into fragments in +feed-packets.  Instead, it
splits into fragments at the last moment, in +encrypt.  This means we
don't have to store a large number of packets in our home road.
2020-05-02 03:35:44 -07:00
Philip Monk
c50c34d8be
ames: dedup new messages and fragments 2020-05-01 22:55:14 -07:00
Philip Monk
1d5dfe394f
gall: port mark operations to fusion
Gall no longer refers to Ford Turbo
2020-04-30 23:19:50 -07:00
Ted Blackman
c08161af7d gall: scry and warp to /nowhere 2020-04-30 04:15:28 -04:00
Ted Blackman
7645b32f72 Revert "gall: WIP use ford fusion for mark casting"
This reverts commit 22aa98e717.
2020-04-30 02:00:57 -04:00
Philip Monk
65766a73e2
clay: port -merge to fusion 2020-04-29 17:38:24 -07:00
Elliot Glaysher
b947b569bb jets: implement partial %da parser.
This parses dates of the form '~2020.4.29', but not ones with time.
This uses a hook to call back to +year, since jetting that would be
a bit much.
2020-04-29 17:18:27 -07:00
Ted Blackman
6120eeecc0 Merge remote-tracking branch 'origin/ford-fusion' into ford-fusion 2020-04-29 18:12:54 -04:00
Philip Monk
1ae66bd098
clay: clean up sanity checks 2020-04-29 14:50:30 -07:00
Ted Blackman
73352faa23 Merge remote-tracking branch 'origin/philip/ford-fusion' into ford-fusion 2020-04-29 17:46:33 -04:00
Philip Monk
06c0d55a1e
clay: working sanity checks for ankh 2020-04-28 22:34:48 -07:00
Philip Monk
c5d7473cf7
clay: recurse properly 2020-04-28 20:33:12 -07:00
Philip Monk
7133e50ef3
clay: make first commits use fusion 2020-04-28 18:14:18 -07:00
Ted Blackman
22aa98e717 gall: WIP use ford fusion for mark casting 2020-04-28 10:05:58 -04:00
Ted Blackman
87818b8795 clay: report cache sizes in |mass 2020-04-28 06:37:43 -04:00
Ted Blackman
004d0624da clay: remove stray print 2020-04-28 06:23:53 -04:00
Ted Blackman
0a906dc297 clay: use %mime cache on %into 2020-04-28 05:56:28 -04:00
Ted Blackman
3eac215a1c clay: fix %mime->%hoon bootstrapping 2020-04-28 00:52:07 -04:00
Ted Blackman
80541b39aa gall: live update agents 2020-04-27 23:03:17 -04:00
Ted Blackman
48caee7579 clay: fix +build-fit 2020-04-27 22:53:50 -04:00
Elliot Glaysher
716cd2013f jets: Start jetting +ob.
Since the most used parser in +slaw is the @p one, that's up next.
But first, we need to jet parts of +ob, which gets called through
+fed:ag.
2020-04-27 16:25:30 -07:00
Philip Monk
dca81a2ee2
clay: prepare for kernel updates 2020-04-24 17:44:29 -07:00
Philip Monk
d3b5fba864
clay: prepare for switching first commit to fusion
Can't be done right now because get-fit doesn't look at the incoming
changes.
2020-04-24 12:17:22 -07:00
Philip Monk
42bab4ecfb
clay: move -commit back into clay 2020-04-23 17:16:42 -07:00
Philip Monk
fa0e019ddf
clay: change %park interface to not take caches
Now a full commit is synchronous.  -commit will be assimilated back into
clay.
2020-04-23 13:54:57 -07:00
Ted Blackman
d7215321d3 gall: fix scry bug 2020-04-22 06:49:23 -04:00
Ted Blackman
627bb565c2 boots off gall using fusion to build apps; some app errors on boot, but usable 2020-04-22 05:27:36 -04:00
Ted Blackman
3beb6ee65b WIP gall: partial fusion conversion; compiles 2020-04-22 01:37:12 -04:00
Ted Blackman
9b0cb85a02 gall: clean up API, remove empty caches from state. 2020-04-21 18:50:47 -04:00
Ted Blackman
8b4ad9bfc9 :spider2 works with threads in subfolders 2020-04-21 00:22:54 -04:00
Ted Blackman
acaf5a12cf -test: all tests pass; fixed clay +get-fit 2020-04-20 02:41:20 -04:00
Ted Blackman
1f91676c97 ford-fusion: stateful %warp reads compile 2020-04-19 04:58:12 -04:00
Ted Blackman
0e4fb5a4f4 -test /sys/vane/{ames,clay} 2020-04-18 19:53:45 -04:00
Ted Blackman
8d3a497bb9 ford-fusion: add ~| with .changes and .deletes 2020-04-18 04:18:13 -04:00
Ted Blackman
7b19580503 fix +sloe for %hint'ed cores 2020-04-18 02:11:34 -04:00
Ted Blackman
2dd78760f3 fix +sloe for %hint'ed cores 2020-04-18 02:09:51 -04:00
Ted Blackman
8f60c0e036 ford-fusion: update ankh before mime conversion 2020-04-18 01:36:59 -04:00
Ted Blackman
f36dc49ede -build-file, -build-mark, -build-cast 2020-04-17 22:50:03 -04:00
Philip Monk
3d04695ca7
clay: use ford fusion for ankh and mime cache 2020-04-17 18:04:51 -07:00
Ted Blackman
1b27582e3a ford-fusion: minor cleanup to +get-value 2020-04-17 02:23:19 -04:00
Ted Blackman
fdcc80b1e2 ford-fusion: use .baked.nub; fixes /mar/hoon dep cycle 2020-04-17 02:14:41 -04:00
Philip Monk
92f8fad85d
clay: write checkout-ankh and checkout-mime 2020-04-16 20:18:02 -07:00
Philip Monk
a479618a23
clay: add +get-changes 2020-04-16 14:05:43 -07:00
Ted Blackman
af24318955 ford-fusion: check for cycles 2020-04-16 16:30:55 -04:00
Ted Blackman
3592b7e5bc ford-fusion: minor +promote-ford cleanup 2020-04-16 16:09:02 -04:00
Ted Blackman
46ee902eaa ford-fusion: hook up %cc scry to +get-cast 2020-04-16 15:00:03 -04:00
Ted Blackman
ea23be3973 ford-fusion: report syntax errors 2020-04-16 09:55:48 -04:00
Ted Blackman
95f27d4a7b ford-fusion: +run-pact compiles 2020-04-16 09:38:34 -04:00
Ted Blackman
6e12f71789 ford-fusion: +validate-path, +cast-path 2020-04-16 09:28:14 -04:00
Ted Blackman
5854162e74 ford-fusion: parse /? 2020-04-16 08:56:06 -04:00
Ted Blackman
35c39bf076 ford-fusion: +get-cast compiles, initial tests pass 2020-04-16 08:45:48 -04:00
Philip Monk
6441116e9f
clay: get-fit fix from ted 2020-04-15 19:55:41 -07:00
Philip Monk
311cf5329c
clay: integrate ford vase and mark without cache 2020-04-15 19:10:22 -07:00
Philip Monk
310f5d19ef
clay: add stubs for %a, %b, and %c cares 2020-04-15 17:47:45 -07:00
Philip Monk
d04191320a
clay: add +promote-ford 2020-04-15 16:24:48 -07:00
ixv
2c56937f0d
Merge pull request #2701 from lukechampine/syntax-error-src
ford: print source line on syntax error
2020-04-13 19:03:05 -07:00
Jared Tobin
cc16e905af
Merge branch 'yosoyubik/apt-dup' (#2417)
* yosoyubik/apt-dup:
  hoon: +apt:by check for duplicate keys
2020-04-13 17:43:41 +04:00
Jared Tobin
bf78e71479
Merge branch 'courajs/json-unit-tests' (#1769)
* courajs/json-unit-tests:
  Change at:dejs-soft:format to reject too-long json arrays
  Add unit tests for json de/serialization.
2020-04-13 16:38:42 +04:00
Philip Monk
17fa15336f
clay: fix %init for -merge 2020-04-10 20:42:56 -07:00
Isaac Visintainer
1fdf8a9789 Merge branch 'gall-hack-new-deal' 2020-04-09 15:39:49 -07:00
Logan Allen
a5d6403f39 gall: updated to soft properly 2020-04-09 14:53:12 -04:00
Logan Allen
7edc183ded gall: soft cast chat-action, and remove the chat-update hack 2020-04-09 02:09:51 -04:00
lukechampine
cb4cae01c8 ford: print source line on syntax error 2020-04-08 21:11:15 -04:00
Logan Allen
4d8e0cf26b gall: added hack to reduce processing time for chat messages by 30% 2020-04-06 22:58:06 -04:00
Aaron Sikes
eb0ce2daba Change at:dejs-soft:format to reject too-long json arrays
`at` is for when you expect an array of a certain exact structure. If it
has extra elements, that indicates you were mistaken about the strucutre,
so it should fail to match.
2020-04-06 14:05:35 -04:00
Michael Hartl
3e203634e3 Fix spelling of "existent" 2020-04-06 08:18:22 -07:00
Isaac Visintainer
2ad8264c52 Merge branch 'philip/gall-clear' 2020-04-02 15:32:43 -07:00