aboutsummaryrefslogtreecommitdiffstats
path: root/test/filters/fseccomp.exp
blob: 4d876df08932c53ef826f891f96ee90c3b1e74cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/expect -f
# This file is part of Firejail project
# Copyright (C) 2014-2017 Firejail Authors
# License GPL v2

set timeout 10
spawn $env(SHELL)
match_max 100000

after 100
send -- "/usr/lib/firejail/fseccomp debug-syscalls\r"
expect {
	timeout {puts "TESTING ERROR 1\n";exit}
	"1	- write"
}

after 100
send -- "/usr/lib/firejail/fseccomp debug-errnos\r"
expect {
	timeout {puts "TESTING ERROR 2\n";exit}
	"1	- EPERM"
}

after 100
send -- "/usr/lib/firejail/fseccomp debug-protocols\r"
expect {
	timeout {puts "TESTING ERROR 3\n";exit}
	"unix, inet, inet6, netlink, packet,"
}

after 100
send -- "/usr/lib/firejail/fseccomp protocol build unix,inet seccomp-test-file\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 4.1\n";exit}
	"WHITELIST 41 socket"
}

after 100
send -- "/usr/lib/firejail/fseccomp secondary 64 seccomp-test-file\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 5.1\n";exit}
	"BLACKLIST 165 mount"
}
expect {
	timeout {puts "TESTING ERROR 5.2\n";exit}
	"BLACKLIST 166 umount2"
}
expect {
	timeout {puts "TESTING ERROR 5.3\n";exit}
	"RETURN_ALLOW"
}

after 100
send -- "/usr/lib/firejail/fseccomp default seccomp-test-file\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 6.1\n";exit}
	"BLACKLIST 165 mount"
}
expect {
	timeout {puts "TESTING ERROR 6.2\n";exit}
	"BLACKLIST 166 umount2"
}
expect {
	timeout {puts "TESTING ERROR 6.3\n";exit}
	"RETURN_ALLOW"
}

after 100
send -- "/usr/lib/firejail/fseccomp drop seccomp-test-file chmod,chown\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 7.1\n";exit}
	"BLACKLIST 165 mount" {puts "TESTING ERROR 7.2\n";exit}
	"BLACKLIST 166 umount2" {puts "TESTING ERROR 7.3\n";exit}
	"BLACKLIST 90 chmod"
}
expect {
	timeout {puts "TESTING ERROR 7.4\n";exit}
	"BLACKLIST 92 chown"
}
expect {
	timeout {puts "TESTING ERROR 7.5\n";exit}
	"RETURN_ALLOW"
}

after 100
send -- "/usr/lib/firejail/fseccomp default drop seccomp-test-file chmod,chown\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 8.1\n";exit}
	"BLACKLIST 165 mount"
}
expect {
	timeout {puts "TESTING ERROR 8.2\n";exit}
	"BLACKLIST 166 umount2"
}
expect {
	timeout {puts "TESTING ERROR 8.3\n";exit}
	"BLACKLIST 90 chmod"
}
expect {
	timeout {puts "TESTING ERROR 8.4\n";exit}
	"BLACKLIST 92 chown"
}
expect {
	timeout {puts "TESTING ERROR 8.5\n";exit}
	"RETURN_ALLOW"
}
after 100
send -- "/usr/lib/firejail/fseccomp keep seccomp-test-file chmod,chown\r"
after 100
send -- "/usr/lib/firejail/fseccomp print seccomp-test-file\r"
expect {
	timeout {puts "TESTING ERROR 9.1\n";exit}
	"WHITELIST 90 chmod"
}
expect {
	timeout {puts "TESTING ERROR 9.2\n";exit}
	"WHITELIST 92 chown"
}
expect {
	timeout {puts "TESTING ERROR 9.3\n";exit}
	"KILL_PROCESS"
}



after 100
puts "\nall done\n"