[19348] in Kerberos_V5_Development
Assertion Error in MIT Kerberos 1.12.4
daemon@ATHENA.MIT.EDU (Vipul Mehta)
Wed Jan 20 14:43:17 2016
MIME-Version: 1.0
Date: Thu, 21 Jan 2016 01:08:49 +0530
Message-ID: <CAMeQEL-AR19d5YjaDBvtOD+VAqVuygfpfWda4wNa-r=AZAymdw@mail.gmail.com>
From: Vipul Mehta <vipulmehta.1989@gmail.com>
To: krbdev@mit.edu
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krbdev-bounces@mit.edu
Hi,
I am dynamically loading MIT Kerberos and calling gss/krb5 functions using
function pointers in my Kerberos Client-Server Linux.64 utility. My utility
also uses cURL. During compile time i link my utility with cURL built
without MIT Kerberos while during runtime i use cURL built with MIT
Kerberos. So my utility has no compile time dependency on MIT Kerberos.
In my setup, libkrb5.so.3 and libgssapi_krb5.so.2 are same as libkrb5.so
and libgssapi_krb5.so respectively.
Now when i use "libkrb5.so" and "libgssapi_krb5.so" library names for
dynamic loading, it crashes with following assertion error :
"thread.c:347: krb5int_key_register" Assertion failed:
destructors_set[keynum] == 0 failed."
My utility works fine if I use "libkrb5.so.3" and "libgssapi_krb5.so.2"
library names for dynamic loading.
I debugged and found that k5_key_register() was being called twice for
key_value = 1 in the first case in which it failed.
What is this key registration ? Is it part of library initialization
routine ? When it is supposed to be called ?
If Kerberized-cURL loads MIT Kerberos library during program startup and my
utility also loads it via dlopen(), what will be the behaviour of this key
registration call ?
------------------------------------
MIT Kerberos : 1.12.4
cURL : 7.37.1
Platform : RHEL v.6 64-Bit
-------------------------------------
--
Regards,
Vipul
_______________________________________________
krbdev mailing list krbdev@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev