Dear colleagues,

chpass is a bit broken since chpass.c:1.23 - it uses pw_equal which does not 
check crypted password field; so, you can not change _only_ crypt pass with 
chpass. Attached patch fixes this.

Any thoughts/objections?

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- [EMAIL PROTECTED] ***
------------------------------------------------------------------------
Index: usr.bin/chpass/chpass.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/chpass/chpass.c,v
retrieving revision 1.27
diff -u -r1.27 chpass.c
--- usr.bin/chpass/chpass.c     18 Jan 2004 21:46:39 -0000      1.27
+++ usr.bin/chpass/chpass.c     25 Sep 2006 07:42:25 -0000
@@ -217,7 +217,12 @@
                pw_fini();
                if (pw == NULL)
                        err(1, "edit()");
-               if (pw_equal(old_pw, pw))
+               /* 
+                * pw_equal does not check for crypted passwords, so we
+                * should do it explicitly
+                */
+               if (pw_equal(old_pw, pw) && 
+                   strcmp(old_pw->pw_passwd, pw->pw_passwd) == 0)
                        errx(0, "user information unchanged");
        }
 
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to