mfrost@BLOOM-BEACON.MIT.EDU (Mark Frost) (12/27/90)
Hello. I've got the kerberos sources up to patchlevel 9 and have spent the
last week and half trying to get it all up.
Most of the problems I've had were configuration difficulties, but now I
think I'm stuck.
I am able to start the kerberos server (/usr/etc/kerberos), and I can start
the kadmin daemon. I can also edit the database. When I try to use, kpasswd
(or even ksu), I seem to get a Bus error (core dumped) after I enter the
verified password.
After chasing this through the source code for a few days, I have finally
discovered that it is coming from one of the des routines, specifically,
pcbc_encrypt() (des_pcbc_encrypt() ?). The crash seems to come between the
lines indicated below (located at approximately line 113 in pcbc_encrypt.c)
#ifdef MUSTALIGN
if ((long) input & 3) {
bcopy((char *)input,(char *)&t_input[0],sizeof(t_input[0]));
bcopy((char *)(input+1),(char *)&t_input[1],sizeof(t_input[1]));
}
else
#endif
{
t_input[0] = *input; /* Gets bus error on execution of this*/
t_input[1] = *(input+1);
}
/* zero pad */
if (length < 8) {
for (j = length; j <= 7; j++)
*(t_in_p+j)= 0;
}
What really puzzles me about this is that this code obviously works or else
the kerberos server wouldn't start up.
I am using Pyramid OSx 5.1a on an MiServer. I am using the conf-pyr.h
configuration file -- I put it in by hand in osconf.h as it seems to get lost
otherwise. I have defined the following options in the config.Imakefile
file
BSD42
ATHENA_COMPAT
ATHENA
KERBEROS
VFS
NOTTYENT
ENCRYPTION
NDBM
Does anyone have any ideas as to why this is happening? I'm assuming that this
is the right place to post this -- if not, please direct me to where it
should be sent.
Thanks
-m----------- Mark Frost (mfrost@pyramid.com)
---mmm--------- System Administrator - Hardware Engineering
-----mmmmm------- Pyramid Technology Corporation
-------mmmmmmm----- 1295 Charleston Rd, P.O. Box 7295
---------mmmmmmmmm--- Mountain View, California 94039-7295
-----------mmmmmmmmmmm- (415) 335-8163jtkohl@MIT.EDU (John T Kohl) (01/02/91)
If you look at a core dump, I suspect you'll find that the bus errors occur in the cases where the "input" is not word-aligned. It sounds like the Pyramid is a machine on which "MUSTALIGN" is required for the DES library to work properly. Try putting #define MUSTALIGN in your config file(s), rebuilding DES, and relinking. John