diff options
author | Cameron Katri <me@cameronkatri.com> | 2021-05-02 16:00:07 -0400 |
---|---|---|
committer | Cameron Katri <me@cameronkatri.com> | 2021-05-02 16:00:07 -0400 |
commit | f3dab068fce37270e5e4e1a00e5a44e30f00baf7 (patch) | |
tree | d6b8c70074d440e56c1d7cdbfc7b68d8b96bda96 /chpass/chpass.c | |
parent | 6b46c62f4663c84790120a4e74e155a6ef16b41c (diff) | |
download | pw-darwin-f3dab068fce37270e5e4e1a00e5a44e30f00baf7.tar.gz pw-darwin-f3dab068fce37270e5e4e1a00e5a44e30f00baf7.tar.zst pw-darwin-f3dab068fce37270e5e4e1a00e5a44e30f00baf7.zip |
Recommit everything, add chpass, improve history (except for a few files that git-filter-repo dislikes for some reason [_secure_path.c and login_cap.h])
Diffstat (limited to 'chpass/chpass.c')
-rw-r--r-- | chpass/chpass.c | 62 |
1 files changed, 19 insertions, 43 deletions
diff --git a/chpass/chpass.c b/chpass/chpass.c index 643b0f3..3b3a41f 100644 --- a/chpass/chpass.c +++ b/chpass/chpass.c @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include <pw_scan.h> #include <libutil.h> +#include <crypt.h> #include "chpass.h" @@ -237,51 +238,26 @@ main(int argc, char *argv[]) password = ""; } - if (old_pw != NULL) - pw->pw_fields |= (old_pw->pw_fields & _PWF_SOURCE); - switch (pw->pw_fields & _PWF_SOURCE) { -#ifdef YP - case _PWF_NIS: - ypclnt = ypclnt_new(yp_domain, "passwd.byname", yp_host); - if (ypclnt == NULL) { - warnx("ypclnt_new failed"); - exit(1); - } - if (ypclnt_connect(ypclnt) == -1 || - ypclnt_passwd(ypclnt, pw, password) == -1) { - warnx("%s", ypclnt->error); - ypclnt_free(ypclnt); - exit(1); - } - ypclnt_free(ypclnt); - errx(0, "NIS user information updated"); -#endif /* YP */ - case 0: - case _PWF_FILES: - if (pw_init(NULL, NULL)) - err(1, "pw_init()"); - if ((pfd = pw_lock()) == -1) { - pw_fini(); - err(1, "pw_lock()"); - } - if ((tfd = pw_tmp(-1)) == -1) { - pw_fini(); - err(1, "pw_tmp()"); - } - if (pw_copy(pfd, tfd, pw, old_pw) == -1) { - pw_fini(); - err(1, "pw_copy"); - } - if (pw_mkdb(pw->pw_name) == -1) { - pw_fini(); - err(1, "pw_mkdb()"); - } + if (pw_init(NULL, NULL)) + err(1, "pw_init()"); + if ((pfd = pw_lock()) == -1) { + pw_fini(); + err(1, "pw_lock()"); + } + if ((tfd = pw_tmp(-1)) == -1) { + pw_fini(); + err(1, "pw_tmp()"); + } + if (pw_copy(pfd, tfd, pw, old_pw) == -1) { + pw_fini(); + err(1, "pw_copy"); + } + if (pw_mkdb(pw->pw_name) == -1) { pw_fini(); - errx(0, "user information updated"); - break; - default: - errx(1, "unsupported passwd source"); + err(1, "pw_mkdb()"); } + pw_fini(); + errx(0, "user information updated"); } static void |