[101] in Zephyr Mailing List
Re: brain dumping doesn't set "bdumping"
daemon@ATHENA.MIT.EDU (Lucien Van Elsen)
Wed Sep 22 07:56:45 1993
Date: Wed, 22 Sep 1993 07:52:47 -0400
From: lucien@watson.ibm.com (Lucien Van Elsen)
To: ben@watsun.cc.columbia.edu
Cc: zephyr@MIT.EDU
In-Reply-To: <CMM.0.90.4.748644860.ben@watsun.cc.columbia.edu> (message from Ben Fried on Tue, 21 Sep 93 16:54:20 EDT)
> I just killed and restarted one of my zephyrd's, only to have users
> receive the message "Someone at host <whatever> tried an unauthorized
> change to your login information". It's not true! It looks like the
> problem is that the global bdumping didn't get set, and should have.
The problem only occurs if you aren't using kerberos authentication; this
case wasn't tested at Athena. The problem is in ulogin_dispatch, in
server/uloc.c; the server receiving the braindump tries to forward
the login notice it received as part of the braindump to all the other
zephyr servers, and because of the way the authentication information is
passed along in the notice, the notice is sent out unauthenticated. The fix
is to not have it forward along notices received as part of a braindump; the
other servers should already have this information. The patch is below:
issc10 /vol/hp-agora/src/agora.lib/zephyr/server)rd -r1.43 uloc.c
===================================================================
RCS file: RCS/uloc.c,v
retrieving revision 1.43
diff -c -r1.43 uloc.c
*** 1.43 1992/08/14 12:16:17
--- uloc.c 1993/09/22 11:51:22
***************
*** 282,288 ****
nack(notice, who);
return(ZERR_NONE);
}
! if (server == me_server)
server_forward(notice, auth, who);
return(ZERR_NONE);
}
--- 282,288 ----
nack(notice, who);
return(ZERR_NONE);
}
! if ((server == me_server) && (!bdumping))
server_forward(notice, auth, who);
return(ZERR_NONE);
}
-Lucien
-----------------------------------------------------------------------
Lucien Van Elsen IBM Research
lucien@watson.ibm.com Project Agora