Commit Graph

12819 Commits

Author SHA1 Message Date
Jōshin
330c433f27
jets: remove sosi/sove testing flags
N.B. `tot` appears to not be used anywhere currently, so I removed it
from `sosi`.
2022-02-03 13:45:50 -06:00
Jōshin
4cef7dc38b
bounds-check against sk=1
+sign:schnorr crashes on `=(0 sk)`, so the bounds checking code is not
exercised for sk=0. It also crashes on `(gte sk n.domain.c)`, which is
redundant with the size check on sk, so we remove that.
2022-02-03 13:21:21 -06:00
Jōshin
f07f759253
zuse: style cleanup, use +rep/+end 2022-02-03 12:54:27 -06:00
Liam Fitzgerald
f3da5488ce Merge remote-tracking branch 'origin/next/groups' into lf/no-perms-rejoin 2022-02-03 11:12:43 -06:00
Jōshin
822eb6ea08
Merge branch 'next/arvo' into jo/secp-arvo 2022-02-02 20:34:11 -06:00
Jōshin
08ca0cf0c7
jets: mark schnorr jets non-perfect
also marks %sosi as non-total, since it conceivably could punt.
2022-02-02 20:32:46 -06:00
Jōshin
8d3f19aba9
Merge branch 'next/vere' into jo/secp-c3 2022-02-02 17:57:51 -06:00
Jōshin
74b71f35cc
Merge branch 'next/vere' into jo/unix-sane 2022-02-02 12:27:25 -06:00
fang
5588953d84
Merge branch 'next/vere' into m/--vere-args 2022-02-02 19:26:17 +01:00
Jōshin
bd67814a95
Merge branch 'next/vere' into jo/khan-c3 2022-02-02 12:24:55 -06:00
Jōshin
f34f6a91e9
conn: comment format 2022-02-02 12:24:36 -06:00
Jōshin
997544eb11
conn: describe +fyrd interface to %khan 2022-02-02 12:24:36 -06:00
Joe Bryan
1736bae519
Merge pull request #5572 from urbit/jb/dirty-loom
u3: fix snapshot corruption by preemptively dirtying the loom
2022-02-02 13:01:52 -05:00
Jōshin
7fcdf6ef54
noun: go ahead and enforce that invariant (#5579)
* noun: go ahead and enforce that invariant

* mingw: sysconf compat wrapper
2022-02-02 08:06:05 -06:00
Joe Bryan
60fc5c1389 u3: refines snapshot system docs 2022-02-01 20:11:40 -05:00
Jōshin
1183634501
unix: knot mapping that is not a valid @ta
'~.' was a pun with the @ta encoding, which could cause people to get
confused about how the mapping actually worked.

I had previusly wanted the escape sequence to be a valid @ta, since I
had wanted to check that path components were (sane %ta) prior to doing
$knot conversion. However @joemfb mentioned that it was desirable to
have it not be a valid @ta so that if someone messed up the encoding in
the future, the paths would be detectably wrong.

This necessitates calling _unix_knot_to_string on unsanitized input,
which means we can no longer assume that it won't contain non-(sane %ta)
characters, which means we can no longer assert that '\\' is not in the
string on Linux.

Also added a seemingly forgotten null byte to _unix_knot_to_string.
2022-02-01 12:56:50 -06:00
Jōshin
7b6e89fc15
unix: comment with suggestions for future 2022-01-31 23:07:13 -06:00
Jōshin
4a74b9b13f
unix: fix regression in _unix_scan_mount_point
We previously checked for '#' at strlen(out_u->d_name) - 1 here. So just
go ahead and do (sane %ta) on the whole out_u->d_name.
2022-01-31 20:52:42 -06:00
Jōshin
46a1139e70
main: repath cleanup 2022-01-31 17:26:07 -06:00
Jōshin
5591752f9c
main: support files in cwd 2022-01-31 17:02:18 -06:00
Jōshin
0375646a93
unix: cane before root removal 2022-01-31 16:34:09 -06:00
Liam Fitzgerald
b14dc76992 interface: refine joining error cases 2022-01-31 16:21:27 -06:00
Liam Fitzgerald
9540afecad group-view: fix errored rollback 2022-01-31 16:20:57 -06:00
Jōshin
6c5d7133f1
unix: fix compile warning 2022-01-31 14:25:22 -06:00
Jōshin
eaf47d95c5
unix: test cases 2022-01-31 14:23:39 -06:00
Jōshin
3f1c526d2e
main: repath scry path 2022-01-31 14:19:27 -06:00
Jōshin
8191955eff
unix: reorder checks 2022-01-31 14:18:22 -06:00
Jōshin
c83d9b9c1e
unix: hard-code %put base directory 2022-01-31 14:03:34 -06:00
Jōshin
2b05fa2ebe
unix: use $ for types 2022-01-31 13:53:22 -06:00
Jōshin
9172b3dfe8
unix: c3_ 2022-01-31 13:52:44 -06:00
Jōshin
6b5361d7df
unix: code review feedback 2022-01-31 13:49:51 -06:00
Jōshin
ca1ed3d7a1
vere: remove 'new' from header comments
'New' is relative; some of these subsystems were 'new' in 2015.
2022-01-31 13:21:50 -06:00
Jōshin
b8277be5b2
vere: remove walk, move save to unix 2022-01-31 13:19:32 -06:00
Jōshin
7fc9db8c9a
unix: reformat comments 2022-01-31 12:28:45 -06:00
Jōshin
443315f401
vere: rename u3_unix_{safe,cane} 2022-01-31 12:25:42 -06:00
Jōshin
60f1a44910
unix: remove extra layer of conditional 2022-01-31 11:14:54 -06:00
Jōshin
0d9264ea1c
unix: don't require that string is non-empty
Fixes an assert failure if you try to commit a file named `~.`.
2022-01-31 11:13:57 -06:00
Jōshin
2a5baa9e3f
main: simplify _main_repath 2022-01-31 10:59:23 -06:00
Jōshin
b5a49a159f
unix: use (sane %ta) out of arvo 2022-01-31 10:43:56 -06:00
Jōshin
19002c72dd
compat: mingw realpath 2022-01-31 10:24:11 -06:00
Jōshin
c041080729
unix: bugfixes
- Don't test for '\\' in u3_unix_safe. Doing otherwise was crashing vere
  when unmounting a mountpoint that had come to contain a file with '\\'
  in its path. This might mean you can do bad things on Windows if other
  checks fail.

- Ignore any files whose names do not pass `(sane %ta)` when scanning
  directories. (This reimplements `(sane %ta)` in C. Perhaps it should
  instead call `(sane %ta)`.)

- Use '~.' rather than '~' for the escape. We ignore files that end in
  '~', probably for vim backup-file reasons.

- Add a _unix_string_to_knot missed in the prior conversion.
2022-01-31 10:00:35 -06:00
Jōshin
00f7407a5e
unix: escape overloaded paths
unix cannot represent the file with empty name, and it has special
mappings for '.' and '..'. as these three are all valid arvo `+knot`s,
we need to escape them if we come across them.

the method we use to escape is: if we encounter any of those three
`+knot`s, or any `+knot` starting with '~', we prepend its filename with
a '~'. and when going from filename to `+knot`, we do the reverse; i.e.
we ignore a '~' if it is the first character of a filename.

the current implementation just crashes if it encounters a `+knot`
containing '/' or '\\', neither of which are valid under the current
implementation of `@ta` (which only accepts numbers, lowercase, '-',
'~', '.', and '_'.)

it also crashes if it encounters a file containing '\\'. something else
should happen here; most likely vere should just ignore the file.
2022-01-31 10:00:35 -06:00
Jōshin
d4b4504ae4
vere: move lockfile from unix to disk 2022-01-30 19:26:45 -06:00
Jōshin
a4b40d104c
noun: noop, C 'types' being what they are... 2022-01-30 13:09:20 -06:00
Jōshin
0248f57f0b
unix: comment format 2022-01-29 23:24:12 -06:00
Jōshin
3d36582fda
unix: whitespace cleanup 2022-01-29 23:24:12 -06:00
Jōshin
c8f8ced249
main: canonicalize paths from command line 2022-01-29 23:24:11 -06:00
Jōshin
a74d08f489
vere: extra fs calls 2022-01-29 23:24:11 -06:00
Jōshin
741e1d3e8b
vere: replace fs calls with asserting counterparts 2022-01-29 23:24:11 -06:00
Jōshin
d2fc42c3ea
unix: asserting wrappers around unix fs calls 2022-01-29 23:24:11 -06:00
Jōshin
2e53930d5a
Merge branch 'master' into next/vere 2022-01-28 21:23:00 -08:00
Hunter Miller
874d380ad5 groups: updating version 2022-01-28 20:30:13 -06:00
Hunter Miller
dc188d6059 groups: fixing bad glob 2022-01-28 20:29:34 -06:00
Hunter Miller
de747b343f join: don't show modal if no kind 2022-01-28 19:51:35 -06:00
Hunter Miller
509bd2b11a groups: updating glob 2022-01-28 19:39:48 -06:00
Hunter Miller
0d93cf9cff join: handling kind safer and join links more consistent 2022-01-28 19:33:42 -06:00
drbeefsupreme
f67962b803
helm: cleanup +poke-rekey to match #5522 2022-01-28 12:23:36 -05:00
Peter McEvoy
c1441e9cd0 u3: document page tracking subtleties when taking snapshot 2022-01-27 14:05:29 -08:00
Joe Bryan
4087699172 u3: fix snapshot corruption by preemptively dirtying the loom 2022-01-27 14:51:25 -05:00
Hunter Miller
c07bcd6e03 Merge branch 'next/groups' 2022-01-27 10:25:14 -06:00
Hunter Miller
88e956df01 Merge branch 'next/landscape' 2022-01-27 10:24:04 -06:00
fang
d7d15115ee
Merge branch 'next/webterm' 2022-01-27 00:30:17 +01:00
fang
192f2cd19d
webterm: v1.0.1 2022-01-27 00:29:24 +01:00
drbeefsupreme
b5f299c02d
helm: fix |rekey to work with multikey files 2022-01-26 16:29:14 -05:00
Philip Monk
34bcd2ffcd
Merge pull request #5495 from urbit/m/whos-who
helm: bind /who.json
2022-01-26 12:47:47 -07:00
Hunter Miller
79f0fd98dd chat-resource: fixing admin detection 2022-01-26 10:29:04 -06:00
fang
5928ca8747
vere: do not use mainnet-proxy for galaxy booting
Fallback to the default happens in dawn.c, which correctly points to
roller.urbit.org, an endpoint that matches its request/response logic.
Continuing to use an Ethereum endpoint instead of an L2 one will just result
in 400s, since they don't speak the same language.
2022-01-26 17:17:37 +01:00
Jōshin
507ab561aa
conn: don't send roc 2022-01-25 16:06:30 -08:00
Hunter Miller
5426f2aff8 Merge branch 'next/groups' into hm/fix-group-dm-initial-load 2022-01-25 11:23:30 -06:00
Jōshin
aebce8dbf5
Merge branch 'next/vere' into jo/khan-c3 2022-01-25 08:50:45 -08:00
Hunter Miller
86d9aba7fb garden,landscape: updating globs and versions 2022-01-24 16:14:26 -06:00
Liam Fitzgerald
14ca87c43c dm-hook: mutate screened before giving fact
Fixes an issue where the subscription update would contain stale data
2022-01-24 15:18:52 -06:00
fang
a51ac14833
webterm: improve readability of char under cursor
Make sure it's the opposite of the cursor color.
2022-01-24 14:33:25 +01:00
Jōshin
13bdfe26aa
build: arm64 architecture
This seems to be what nix settled on.

(As of now, I can build urbit on M1 Mac with stock nix. nix-build -A
urbit hangs for some reason, but nix-shell ./configure && make works.)
2022-01-23 21:22:13 -08:00
Jōshin
924d8e0628
conn: comments 2022-01-22 02:33:26 +00:00
Liam Fitzgerald
c5c7946e5a
Merge pull request #5553 from urbit/la/proxy-sigs
graph-push-hook: proxy add and remove signatures across the network
2022-01-20 16:52:22 -06:00
Logan Allen
bb953945f8 graph-push-hook: proxy add and remove signatures across the network 2022-01-20 21:58:00 +00:00
yosoyubik
0c9fc76b93 eth-watcher: fix zoom-margin to account for reorgs
The previous value—used for testing—didn't consider
block reorgs, which meant that if we zoom to the latest
block that has no transactions, but that gets later replaced
by a 1-block reorg that does have a transaction, we'll miss it,
making our Azimuth state incomplete.

To fix it, we rewind the Azimuth state to the contents of the snapshot,
and then start retrieving logs from the latest one we have.
2022-01-19 17:41:05 +01:00
Hunter Miller
09f71e504b dms: don't load if pending 2022-01-18 14:38:45 -06:00
yosoyubik
3d943ec201 ames: ignore missing peer-state on-publ-sponsor 2022-01-18 20:34:32 +01:00
Jōshin
86fee3c104
conn: merge lines 2022-01-15 08:13:50 +00:00
Jōshin
c89eb11f57
conn: various fixes and cleanups 2022-01-15 08:00:59 +00:00
Jōshin
275beeb071
conn: some peel/urth functionality 2022-01-15 07:32:48 +00:00
Jōshin
c1a4bf75cf
conn: comment 2022-01-14 20:36:10 +00:00
Hunter Miller
3bbaf6de80 join: making sure group is in state and retaining join request state 2022-01-13 16:15:38 -06:00
Hunter Miller
ed3b19cd0f sidebarlistheader: fixing potential undefined ref 2022-01-13 16:14:22 -06:00
Jōshin
f6cef00dd9
conn: comment 2022-01-13 06:29:55 +00:00
Jōshin
2e39926180
conn: van_o -> kan_o 2022-01-13 06:25:12 +00:00
Jōshin
bdcc30da98
khan: -> conn
Get some space between the IO driver and vane, since the driver is
mostly self-contained now and only depends on %khan for thread running.

"Conn" is a nautical term; it is the status of being in control of a
ship's movements, or the act of controlling a ship.
2022-01-13 06:21:30 +00:00
Jōshin
75271a8795
khan: implement %ovum
Untested as of yet.
2022-01-13 06:11:35 +00:00
Jōshin
66ef25447f
khan: stub out new commands 2022-01-13 05:19:51 +00:00
Jōshin
9e115a2b28
khan: rid is any-sized atom
Also updates comment to match current target.
2022-01-13 04:58:09 +00:00
fang
7be6950fe5
Merge branch 'm/helm-perms' into next/arvo 2022-01-13 00:36:22 +01:00
fang
b9491bcbb8
Merge branch 'master' into next/arvo 2022-01-13 00:36:07 +01:00
fang
0bc1f49f0f
drum: only process pokes from the local ship
No mark files exist for any of the drum marks, so trying to poke remote drums
would fail anyway, but relying on the mark system in that way seems a bit
fragile, so we add an explicit permission check.
2022-01-13 00:24:31 +01:00
fang
bde8c0b04a
helm: only process pokes from the local ship
No mark files exist for any of the helm marks (except `%helm-hi`), so trying to
poke remote helms would fail anyway, but relying on the mark system in that way
seems a bit fragile, so we add an explicit permission check.
2022-01-12 13:28:44 +01:00
jose
f158ebe312
Merge pull request #5532 from urbit/azimuth/jael-fix
jael: give new private key to subscribers on %keys new-event
2022-01-12 12:47:21 +01:00
yosoyubik
432d9674f5 jael: don't put conflicting this-su in the subject 2022-01-12 11:01:06 +01:00
Hunter Miller
c13ec5a698 notification-redirect: send to already joined chat instead of showing join modal 2022-01-11 19:36:06 -06:00
Hunter Miller
1ddd38e82c join: removing unused props, fixing invite 'kind' for proper linking 2022-01-11 19:32:51 -06:00
Hunter Miller
5fba433415 hark-update: fixing desk check 2022-01-11 19:30:53 -06:00
Hunter Miller
846502ef51 Merge branch 'next/groups' into hm/remove-dm-delete 2022-01-11 18:16:29 -06:00
Hunter Miller
4ee680807f Merge branch 'master' into next/groups 2022-01-11 18:15:25 -06:00
Hunter Miller
8efc0a9006 dms: hiding delete for dms and hiding dropdown if only reply 2022-01-11 16:43:57 -06:00
Hunter Miller
f6db32e669 webpack: fixing refresh in dev 2022-01-11 16:43:02 -06:00
Hunter Miller
158dfc0dec interface: fixing type errors 2022-01-11 16:42:38 -06:00
Liam Fitzgerald
6c1ce45815
Merge pull request #5489 from urbit/lf/fix-revoke
groups: fix permission handling
2022-01-10 11:11:12 -06:00
Liam Fitzgerald
f1f57abec0
Merge pull request #5485 from urbit/lf/recency-improvements
landscape: better leap searching
2022-01-10 11:10:51 -06:00
Liam Fitzgerald
b4512bf1a0
Merge pull request #5490 from urbit/lf/groups-grabbag
groups: misc frontend fixes
2022-01-10 11:08:14 -06:00
Liam Fitzgerald
4009f9d350
Merge pull request #5525 from urbit/lf/fix-dm-loading
DmResource: reload DM if cleared by kick
2022-01-10 11:07:25 -06:00
Liam Fitzgerald
a1aee5d2c8
Merge pull request #5519 from urbit/lf/fix-admin-remove
graph-validator-chat: allow admin removal of any message
2022-01-10 11:06:58 -06:00
Jōshin
ce05e562ed
test: schnorr bounds checking 2022-01-09 05:49:47 +00:00
Jōshin
71c59737d8
zuse: boundary assertions for schnorr
Just assert on mis-sized values.
2022-01-09 05:31:36 +00:00
Jōshin
4591fa272e
zuse: schnorr test cases
These are from:
<https://github.com/bitcoin/bips/blob/master/bip-0340/test-vectors.csv>
2022-01-09 05:28:22 +00:00
yosoyubik
fccf99e0a6 jael: refactor new-event for %keys diff
this also adds a %rerun %poke to /app/azimuth
2022-01-08 19:28:11 +01:00
yosoyubik
8535563de6 jael: give private key to subscribers on keys diff
Triggering this event has been added to /app/azimuth's +on-load
2022-01-08 09:48:28 +01:00
Peter McEvoy
db1b8d8239 vere: use hex literal for database size passed to u3_lmdb_init() 2022-01-07 14:44:08 -08:00
yosoyubik
583d5f5063 azimuth: process snapshot on-load 2022-01-07 18:13:51 +01:00
yosoyubik
1950736518 azimuth: update snapshot at block 13.958.653 2022-01-07 17:31:49 +01:00
fang
afea2edc59
webterm: improve selection look & feel 2022-01-07 14:02:28 +01:00
Peter McEvoy
e4616828c1
u3: disable page tracking on inner roads (#5477)
* u3: disable page tracking on inner roads

* u3: optimize reinstatement of page tracking

* u3: replace U3_OS_Native* macros with static global variable

* u3: move U3_OS_NativePageWords global variable into portable.h

* Revert 2ee26990c2, 16c52a4b73, d7bfe37ff7, 4a78133991

Revert "u3: move U3_OS_NativePageWords global variable into portable.h"
This reverts commit 2ee26990c26a8af15a0234fa23dd041b13aa02de.

Revert "u3: replace U3_OS_Native* macros with static global variable"
This reverts commit 16c52a4b73f35cfe54165ad9232110c2f741d223.

Revert "u3: optimize reinstatement of page tracking"
This reverts commit d7bfe37ff768ecfc0055d71076c67a4df4aff621.

Revert "u3: disable page tracking on inner roads"
This reverts commit 4a781339914b2c47772107d8654a27c40aef7ddf.

* u3: remove u3e_dirty()

* u3: use sizeof() in u3e_foul()

* u3: disable inner road page tracking by defaulting to dirty pages

* u3: read and write-protect on per-page basis in _ce_image_blit()

* u3: remove _ce_patch_junk_page()

* u3: increment ptr_w in _ce_image_blit()
2022-01-06 16:23:19 -08:00
Hunter Miller
4834ec59a2 Merge branch 'master' into next/landscape 2022-01-06 16:25:04 -06:00
Liam Fitzgerald
a42b344559 DmResource: reload DM if cleared by kick 2022-01-06 13:55:22 -06:00
yosoyubik
8df443bc46 azimuth: remove eth-logs 2022-01-06 16:43:28 +01:00
Hunter Miller
318cb9f00e Merge branch 'master' into next/landscape 2022-01-05 16:59:32 -06:00
Liam Fitzgerald
05de25a22f graph-validator-chat: allow admin removal of any message 2022-01-04 15:11:24 -06:00
Jōshin
573495546d
vere: reading comprehension :( 2022-01-04 18:28:19 +00:00
Jōshin
c7d8c73865
vere: change include file name in compat 2022-01-04 18:19:46 +00:00
Jōshin
40f3263e08
vere: remove headers from configure script
It doesn't seem to be doing anything.
2022-01-04 17:29:23 +00:00
Jōshin
6fe108f538
vere: schnorr jets
C side of the work at jo/secp-arvo. Validated against these test vectors
prior to setting `ice = c3y`:

<https://github.com/bitcoin/bips/blob/master/bip-0340/test-vectors.csv>

I didn't touch any of the core hashes; perhaps they should be updated.
2021-12-30 22:58:31 +00:00
Jōshin
40fbd16036
zuse: schnorr address 2021-12-30 05:46:44 +00:00
Jōshin
cb5983c6ae
zuse: schnorr jet hints 2021-12-30 04:25:31 +00:00
Jōshin
5d98ecfe2f
urcrypt: first pass at schnorr signatures 2021-12-30 04:16:37 +00:00
Jōshin
f93457ce9c
zuse: style 2021-12-30 04:14:25 +00:00
Jōshin
0fb3dd5ed0
zuse: cleanup 2021-12-30 00:47:11 +00:00
Jōshin
022ec2867d
zuse: banish byte twiddling from schnorr
Actually it's just hidden in +sha-256l:sha now.
2021-12-30 00:42:47 +00:00
Jōshin
57ef17fc91
zuse: signatures were backwards 2021-12-29 23:58:31 +00:00
Jōshin
09294d79bc
zuse: unused ffra 2021-12-29 23:50:16 +00:00
Jōshin
4c6187787f
zuse: remove redundant flips on sig 2021-12-29 23:50:16 +00:00
Jōshin
4f1269b205
zuse: cleanup in schnorr 2021-12-29 23:50:15 +00:00
Jōshin
b296f3912e
zuse: verify:schnorr works 2021-12-29 23:50:15 +00:00
Jōshin
ab4b735471
zuse: sign:schnorr basically done
Schnorr's choice of big-endian encoding commits us to some degree of
byte twiddling; try to make this fairly seamless.
2021-12-29 23:49:54 +00:00
Jōshin
f39421c97b
zuse: flip bytes in sig
gross!
2021-12-29 19:02:51 +00:00
Jōshin
a1c548ced4
zuse: schnorrsig-sign from spec
test vectors match, but are byte-flipped. has to do a lot of endianness
twiddling.
2021-12-29 18:57:45 +00:00
Jōshin
645b7afbd7
test: cleanup
- u3s_cue_xeno_init_with to after u3m_boot_lite().

- c3__ux for overflow case for more intuitive test output.

- "test boot" in final output.
2021-12-26 23:26:39 +00:00
Jōshin
0682eb8a3a
nix,vere: move ivory def to its own source file 2021-12-26 22:31:35 +00:00
Jōshin
fbcec9d0ec
vere: use u3r_safe_word instead of u3r_word_fit
Also add boundary condition tests for u3v_lily.
2021-12-26 21:31:46 +00:00
Jōshin
a07e0b8997
test: return 0 2021-12-26 19:56:06 +00:00
Jōshin
b29fb12e47
test: fix make output, add boot tests 2021-12-26 19:55:03 +00:00
Jōshin
c7f4768e40
vere: reorder u3v functions 2021-12-26 07:08:05 +00:00