usermod: properly return error during password manipulation
This commit is contained in:
parent
b1dccbc445
commit
1bf254df98
2 changed files with 32 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
||||||
diff -up shadow-4.2.1/src/usermod.c.unlock shadow-4.2.1/src/usermod.c
|
diff -up shadow-4.2.1/src/usermod.c.unlock shadow-4.2.1/src/usermod.c
|
||||||
--- shadow-4.2.1/src/usermod.c.unlock 2014-12-01 15:14:58.000000000 +0100
|
--- shadow-4.2.1/src/usermod.c.unlock 2016-02-03 11:54:14.977664838 +0100
|
||||||
+++ shadow-4.2.1/src/usermod.c 2015-08-27 14:31:50.899712180 +0200
|
+++ shadow-4.2.1/src/usermod.c 2016-02-09 11:52:08.244957222 +0100
|
||||||
@@ -455,9 +455,12 @@ static char *new_pw_passwd (char *pw_pas
|
@@ -455,14 +455,17 @@ static char *new_pw_passwd (char *pw_pas
|
||||||
strcat (buf, pw_pass);
|
strcat (buf, pw_pass);
|
||||||
pw_pass = buf;
|
pw_pass = buf;
|
||||||
} else if (Uflg && pw_pass[0] == '!') {
|
} else if (Uflg && pw_pass[0] == '!') {
|
||||||
|
@ -16,6 +16,12 @@ diff -up shadow-4.2.1/src/usermod.c.unlock shadow-4.2.1/src/usermod.c
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: unlocking the user's password would result in a passwordless account.\n"
|
_("%s: unlocking the user's password would result in a passwordless account.\n"
|
||||||
"You should set a password with usermod -p to unlock this user's password.\n"),
|
"You should set a password with usermod -p to unlock this user's password.\n"),
|
||||||
|
Prog);
|
||||||
|
- return pw_pass;
|
||||||
|
+ return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_AUDIT
|
||||||
@@ -471,12 +474,15 @@ static char *new_pw_passwd (char *pw_pas
|
@@ -471,12 +474,15 @@ static char *new_pw_passwd (char *pw_pas
|
||||||
user_newname, (unsigned int) user_newid, 1);
|
user_newname, (unsigned int) user_newid, 1);
|
||||||
#endif
|
#endif
|
||||||
|
@ -31,9 +37,27 @@ diff -up shadow-4.2.1/src/usermod.c.unlock shadow-4.2.1/src/usermod.c
|
||||||
+ fprintf (stderr,
|
+ fprintf (stderr,
|
||||||
+ _("%s: The password field cannot contain a colon character.\n"),
|
+ _("%s: The password field cannot contain a colon character.\n"),
|
||||||
+ Prog);
|
+ Prog);
|
||||||
+ return pw_pass;
|
+ return NULL;
|
||||||
+
|
+
|
||||||
+ }
|
+ }
|
||||||
#ifdef WITH_AUDIT
|
#ifdef WITH_AUDIT
|
||||||
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
|
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
|
||||||
"updating-password",
|
"updating-password",
|
||||||
|
@@ -525,6 +531,8 @@ static void new_pwent (struct passwd *pw
|
||||||
|
if ( (!is_shadow_pwd)
|
||||||
|
|| (strcmp (pwent->pw_passwd, SHADOW_PASSWD_STRING) != 0)) {
|
||||||
|
pwent->pw_passwd = new_pw_passwd (pwent->pw_passwd);
|
||||||
|
+ if (pwent->pw_passwd == NULL)
|
||||||
|
+ fail_exit (E_PW_UPDATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uflg) {
|
||||||
|
@@ -639,6 +647,8 @@ static void new_spent (struct spwd *spen
|
||||||
|
* + aging has been requested
|
||||||
|
*/
|
||||||
|
spent->sp_pwdp = new_pw_passwd (spent->sp_pwdp);
|
||||||
|
+ if (spent->sp_pwdp == NULL)
|
||||||
|
+ fail_exit(E_PW_UPDATE);
|
||||||
|
|
||||||
|
if (pflg) {
|
||||||
|
spent->sp_lstchg = (long) time ((time_t *) 0) / SCALE;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Summary: Utilities for managing accounts and shadow password files
|
Summary: Utilities for managing accounts and shadow password files
|
||||||
Name: shadow-utils
|
Name: shadow-utils
|
||||||
Version: 4.2.1
|
Version: 4.2.1
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
URL: http://pkg-shadow.alioth.debian.org/
|
URL: http://pkg-shadow.alioth.debian.org/
|
||||||
Source0: http://pkg-shadow.alioth.debian.org/releases/shadow-%{version}.tar.xz
|
Source0: http://pkg-shadow.alioth.debian.org/releases/shadow-%{version}.tar.xz
|
||||||
|
@ -254,6 +254,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
%{_mandir}/man8/vigr.8*
|
%{_mandir}/man8/vigr.8*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 9 2016 Tomáš Mráz <tmraz@redhat.com> - 2:4.2.1-7
|
||||||
|
- usermod: properly return error during password manipulation
|
||||||
|
|
||||||
* Wed Feb 3 2016 Tomáš Mráz <tmraz@redhat.com> - 2:4.2.1-6
|
* Wed Feb 3 2016 Tomáš Mráz <tmraz@redhat.com> - 2:4.2.1-6
|
||||||
- add possibility to clear or set lastlog record for user via lastlog
|
- add possibility to clear or set lastlog record for user via lastlog
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue