void cfg_dir_owner_set(GlobalConfig *self, gchar *owner) { if (!resolve_user(owner, &self->dir_uid)) msg_error("Error resolving user", evt_tag_str("user", owner), NULL); }
void afunix_sd_set_uid(LogDriver *s, gchar *owner) { AFUnixSourceDriver *self = (AFUnixSourceDriver *) s; if (!resolve_user(owner, &self->owner)) msg_error("Error resolving username", evt_tag_str("owner", owner), NULL); }
void file_perm_options_set_dir_uid(FilePermOptions *self, const gchar *dir_uid) { self->dir_uid = 0; if (!resolve_user(dir_uid, &self->dir_uid)) { msg_error("Error resolving user", evt_tag_str("user", dir_uid)); } }
static void g_process_resolve_names(void) { if (process_opts.user && !resolve_user(process_opts.user, &process_opts.uid)) { g_process_message("Error resolving user; user='******'", process_opts.user); process_opts.uid = -1; } if (process_opts.group && !resolve_group(process_opts.group, &process_opts.gid)) { g_process_message("Error resolving group; group='%s'", process_opts.group); process_opts.gid = -1; } }
gboolean resolve_user_group(char *arg, gint *uid, gint *gid) { char *user, *group; *uid = 0; user = strtok(arg, ":."); group = strtok(NULL, ""); if (user && !resolve_user(user, uid)) return FALSE; if (group && !resolve_group(group, gid)) return FALSE; return TRUE; }