Small Change to chpass.c

Giorgos Keramidas keramida at ceid.upatras.gr
Thu Dec 11 05:15:35 PST 2008


On Thu, 11 Dec 2008 08:11:20 +0100 (CET), Trond Endrestøl <Trond.Endrestol at fagskolen.gjovik.no> wrote:
>On Thu, 11 Dec 2008 08:32+0200, Giorgos Keramidas wrote:
>> On Wed, 10 Dec 2008 18:00:25 -0800, "Sheldon Givens" <sheldon at sigsegv.ca> wrote:
>> > --- /usr/src/usr.bin/chpass.c   2008-12-11 01:55:27.000000000 -0800
>> > +++ /usr/src/usr.bin/chpass.c   2008-12-11 01:57:09.000000000 -0800
>> > @@ -80,10 +80,11 @@
>> >  {
>> >         enum { NEWSH, LOADENTRY, EDITENTRY, NEWPW, NEWEXP } op;
>> >         struct passwd lpw, *old_pw, *pw;
>> > -       int ch, pfd, tfd;
>> > +       int ch, pfd, tfd, itr, auth;
>> >         const char *password;
>> >         char *arg = NULL;
>> >         uid_t uid;
>> > +       int max_retries = 3;
>> >  #ifdef YP
>> >         struct ypclnt *ypclnt;
>> >         const char *yp_domain = NULL, *yp_host = NULL;
>> > @@ -227,9 +228,16 @@
>> >         }
>> >
>> >         if (old_pw && !master_mode) {
>> > -               password = getpass("Password: ");
>
> I'm sure you have noticed the trailing space in the string.
>
>> > -               if (strcmp(crypt(password, old_pw->pw_passwd),
>> > -                   old_pw->pw_passwd) != 0)
>> > +               auth = 0;
>> > +               for(itr=0;itr<max_retries;itr++) {
>> > +                       password = getpass("Password:");
>
> The space's missing in this string. It might be better to stay
> consistent with the original code.

Good catch.  No, I didn't notice the missing space the first time I read
the diff :/



More information about the freebsd-hackers mailing list