[Date Prev][Date Next] [Chronological] [Thread] [Top]

slapd seg faults on not finding krb5.conf (ITS#1967)



Full_Name: Quanah Gibson-Mount
Version: 2.1.3
OS: Solaris 8
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (171.64.13.58)


Hello,

After compiling OpenLDAP 2.1.3 with Cyrus SASL 2.1.5, I continued to encounter
the behavior I had seen previously of slapd having a segmentation fault whenever
I used GSSAPI authentication.  I finally did a truss on slapd while it was
running, and discovered that the problem is that slapd is essentially ignoring
my krb5.conf file in /etc/leland (the location we store it in at Stanford), and
trying to instead use /usr/local/etc/krb5.conf.  Once I put a link in, slapd
works fine, and GSSAPI authentication proceeds without problem.  Here is the
pertinent bits from truss:

getpid()                                        = 8621 [1]
door_call(13, 0xFC000EB0)                       = 0
close(13)                                       = 0
fstat(4, 0xFC001840)                            = 0
time()                                          = 1026921088
getpid()                                        = 8621 [1]
putmsg(4, 0xFC000EF8, 0xFC000EEC, 0)            = 0
open("/var/run/syslog_door", O_RDONLY)          = 13
door_info(13, 0xFC000E30)                       = 0
getpid()                                        = 8621 [1]
door_call(13, 0xFC000E18)                       = 0
close(13)                                       = 0
stat("/etc/leland/krb5.conf", 0xFC001408)       = 0
open("/etc/leland/krb5.conf", O_RDONLY)         = 13
access("/etc/leland/krb5.conf", 2)              = 0
fstat64(13, 0xFC001230)                         = 0
ioctl(13, TCGETA, 0xFC0011BC)                   Err#25 ENOTTY
read(13, " #   k r b 5 . c o n f  ".., 8192)    = 1682
read(13, 0x001A2554, 8192)                      = 0
llseek(13, 0, SEEK_CUR)                         = 1682
close(13)                                       = 0
stat("/etc/krb5.conf", 0xFC001408)              = 0
open("/etc/krb5.conf", O_RDONLY)                = 13
access("/etc/krb5.conf", 2)                     = 0
fstat64(13, 0xFC001230)                         = 0
ioctl(13, TCGETA, 0xFC0011BC)                   Err#25 ENOTTY
read(13, " #   k r b 5 . c o n f  ".., 8192)    = 1682
read(13, 0x001A4984, 8192)                      = 0
llseek(13, 0, SEEK_CUR)                         = 1682
close(13)                                       = 0
stat("/usr/local/etc/krb5.conf", 0xFC001408)    Err#2 ENOENT
stat("/usr/local/etc/krb5.conf", 0xFC001408)    Err#2 ENOENT
getpid()                                        = 8621 [1]
stat("/etc/leland/krb5.conf", 0xFC001468)       = 0
stat("/etc/krb5.conf", 0xFC001468)              = 0
stat("/usr/local/etc/krb5.conf", 0xFC001468)    Err#2 ENOENT
    Incurred fault #6, FLTBOUNDS  %pc = 0xFF1B7770
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000014
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000014
        *** process killed ***