]>
rtime.felk.cvut.cz Git - novaboot.git/log
Michal Sojka [Sat, 16 Nov 2019 22:30:28 +0000 (23:30 +0100)]
tests: Convert server tests to use the account from last commit
Michal Sojka [Sat, 16 Nov 2019 22:15:25 +0000 (23:15 +0100)]
test: Add script for creating test account
Jan Kaisrlik [Mon, 4 Nov 2019 16:28:01 +0000 (17:28 +0100)]
Disable echo in default stty arguments
From time to time I observe that the novaboot hangs in the uboot menu
with weird characters on the line like this
=> MC: mmc@7000: 0^M^JLoading Environment from MMC... OK^M^JIn: serial@3000^M^JNet: eth0: ethernet@
ff3f0000 ^M^JHit any key to stop autoboot: 2 ^H^H^H 0^M^J=> MC: mmc@7000: 0^M^JLoading Environment from MMC... OK^M^JIn: serial@3000^M^JNet:
Unknown command 'MC:' - try 'help'
When I tried to play with stty options I realized that the echo option
breaks the communication. The reason is that when echo is
enabled (which is by default), all characters sent by the target are
echoed back to the target, which may interpret them.
To confirm that, I tested the following options:
--stty="raw -crtscts -onlcr 115200 -echo" (working)
--stty="raw -crtscts -onlcr 115200 echo" (not working)
It turns out that the problem appears only during the first initial
novaboot conversation with the bootloader after. After switching to
interactive mode, echo is automatically disabled by Expect.pm and for
subsequent boots, echo remains disabled.
[Note: Commit message updated by Michal Sojka based on GitHub
discussion https://github.com/wentasah/novaboot/pull/5 and his
investigation of the issue.]
Michal Sojka [Thu, 31 Oct 2019 23:10:44 +0000 (00:10 +0100)]
tests: Make some server tests more readable
Michal Sojka [Thu, 31 Oct 2019 22:27:44 +0000 (23:27 +0100)]
server: Always use flock with --no-fork
Without this my test suite fails. The reason for not using --no-fork
was that it didn't work well on some systems. Since I'm annoyed by not
working test suite, I'm willing to investigate --no-fork problems if
they still exist on current Linux systems.
Michal Sojka [Thu, 31 Oct 2019 21:39:40 +0000 (22:39 +0100)]
Improve an error message
Michal Sojka [Thu, 24 Oct 2019 07:18:46 +0000 (09:18 +0200)]
server: Add experimental support for the ssh sub-command
Michal Sojka [Thu, 24 Oct 2019 06:50:23 +0000 (08:50 +0200)]
server: Document get-config
Michal Sojka [Wed, 23 Oct 2019 11:40:25 +0000 (13:40 +0200)]
server: Mention get-config command in help message
Michal Sojka [Wed, 23 Oct 2019 08:28:38 +0000 (10:28 +0200)]
Update changelog for
20191023 release
Michal Sojka [Tue, 15 Oct 2019 21:32:47 +0000 (23:32 +0200)]
server: Add novaboot users to the novaboot group
This is mainly intended for allowing "Match Group" configuration in
sshd_config.
Michal Sojka [Tue, 15 Oct 2019 21:36:03 +0000 (23:36 +0200)]
server: Mention adduser-novaboot in novaboot-shell documentation
Michal Sojka [Tue, 15 Oct 2019 21:09:39 +0000 (23:09 +0200)]
adduser-novaboot: Reload systemd after adding override units
Michal Sojka [Wed, 25 Sep 2019 09:58:08 +0000 (11:58 +0200)]
Add a picture showing typical use cases
Michal Sojka [Tue, 27 Nov 2018 22:57:37 +0000 (23:57 +0100)]
Update changelog for
20181127 release
Michal Sojka [Tue, 27 Nov 2018 21:40:23 +0000 (22:40 +0100)]
Mark --remote-expect* options as safe and improve documentation
Michal Sojka [Tue, 27 Nov 2018 21:20:29 +0000 (22:20 +0100)]
Fix typo
Michal Sojka [Sat, 10 Nov 2018 22:29:03 +0000 (23:29 +0100)]
doc: Fix typos
Michal Sojka [Wed, 18 Jul 2018 20:15:30 +0000 (22:15 +0200)]
server: Grammar fixes in documentation
Michal Sojka [Thu, 10 May 2018 21:16:43 +0000 (23:16 +0200)]
server: Extend man page
Michal Sojka [Fri, 23 Mar 2018 13:22:12 +0000 (14:22 +0100)]
Update changelog for
20180323 release
Michal Sojka [Fri, 23 Mar 2018 13:20:13 +0000 (14:20 +0100)]
Add --uboot-stop-key option
Michal Sojka [Tue, 19 Dec 2017 20:55:34 +0000 (21:55 +0100)]
Fix typo in README
Michal Sojka [Fri, 17 Nov 2017 16:23:38 +0000 (17:23 +0100)]
server: Do not use flock --no-fork
It seems to not work reliably - at least in certain cases. More
investigation is needed.
Michal Sojka [Fri, 6 Oct 2017 17:45:56 +0000 (19:45 +0200)]
server: Fix typo in a comment
Michal Sojka [Wed, 27 Sep 2017 11:52:28 +0000 (13:52 +0200)]
Increase uboot load timeouts
We should have command line option for that and allow it to be set from
novaboot-shell, but we postpone the implementation of it until later.
Michal Sojka [Fri, 15 Sep 2017 16:28:43 +0000 (18:28 +0200)]
Change configuration of ryuglab target to use novaboot-shell
Michal Sojka [Fri, 15 Sep 2017 15:50:10 +0000 (17:50 +0200)]
server/adduser: Give configuration file proper owner
Michal Sojka [Fri, 15 Sep 2017 11:36:02 +0000 (13:36 +0200)]
server: Minor update of systemd files
This is only to ensure that systemd status or similar
commands give clearer picture of the status of the target
on/off state.
Michal Sojka [Fri, 15 Sep 2017 10:13:29 +0000 (12:13 +0200)]
Update changelog for
20170915 release
Michal Sojka [Fri, 15 Sep 2017 10:12:11 +0000 (12:12 +0200)]
Update .gitignore
Michal Sojka [Fri, 15 Sep 2017 10:10:33 +0000 (12:10 +0200)]
doc: Update initial examples
Michal Sojka [Fri, 15 Sep 2017 10:02:07 +0000 (12:02 +0200)]
doc: Mention --ssh in examples
Michal Sojka [Fri, 15 Sep 2017 08:40:49 +0000 (10:40 +0200)]
server: Rename systemd files to more meaningful names
Michal Sojka [Fri, 15 Sep 2017 08:33:24 +0000 (10:33 +0200)]
server: Update systemd units
This works better than what was there before.
Michal Sojka [Thu, 14 Sep 2017 18:00:32 +0000 (20:00 +0200)]
server: Set proper hostname for locally run commands
Michal Sojka [Thu, 14 Sep 2017 17:59:39 +0000 (19:59 +0200)]
server: Remove useless variable
Michal Sojka [Thu, 14 Sep 2017 17:32:26 +0000 (19:32 +0200)]
server: Make console the default command
This is useful, because SSH does not properly terminate the console
command if it is not run on terminal. The command is run on terminal
when ssh is run with -t argument or when there is no command
specified. Hence, with this change, we it will be less likely that
users connect to the console and forget to specify -t.
Michal Sojka [Thu, 7 Sep 2017 09:40:41 +0000 (11:40 +0200)]
Update changelog for
20170907 release
Michal Sojka [Thu, 7 Sep 2017 09:32:57 +0000 (11:32 +0200)]
Fix man page (and lintian warning)
Michal Sojka [Thu, 7 Sep 2017 09:30:56 +0000 (11:30 +0200)]
tests: Do not run SSH tests when ssh agent is not detected
... such as when building debian package.
Michal Sojka [Thu, 7 Sep 2017 09:19:23 +0000 (11:19 +0200)]
server: Give hint for using ssh -t with shell
Michal Sojka [Thu, 7 Sep 2017 08:59:23 +0000 (10:59 +0200)]
server: Document novaboot-shell
Michal Sojka [Thu, 7 Sep 2017 07:34:18 +0000 (09:34 +0200)]
server: Document adduser-novaboot command
Michal Sojka [Thu, 7 Sep 2017 07:34:38 +0000 (09:34 +0200)]
debian/server: Mention rsync as dependency
Michal Sojka [Tue, 5 Sep 2017 11:17:04 +0000 (13:17 +0200)]
Change default value of --remote-expect-timeout to infinity
Michal Sojka [Tue, 5 Sep 2017 06:21:50 +0000 (08:21 +0200)]
server: Fix creation of tftproot
When tftpd-hpa is run with --secure, all data must be under /srv/tftp.
Therefore, we put data directly into /srv/tftp/$user instead of
$HOME/tftproot.
Michal Sojka [Sun, 3 Sep 2017 23:31:43 +0000 (01:31 +0200)]
Obey INTERACTION variable
Michal Sojka [Sun, 3 Sep 2017 23:29:21 +0000 (01:29 +0200)]
server: Better error message of add-key command
Michal Sojka [Sun, 3 Sep 2017 15:36:55 +0000 (17:36 +0200)]
Change default novabox configuration
Michal Sojka [Sun, 3 Sep 2017 15:36:41 +0000 (17:36 +0200)]
server: Minor update to tests
Michal Sojka [Sun, 3 Sep 2017 14:27:25 +0000 (16:27 +0200)]
server: Simplify config reading
... and move it after permission checks.
Michal Sojka [Sun, 3 Sep 2017 14:22:39 +0000 (16:22 +0200)]
server: Fix handling of multi-word commands (rsync) without authorized_keys command=user...
Michal Sojka [Sun, 3 Sep 2017 08:37:29 +0000 (10:37 +0200)]
Fix reading of config files when invoked via "make -C dir"
Michal Sojka [Tue, 29 Aug 2017 21:09:08 +0000 (23:09 +0200)]
server: Use simpler detection of unset variables
Michal Sojka [Tue, 29 Aug 2017 21:08:21 +0000 (23:08 +0200)]
server: Store target configuration in a variable, not in a shell function
This will make it easier to implement the novaboot-shell in other
language, should the need arise.
Michal Sojka [Mon, 28 Aug 2017 19:21:59 +0000 (21:21 +0200)]
Properly terminate remote command even when it ignores SIGHUP
Michal Sojka [Sun, 27 Aug 2017 20:38:05 +0000 (22:38 +0200)]
Fix --iprelay-cmd regression
Michal Sojka [Sun, 27 Aug 2017 19:45:12 +0000 (21:45 +0200)]
Simplify ssh ctl path
Now, when we have novaboot PID in the file name, it is not necessary to
have target user, host and port there as well.
Michal Sojka [Sun, 27 Aug 2017 19:36:39 +0000 (21:36 +0200)]
Change reset_cmd to array
See previous commit for details.
Michal Sojka [Sun, 27 Aug 2017 19:20:15 +0000 (21:20 +0200)]
Run --ssh's console command without subshell
This requires either not putting shell special characters in $remote_cmd,
which cannot be easily ensured, because some parts are given by a user,
or turning the remote command into array. See exec in perlfun(1).
Michal Sojka [Sun, 27 Aug 2017 19:31:05 +0000 (21:31 +0200)]
Rework system_verbose() to accept string or array, similarly as system() does
Michal Sojka [Sat, 26 Aug 2017 22:30:44 +0000 (00:30 +0200)]
debian: Fix typo
Michal Sojka [Sat, 26 Aug 2017 22:30:00 +0000 (00:30 +0200)]
Do not share ssh connections across novaboot processes
Without this, when two novaboot instances were run by the same user on the
same host, killing the first one caused disconnection of the other one.
Michal Sojka [Sat, 26 Aug 2017 22:05:06 +0000 (00:05 +0200)]
Update changelog for
20170826 release
Michal Sojka [Sat, 26 Aug 2017 21:49:03 +0000 (23:49 +0200)]
server: Explicitly configure parser for remote options
It is important that we parse with 'no_pass_through'. It detects potential
security attacks.
Michal Sojka [Sat, 26 Aug 2017 20:09:31 +0000 (22:09 +0200)]
server: Fix config file template
Michal Sojka [Sat, 26 Aug 2017 20:09:11 +0000 (22:09 +0200)]
Fix derivation of prefix from --ssh
Michal Sojka [Sat, 26 Aug 2017 14:45:33 +0000 (16:45 +0200)]
server: Fix quoting of commands from config file
Michal Sojka [Sat, 26 Aug 2017 12:36:25 +0000 (14:36 +0200)]
server: Admin can get shell access
Michal Sojka [Sat, 26 Aug 2017 10:36:41 +0000 (12:36 +0200)]
server: Use flock option --no-fork only when it is available
It was introduced in util-linux 2.29.
Michal Sojka [Sat, 26 Aug 2017 09:41:40 +0000 (11:41 +0200)]
server: Give proper group to created .ssh files
Michal Sojka [Sat, 26 Aug 2017 09:41:08 +0000 (11:41 +0200)]
server: Use $HOME rather than $XDG_RUNTIME_DIR
When novaboot shell is run as a systemd service XDG_RUNTIME_DIR is not
defined.
Michal Sojka [Sat, 26 Aug 2017 09:40:04 +0000 (11:40 +0200)]
tests: Fix SSH key setup
Michal Sojka [Sat, 26 Aug 2017 06:28:39 +0000 (08:28 +0200)]
debian: Initial packaging of novaboot-server
Michal Sojka [Sat, 26 Aug 2017 06:24:42 +0000 (08:24 +0200)]
Fix and extend --ssh documentation
Michal Sojka [Fri, 25 Aug 2017 20:01:29 +0000 (22:01 +0200)]
server: Update .gitignore
Michal Sojka [Fri, 25 Aug 2017 19:51:23 +0000 (21:51 +0200)]
server: Add adduser-novaboot script
Michal Sojka [Fri, 25 Aug 2017 20:00:30 +0000 (22:00 +0200)]
server: Give configuration variables more descriptive names
Michal Sojka [Fri, 25 Aug 2017 19:50:28 +0000 (21:50 +0200)]
Move systemd files from contrib/ to server/
Also perform small modifications.
Michal Sojka [Fri, 25 Aug 2017 16:21:27 +0000 (18:21 +0200)]
server: Implement add-key command
Michal Sojka [Fri, 25 Aug 2017 15:17:25 +0000 (17:17 +0200)]
Add more tests for remote config
Michal Sojka [Fri, 25 Aug 2017 15:10:46 +0000 (17:10 +0200)]
Implement reading of configuration from remote server
Only "safe" configuration values are allowed to be sent by the server.
Michal Sojka [Fri, 25 Aug 2017 09:55:31 +0000 (11:55 +0200)]
Move handle_novaboot_server() to other place
In next commits, we will want to refer to %opt_spec variable so we need
to move the function below the definition of that variable to avoid
warnings.
Michal Sojka [Fri, 25 Aug 2017 06:16:14 +0000 (08:16 +0200)]
Add initial implementation of --ssh option to connect to novaboot-shell
Michal Sojka [Fri, 25 Aug 2017 05:54:32 +0000 (07:54 +0200)]
shell: Fix/extend rsync handling
Michal Sojka [Fri, 25 Aug 2017 05:54:01 +0000 (07:54 +0200)]
shell: Do not pre-reset on console connection
We will need a separate command (e.g. console+prereset) for that.
Michal Sojka [Fri, 25 Aug 2017 05:53:13 +0000 (07:53 +0200)]
shell: Improve error messages
Michal Sojka [Fri, 25 Aug 2017 05:17:24 +0000 (07:17 +0200)]
Rename novabot-server to novaboot-shell
Michal Sojka [Fri, 25 Aug 2017 04:42:31 +0000 (06:42 +0200)]
server: Restructure command handling
Michal Sojka [Thu, 24 Aug 2017 18:52:10 +0000 (20:52 +0200)]
Improve server tests
Michal Sojka [Thu, 24 Aug 2017 18:51:51 +0000 (20:51 +0200)]
server: Improve commens
Michal Sojka [Thu, 24 Aug 2017 18:51:35 +0000 (20:51 +0200)]
server: Distinguish between normal and admin users
Michal Sojka [Thu, 24 Aug 2017 18:48:31 +0000 (20:48 +0200)]
wvtest: Do not exit on first failure
Michal Sojka [Thu, 24 Aug 2017 13:52:42 +0000 (15:52 +0200)]
server: Add tests of username handling
... and prepare for admin user tag.
Michal Sojka [Tue, 22 Aug 2017 08:40:41 +0000 (10:40 +0200)]
tests: Update wvtool
Michal Sojka [Tue, 22 Aug 2017 08:30:20 +0000 (10:30 +0200)]
Updated version of systemd units
This is what I currently use for TX1, but it will need to be modified
to work with novaboot-server. This is planned after novaboot-server is
finished.
Michal Sojka [Tue, 22 Aug 2017 08:23:54 +0000 (10:23 +0200)]
Add initial version of novaboot-server
Michal Sojka [Wed, 10 May 2017 09:01:49 +0000 (11:01 +0200)]
Add systemd units to power-on/off the target
The idea is that whenever somebody logs as a certain user, systemd switches
the target on. After all sessions of that user are closed, systemd starts
a timer and after its expiration, the target is switched off.
Not that power-on is not always working correctly. The reason is that
we would want the novaboot-target-on@XXX.service to finish before the user
is logged. This can be achieved by adding Before= directive to it, but the
problem is that user units do have UIDs and not names, so we cannot simply
write Before=user@%i.service.
Currently, I'm not sure how to properly solve this issue so the power-on
command is commented out. Power-off, however, work correctly.
Michal Sojka [Fri, 5 May 2017 22:14:19 +0000 (00:14 +0200)]
Do not skip first argument when printing effective options
The mistake was that Perl's @ARGV is not the same as C's argv, i.e.
Perl's @ARGV does not contain command name.