aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2016-04-06 10:28:04 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2016-04-06 10:28:04 -0400
commitfc5edbced21973e4309d5f77f5384f70defa0cd8 (patch)
tree747c888504e5706c5925d9e3ab0946eef29dc072
parentgrsecurity: fs.print (diff)
downloadfirejail-fc5edbced21973e4309d5f77f5384f70defa0cd8.tar.gz
firejail-fc5edbced21973e4309d5f77f5384f70defa0cd8.tar.zst
firejail-fc5edbced21973e4309d5f77f5384f70defa0cd8.zip
grsecurity: --dns.print
-rw-r--r--src/firejail/network_main.c2
-rwxr-xr-xtest/dns-print.exp21
-rwxr-xr-xtest/test.sh3
3 files changed, 26 insertions, 0 deletions
diff --git a/src/firejail/network_main.c b/src/firejail/network_main.c
index 80f3bd579..e6d5cd5d7 100644
--- a/src/firejail/network_main.c
+++ b/src/firejail/network_main.c
@@ -247,7 +247,9 @@ void net_dns_print(pid_t pid) {
247 // drop privileges - will not be able to read /etc/resolv.conf for --noroot option 247 // drop privileges - will not be able to read /etc/resolv.conf for --noroot option
248 248
249 // if the pid is that of a firejail process, use the pid of the first child process 249 // if the pid is that of a firejail process, use the pid of the first child process
250 EUID_ROOT();
250 char *comm = pid_proc_comm(pid); 251 char *comm = pid_proc_comm(pid);
252 EUID_USER();
251 if (comm) { 253 if (comm) {
252 if (strcmp(comm, "firejail") == 0) { 254 if (strcmp(comm, "firejail") == 0) {
253 pid_t child; 255 pid_t child;
diff --git a/test/dns-print.exp b/test/dns-print.exp
new file mode 100755
index 000000000..ee7b08e5e
--- /dev/null
+++ b/test/dns-print.exp
@@ -0,0 +1,21 @@
1#!/usr/bin/expect -f
2
3set timeout 10
4spawn $env(SHELL)
5match_max 100000
6
7send -- "firejail --name=test --dns=1.2.3.4\r"
8expect {
9 timeout {puts "TESTING ERROR 0\n";exit}
10 "Child process initialized"
11}
12sleep 2
13
14spawn $env(SHELL)
15send -- "firejail --dns.print=test\r"
16expect {
17 timeout {puts "TESTING ERROR 1\n";exit}
18 "nameserver 1.2.3.4"
19}
20sleep 1
21puts "\nall done\n"
diff --git a/test/test.sh b/test/test.sh
index 417d41810..d36fbcb75 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -9,6 +9,9 @@
9echo "TESTING: fs.print (fs-print.exp)" 9echo "TESTING: fs.print (fs-print.exp)"
10./fs-print.exp 10./fs-print.exp
11 11
12echo "TESTING: dns.print (dns-print.exp)"
13./dns-print.exp
14
12echo "TESTING: caps.print (caps-print.exp)" 15echo "TESTING: caps.print (caps-print.exp)"
13./caps-print.exp 16./caps-print.exp
14 17