From e4f9f36a47d5a0031bd181e77d9121fac1dd06ec Mon Sep 17 00:00:00 2001 From: netblue30 Date: Mon, 27 Feb 2023 17:50:02 -0500 Subject: random hostname by default; fix --hostname and --hosts-file --- test/private-etc/hostname.exp | 130 ++++++++++++++++++++++++++++++++++++++++ test/private-etc/hosts-file | 2 + test/private-etc/private-etc.sh | 3 + 3 files changed, 135 insertions(+) create mode 100755 test/private-etc/hostname.exp create mode 100644 test/private-etc/hosts-file (limited to 'test/private-etc') diff --git a/test/private-etc/hostname.exp b/test/private-etc/hostname.exp new file mode 100755 index 000000000..791445d49 --- /dev/null +++ b/test/private-etc/hostname.exp @@ -0,0 +1,130 @@ +#!/usr/bin/expect -f +# This file is part of Firejail project +# Copyright (C) 2014-2023 Firejail Authors +# License GPL v2 + +set timeout 10 +spawn $env(SHELL) +match_max 100000 + +send -- "firejail --hostname=foo cat /etc/hostname\r" +expect { + timeout {puts "TESTING ERROR 0\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 0.1\n";exit} + "foo" +} +sleep 1 + +send -- "firejail --hostname=foo --private-etc cat /etc/hostname\r" +expect { + timeout {puts "TESTING ERROR 1\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 1.1\n";exit} + "foo" +} +sleep 1 + +send -- "firejail --hosts-file=hosts-file cat /etc/hosts\r" +expect { + timeout {puts "TESTING ERROR 2\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 2.1\n";exit} + "blablabla" +} +sleep 1 + +send -- "firejail --hosts-file=hosts-file --private-etc cat /etc/hosts\r" +expect { + timeout {puts "TESTING ERROR 3\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 3.1\n";exit} + "blablabla" +} +sleep 1 + +send -- "firejail --hosts-file=hosts-file --hostname=foo cat /etc/hosts\r" +expect { + timeout {puts "TESTING ERROR 4\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 4.1\n";exit} + "foo" +} +expect { + timeout {puts "TESTING ERROR 4.2\n";exit} + "blablabla" +} +sleep 1 + +send -- "firejail --hosts-file=hosts-file --hostname=foo --private-etc cat /etc/hosts\r" +expect { + timeout {puts "TESTING ERROR 5\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 5.1\n";exit} + "foo" +} +expect { + timeout {puts "TESTING ERROR 5.2\n";exit} + "blablabla" +} +sleep 1 + +# ping test +send -- "firejail --hostname=foo --private-etc ping -c 3 foo\r" +expect { + timeout {puts "TESTING ERROR 6\n";exit} + "3 packets transmitted, 3 received" +} +sleep 1 + +send -- "firejail --hosts-file=hosts-file --private-etc ping -c 3 blablabla\r" +expect { + timeout {puts "TESTING ERROR 7\n";exit} + "3 packets transmitted, 3 received" +} +sleep 1 + +# random hostname +send -- "firejail cat /etc/hostname\r" +expect { + timeout {puts "TESTING ERROR 8\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 8.1\n";exit} + "hiko" {puts "1"} + "suke" {puts "2"} + "shi" {puts "3"} + "ro" {puts "4"} + "hito" {puts "5"} + "ka" {puts "6"} +} +sleep 1 + +# run /bin/hostname +send -- "firejail --noblacklist=/usr/bin/hostname --noblacklist=/bin/hostname --hostname=foo /usr/bin/hostname\r" +expect { + timeout {puts "TESTING ERROR 9\n";exit} + "Child process initialized" +} +expect { + timeout {puts "TESTING ERROR 9.1\n";exit} + "foo" +} + + +after 500 +puts "all done\n" + diff --git a/test/private-etc/hosts-file b/test/private-etc/hosts-file new file mode 100644 index 000000000..1fb39596a --- /dev/null +++ b/test/private-etc/hosts-file @@ -0,0 +1,2 @@ +127.0.0.1 debian +127.5.5.5 blablabla diff --git a/test/private-etc/private-etc.sh b/test/private-etc/private-etc.sh index c46b684af..0dd61cb82 100755 --- a/test/private-etc/private-etc.sh +++ b/test/private-etc/private-etc.sh @@ -18,3 +18,6 @@ echo "TESTING: groups (test/private-etc/groups.exp)" echo "TESTING: etc-cleanup (test/private-etc/etc-cleanup.exp)" ./etc-cleanup.exp + +echo "TESTING: hostname (test/private-etc/hostname.exp)" +./hostname.exp -- cgit v1.2.3-70-g09d2