summaryrefslogtreecommitdiffstats
path: root/src/util/find_uid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/find_uid.c')
-rw-r--r--src/util/find_uid.c54
1 files changed, 31 insertions, 23 deletions
diff --git a/src/util/find_uid.c b/src/util/find_uid.c
index 919486a9d..d0f76030d 100644
--- a/src/util/find_uid.c
+++ b/src/util/find_uid.c
@@ -74,10 +74,10 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
ret = snprintf(path, PATHLEN, "/proc/%d/status", pid);
if (ret < 0) {
- DEBUG(1, "snprintf failed");
+ DEBUG(SSSDBG_CRIT_FAILURE, "snprintf failed");
return EINVAL;
} else if (ret >= PATHLEN) {
- DEBUG(1, "path too long?!?!\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "path too long?!?!\n");
return EINVAL;
}
@@ -85,11 +85,13 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
if (fd == -1) {
error = errno;
if (error == ENOENT) {
- DEBUG(7, "Proc file [%s] is not available anymore, continuing.\n",
+ DEBUG(SSSDBG_TRACE_LIBS,
+ "Proc file [%s] is not available anymore, continuing.\n",
path);
return EOK;
}
- DEBUG(1, "open failed [%d][%s].\n", error, strerror(error));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "open failed [%d][%s].\n", error, strerror(error));
return error;
}
@@ -97,17 +99,19 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
if (ret == -1) {
error = errno;
if (error == ENOENT) {
- DEBUG(7, "Proc file [%s] is not available anymore, continuing.\n",
+ DEBUG(SSSDBG_TRACE_LIBS,
+ "Proc file [%s] is not available anymore, continuing.\n",
path);
error = EOK;
goto fail_fd;
}
- DEBUG(1, "fstat failed [%d][%s].\n", error, strerror(error));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "fstat failed [%d][%s].\n", error, strerror(error));
goto fail_fd;
}
if (!S_ISREG(stat_buf.st_mode)) {
- DEBUG(1, "not a regular file\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "not a regular file\n");
error = EINVAL;
goto fail_fd;
}
@@ -127,7 +131,8 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
ret = close(fd);
if (ret == -1) {
error = errno;
- DEBUG(1, "close failed [%d][%s].\n", error, strerror(error));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "close failed [%d][%s].\n", error, strerror(error));
}
p = strstr(buf, "\nUid:\t");
@@ -135,7 +140,7 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
p += 6;
e = strchr(p,'\t');
if (e == NULL) {
- DEBUG(1, "missing delimiter.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "missing delimiter.\n");
return EINVAL;
} else {
*e = '\0';
@@ -143,16 +148,17 @@ static errno_t get_uid_from_pid(const pid_t pid, uid_t *uid)
num = (uint32_t) strtoint32(p, &endptr, 10);
error = errno;
if (error != 0) {
- DEBUG(1, "strtol failed [%s].\n", strerror(error));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "strtol failed [%s].\n", strerror(error));
return error;
}
if (*endptr != '\0') {
- DEBUG(1, "uid contains extra characters\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "uid contains extra characters\n");
return EINVAL;
}
} else {
- DEBUG(1, "format error\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "format error\n");
return EINVAL;
}
@@ -180,12 +186,12 @@ static errno_t name_to_pid(const char *name, pid_t *pid)
}
if (*endptr != '\0') {
- DEBUG(1, "pid string contains extra characters.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "pid string contains extra characters.\n");
return EINVAL;
}
if (num <= 0 || num >= INT_MAX) {
- DEBUG(1, "pid out of range.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "pid out of range.\n");
return ERANGE;
}
@@ -214,7 +220,7 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
proc_dir = opendir("/proc");
if (proc_dir == NULL) {
ret = errno;
- DEBUG(1, "Cannot open proc dir.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "Cannot open proc dir.\n");
goto done;
};
@@ -223,13 +229,13 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
if (only_numbers(dirent->d_name) != 0) continue;
ret = name_to_pid(dirent->d_name, &pid);
if (ret != EOK) {
- DEBUG(1, "name_to_pid failed.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "name_to_pid failed.\n");
goto done;
}
ret = get_uid_from_pid(pid, &uid);
if (ret != EOK) {
- DEBUG(1, "get_uid_from_pid failed.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "get_uid_from_pid failed.\n");
goto done;
}
@@ -241,7 +247,8 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
ret = hash_enter(table, &key, &value);
if (ret != HASH_SUCCESS) {
- DEBUG(1, "cannot add to table [%s]\n", hash_error_string(ret));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "cannot add to table [%s]\n", hash_error_string(ret));
ret = ENOMEM;
goto done;
}
@@ -257,14 +264,14 @@ static errno_t get_active_uid_linux(hash_table_t *table, uid_t search_uid)
}
if (errno != 0 && dirent == NULL) {
ret = errno;
- DEBUG(1, "readdir failed.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "readdir failed.\n");
goto done;
}
ret = closedir(proc_dir);
proc_dir = NULL;
if (ret == -1) {
- DEBUG(1, "closedir failed, watch out.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "closedir failed, watch out.\n");
}
if (table != NULL) {
@@ -277,7 +284,7 @@ done:
if (proc_dir != NULL) {
err = closedir(proc_dir);
if (err) {
- DEBUG(1, "closedir failed, bad dirp?\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "closedir failed, bad dirp?\n");
}
}
return ret;
@@ -292,7 +299,8 @@ errno_t get_uid_table(TALLOC_CTX *mem_ctx, hash_table_t **table)
hash_talloc, hash_talloc_free, mem_ctx,
NULL, NULL);
if (ret != HASH_SUCCESS) {
- DEBUG(1, "hash_create_ex failed [%s]\n", hash_error_string(ret));
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "hash_create_ex failed [%s]\n", hash_error_string(ret));
return ENOMEM;
}
@@ -324,7 +332,7 @@ errno_t check_if_uid_is_active(uid_t uid, bool *result)
ret = get_active_uid_linux(NULL, uid);
if (ret != EOK && ret != ENOENT) {
- DEBUG(1, "get_uid_table failed.\n");
+ DEBUG(SSSDBG_CRIT_FAILURE, "get_uid_table failed.\n");
return ret;
}