# # \brief Test for TOR # \author Stefan Kalkowski # \date 2016-06-24 # # # Currently this scenario needs static network settings, # which we can only anticipate under QEMU # assert_spec x86 if {![have_include power_on/qemu]} { puts "\n Run script is not supported on this platform. \n"; exit 0 } create_boot_directory import_from_depot [depot_user]/src/[base_src] \ [depot_user]/pkg/[drivers_nic_pkg] \ [depot_user]/src/init \ [depot_user]/src/curl \ [depot_user]/src/dynamic_rom \ [depot_user]/src/fetchurl \ [depot_user]/src/libc \ [depot_user]/src/libcrypto \ [depot_user]/src/libssl \ [depot_user]/src/libssh \ [depot_user]/src/nic_router \ [depot_user]/src/posix \ [depot_user]/src/ram_fs \ [depot_user]/src/report_rom \ [depot_user]/src/rtc_drv \ [depot_user]/src/vfs_jitterentropy \ [depot_user]/src/vfs_lxip \ [depot_user]/src/vfs \ [depot_user]/src/zlib build { app/tor } install_config { SOCKSPort 10.1.2.2:9050 DataDirectory /tor 2000-01-01 00:00 01234567890123456789 } build_boot_image { libevent.lib.so tor } # # Prepare network environment # set tapdev tap0 set netdev eth0 set username $tcl_platform(user) if {[have_include power_on/qemu]} { if { [info exists ::env(TAP) ] } { set tapdev $::env(TAP) } if { [info exists ::env(ETH) ] } { set netdev $::env(ETH) } exec sudo ip tuntap add dev $tapdev mode tap user $username exec sudo ip address flush dev $tapdev exec sudo ip address add 10.1.1.1/24 dev $tapdev exec sudo iptables -t nat -A POSTROUTING -o $netdev -j MASQUERADE exec sudo iptables -A FORWARD -i $tapdev -o $netdev -j ACCEPT exec sudo iptables -A FORWARD -i $netdev -o $tapdev -m state --state RELATED,ESTABLISHED -j ACCEPT exec sudo sysctl -w net.ipv4.ip_forward=1 append qemu_args " -nographic -net nic,model=e1000 -net tap,ifname=tap0,downscript=no,script=no " } # # Execute test case # run_genode_until {.*Congratulations. This browser is configured to use Tor.*/n} 300 set serial_id [output_spawn_id] set core_pid [exp_pid -i $serial_id] exec kill -9 $core_pid # # Reset network environment again # if {[have_include power_on/qemu]} { exec sudo sysctl -w net.ipv4.ip_forward=0 >/dev/null exec sudo iptables -F exec sudo iptables -t nat -F exec sudo ip link set $tapdev down exec sudo ip address flush dev $tapdev exec sudo ip tuntap del dev $tapdev mode tap } # vi: set ft=tcl :