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

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



slapd doesn't know anything about krb5.conf, only the Kerberos library does.
This appears to be a fault in the Kerberos library that you're linked with.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support 

> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
> quanah@stanford.edu
> Sent: Wednesday, July 17, 2002 9:06 AM
> To: openldap-its@OpenLDAP.org
> Subject: 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 ***