userinfo
userinfo(pn, pw);
void userinfo(PERSON *, struct passwd *);
recode_credentials(const char *userinfo)
ui = urldecode(userinfo);
recode_credentials(const char *userinfo)
ui = url_decode(userinfo);
struct userinfo newui;
struct userinfo uistore, *ui = &uistore;
memcpy(ui, data.data, sizeof(struct userinfo));
ret = lka_userinfo(tablename, username, &userinfo);
m_add_data(p, &userinfo, sizeof(userinfo));
static int lka_userinfo(const char *, const char *, struct userinfo *);
struct userinfo userinfo;
lka_userinfo(const char *tablename, const char *username, struct userinfo *res)
*res = lk.userinfo;
xn->realuser_uid = lk.userinfo.uid;
(void)strlcpy(fwreq.user, lk.userinfo.username, sizeof(fwreq.user));
(void)strlcpy(fwreq.directory, lk.userinfo.directory, sizeof(fwreq.directory));
fwreq.uid = lk.userinfo.uid;
fwreq.gid = lk.userinfo.gid;
if (sz != sizeof(u->userinfo))
memmove(&u->userinfo, data, sz);
deliver.userinfo = s->user->userinfo;
struct userinfo userinfo;
sender, deliver->userinfo.username, (char *)NULL, envp);
_PATH_MAILDIR, deliver->userinfo.username);
if (fchown(fd, deliver->userinfo.uid, deliver->userinfo.gid) == -1)
&deliver->userinfo, NULL) == -1)
xasprintf(&mda_environ[idx++], "LOGNAME=%s", deliver->userinfo.username);
xasprintf(&mda_environ[idx++], "USER=%s", deliver->userinfo.username);
&deliver->userinfo, mda_command) == -1)
const struct userinfo *ui, const char *mda_command)
const struct userinfo *, const char *);
const struct deliver *, const struct userinfo *, const char *);
const struct deliver *dlv, const struct userinfo *ui, const char *mda_command)
": %s as %s", id, deliver->userinfo.username,
dsp->u.local.user ? dsp->u.local.user : deliver->userinfo.username);
pw_name = deliver->userinfo.username;
pw_uid = deliver->userinfo.uid;
pw_gid = deliver->userinfo.gid;
pw_dir = deliver->userinfo.directory;
deliver->userinfo.username);
const struct userinfo *, const char *);
struct userinfo userinfo;
int text_to_userinfo(struct userinfo *, const char *);
struct userinfo userinfo;
if (!text_to_userinfo(&lk->userinfo, buffer))
text_to_userinfo(struct userinfo *userinfo, const char *s)
if (strlcpy(userinfo->username, buf,
sizeof userinfo->username) >= sizeof userinfo->username)
userinfo->uid = strtonum(buf, 0, UID_MAX, &errstr);
userinfo->gid = strtonum(buf, 0, GID_MAX, &errstr);
if (strlcpy(userinfo->directory, s,
sizeof userinfo->directory) >= sizeof userinfo->directory)
{ 1, { "userinfo", NULL }, userinfo },
{ 2, { "user", "info" }, userinfo },
int userinfo(int, char **);