Date: Mon, 06 Nov 1995 10:36:26 +0100 (MET) From: Erik Manders <erik@il.ft.HSE.NL> To: current@freebsd.org Subject: chpass & co. broken? Message-ID: <199511060936.KAA08015@charm.il.ft.hse.nl>
next in thread | raw e-mail | index | archive | help
Hello,
There seems to be a problem with chpass and co. If they are compiled
with YP support, any and all command line options except '-l' and '-y'
are ignored. This appears to be accidental, and is the result of the
call to use_yp() at line 172 of usr.bin/chpass/chpass.c . use_yp()
calls getpwnam() which apparently overwrites the pw struct in which
'command line' changes have already been made! The following patch
apparently solves the problem, but a more thorough solution is needed.
Current bugs to this patch: Since I don't have YP, I haven't tested
this with it. This patch should check if YP is being used, and forbid
certain changes (password for instance). I've left out the loading new
entries, since I don't like it (vipw or some adduser prog are for that).
This patch applies to the current and the release (951020-SNAP) tree.
--- /src/current/usr.bin/chpass/chpass.c Tue Oct 24 20:44:48 1995
+++ ./chpass.c Mon Nov 6 00:22:41 1995
@@ -190,6 +190,15 @@
_use_yp = 0;
pw = (struct passwd *)&local_password;
}
+ }
+
+/* ARGH! These were getting clobbered by the above! Redo them. */
+ if (op == NEWSH) {
+ p_shell(arg, pw, (ENTRY *)NULL);
+ }
+
+ if (op == NEWPW) {
+ pw->pw_passwd = arg;
}
#endif /* YP */
Erik Manders erik@il.ft.hse.nl
--
:copy protection: n. A class of methods for preventing
incompetent pirates from stealing software and legitimate customers
from using it. Considered silly.
--Jargon file, version 3.2.0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511060936.KAA08015>
