chiark / gitweb /
otter.git
4 years agozipfile: Actually read bundle metadata
Ian Jackson [Tue, 4 May 2021 19:16:18 +0000 (20:16 +0100)]
zipfile: Actually read bundle metadata

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoMakefile: Make the test bundle depend on the Makefile runes
Ian Jackson [Tue, 4 May 2021 21:01:01 +0000 (22:01 +0100)]
Makefile: Make the test bundle depend on the Makefile runes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agozipfile: Add dependency
Ian Jackson [Tue, 4 May 2021 18:22:04 +0000 (19:22 +0100)]
zipfile: Add dependency

Call it "zipfile" here to avoid clashes with iterator zips!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Make test-bundle.zip not have an internal directory
Ian Jackson [Tue, 4 May 2021 20:06:32 +0000 (21:06 +0100)]
bundles: Make test-bundle.zip not have an internal directory

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Make the test bundle be an actual zipfile
Ian Jackson [Tue, 4 May 2021 18:11:01 +0000 (19:11 +0100)]
bundles: Make the test bundle be an actual zipfile

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Fix http status codes
Ian Jackson [Tue, 4 May 2021 02:48:01 +0000 (03:48 +0100)]
bundles download: Fix http status codes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Explicitly drop ig to release lock after opening
Ian Jackson [Tue, 4 May 2021 02:37:32 +0000 (03:37 +0100)]
bundles download: Explicitly drop ig to release lock after opening

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Use Namedfile
Ian Jackson [Tue, 4 May 2021 02:37:23 +0000 (03:37 +0100)]
bundles download: Use Namedfile

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Use BDE type alias
Ian Jackson [Tue, 4 May 2021 02:31:21 +0000 (03:31 +0100)]
bundles download: Use BDE type alias

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Provide a path() more useful for download
Ian Jackson [Tue, 4 May 2021 02:28:32 +0000 (03:28 +0100)]
bundles download: Provide a path() more useful for download

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: swap locking order
Ian Jackson [Tue, 4 May 2021 02:21:29 +0000 (03:21 +0100)]
bundles download: swap locking order

We're going to want to keep ig a bit longer

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Token as query parameter rather than in path
Ian Jackson [Tue, 4 May 2021 01:43:55 +0000 (02:43 +0100)]
bundles download: Token as query parameter rather than in path

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Check that download link works
Ian Jackson [Mon, 3 May 2021 22:02:09 +0000 (23:02 +0100)]
bundles: Check that download link works

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Send url to web clients (fix)
Ian Jackson [Tue, 4 May 2021 11:22:12 +0000 (12:22 +0100)]
bundles download: Send url to web clients (fix)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Send url to web clients (wip)
Ian Jackson [Tue, 4 May 2021 11:26:30 +0000 (12:26 +0100)]
bundles download: Send url to web clients (wip)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Pass &Instance to info_pane renderer
Ian Jackson [Tue, 4 May 2021 01:17:51 +0000 (02:17 +0100)]
bundles download: Pass &Instance to info_pane renderer

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles download: Add download route
Ian Jackson [Mon, 3 May 2021 22:42:30 +0000 (23:42 +0100)]
bundles download: Add download route

Client is not told about this yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: save and restore
Ian Jackson [Tue, 4 May 2021 01:31:16 +0000 (02:31 +0100)]
AssetUrlKey: save and restore

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: make token
Ian Jackson [Tue, 4 May 2021 01:02:04 +0000 (02:02 +0100)]
AssetUrlKey: make token

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: check
Ian Jackson [Tue, 4 May 2021 00:59:08 +0000 (01:59 +0100)]
AssetUrlKey: check

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: parse and display
Ian Jackson [Tue, 4 May 2021 00:09:12 +0000 (01:09 +0100)]
AssetUrlKey: parse and display

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: wip, more
Ian Jackson [Mon, 3 May 2021 23:55:02 +0000 (00:55 +0100)]
AssetUrlKey: wip, more

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoAssetUrlKey: wip
Ian Jackson [Mon, 3 May 2021 22:39:18 +0000 (23:39 +0100)]
AssetUrlKey: wip

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Use a different test string so it doesn't show up in grep
Ian Jackson [Tue, 4 May 2021 02:52:54 +0000 (03:52 +0100)]
bundles: Use a different test string so it doesn't show up in grep

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopacketframe: Delete an obsolete thing
Ian Jackson [Tue, 4 May 2021 02:52:05 +0000 (03:52 +0100)]
packetframe: Delete an obsolete thing

We have badeof() now

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoorganise: Some todos were done
Ian Jackson [Tue, 4 May 2021 02:49:40 +0000 (03:49 +0100)]
organise: Some todos were done

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Move authproof into open_by_name
Ian Jackson [Tue, 4 May 2021 00:19:59 +0000 (01:19 +0100)]
bundles: Move authproof into open_by_name

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Require and provide an authproof for opening
Ian Jackson [Tue, 4 May 2021 00:14:40 +0000 (01:14 +0100)]
bundles: Require and provide an authproof for opening

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Test Id parsing and printing
Ian Jackson [Mon, 3 May 2021 23:41:58 +0000 (00:41 +0100)]
bundles: Test Id parsing and printing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Rename NotBundle from NotBundleError
Ian Jackson [Mon, 3 May 2021 22:53:14 +0000 (23:53 +0100)]
bundles: Rename NotBundle from NotBundleError

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Introduce NotBundleError
Ian Jackson [Mon, 3 May 2021 22:52:18 +0000 (23:52 +0100)]
bundles: Introduce NotBundleError

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Test save/load, at least a bit
Ian Jackson [Mon, 3 May 2021 23:35:35 +0000 (00:35 +0100)]
apitest: Test save/load, at least a bit

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Make prepare_gameserver do the for_game call
Ian Jackson [Mon, 3 May 2021 23:22:36 +0000 (00:22 +0100)]
apitest: Make prepare_gameserver do the for_game call

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Move cleanup_notify::Handle into SetupCore
Ian Jackson [Mon, 3 May 2021 23:12:44 +0000 (00:12 +0100)]
apitest: Move cleanup_notify::Handle into SetupCore

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Split up prepare_gameserver
Ian Jackson [Mon, 3 May 2021 23:02:56 +0000 (00:02 +0100)]
apitest: Split up prepare_gameserver

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Move command_socket into global DirSubst
Ian Jackson [Mon, 3 May 2021 23:03:51 +0000 (00:03 +0100)]
apitest: Move command_socket into global DirSubst

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoat-otter: Reorder functions in chronological order
Ian Jackson [Mon, 3 May 2021 22:57:24 +0000 (23:57 +0100)]
at-otter: Reorder functions in chronological order

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agowdriver: Provide url in Window
Ian Jackson [Mon, 3 May 2021 21:56:38 +0000 (22:56 +0100)]
wdriver: Provide url in Window

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide DigestWrite::of
Ian Jackson [Mon, 3 May 2021 21:42:04 +0000 (22:42 +0100)]
provide DigestWrite::of

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide bundles::DigestWrite
Ian Jackson [Mon, 3 May 2021 18:54:17 +0000 (19:54 +0100)]
provide bundles::DigestWrite

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoutils: provide DigestWrite::sink
Ian Jackson [Mon, 3 May 2021 18:51:36 +0000 (19:51 +0100)]
utils: provide DigestWrite::sink

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Go via the a element
Ian Jackson [Mon, 3 May 2021 17:46:14 +0000 (18:46 +0100)]
bundles: Go via the a element

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agotests: Change many error types to Explode
Ian Jackson [Mon, 3 May 2021 18:40:44 +0000 (19:40 +0100)]
tests: Change many error types to Explode

So we get stack traces.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Reorganise did() in preparation for a lot of Explode
Ian Jackson [Mon, 3 May 2021 18:24:44 +0000 (19:24 +0100)]
apitest: Reorganise did() in preparation for a lot of Explode

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Add wdt test to see that things show up in the UI
Ian Jackson [Mon, 3 May 2021 17:33:05 +0000 (18:33 +0100)]
bundles: Add wdt test to see that things show up in the UI

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Fix info pane formatting, remove spurious #
Ian Jackson [Mon, 3 May 2021 17:32:49 +0000 (18:32 +0100)]
bundles: Fix info pane formatting, remove spurious #

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide apitest::example_bundle
Ian Jackson [Mon, 3 May 2021 17:16:26 +0000 (18:16 +0100)]
provide apitest::example_bundle

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Show in web UI
Ian Jackson [Mon, 3 May 2021 17:10:45 +0000 (18:10 +0100)]
bundles: Show in web UI

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoat-otter: Swap bundles and put-back
Ian Jackson [Mon, 3 May 2021 17:00:16 +0000 (18:00 +0100)]
at-otter: Swap bundles and put-back

This leaves us with a bundle in the test game.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agonwtemplates: Better error logging when rendering fails
Ian Jackson [Mon, 3 May 2021 16:37:56 +0000 (17:37 +0100)]
nwtemplates: Better error logging when rendering fails

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Move and centralise update()
Ian Jackson [Mon, 3 May 2021 16:24:38 +0000 (17:24 +0100)]
bundles: Move and centralise update()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoat-otter: Put the test game back at the end for ad-hoc tests
Ian Jackson [Mon, 3 May 2021 16:55:34 +0000 (17:55 +0100)]
at-otter: Put the test game back at the end for ad-hoc tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Save the bundle list in the ig for ready access
Ian Jackson [Mon, 3 May 2021 16:15:46 +0000 (17:15 +0100)]
bundles: Save the bundle list in the ig for ready access

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopacketframe: Add some not miri annotations
Ian Jackson [Mon, 3 May 2021 15:08:38 +0000 (16:08 +0100)]
packetframe: Add some not miri annotations

warning: function is never used: `expect_good`
   --> src/packetframe.rs:521:6
    |
521 |   fn expect_good<R:Read>(rd: &mut FrameReader<R>, expected: &[u8]) {
    |      ^^^^^^^^^^^

Weirdly, not always.  Only on certain rebuilds ?  Whatever.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Break out InstanceBundles::iter()
Ian Jackson [Mon, 3 May 2021 14:50:06 +0000 (15:50 +0100)]
bundles: Break out InstanceBundles::iter()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoupdate: Use &Html rather than &Arc<Html>
Ian Jackson [Mon, 3 May 2021 13:28:37 +0000 (14:28 +0100)]
update: Use &Html rather than &Arc<Html>

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Better output from list-bundles
Ian Jackson [Mon, 3 May 2021 13:20:12 +0000 (14:20 +0100)]
bundles: Better output from list-bundles

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: test download too
Ian Jackson [Mon, 3 May 2021 13:06:59 +0000 (14:06 +0100)]
bundles: test download too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: test, wip
Ian Jackson [Mon, 3 May 2021 13:03:15 +0000 (14:03 +0100)]
bundles: test, wip

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: New Explode error
Ian Jackson [Mon, 3 May 2021 13:02:02 +0000 (14:02 +0100)]
apitest: New Explode error

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Allow reading OtterOutput to a string
Ian Jackson [Mon, 3 May 2021 13:01:12 +0000 (14:01 +0100)]
apitest: Allow reading OtterOutput to a string

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Fix logging levels
Ian Jackson [Mon, 3 May 2021 12:44:12 +0000 (13:44 +0100)]
apitest: Fix logging levels

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Capture and return the output from otter(1) in at-*
Ian Jackson [Mon, 3 May 2021 12:41:18 +0000 (13:41 +0100)]
apitest: Capture and return the output from otter(1) in at-*

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapitest: Capture and return the output from otter(1)
Ian Jackson [Mon, 3 May 2021 12:38:53 +0000 (13:38 +0100)]
apitest: Capture and return the output from otter(1)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoutils: Provide and use <T as Seek>::rewind()
Ian Jackson [Mon, 3 May 2021 12:25:55 +0000 (13:25 +0100)]
utils: Provide and use <T as Seek>::rewind()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoCHANGELOG: document chdir fixes
Ian Jackson [Mon, 3 May 2021 12:06:37 +0000 (13:06 +0100)]
CHANGELOG: document chdir fixes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agologging env vars: Rename (tidying) and document
Ian Jackson [Mon, 3 May 2021 12:06:21 +0000 (13:06 +0100)]
logging env vars: Rename (tidying) and document

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopath resolution tests: Tidy direct use of su_rc to su()
Ian Jackson [Mon, 3 May 2021 12:03:22 +0000 (13:03 +0100)]
path resolution tests: Tidy direct use of su_rc to su()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Implement DownloadBundle
Ian Jackson [Mon, 3 May 2021 11:59:28 +0000 (12:59 +0100)]
bundles: Implement DownloadBundle

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Provide Id::open
Ian Jackson [Mon, 3 May 2021 11:59:12 +0000 (12:59 +0100)]
bundles: Provide Id::open

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Make bundles::Id more open
Ian Jackson [Mon, 3 May 2021 11:58:47 +0000 (12:58 +0100)]
bundles: Make bundles::Id more open

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopath resolution: Rename types and variables to mention Path
Ian Jackson [Mon, 3 May 2021 11:54:22 +0000 (12:54 +0100)]
path resolution: Rename types and variables to mention Path

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopath resolution tests: cd to / for library_load and specs
Ian Jackson [Mon, 3 May 2021 11:47:29 +0000 (12:47 +0100)]
path resolution tests: cd to / for library_load and specs

This tests that both client and server path resolution works.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopath resolution tests: Plumb rctx to various places and use it
Ian Jackson [Mon, 3 May 2021 11:45:50 +0000 (12:45 +0100)]
path resolution tests: Plumb rctx to various places and use it

* otter_rctx
* rctx in at-otter Ctx
* rctx passed to prepare_game

No functional change since this is always default() for the moment.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Only chdir in server, rework entirely
Ian Jackson [Mon, 3 May 2021 10:55:10 +0000 (11:55 +0100)]
config: Only chdir in server, rework entirely

We want to be able to test this, so it needs to be more accessible.
And there are actually two separate types here.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Only chdir in server (!), fix sense (!)
Ian Jackson [Mon, 3 May 2021 10:21:34 +0000 (11:21 +0100)]
config: Only chdir in server (!), fix sense (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Add a trace_dbg
Ian Jackson [Mon, 3 May 2021 10:04:31 +0000 (11:04 +0100)]
config: Add a trace_dbg

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Only chdir in server (!), fix
Ian Jackson [Mon, 3 May 2021 09:57:24 +0000 (10:57 +0100)]
config: Only chdir in server (!), fix

We want to resolve all relative paths in the server config, not just
the defaults.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Only chdir in server (!), actually
Ian Jackson [Sun, 2 May 2021 23:26:35 +0000 (00:26 +0100)]
config: Only chdir in server (!), actually

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Only chdir in server (!)
Ian Jackson [Sun, 2 May 2021 23:22:35 +0000 (00:22 +0100)]
config: Only chdir in server (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Make ServerConfigSpec::resolve() not TryFrom
Ian Jackson [Sun, 2 May 2021 23:12:06 +0000 (00:12 +0100)]
config: Make ServerConfigSpec::resolve() not TryFrom

This changes the cwd!

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobase: prelude: export void (crate)
Ian Jackson [Sun, 2 May 2021 22:58:24 +0000 (23:58 +0100)]
base: prelude: export void (crate)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocmdlistener: Change type of bulk_download
Ian Jackson [Sun, 2 May 2021 22:57:32 +0000 (23:57 +0100)]
cmdlistener: Change type of bulk_download

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoProvide DebugExt::to_debug
Ian Jackson [Sun, 2 May 2021 22:56:34 +0000 (23:56 +0100)]
Provide DebugExt::to_debug

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: rework ListBundles return value
Ian Jackson [Sun, 2 May 2021 21:14:00 +0000 (22:14 +0100)]
bundles: rework ListBundles return value

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoif_let: Provide a cardboard cutout version for basic struct variants
Ian Jackson [Sun, 2 May 2021 21:11:42 +0000 (22:11 +0100)]
if_let: Provide a cardboard cutout version for basic struct variants

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Provide Display for Id
Ian Jackson [Sun, 2 May 2021 20:54:27 +0000 (21:54 +0100)]
bundles: Provide Display for Id

Nothing uses this yet but maybe it will be useful.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoConvert bundles::Index to a newtype
Ian Jackson [Sun, 2 May 2021 20:50:09 +0000 (21:50 +0100)]
Convert bundles::Index to a newtype

Mostly for string formatting.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Introduce and use Kind::only
Ian Jackson [Sun, 2 May 2021 09:54:01 +0000 (10:54 +0100)]
bundles: Introduce and use Kind::only

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Fix a typo
Ian Jackson [Sun, 2 May 2021 09:48:15 +0000 (10:48 +0100)]
bundles: Fix a typo

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Add a todo
Ian Jackson [Sun, 2 May 2021 09:45:33 +0000 (10:45 +0100)]
bundles: Add a todo

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Initial list-bundles
Ian Jackson [Sun, 2 May 2021 01:03:03 +0000 (02:03 +0100)]
bundles: Initial list-bundles

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: use strum Display for bundles::Kind
Ian Jackson [Sun, 2 May 2021 00:37:23 +0000 (01:37 +0100)]
bundles: use strum Display for bundles::Kind

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Add a bound on b_file for debug convenience
Ian Jackson [Sun, 2 May 2021 00:31:50 +0000 (01:31 +0100)]
bundles: Add a bound on b_file for debug convenience

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Note what we loaded
Ian Jackson [Sun, 2 May 2021 00:18:07 +0000 (01:18 +0100)]
bundles: Note what we loaded

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobundles: Actually create the directory, on upload
Ian Jackson [Sun, 2 May 2021 00:12:00 +0000 (01:12 +0100)]
bundles: Actually create the directory, on upload

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agootter: Provide upload-bundle. Does not work yet.
Ian Jackson [Sat, 1 May 2021 23:51:41 +0000 (00:51 +0100)]
otter: Provide upload-bundle.  Does not work yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocmdlistener: Provide cmd_withbulk
Ian Jackson [Sat, 1 May 2021 23:35:58 +0000 (00:35 +0100)]
cmdlistener: Provide cmd_withbulk

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocmdlistener: Refactor to use write_withbulk
Ian Jackson [Sat, 1 May 2021 23:24:13 +0000 (00:24 +0100)]
cmdlistener: Refactor to use write_withbulk

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocmdlistener: Fix writer framing on errors, restructure
Ian Jackson [Sat, 1 May 2021 23:22:02 +0000 (00:22 +0100)]
cmdlistener: Fix writer framing on errors, restructure

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>