*BSD News Article 46148


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!news.kei.com!sol.ctr.columbia.edu!startide.ctr.columbia.edu!wpaul
From: wpaul@ctr.columbia.edu (Bill Paul)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: yppasswdd dont works ...
Date: 24 Jun 1995 18:42:54 GMT
Organization: Columbia University Center for Telecommunications Research
Lines: 70
Message-ID: <3shmbe$1tj@sol.ctr.columbia.edu>
References: <3sg9gm$8sf@news.cs.tu-berlin.de>
NNTP-Posting-Host: startide.ctr.columbia.edu
X-Newsreader: TIN [version 1.2 PL2]

Daring to challenge the will of the almighty Leviam00se, Lars Hentschke
(nuggets@cs.tu-berlin.de) had the courage to say:

Okay, I've investigated...

: Hi
: I've tried to use NIS, only these two things wont work:

: 1. yppasswdd says while changing my password:
:  yppasswdd[81]: update nuggets (uid=400) from host 10.1.1.7 failed
:  yppasswdd[81]: Invalid characters in argument. Possible spoof attempt?

:  But if I change my shell, it works. I dont use DES. 

Fixed.

As it happens, the problem is not in yppasswdd, it's in yppasswd,
which is really just a link to /usr/bin/passwd. For some reason,
the getnewyppasswd() function in /usr/src/usr.bin/passwd/yp_passwd.c
was generating corrupted encrypted password strings. Why it worked with
DES and not with the stock MD5 crypt() function I really don't know.
The corrupted strings had non-printable characters in them, which
yppasswdd rightly rufused to process.

Anyway, I fixed it by getting rid of the getnewyppasswd() function
and using the getnewpasswd() function from local_passwd.c, which
works correctly and is nearly identical to getnewyppasswd() anyway.

I've already commited the fixes to -current.

You can do two things to fix your system:

- Wait until the FreeBSD-current tree is updated on freefall.cdrom.com,
  then FTP the sources for /usr/src/usr.bin/passwd and recompile your
  passwd binary. (I think the tree is updated from the CVS repository
  every few hours.)

- FTP to skynet.ctr.columbia.edu (128.59.64.70) and grab the file called
  /pub/freebsd/passwd.tar.gz. This archive contains the patched
  sources and a pre-compiled passwd binary. I'm supplying a binary
  in this case because passwd depends on files from the vipw and
  chpass sources, which makes compiling it a little tricky if you
  don't have a full /usr/src tree handy.

  The sources and binary also incorporate another NIS-related bug
  fix, which was that passwd was complaining about not being able
  to contact an NIS server when asked to change the password of a
  non-existant user. It should have said 'no such user' instead.

Note: skynet is my home computer, and it's connected to the net via
a 14.4Kbps SLIP line. The passwd.tar.gz file is very small though,
so you shouldn't have too much trouble getting it.

Thanks for your report. Let me know if you have any more trouble.

-Bill

: Lars.

: | email:nuggets@cs.tu-berlin.de    OR    nuggets@tworivers.bln.sub.org (home) |
:  -----------------------------------------------------------------------------

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Bill Paul            (212) 854-6020 | System Manager
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Møøse Illuminati: ignore it and be confused, or join it and be confusing!
~~~~~~ "Welcome to All Things BSDish! If it's not BSDish, it's crap!" ~~~~~~~