Lines Matching refs:pw
15 static char* new_password(const struct passwd *pw, uid_t myuid, int algo)
24 if (myuid && pw->pw_passwd[0]) {
28 cipher = pw_encrypt(orig, pw->pw_passwd); /* returns ptr to static */
29 if (strcmp(cipher, pw->pw_passwd) != 0) {
31 pw->pw_name);
43 && obscure(orig, newp, pw) && myuid)
92 struct passwd *pw;
123 pw = getpwnam(name);
124 if (!pw) bb_error_msg_and_die("unknown user %s", name);
125 if (myuid && pw->pw_uid != myuid) {
133 if (getspnam_r(pw->pw_name, &spw, buffer, sizeof(buffer), &result)
140 pw->pw_passwd = spw.sp_pwdp;
146 c = pw->pw_passwd[0] - '!';
154 newp = new_password(pw, myuid, opt & STATE_ALGO_md5);
161 newp = xasprintf("!%s", pw->pw_passwd);
164 /* pw->pw_passwd pints to static storage,
166 newp = xstrdup(&pw->pw_passwd[1]);