fixes to commit 847d27b8385ce77ac71df8aa58a2d298b33d1ea4
- implicit declaration of semanage_module_enabled() - added nicer error messages when disabling or enabling modules already disabled or enabled - fix comment Signed-off-by: Joshua Brindle <method@manicmethod.com>
This commit is contained in:
parent
654dcb897e
commit
c1323f22c7
2 changed files with 29 additions and 17 deletions
|
@ -1304,8 +1304,14 @@ static int semanage_direct_enable(semanage_handle_t * sh, char *module_name)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
base++;
|
base++;
|
||||||
if (memcmp(module_name, base, name_len) == 0 &&
|
if (memcmp(module_name, base, name_len) == 0) {
|
||||||
strcmp(base + name_len + 3, DISABLESTR) == 0) {
|
|
||||||
|
if(strcmp(base + name_len + 3, DISABLESTR) != 0) {
|
||||||
|
ERR(sh, "Module %s is already enabled.", module_name);
|
||||||
|
retval = -2;
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
int len = strlen(module_filenames[i]) - strlen(DISABLESTR);
|
int len = strlen(module_filenames[i]) - strlen(DISABLESTR);
|
||||||
char *enabled_name = calloc(1, len+1);
|
char *enabled_name = calloc(1, len+1);
|
||||||
if (!enabled_name) {
|
if (!enabled_name) {
|
||||||
|
@ -1336,7 +1342,7 @@ static int semanage_direct_enable(semanage_handle_t * sh, char *module_name)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enables a module from the sandbox. Returns 0 on success, -1 if out
|
/* Disables a module from the sandbox. Returns 0 on success, -1 if out
|
||||||
* of memory, -2 if module not found or could not be enabled. */
|
* of memory, -2 if module not found or could not be enabled. */
|
||||||
static int semanage_direct_disable(semanage_handle_t * sh, char *module_name)
|
static int semanage_direct_disable(semanage_handle_t * sh, char *module_name)
|
||||||
{
|
{
|
||||||
|
@ -1356,8 +1362,12 @@ static int semanage_direct_disable(semanage_handle_t * sh, char *module_name)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
base++;
|
base++;
|
||||||
if (memcmp(module_name, base, name_len) == 0 &&
|
if (memcmp(module_name, base, name_len) == 0) {
|
||||||
strcmp(base + name_len, ".pp") == 0) {
|
if (strcmp(base + name_len + 3, DISABLESTR) == 0) {
|
||||||
|
ERR(sh, "Module %s is already disabled.", module_name);
|
||||||
|
retval = -2;
|
||||||
|
goto cleanup;
|
||||||
|
} else if (strcmp(base + name_len, ".pp") == 0) {
|
||||||
char disabled_name[PATH_MAX];
|
char disabled_name[PATH_MAX];
|
||||||
if (snprintf(disabled_name, PATH_MAX, "%s%s",
|
if (snprintf(disabled_name, PATH_MAX, "%s%s",
|
||||||
module_filenames[i], DISABLESTR) == PATH_MAX) {
|
module_filenames[i], DISABLESTR) == PATH_MAX) {
|
||||||
|
@ -1375,6 +1385,7 @@ static int semanage_direct_disable(semanage_handle_t * sh, char *module_name)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ERR(sh, "Module %s was not found.", module_name);
|
ERR(sh, "Module %s was not found.", module_name);
|
||||||
retval = -2; /* module not found */
|
retval = -2; /* module not found */
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
|
@ -84,6 +84,7 @@ int semanage_make_sandbox(semanage_handle_t * sh);
|
||||||
int semanage_get_modules_names(semanage_handle_t * sh,
|
int semanage_get_modules_names(semanage_handle_t * sh,
|
||||||
char ***filenames, int *len);
|
char ***filenames, int *len);
|
||||||
|
|
||||||
|
int semanage_module_enabled(const char *file);
|
||||||
/* lock file routines */
|
/* lock file routines */
|
||||||
int semanage_get_trans_lock(semanage_handle_t * sh);
|
int semanage_get_trans_lock(semanage_handle_t * sh);
|
||||||
int semanage_get_active_lock(semanage_handle_t * sh);
|
int semanage_get_active_lock(semanage_handle_t * sh);
|
||||||
|
|
Loading…
Reference in a new issue