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

GSSAPI and SASL Realms (ITS#1636)



Full_Name: Norbert Klasen
Version: 2.1.0alpha
OS: SuSE Linux 7.3
URL: 
Submission from: (NULL) (62.104.216.72)


I can't get 2.1.0 to work with GSSAPI (cyrus-sasl 1.5.27). 2.0.23 works fine on
the same system though. What I'm seeing is that the SASL Realm does not get set
correctly, even if I explicitly define it with "sasl-realm" in slapd.conf:

do_sasl_bind: dn () mech GSSAPI
getdn: u:id converted to uid=zrdkn01,cn=,cn=GSSAPI,cn=auth
==>slap_sasl2dn: Converting SASL name uid=zrdkn01,cn=,cn=GSSAPI,cn=auth to a DN
slap_sasl_regexp: converting SASL name uid=zrdkn01,cn=,cn=GSSAPI,cn=auth
<==slap_sasl2dn: Converted SASL name to <nothing>
>>> dnNormalize: <uid=zrdkn01,cn=,cn=GSSAPI,cn=auth>
=> ldap_bv2dn(uid=zrdkn01,cn=,cn=GSSAPI,cn=auth,0)
<= ldap_bv2dn(uid=zrdkn01,cn=,cn=GSSAPI,cn=auth,0)=0
slapd: schema_init.c:542: UTF8StringNormalize: Assertion `normalized->bv_val'
failed.


If I compile OpenLDAP without threads, slapd segfaults:

#0  0x0808924e in slap_sasl_getdn (conn=0x404f08a0, id=0x8133f90 "zrdkn01",
user_realm=0xa3 <Address 0xa3 out of bounds>, 
    dn=0xbfffc014, flags=2) at sasl.c:213
213                     if( user_realm && *user_realm ) {
#0  0x0808924e in slap_sasl_getdn (conn=0x404f08a0, id=0x8133f90 "zrdkn01",
user_realm=0xa3 <Address 0xa3 out of bounds>, 
    dn=0xbfffc014, flags=2) at sasl.c:213
#1  0x0808971a in slap_sasl_authorize (context=0x404f08a0, authcid=0x8133f90
"zrdkn01", authzid=0x0, user=0xbfffc060, 
    errstr=0xbfffc0e4) at sasl.c:531
#2  0x400b232c in do_authorization () from /usr/lib/libsasl.so.7
#3  0x400b2706 in sasl_server_step () from /usr/lib/libsasl.so.7
#4  0x0808a2ef in slap_sasl_bind (conn=0x404f08a0, op=0x8133fd0, dn=0xbfffc168,
ndn=0xbfffc160, cred=0xbfffc144, 
    edn=0xbfffc158, ssfp=0xbfffc13c) at sasl.c:1000
#5  0x0806a008 in do_bind (conn=0x404f08a0, op=0x8133fd0) at bind.c:288
#6  0x080521a3 in connection_operation (arg_v=0x8134040) at connection.c:936
#7  0x080ac683 in ldap_pvt_thread_pool_submit (pool=0x80f4b10,
start_routine=0x8052090 <connection_operation>, arg=0x8134040)
    at thr_stub.c:159
#8  0x080533c8 in connection_op_activate (conn=0x404f08a0, op=0x8133fd0) at
connection.c:1501
#9  0x08052f3d in connection_input (conn=0x404f08a0) at connection.c:1372
#10 0x080529b4 in connection_read (s=10) at connection.c:1186
#11 0x0804fb52 in slapd_daemon_task (ptr=0x0) at daemon.c:1778
#12 0x080ac533 in ldap_pvt_thread_create (thread=0xbffff534, detach=0,
start_routine=0x804e2d0 <slapd_daemon_task>, arg=0x0)
    at thr_stub.c:48
#13 0x0804fecd in slapd_daemon () at daemon.c:1876
#14 0x0804c128 in main (argc=9, argv=0xbffff5f4) at main.c:509
#15 0x402187ee in __libc_start_main () from /lib/libc.so.6