(empty log message)
@@ -112,8 +112,10 @@ | ||
112 | 112 | show_result(sysctl(name, 3, 0, 0, buffer, size)); |
113 | 113 | } |
114 | 114 | |
115 | - show_prompt("uselib()"); | |
116 | - show_result(uselib("/tmp/uselib")); | |
115 | + if (uselib("/") != EOF || errno != ENOSYS) { | |
116 | + show_prompt("uselib()"); | |
117 | + show_result(uselib("/tmp/uselib")); | |
118 | + } | |
117 | 119 | |
118 | 120 | { |
119 | 121 | int pipe_fd[2] = { EOF, EOF }; |
@@ -182,12 +182,14 @@ | ||
182 | 182 | show_result(sysctl(name, 3, buffer, &size, buffer, size), 0); |
183 | 183 | } |
184 | 184 | |
185 | - policy = "file read /tmp/uselib " | |
186 | - "path1.uid=0 path1.parent.uid=0 10=10-100"; | |
187 | - write_domain_policy(policy, 0); | |
188 | - show_result(uselib("/tmp/uselib"), 1); | |
189 | - write_domain_policy(policy, 1); | |
190 | - show_result(uselib("/tmp/uselib"), 0); | |
185 | + if (uselib("/") != EOF || errno != ENOSYS) { | |
186 | + policy = "file read /tmp/uselib " | |
187 | + "path1.uid=0 path1.parent.uid=0 10=10-100"; | |
188 | + write_domain_policy(policy, 0); | |
189 | + show_result(uselib("/tmp/uselib"), 1); | |
190 | + write_domain_policy(policy, 1); | |
191 | + show_result(uselib("/tmp/uselib"), 0); | |
192 | + } | |
191 | 193 | |
192 | 194 | policy = "file write /dev/null"; |
193 | 195 | fd = open("/dev/null", O_WRONLY); |
@@ -99,7 +99,9 @@ | ||
99 | 99 | static void stage_file_test(void) |
100 | 100 | { |
101 | 101 | int fd; |
102 | - { | |
102 | + static int version_name[] = { CTL_KERN, KERN_VERSION }; | |
103 | + if (sysctl(version_name, 2, NULL, NULL, 0, 0) != EOF || | |
104 | + errno != ENOSYS) { | |
103 | 105 | static int name[] = { CTL_NET, NET_IPV4, |
104 | 106 | NET_IPV4_LOCAL_PORT_RANGE }; |
105 | 107 | int buffer[2] = { 32768, 61000 }; |
@@ -110,8 +112,10 @@ | ||
110 | 112 | show_result(sysctl(name, 3, 0, 0, buffer, size)); |
111 | 113 | } |
112 | 114 | |
113 | - show_prompt("uselib()"); | |
114 | - show_result(uselib("/tmp/uselib")); | |
115 | + if (uselib("/") != EOF || errno != ENOSYS) { | |
116 | + show_prompt("uselib()"); | |
117 | + show_result(uselib("/tmp/uselib")); | |
118 | + } | |
115 | 119 | |
116 | 120 | { |
117 | 121 | int pipe_fd[2] = { EOF, EOF }; |
@@ -113,6 +113,7 @@ | ||
113 | 113 | |
114 | 114 | static void stage_file_test(void) |
115 | 115 | { |
116 | + static int version_name[] = { CTL_KERN, KERN_VERSION }; | |
116 | 117 | static int name[] = { CTL_NET, NET_IPV4, NET_IPV4_LOCAL_PORT_RANGE }; |
117 | 118 | int buffer[2] = { 32768, 61000 }; |
118 | 119 | size_t size = sizeof(buffer); |
@@ -149,41 +150,46 @@ | ||
149 | 150 | set_profile(3, "file::unmount"); |
150 | 151 | set_profile(3, "file::pivot_root"); |
151 | 152 | |
152 | - policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
153 | - "task.uid=0 task.gid=0"; | |
154 | - write_domain_policy(policy, 0); | |
155 | - show_result(sysctl(name, 3, buffer, &size, 0, 0), 1); | |
156 | - write_domain_policy(policy, 1); | |
157 | - show_result(sysctl(name, 3, buffer, &size, 0, 0), 0); | |
153 | + if (sysctl(version_name, 2, NULL, NULL, 0, 0) != EOF || | |
154 | + errno != ENOSYS) { | |
155 | + policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
156 | + "task.uid=0 task.gid=0"; | |
157 | + write_domain_policy(policy, 0); | |
158 | + show_result(sysctl(name, 3, buffer, &size, 0, 0), 1); | |
159 | + write_domain_policy(policy, 1); | |
160 | + show_result(sysctl(name, 3, buffer, &size, 0, 0), 0); | |
158 | 161 | |
159 | - policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
160 | - "task.euid=0 0=0 1-100=10-1000"; | |
161 | - write_domain_policy(policy, 0); | |
162 | - show_result(sysctl(name, 3, 0, 0, buffer, size), 1); | |
163 | - write_domain_policy(policy, 1); | |
164 | - show_result(sysctl(name, 3, 0, 0, buffer, size), 0); | |
162 | + policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
163 | + "task.euid=0 0=0 1-100=10-1000"; | |
164 | + write_domain_policy(policy, 0); | |
165 | + show_result(sysctl(name, 3, 0, 0, buffer, size), 1); | |
166 | + write_domain_policy(policy, 1); | |
167 | + show_result(sysctl(name, 3, 0, 0, buffer, size), 0); | |
165 | 168 | |
166 | - policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
167 | - "1!=10-100"; | |
168 | - write_domain_policy(policy, 0); | |
169 | - policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
170 | - "1!=10-100"; | |
171 | - write_domain_policy(policy, 0); | |
172 | - show_result(sysctl(name, 3, buffer, &size, buffer, size), 1); | |
173 | - policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
174 | - "1!=10-100"; | |
175 | - write_domain_policy(policy, 1); | |
176 | - policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
177 | - "1!=10-100"; | |
178 | - write_domain_policy(policy, 1); | |
179 | - show_result(sysctl(name, 3, buffer, &size, buffer, size), 0); | |
169 | + policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
170 | + "1!=10-100"; | |
171 | + write_domain_policy(policy, 0); | |
172 | + policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
173 | + "1!=10-100"; | |
174 | + write_domain_policy(policy, 0); | |
175 | + show_result(sysctl(name, 3, buffer, &size, buffer, size), 1); | |
176 | + policy = "file read proc:/sys/net/ipv4/ip_local_port_range " | |
177 | + "1!=10-100"; | |
178 | + write_domain_policy(policy, 1); | |
179 | + policy = "file write proc:/sys/net/ipv4/ip_local_port_range " | |
180 | + "1!=10-100"; | |
181 | + write_domain_policy(policy, 1); | |
182 | + show_result(sysctl(name, 3, buffer, &size, buffer, size), 0); | |
183 | + } | |
180 | 184 | |
181 | - policy = "file read /tmp/uselib " | |
182 | - "path1.uid=0 path1.parent.uid=0 10=10-100"; | |
183 | - write_domain_policy(policy, 0); | |
184 | - show_result(uselib("/tmp/uselib"), 1); | |
185 | - write_domain_policy(policy, 1); | |
186 | - show_result(uselib("/tmp/uselib"), 0); | |
185 | + if (uselib("/") != EOF || errno != ENOSYS) { | |
186 | + policy = "file read /tmp/uselib " | |
187 | + "path1.uid=0 path1.parent.uid=0 10=10-100"; | |
188 | + write_domain_policy(policy, 0); | |
189 | + show_result(uselib("/tmp/uselib"), 1); | |
190 | + write_domain_policy(policy, 1); | |
191 | + show_result(uselib("/tmp/uselib"), 0); | |
192 | + } | |
187 | 193 | |
188 | 194 | policy = "file write /dev/null"; |
189 | 195 | fd = open("/dev/null", O_WRONLY); |