• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/lib/libcasper/services/cap_pwd/

Lines Matching refs:nvl

77 passwd_unpack_string(const nvlist_t *nvl, const char *fieldname, char **fieldp,
83 str = nvlist_get_string(nvl, fieldname);
95 passwd_unpack(const nvlist_t *nvl, struct passwd *pwd, char *buffer,
100 if (!nvlist_exists_string(nvl, "pw_name"))
105 error = passwd_unpack_string(nvl, "pw_name", &pwd->pw_name, &buffer,
109 pwd->pw_uid = (uid_t)nvlist_get_number(nvl, "pw_uid");
110 pwd->pw_gid = (gid_t)nvlist_get_number(nvl, "pw_gid");
111 pwd->pw_change = (time_t)nvlist_get_number(nvl, "pw_change");
112 error = passwd_unpack_string(nvl, "pw_passwd", &pwd->pw_passwd, &buffer,
116 error = passwd_unpack_string(nvl, "pw_class", &pwd->pw_class, &buffer,
120 error = passwd_unpack_string(nvl, "pw_gecos", &pwd->pw_gecos, &buffer,
124 error = passwd_unpack_string(nvl, "pw_dir", &pwd->pw_dir, &buffer,
128 error = passwd_unpack_string(nvl, "pw_shell", &pwd->pw_shell, &buffer,
132 pwd->pw_expire = (time_t)nvlist_get_number(nvl, "pw_expire");
133 pwd->pw_fields = (int)nvlist_get_number(nvl, "pw_fields");
143 nvlist_t *nvl;
147 nvl = nvlist_create(0);
148 nvlist_add_string(nvl, "cmd", cmd);
153 nvlist_add_string(nvl, "name", login);
156 nvlist_add_number(nvl, "uid", (uint64_t)uid);
160 nvl = cap_xfer_nvlist(chan, nvl);
161 if (nvl == NULL) {
166 error = (int)nvlist_get_number(nvl, "error");
168 nvlist_destroy(nvl);
173 if (!nvlist_exists_string(nvl, "pw_name")) {
175 nvlist_destroy(nvl);
184 error = passwd_unpack(nvl, pwd, buffer, bufsize);
197 nvlist_destroy(nvl);
279 nvlist_t *nvl;
281 nvl = nvlist_create(0);
282 nvlist_add_string(nvl, "cmd", "setpassent");
283 nvlist_add_bool(nvl, "stayopen", stayopen != 0);
284 nvl = cap_xfer_nvlist(chan, nvl);
285 if (nvl == NULL)
287 if (nvlist_get_number(nvl, "error") != 0) {
288 errno = nvlist_get_number(nvl, "error");
289 nvlist_destroy(nvl);
292 nvlist_destroy(nvl);
300 nvlist_t *nvl;
302 nvl = nvlist_create(0);
303 nvlist_add_string(nvl, "cmd", cmd);
305 nvlist_destroy(cap_xfer_nvlist(chan, nvl));
325 nvlist_t *limits, *nvl;
336 nvl = nvlist_create(0);
338 nvlist_add_null(nvl, cmds[i]);
339 nvlist_move_nvlist(limits, "cmds", nvl);
347 nvlist_t *limits, *nvl;
358 nvl = nvlist_create(0);
360 nvlist_add_null(nvl, fields[i]);
361 nvlist_move_nvlist(limits, "fields", nvl);
543 pwd_pack(const nvlist_t *limits, const struct passwd *pwd, nvlist_t *nvl)
559 nvlist_add_string(nvl, "pw_name", pwd->pw_name);
561 nvlist_add_string(nvl, "pw_name", "");
565 nvlist_add_number(nvl, "pw_uid", (uint64_t)pwd->pw_uid);
567 nvlist_add_number(nvl, "pw_uid", (uint64_t)-1);
571 nvlist_add_number(nvl, "pw_gid", (uint64_t)pwd->pw_gid);
573 nvlist_add_number(nvl, "pw_gid", (uint64_t)-1);
577 nvlist_add_number(nvl, "pw_change", (uint64_t)pwd->pw_change);
579 nvlist_add_number(nvl, "pw_change", (uint64_t)0);
583 nvlist_add_string(nvl, "pw_passwd", pwd->pw_passwd);
585 nvlist_add_string(nvl, "pw_passwd", "");
589 nvlist_add_string(nvl, "pw_class", pwd->pw_class);
591 nvlist_add_string(nvl, "pw_class", "");
595 nvlist_add_string(nvl, "pw_gecos", pwd->pw_gecos);
597 nvlist_add_string(nvl, "pw_gecos", "");
601 nvlist_add_string(nvl, "pw_dir", pwd->pw_dir);
603 nvlist_add_string(nvl, "pw_dir", "");
607 nvlist_add_string(nvl, "pw_shell", pwd->pw_shell);
609 nvlist_add_string(nvl, "pw_shell", "");
613 nvlist_add_number(nvl, "pw_expire", (uint64_t)pwd->pw_expire);
615 nvlist_add_number(nvl, "pw_expire", (uint64_t)0);
618 nvlist_add_number(nvl, "pw_fields", (uint64_t)fields);