chiark / gitweb /
Ian Jackson [Sun, 6 Jun 2021 21:28:32 +0000 (22:28 +0100)]
otter: Rework run_ap_completer into argparse_more
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 6 Jun 2021 21:24:19 +0000 (22:24 +0100)]
otter: Break out ArgumentParseError::report
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 6 Jun 2021 21:14:03 +0000 (22:14 +0100)]
otter: Fold in a copy of parse_args into main
This will Do Stuff with prefs.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 6 Jun 2021 21:09:26 +0000 (22:09 +0100)]
otter: Break up main()'s arg parsing ready for prefs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 6 Jun 2021 21:04:23 +0000 (22:04 +0100)]
otter: Break out run_ap_completer
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 6 Jun 2021 20:58:44 +0000 (21:58 +0100)]
otter: Break out run_argparse
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 3 Jun 2021 00:22:33 +0000 (01:22 +0100)]
script: Do not multiselect hands (non-moveable pieces)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 3 Jun 2021 00:10:59 +0000 (01:10 +0100)]
script: Sort other ungrabs
And rename do_ungrab to do_ungrab_1 to make sure we caught them all.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 3 Jun 2021 00:10:32 +0000 (01:10 +0100)]
script: Sort drag piece list
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 3 Jun 2021 00:07:56 +0000 (01:07 +0100)]
script: Sort targets for keystrokes
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 3 Jun 2021 00:06:34 +0000 (01:06 +0100)]
script: Provide piece_z_cmp and pieceid_z_cmp
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:13:10 +0000 (00:13 +0100)]
Move admin.rs out of otter.rs and forgame.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:09:39 +0000 (00:09 +0100)]
Move ssh key stuff out of otter.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:09:27 +0000 (00:09 +0100)]
Move clear-game out of otter.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:05:45 +0000 (00:05 +0100)]
Move usebundles.rs out of otter.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:04:02 +0000 (00:04 +0100)]
Move adhoc.rs out of otter.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 23:00:25 +0000 (00:00 +0100)]
Rename forgame.rs from manipgame.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 22:59:39 +0000 (23:59 +0100)]
Break out functions into manipgame.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 22:57:18 +0000 (23:57 +0100)]
Move more to clisupport.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 22:56:05 +0000 (23:56 +0100)]
Break out clisupport.rs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 22:46:02 +0000 (23:46 +0100)]
Rename atmain.rs (from apitest/main.rs)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 18:51:09 +0000 (19:51 +0100)]
Break out otter-cli into separate cargo package
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 21:30:35 +0000 (22:30 +0100)]
script: sse disconnection: Check the connecting status
Don't produce an error if the browser is reconnecting. Hopefully it
will be fine soon...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 18:04:18 +0000 (19:04 +0100)]
otter cli: When accessing via ssh, make default account be ssh:
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 18:03:59 +0000 (19:03 +0100)]
otter cli: Change defaulting order of server and account
We're going to need the server to decide the account.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:57:40 +0000 (18:57 +0100)]
sshkeys: Require an option to set ssh keys for a non-ssh: acocunt
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:50:23 +0000 (18:50 +0100)]
More sophisticated handling of program name
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:05:59 +0000 (18:05 +0100)]
sshkeys: Tests restricted command branch sawing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:03:05 +0000 (18:03 +0100)]
sshkeys: Tests a restricted command, refactor
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:01:13 +0000 (18:01 +0100)]
sshkeys: Tests restricted command a bit more
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:00:04 +0000 (18:00 +0100)]
sshkeys: Tests a restricted command, refactor
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:57:22 +0000 (17:57 +0100)]
sshkeys: Tests a restricted command
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:56:58 +0000 (17:56 +0100)]
sshkeys: Tests: Rework dummy key handling
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:45:50 +0000 (17:45 +0100)]
sshkeys: Test that static data is included
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:41:04 +0000 (17:41 +0100)]
sshkeys: Test banner and static handling
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:40:54 +0000 (17:40 +0100)]
sshkeys: Fix newline insertion
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 19:31:09 +0000 (20:31 +0100)]
sshkeys: Tests, wip
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 19:42:50 +0000 (20:42 +0100)]
sshkeys: Tests: Provide a dummy test key
I threw the private half away. Nevertheless, this should not be put
into any real file.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 14:24:43 +0000 (15:24 +0100)]
sshkeys: Fix auth key header newline
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:28:31 +0000 (17:28 +0100)]
sshkeys: Fix magic banner handling
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 12:19:45 +0000 (13:19 +0100)]
sshkeys: Improve ssh auth key banner and header
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 17:10:01 +0000 (18:10 +0100)]
sshkeys: Some todos
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:40:43 +0000 (17:40 +0100)]
otter cli: sshkeys: Get line numbers right
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:28:15 +0000 (17:28 +0100)]
cmdlistener: Tidy up connnection disconnect error
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:21:45 +0000 (17:21 +0100)]
otter cli: ssh keys: avoid creating account and then bailing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:15:42 +0000 (17:15 +0100)]
otter cli: ssh keys: create accounts as necessary
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:13:42 +0000 (17:13 +0100)]
accounts: Allow otter prep_access_account to never update it
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 16:01:52 +0000 (17:01 +0100)]
accounts: Actually parse ssh: accounts
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 15:54:03 +0000 (16:54 +0100)]
otter cli: When rejecting removal of current key, print nicely
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:27:39 +0000 (01:27 +0100)]
otter cli: Rename inventory_subcmd
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:22:41 +0000 (01:22 +0100)]
otter cli: Suppress account selection for mgmtchannel-proxy
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:12:38 +0000 (01:12 +0100)]
otter cli: Make ordinary_subcommand handle SubcommandProperties
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:18:10 +0000 (01:18 +0100)]
otter cli: Move &Subcommand into MainOpts for convenience
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:17:58 +0000 (01:17 +0100)]
otter cli: Make Subcommand Debug
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:10:15 +0000 (01:10 +0100)]
otter cli: Make space for SubcommandProperties
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:09:12 +0000 (01:09 +0100)]
otter cli: Make Subcommand a named field struct
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 2 Jun 2021 00:03:06 +0000 (01:03 +0100)]
otter cli: Introduce ordinary_subcmd macro
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:51:26 +0000 (21:51 +0100)]
sshkeys: Add paranoid whitespace check
Newlines, in particular, would mess things up.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:50:47 +0000 (21:50 +0100)]
sshkeys: Do not include filename in context
This gets printed when we log the AuthKeysManipError.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:48:45 +0000 (21:48 +0100)]
sshkeys: Fix formatting of ssh authorized_keys files
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:45:37 +0000 (21:45 +0100)]
sshkeys: Allow the creation of a fresh auth keys file
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:33:41 +0000 (21:33 +0100)]
errors: Rename AnyhowDisplay and provide .d() and use it
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:32:54 +0000 (21:32 +0100)]
errors: Provide AnyhowFormat and use it in two places
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:30:31 +0000 (21:30 +0100)]
errors: Drop some spurious uses of {:?} in messages
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 20:30:17 +0000 (21:30 +0100)]
commands: Drop a spurious \n in an error message
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 19:57:49 +0000 (20:57 +0100)]
utils: Introduce anyhow::Error::for_each
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 19:32:31 +0000 (20:32 +0100)]
otter cli: mgmtchannel-proxy: Exit 0 on command EOF too
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 19:30:48 +0000 (20:30 +0100)]
sshkeys internal errors: Do not share with client
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 17:38:30 +0000 (18:38 +0100)]
InternalError from anyhow: Add a missing colon to the messages
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 16:04:05 +0000 (17:04 +0100)]
apitest: Initial test of ssh
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 17:00:46 +0000 (18:00 +0100)]
config: Observe that ssh_proxy_command will be split by ssh's shell
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 17:00:12 +0000 (18:00 +0100)]
otter cli: Rename --ssh-proxy-command option
This is shorter and more consistent.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 16:59:32 +0000 (17:59 +0100)]
apitest: Provide OTTER_APITEST_START_DIR
Nothing uses this yet, nor, it appears, is going to, but it may come
in useful in the future, so let's keep it.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 16:30:14 +0000 (17:30 +0100)]
Makefile, ssh proxy: Install a symlink
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 14:40:48 +0000 (15:40 +0100)]
otter cli: Shut down CookedStdout before bundle data
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 14:39:36 +0000 (15:39 +0100)]
otter cli: Shut down CookedStdout before proxying responses
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 14:37:23 +0000 (15:37 +0100)]
otter cli: Tiny fixes to stdout handling
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 14:35:05 +0000 (15:35 +0100)]
otter: Introduce SubCommandSubArgs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 14:24:15 +0000 (15:24 +0100)]
otter cli: Completely redo stdout handling
Replace all println. Use a common stdout buffer for everything.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 13:01:02 +0000 (14:01 +0100)]
otter cli: Switch to CookedStdout for set-link
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:58:02 +0000 (13:58 +0100)]
otter cli: Switch to CookedStdout for list-ssh-keys
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:56:49 +0000 (13:56 +0100)]
otter cli: mgmtchannel proxy needs to exit on server conn eof
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:56:37 +0000 (13:56 +0100)]
otter cli: Switch to RawStdout for mgmtchannel proxy stdout
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:56:24 +0000 (13:56 +0100)]
otter cli: Use copy_interactive for mgmtchannel proxy
Fixes a buffering-induced deadlock.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:54:18 +0000 (13:54 +0100)]
otter cli: Switch to CookedStdout for arg parsing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:54:42 +0000 (13:54 +0100)]
otter cli: Switch to RawStdout for bundle download to stdout
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:58:38 +0000 (13:58 +0100)]
utils: Provide CookedStdout, buffered and with die on flush fail
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:58:22 +0000 (13:58 +0100)]
utils: Provide RawStdout and the associated SigPipeWriter
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 12:54:07 +0000 (13:54 +0100)]
utils: Provide io_copy_interactive
stdlib io::copy insists on buffering.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 10:30:43 +0000 (11:30 +0100)]
debugreader: Make generic over D
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 10:30:27 +0000 (11:30 +0100)]
mgmtchannel: Insist that client connections are Debug
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 01:47:07 +0000 (02:47 +0100)]
otter cli: Do not SelectAccount when we are mgmtchannel-proxy
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 01:45:28 +0000 (02:45 +0100)]
otter cli: Break out connect_chan
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 01:27:29 +0000 (02:27 +0100)]
mgmtchannel: Tiny error message improvement
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 01:19:59 +0000 (02:19 +0100)]
cmdlistener: Rework main loop error handling
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 00:55:46 +0000 (01:55 +0100)]
cmdlistener: Display account in log messages
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 00:44:41 +0000 (01:44 +0100)]
ssh: Forbid SetRestrictedSshScope after SelectAccount
SelectAccount generates an Authorisation in the stream state. We
don't want to preserve that after we drop privs.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Tue, 1 Jun 2021 00:30:43 +0000 (01:30 +0100)]
Slight error message tweaks
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 31 May 2021 21:20:49 +0000 (22:20 +0100)]
otter cli: Implement remote ssh connection
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Mon, 31 May 2021 21:13:36 +0000 (22:13 +0100)]
config: Break out some variables etc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>