Commit Graph

15881 Commits

Author SHA1 Message Date
Will Hanlen
f57d41b987
Allow multiple declarations on in de-xml:html
XML files can have only one <?xml ... ?> declaration, however they may have more than one <?xml-... ... ?> tag.

Commonly, there will be an <?xml-stylesheet ... ?> tag on RSS feeds.

This commit allows for that.
2023-11-03 15:07:28 -05:00
Matthew LeVan
1402c81ff4 Merge branch 'develop' into msl/ames-jim-persistent-caching 2023-10-30 14:06:43 +00:00
Pyry Kovanen
333d55184d
Merge pull request #6824 from urbit/tinnus/fix-vats-bad-desk
vats: handle insane desk names
2023-10-25 18:50:15 +03:00
Pyry Kovanen
0ef117e498
Merge pull request #6833 from urbit/ea/peg-validate-args
hoon: peg crash if b is 0
2023-10-25 18:48:25 +03:00
yosoyubik
b802dce0fb ping: add %stop %task to turn %off %ping app 2023-10-25 09:12:23 +02:00
pkova
1b0e47a6a3 ames: do not ignore our peer-state 2023-10-24 23:24:43 +03:00
pkova
617896d00a ames: siglus cache the cues in state migration from 17 to 18 2023-10-24 17:38:49 +03:00
yosoyubik
bc4edb3054 ames: wip %stun task for handling STUN responses 2023-10-23 12:28:35 +02:00
pkova
840f7e673f dbug: fix git goof 2023-10-21 19:37:51 +03:00
pkova
887915d99d ames: use actual types in +on-memo:peer-core 2023-10-21 19:13:20 +03:00
pkova
f4a0c1d1f6 lull, ames: do not store jammed messages in unsent-messages 2023-10-21 19:08:43 +03:00
Pyry Kovanen
00a7ed05db
Merge pull request #6834 from urbit/develop
Merge develop into next/kelvin/411
2023-10-21 18:08:25 +03:00
Pyry Kovanen
8cd94d282f
Merge branch 'develop' into msl/ames-jim-persistent-caching 2023-10-21 18:05:41 +03:00
Edward Amsden
3e7b487a93 hoon: peg crash if b is 0 2023-10-20 21:55:42 -05:00
yosoyubik
dafa77b1b7 Merge branch 'next/kelvin/411' into ted/ping 2023-10-20 09:18:06 +02:00
yosoyubik
080c5a65df Merge branch 'develop' into ted/ping 2023-10-20 09:17:22 +02:00
Liam Fitzgerald
6887c0e5b2 Merge remote-tracking branch 'origin/next/kelvin/411' into lf/back-to-school-arc 2023-10-18 14:16:32 +01:00
Liam Fitzgerald
cd46d8ae7e ames: change encrypted fine to use siv 2023-10-17 16:17:15 +01:00
Liam Fitzgerald
fd0e0f4d37 gall: tests, fix key handling 2023-10-17 13:10:04 +01:00
pkova
49be10babd ames: make giving %nail look better 2023-10-16 14:23:03 +03:00
pkova
c5a14ef1c4 lull, ames: add %nail gift to send lanes to unix 2023-10-13 14:08:35 +03:00
Pyry Kovanen
679cd0b3e8
Merge pull request #6827 from urbit/develop
Merge develop to next/kelvin/411
2023-10-12 15:58:13 +03:00
Pyry Kovanen
29e5c6785b zuse: fix +de:base64:mimes:html 2023-10-11 22:24:10 +03:00
Pyry Kovanen
c804cc6d7d
Merge pull request #6825 from urbit/pkova/versioned-egg
lull: add egg-any tagged union for gall scry
2023-10-10 19:19:54 +03:00
pkova
743c8e2c8a lull: add egg-any tagged union for gall scry 2023-10-10 17:51:42 +03:00
Pyry Kovanen
bacf6226da
Merge pull request #6823 from urbit/pkova/stateless-dead-flow
ames: stateless dead flow consolidation
2023-10-10 15:28:39 +03:00
Tinnus Napbus
b7edc006be vats: handle insane desk names 2023-10-10 13:12:40 +13:00
Pyry Kovanen
f5567f1fdf
Merge branch 'develop' into mf/gall-backups 2023-10-09 17:01:34 +03:00
pkova
130866c1e8 lull, gall: move $egg from gall to lull 2023-10-09 17:00:30 +03:00
Pyry Kovanen
1946ee146c
Merge pull request #6816 from urbit/m/heavier-channel-creation
eyre: less permissive channel creation
2023-10-09 16:10:25 +03:00
Pyry Kovanen
77d6d166fc
Merge pull request #6814 from urbit/m/eyre-intentional-login
eyre: prevent login redirect loops
2023-10-09 16:03:20 +03:00
Pyry Kovanen
03e522ac3c
Merge pull request #6821 from urbit/yu/color-flow-debug
dbug: add color for closing/corked flows
2023-10-09 15:59:51 +03:00
pkova
8ad47b62eb ames: stateless dead flow consolidation 2023-10-09 15:24:50 +03:00
yosoyubik
bdc4cb118d dbug: add color for closing/corked flows
...lightyellow for closing and lightred for corked
2023-10-09 08:47:37 +02:00
Pyry Kovanen
e09788f2b3
Merge branch 'next/kelvin/411' into next/hoon/138 2023-10-06 21:16:38 +03:00
Joe Bryan
f2495aafdc
Revert "hoon: add pin and awl arms to test and trim subaxes" 2023-10-06 12:31:22 -04:00
Joe Bryan
cddc013ae0 hoon: redefine +shas to match urcrypt jet 2023-10-05 18:37:34 -04:00
Joe Bryan
b3389ef779 hoon: remove ^~ from +bool, misses jet on initial compilation 2023-10-04 22:15:26 -04:00
Joe Bryan
09716dbd18 ames: replace +rut:by (removed) with +urn:by 2023-10-04 22:15:06 -04:00
Joe Bryan
8b1e66c6a1 Merge branch 'next/kelvin/411' into next/hoon/138 2023-10-04 21:58:48 -04:00
fang
14266c8d46
eyre: GETting non-existent channels 404s
Contrary to the argument made by 4affae8, this is the _actually correct_
behavior. Not creating server-side resources in response to GETs
respects the expected method semantics, and more importantly, serving a
404 is an important signal for clients trying to connect to a channel
they were using previously. Without that, they have no way of telling
whether, when reconnecting, if their channel was reaped in the mean time
or not.

The "empty PUT" affordance provided by 34148f9 makes requiring a PUT
request for channel creation more reasonable.

We leave the general refactoring done by #6789 in place, but do
emphasize the reasoning given here with a few additional comments.
2023-10-04 22:42:50 +02:00
Pyry Kovanen
b977864bec eyre: allow header-list to contain multiple cookies 2023-10-03 19:17:20 +03:00
fang
fec9950d21
eyre: prevent login redirect loops
Instead of auto-redirecting the login page if we're already logged in,
we simply present it as normal. If we're logged in as the local
identity, we present just a "continue" button in place of the +code
input field. If we're authenticated through eauth, or as a guest, we
present a smaller "proceed as" link underneath the login form.

This way, when apps redirect to the login page because the visitor isn't
_sufficiently_ authenticated, eyre doesn't just throw them right back
into the app with still insufficient creds.
2023-10-03 17:25:46 +02:00
Pyry Kovanen
6b97c2e8da clay: return all takos in /cs/bloc scry 2023-10-03 16:55:00 +03:00
Pyry Kovanen
a960e85d92 runtime-version: parse current version properly 2023-10-03 16:54:19 +03:00
pkova
60cc1c815c base: check for team:title in all places 2023-10-03 16:51:14 +03:00
yosoyubik
5e48ff75de gall: add %15 state migration 2023-10-03 09:40:45 +02:00
pkova
2232a7ca3f clay: iterate over all aeons in +read-at-tako 2023-10-02 17:15:55 +03:00
Pyry Kovanen
4dae191124
ames: fix merge mishap in previous commit 2023-10-02 16:21:15 +03:00
Pyry Kovanen
e4ff8f15c8
Merge branch 'master' into 412k 2023-10-02 15:50:50 +03:00
yosoyubik
c5abe6bd31 Merge branch 'develop' into yu/fix-ames-gall-desync 2023-10-02 12:33:20 +02:00
tinnus-napbus
387a780ca9
Merge branch 'next/kelvin/411' into desk-publisher-switcher 2023-09-30 13:13:47 +13:00
Tinnus Napbus
21fe99ac47 kiln: tweak jump mark structures 2023-09-30 13:09:19 +13:00
Joe Bryan
c3b41ebdf0
Merge pull request #6751 from urbit/jb/cnts-gol
hoon: fix gol type enforcement for trivial %cnts
2023-09-29 12:02:21 -04:00
Joe Bryan
9a774af4fd
Merge pull request #5884 from urbit/m/wuthax
hoon: make ?# wuthax work correctly
2023-09-29 11:49:12 -04:00
Liam Fitzgerald
6c90331fc7 tests: update for less slog noise 2023-09-29 16:27:07 +01:00
Liam Fitzgerald
7e38f9db0a Merge remote-tracking branch 'origin/i/6504/fix-aqua' into lf/back-to-school-arc 2023-09-29 16:26:32 +01:00
Pyry Kovanen
46d7089e41
Merge pull request #6809 from urbit/pkova/runtime-version-fix
runtime-version: parse current version properly
2023-09-29 18:22:26 +03:00
Joe Bryan
36430464fd Merge branch 'develop' into next/kelvin/411 2023-09-29 11:05:36 -04:00
Pyry Kovanen
53a7854a95
Merge pull request #6807 from urbit/pkova/reachable-takos
clay: iterate over all aeons in +read-at-tako
2023-09-29 17:10:56 +03:00
Pyry Kovanen
fb3579c3a9
runtime-version: parse current version properly 2023-09-29 16:00:03 +03:00
Pyry Kovanen
55787fed62
clay: return all takos in /cs/bloc scry 2023-09-28 19:22:53 +03:00
Liam Fitzgerald
f0711aaaa9 arvo: make tests compile 2023-09-27 15:34:05 +01:00
pkova
042340e8e4 clay: iterate over all aeons in +read-at-tako 2023-09-26 21:02:41 +03:00
Liam Fitzgerald
792d42d9cc pill: update solid 2023-09-26 14:19:07 +01:00
Liam Fitzgerald
23e09ed5a0 ames: add foreign fine key state & add pending chums to $alien-agenda 2023-09-26 13:04:34 +01:00
Liam Fitzgerald
f382624c35 ames: make encrypted scry namespace properly recursive 2023-09-26 11:42:05 +01:00
Liam Fitzgerald
ab3a4b05f8 Merge remote-tracking branch 'origin/jb/chum' into lf/back-to-school-arc 2023-09-26 10:10:31 +01:00
Liam Fitzgerald
9a3daeb646 ames, gall: strip sigpams, re-enable key checking 2023-09-26 09:50:53 +01:00
Joe Bryan
949ac9d006 chum: refactors, corrects interface for blocking 2023-09-25 18:31:27 -04:00
Liam Fitzgerald
754215f9ae ames, gall: encrypted remote scry works end to end 2023-09-25 18:39:39 +01:00
Joe Bryan
6baed5cfcb chum: initial (two-party encrypted remote scry) 2023-09-22 14:19:15 -04:00
Liam Fitzgerald
39105cfeed ames: make key acquisition asynchronous 2023-09-21 16:24:23 +01:00
Pyry Kovanen
5fe2d6ea98 eyre: allow header-list to contain multiple cookies 2023-09-21 14:00:53 +03:00
Pyry Kovanen
6b94db25be
Revert "Revert "kiln: OTA merge approval (UIP 114)"" 2023-09-21 13:55:55 +03:00
Pyry Kovanen
bca8e46895
Revert "kiln: OTA merge approval (UIP 114)" 2023-09-21 13:39:23 +03:00
Liam Fitzgerald
13964e27e9 ames: add encrypted remote scry support 2023-09-20 16:30:28 +01:00
Pyry Kovanen
e0afd123c7
Merge branch 'next/kelvin/411' into tinnus/kiln-ota-approval 2023-09-20 14:29:36 +03:00
Liam Fitzgerald
3e0e45e775 ames: add symmetric keychain functionality 2023-09-19 17:48:15 +01:00
Pyry Kovanen
fbab1a2e82 eyre: revert strange typo in previous commit 2023-09-19 19:45:23 +03:00
Pyry Kovanen
417906051d eyre: add missing wire to rof calls in http-scry codepath 2023-09-19 19:45:23 +03:00
lukechampine
5ff263e78d eyre: add HTTP scrying 2023-09-19 19:45:23 +03:00
Pyry Kovanen
37db4ab4a8
Merge pull request #6797 from urbit/develop
Merge develop into next/kelvin/411
2023-09-19 19:45:02 +03:00
fang
34148f9f44 eyre: allow PUTting empty channel-request list
Previously, we would reject this with a 400 error. Considering the
request body is expected to contain "array of requests" and that arrays
may be empty, we really should not be rejecting the requests.

Prior to 156ca21472, sending the empty array would have been convenient
for channel creation. Empty arrays getting rejected forced clients to
inject a faux poke (commonly hi-ing oneself). With that recent change,
the most common case for wanting to PUT the empty list of requests is
largely obsolete, but one can still imagine it being useful for clients
that want to keep their channel alive without necessarily being
connected to it. This also implements sloppier clients from running into
400 responses when they submit an empty "command queue" for whatever.

Regardless, there seems to be no clear reason why the empty request list
_shouldn't_ be accepted and processed as normal.

We add a small test to ensure eyre accepts this.
2023-09-19 19:12:25 +03:00
fang
4affae8181 eyre: GETting non-existent channels creates them
Previously, a channel could only be created by sending a PUT request,
and a GET request to receive the channel's stream would only succeed
after channel creation had happened that way. This forces client
libraries, that generally have an explicit "set up" step before allowing
normal operation, to do strange things, like sending faux pokes
(commonly hi-ing oneself) before connecting to the channel's stream as
normal.

Here, we update the GET request handling for channels to allow requests
for non-existent channels. When this happens, the channel will be
created, and eyre tracks the request as normal.

We do some... gentle restructuring... of +on-get-request:by-channel to
let the new creation case share code with the "already exists" codepath.
In the process, we find that duct-to-key was never getting updated in
the case where we replace the original channel request/connection with
the new incoming one. We fix this, it's trivial. We also identify two
other areas with vaguely-incorrect behavior, but consider them less
important and out of scope.

We also add a test case for "create channel through GET".
2023-09-19 19:12:25 +03:00
Liam Fitzgerald
df68e62917 gall: wip coop 2023-09-19 15:09:54 +01:00
Pyry Kovanen
e355b5090e
Merge pull request #6783 from urbit/pkova/dear
lull, ames: add %dear task to receive lane from unix
2023-09-19 15:56:43 +03:00
Pyry Kovanen
c846dea16b
Merge pull request #6796 from urbit/develop
Merge develop into next/kelvin/411
2023-09-19 13:56:24 +03:00
fang
b427c9e800 eyre: serve 503 if bound agent is not running
Previously, for endpoints bound to agents, we would pass the request
onto the agent even if the agents wasn't currently running.

Here, we make eyre check to see if the agent is actually running, before
passing the request on. If the bound agent is not running, eyre serves a
503 synchronously instead.

This way, we avoid cluttering up the gall queue for the bound agent.
2023-09-18 15:52:28 +03:00
Liam Fitzgerald
12c9e64297 temp commit 2023-09-17 15:54:43 +01:00
Tinnus Napbus
e9a618e184 kiln: change jump-related @p printing to scow's 2023-09-16 02:53:41 +12:00
Tinnus Napbus
00bc412619 kiln: simplify ++frond call in %kiln-jump mark 2023-09-16 01:34:01 +12:00
Tinnus Napbus
b2a3350afd kiln: %jump-ask mark noun:grab structure mode 2023-09-16 01:31:17 +12:00
Tinnus Napbus
b59525a203 kiln: OTA merge control
- let users disable automatic OTA merging for a sync or globally
- a sync can be set to manual, automatic or global default
- unapproved non-auto updates must be approved by the user
2023-09-15 22:20:42 +12:00
pkova
58698a428c ames: cancel pump timers when toggling to dead flow consolidation 2023-09-14 22:48:58 +03:00
pkova
bf4d7c92e1 ames: make dead flow consolidation toggleable, default off 2023-09-14 18:35:26 +03:00
Liam Fitzgerald
58f2d427ce gall: security primitives for encrypted scry
This commit adds `%tend` `%germ` and `%snip` to the notes that gall can
pass. `%tend` is analogous to `%grow`, except with a security group defined
by .coop.

 ### The coop system
A `$coop` is a path, which defines a security context for the portion of
the namespace that it prefixes. Each `$coop` receives a symmetric key,
which is used to encrypt requests and responses for any key-value pair
belonging to a coop.

 ### Network overview
This design requires a single handshake over ames to inform clients what
key is to be used. However, this handshake can be made less frequent by
including all paths underneath the `%coop` in the response, such that if
the user is requesting sibling paths under the same `%coop`, only one
handshake is required.

 ### Naming
I am utterly detached to all new names introduced, just trying to get
something down

 ### API Design
The most contentious part of this proposal will likely be the split
between `%grow` and `%tend`. I assert (rather weakly mind you) that this
is more ergonomic for the end user, although there's a strong argument
to be made that `%grow` should just take a `(unit coop)`. If this were
the case, however, it would muddy the semantics. If the value is
encrypted, then the ship,desk,case will be in the coop, else it will be
specified in the path.  Worth noting that specifying the
`%coop` and the rest of the path seperately seems like it could be
unintuitive because the path that it will be bound to is actually
`(welp coop path)`

The lifecycles for coops seem straightforward, although worth revisiting
the invariants it maintains, and how it handles those invariants. A list of such:
- No nesting (obviously good)
- Crashing on binding publically into a private coop (crashing is bad,
do we want to deliver a notification? (See footnote 1))
- Crashing on binding into a coop that doesn't exist (same notes as above)

 ### Key generation
Current implementation is obviously stupid, how should i do it?

 ### Footnotes
 1. Why are the remote scry datastructures notes and not gifts? Forgive
 me being out of the loop, but we don't actually use the wire for
 anything anywhere, and remote scry is giving gift anyway.
 2. It's so good to be back
2023-09-14 04:53:11 +01:00
Pyry Kovanen
babfd75daf
roller-rpc: do not assert team:title for http-requests 2023-09-13 14:57:28 +03:00
midden-fabler
dabff19cd9 gall: add scry endpoint for backups 2023-09-06 17:34:34 -04:00
Pyry Kovanen
328e085e41
lick: initialize unix-duct before %born 2023-09-05 16:17:06 +03:00