diff options
Diffstat (limited to 'src/util/find_uid.c')
-rw-r--r-- | src/util/find_uid.c | 54 |
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; } |