Date: Fri, 15 Nov 1996 23:27:43 +0800 From: Peter Wemm <peter@spinner.DIALix.COM> To: wpaul@freebsd.org Cc: bugs@freebsd.org Subject: Re: aieee!! nis gone to hell in 2.2... :-/ Message-ID: <199611151527.XAA09828@spinner.DIALix.COM> In-Reply-To: Your message of "Fri, 15 Nov 1996 22:01:26 %2B0800." <199611151401.WAA09204@spinner.DIALix.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
Peter Wemm wrote:
> Has anybody else seen this?
>
> -Peter
This is getting more wierd by the minute..
I checked what chpass was feeding into the xdr routines for passage to
rpc.yppasswdd, and it almost appears to be getting corrupted in transit...
ie: this change to pw_yp.c
if (suser_override) {
/* Talk to server via AF_UNIX socket. */
+ warnx("send pw_shell: '%s'", master_yppasswd.newpw.pw_shell
);
if (senddat(&master_yppasswd)) {
warnx("failed to contact local rpc.yppasswdd");
gives this debug:
Changing NIS information for ophidian on localhost
chpass: send pw_shell: '/usr/local/bin/bash'
And yet, on the recieving end, do_master calls getdat(), and passes that
directly to update_master(). At the top of update_master():
yp_error("got pw_dir: '%s'", argp->newpw.pw_dir);
yp_error("got pw_shell: '%s'", argp->newpw.pw_shell);
yp_error("got pw_expire: %ld", argp->newpw.pw_expire);
causes the following debug output:
Nov 15 22:52:12 newton rpc.yppasswdd[23684]: got pw_dir: '/home/o/ophidian'
Nov 15 22:52:12 newton rpc.yppasswdd[23684]: got pw_shell:
'/usr/local/bin/bash@^F^H^A'
Nov 15 22:52:12 newton rpc.yppasswdd[23684]: got pw_expire: 849715199
ie: somehow, the "XDR counted string" kinda "grew" a bit during a couple
of function calls, xdr encoding, passing though an AF_UNIX socket/pipe,
xdr decoding and a few more function calls... :-(
The silly part is that I'm not even trying to change the shell, just the
gecos username..
I'm still no closer to figuring out WTF is happening here, and why it only
seems to be for this one user. At least the accept() hang is gone.. I'm
confused enough now to ktrace both client and server now to try and see
the data stream being sent and recieved to see for sure where it's
breaking.
Cheers,
-Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611151527.XAA09828>
