procps/testsuite/sysctl.test/sysctl_read.exp
Craig Small db4455cfc9 testsuite: Add test for previous sysctl change
Add a check for path traversal to sysctl.

References:
 commit f25d462166

Signed-off-by: Craig Small <csmall@dropbear.xyz>
2021-07-20 22:45:17 +10:00

30 lines
992 B
Plaintext

#
# Dejagnu tests for sysctl (read only) - part of procps
#
set sysctl ${topdir}sysctl
set hostname [ exec cat "/proc/sys/kernel/hostname" ]
set test "sysctl with no arguments"
spawn $sysctl
expect_pass "$test" "^\\s+Usage:\\s+\(lt-\)?sysctl \\\[options\\\] \\\[variable\\\[=value\\\] \.\.\.\\\]"
set test "sysctl reading a variable using slash delimiter"
spawn $sysctl kernel/hostname
expect_pass "$test" "kernel.hostname = ${hostname}"
set test "sysctl reading a variable using dot delimiter"
spawn $sysctl kernel.hostname
expect_pass "$test" "kernel.hostname = ${hostname}"
set test "sysctl reading a variable suppress key"
spawn $sysctl -n kernel.hostname
expect_pass "$test" "${hostname}"
set test "sysctl reading a variable suppress value"
spawn $sysctl -N kernel.hostname
expect_pass "$test" "kernel.hostname"
set test "sysctl reading using a path traversal"
spawn $sysctl /../../etc/passwd
expect_pass "$test" "sysctl: Path is not under /proc/sys/: /proc/sys//../../etc/passwd"