113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <unistd.h> 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stdio.h> 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stdlib.h> 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <selinux/selinux.h> 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 685cfd2fe2e7fc351e631cf622a3ddbdf2bbea17eEric Parisint main(int argc __attribute__ ((unused)), 785cfd2fe2e7fc351e631cf622a3ddbdf2bbea17eEric Paris char **argv __attribute__ ((unused))) 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle int rc; 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle rc = is_selinux_enabled(); 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle if (rc < 0) { 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle fputs("getenforce: is_selinux_enabled() failed", stderr); 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return 2; 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle } 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle if (rc == 1) { 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle rc = security_getenforce(); 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle if (rc < 0) { 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle fputs("getenforce: getenforce() failed", stderr); 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return 2; 2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle } 2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle if (rc) 2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle puts("Enforcing"); 2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle else 2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle puts("Permissive"); 2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle } else { 2813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle puts("Disabled"); 2913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle } 3013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return 0; 3213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 33