|
@@ -89,15 +89,19 @@ void run(const char *cmd) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-int write_config_file(char *file_name) {
|
|
|
+int write_config_file(char *file_name, int banned) {
|
|
|
FILE *file;
|
|
|
file = fopen(file_name, "w");
|
|
|
if (file == NULL) {
|
|
|
printf("Failed to open %s.\n", file_name);
|
|
|
return EXIT_FAILURE;
|
|
|
}
|
|
|
- fprintf(file, "banned.users=bannedUser\n");
|
|
|
- fprintf(file, "min.user.id=500\n");
|
|
|
+ if (banned != 0) {
|
|
|
+ fprintf(file, "banned.users=bannedUser\n");
|
|
|
+ fprintf(file, "min.user.id=500\n");
|
|
|
+ } else {
|
|
|
+ fprintf(file, "min.user.id=0\n");
|
|
|
+ }
|
|
|
fprintf(file, "allowed.system.users=allowedUser,daemon\n");
|
|
|
fclose(file);
|
|
|
return 0;
|
|
@@ -385,7 +389,7 @@ void test_delete_user() {
|
|
|
|
|
|
char buffer[100000];
|
|
|
sprintf(buffer, "%s/test.cfg", app_dir);
|
|
|
- if (write_config_file(buffer) != 0) {
|
|
|
+ if (write_config_file(buffer, 1) != 0) {
|
|
|
exit(1);
|
|
|
}
|
|
|
|
|
@@ -745,7 +749,7 @@ int main(int argc, char **argv) {
|
|
|
exit(1);
|
|
|
}
|
|
|
|
|
|
- if (write_config_file(TEST_ROOT "/test.cfg") != 0) {
|
|
|
+ if (write_config_file(TEST_ROOT "/test.cfg", 1) != 0) {
|
|
|
exit(1);
|
|
|
}
|
|
|
read_config(TEST_ROOT "/test.cfg");
|
|
@@ -817,6 +821,16 @@ int main(int argc, char **argv) {
|
|
|
seteuid(0);
|
|
|
// test_delete_user must run as root since that's how we use the delete_as_user
|
|
|
test_delete_user();
|
|
|
+ free_configurations();
|
|
|
+
|
|
|
+ printf("\nTrying banned default user()\n");
|
|
|
+ if (write_config_file(TEST_ROOT "/test.cfg", 0) != 0) {
|
|
|
+ exit(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ read_config(TEST_ROOT "/test.cfg");
|
|
|
+ username = "bin";
|
|
|
+ test_check_user();
|
|
|
|
|
|
run("rm -fr " TEST_ROOT);
|
|
|
printf("\nFinished tests\n");
|