diff options
Diffstat (limited to 'src/sbus')
-rw-r--r-- | src/sbus/sbus_client.c | 3 | ||||
-rw-r--r-- | src/sbus/sssd_dbus_server.c | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/sbus/sbus_client.c b/src/sbus/sbus_client.c index 41cada5a1..6cf5002dc 100644 --- a/src/sbus/sbus_client.c +++ b/src/sbus/sbus_client.c @@ -45,7 +45,8 @@ int sbus_client_init(TALLOC_CTX *mem_ctx, return EIO; } - ret = check_file(filename, 0, 0, 0600, CHECK_SOCK, NULL, true); + ret = check_file(filename, + 0, 0, S_IFSOCK|S_IRUSR|S_IWUSR, 0, NULL, true); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "check_file failed for [%s].\n", filename); return EIO; diff --git a/src/sbus/sssd_dbus_server.c b/src/sbus/sssd_dbus_server.c index 39c315da5..3a7de8ff0 100644 --- a/src/sbus/sssd_dbus_server.c +++ b/src/sbus/sssd_dbus_server.c @@ -249,15 +249,16 @@ int sbus_new_server(TALLOC_CTX *mem_ctx, /* Both check_file and chmod can handle both the symlink and * the socket */ - ret = check_file(filename, getuid(), getgid(), -1, CHECK_SOCK, &stat_buf, true); + ret = check_file(filename, + getuid(), getgid(), S_IFSOCK, S_IFMT, &stat_buf, true); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "check_file failed for [%s].\n", filename); ret = EIO; goto done; } - if ((stat_buf.st_mode & ~S_IFMT) != 0600) { - ret = chmod(filename, 0600); + if ((stat_buf.st_mode & ~S_IFMT) != (S_IRUSR|S_IWUSR)) { + ret = chmod(filename, (S_IRUSR|S_IWUSR)); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "chmod failed for [%s]: [%d][%s].\n", filename, errno, |