#!/usr/bin/expect -f # This file is part of Firejail project # Copyright (C) 2014-2020 Firejail Authors # License GPL v2 set timeout 10 spawn $env(SHELL) match_max 100000 # check ip address send -- "firejail --noprofile --net=br-unconfigured --ip=none\r" expect { timeout {puts "TESTING ERROR 0\n";exit} "eth0" {puts "TESTING ERROR 1\n";exit} "Child process initialized" } sleep 1 send -- "bash\r" sleep 1 send -- "stty -echo\r" after 100 # no default gateway configured send -- "netstat -rn;echo done\r" expect { timeout {puts "TESTING ERROR 2\n";exit} "0.0.0.0" {puts "TESTING ERROR 3\n";exit} "eth0" {puts "TESTING ERROR 4\n";exit} "done" } sleep 1 # eth0 configured send -- "/sbin/ifconfig;echo done\r" expect { timeout {puts "TESTING ERROR 5\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 6\n";exit} "done" } send -- "exit\r" after 100 send -- "exit\r" after 100 # check ip address send -- "firejail --noprofile --net=br-unconfigured\r" expect { timeout {puts "TESTING ERROR 7\n";exit} "eth0" {puts "TESTING ERROR 8\n";exit} "Child process initialized" } sleep 1 send -- "bash\r" sleep 1 send -- "stty -echo\r" after 100 # no default gateway configured send -- "netstat -rn;echo done\r" expect { timeout {puts "TESTING ERROR 9\n";exit} "0.0.0.0" {puts "TESTING ERROR 10\n";exit} "eth0" {puts "TESTING ERROR 11\n";exit} "done" } sleep 1 # eth0 configured send -- "/sbin/ifconfig;echo done\r" expect { timeout {puts "TESTING ERROR 12\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 13\n";exit} "done" } send -- "exit\r" after 100 send -- "exit\r" after 100 # check ip address send -- "firejail --noprofile --net=br-unconfigured --defaultgw=10.10.80.1\r" expect { timeout {puts "TESTING ERROR 14\n";exit} "eth0" {puts "TESTING ERROR 15\n";exit} "Child process initialized" } sleep 1 send -- "bash\r" sleep 1 send -- "stty -echo\r" after 100 # no default gateway configured send -- "netstat -rn;echo done\r" expect { timeout {puts "TESTING ERROR 16\n";exit} "0.0.0.0" {puts "TESTING ERROR 17\n";exit} "eth0" {puts "TESTING ERROR 18\n";exit} "done" } sleep 1 # eth0 configured send -- "/sbin/ifconfig;echo done\r" expect { timeout {puts "TESTING ERROR 19\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 20\n";exit} "done" } send -- "exit\r" after 100 send -- "exit\r" after 100 # check ip address send -- "firejail --noprofile --net=br-unconfigured --ip=10.10.80.1 --defaultgw=10.10.80.1\r" expect { timeout {puts "TESTING ERROR 21\n";exit} "eth0" {puts "TESTING ERROR 22\n";exit} "Child process initialized" } sleep 1 send -- "bash\r" sleep 1 send -- "stty -echo\r" after 100 # no default gateway configured send -- "netstat -rn;echo done\r" expect { timeout {puts "TESTING ERROR 23\n";exit} "0.0.0.0" {puts "TESTING ERROR 24\n";exit} "eth0" {puts "TESTING ERROR 25\n";exit} "done" } sleep 1 # eth0 configured send -- "/sbin/ifconfig;echo done\r" expect { timeout {puts "TESTING ERROR 26\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 27\n";exit} "done" } send -- "exit\r" after 100 send -- "exit\r" after 100 # check ip address send -- "firejail --noprofile --net=br-unconfigured --ip=10.10.80.1 --netmask=255.255.255.0 --defaultgw=10.10.80.1\r" expect { timeout {puts "TESTING ERROR 28\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 29\n";exit} "10.10.80.1" } expect { timeout {puts "TESTING ERROR 30\n";exit} "Child process initialized" } sleep 1 send -- "bash\r" sleep 1 send -- "stty -echo\r" after 100 # no default gateway configured send -- "netstat -rn;echo done\r" expect { timeout {puts "TESTING ERROR 31\n";exit} "0.0.0.0" } expect { timeout {puts "TESTING ERROR 32\n";exit} "10.10.80.1" } expect { timeout {puts "TESTING ERROR 33\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 34\n";exit} "10.10.80.0" } expect { timeout {puts "TESTING ERROR 35\n";exit} "0.0.0.0" } expect { timeout {puts "TESTING ERROR 36\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 37\n";exit} "done" } sleep 1 # eth0 configured send -- "/sbin/ifconfig;echo done\r" expect { timeout {puts "TESTING ERROR 38\n";exit} "eth0" } expect { timeout {puts "TESTING ERROR 39\n";exit} "10.10.80.1" } expect { timeout {puts "TESTING ERROR 40\n";exit} "done" } send -- "exit\r" after 100 send -- "exit\r" after 100 puts "all done\n"