]> rtime.felk.cvut.cz Git - novaboot.git/commitdiff
server: Ensure that configuration can depend on logged-in user name
authorMichal Sojka <michal.sojka@cvut.cz>
Sun, 17 Nov 2019 15:44:23 +0000 (16:44 +0100)
committerMichal Sojka <michal.sojka@cvut.cz>
Sun, 17 Nov 2019 15:44:23 +0000 (16:44 +0100)
server/novaboot-shell
tests/server.wv

index bc9278c66faa842be54c62523cda31bcde8dc909..52c70e47b95fe71e96fdbf68f677cfd981ee4275 100755 (executable)
@@ -125,7 +125,7 @@ main() {
     NB_ADMIN=
     if [ "$1" = "user" ]; then
        # Get user name encoded in ~/.ssh/authorized_keys
-       NB_USER="$2";
+       export NB_USER="$2";
        [ "$3" = "admin" ] && NB_ADMIN=1
        set -- $SSH_ORIGINAL_COMMAND
     fi
index 1c90891d7dfdc7f748879a899168ccdbc82b0555..94fab884db03a489ba41b013e3b98cd3b6512341 100755 (executable)
@@ -103,6 +103,15 @@ WVSTART "Quoting of config variables"
     WVPASS test -e '"file1 file2"'
 )
 
+WVSTART "Config variables can depend on user name"
+(
+    export NOVABOOT_SHELL_CONFIG="./.novaboot-shell"
+
+    WVPASS tee "$NOVABOOT_SHELL_CONFIG" <<<'console_cmd="echo Hello $NB_USER"'
+    username=asdf WVPASS run_server console | tee /dev/stderr | WVPASS grep -F "Hello asdf"
+    username=qwer WVPASS run_server console | tee /dev/stderr | WVPASS grep -F "Hello qwer"
+)
+
 SHELLRC="$NBT_HOME/.novaboot-shell"
 TFTPROOT="$NBT_HOME/tftproot"
 AUTH="$NBT_HOME/.ssh/authorized_keys"