/etc/krb5.conf: [libdefaults] default_realm = EPITECH.NET forwardable = true [realms] EPITECH.NET = { kdc = kdc.epitech.net afs.epitech.net admin_server = kdc.epitech.net kpasswd_server = kdc.epitech.net } [logging] default = FILE:/tmp/deflog kdc = FILE:/tmp/kdclog [kadmin] default_keys = des3:pw-salt test.c: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <gssapi/gssapi.h> #define SERVICE_NAME "host@ns-server.epitech.net" void display_status(OM_uint32 min, OM_uint32 maj) { gss_OID mech; OM_uint32 minor; OM_uint32 status; gss_buffer_desc msg; gss_display_status(&minor, min, GSS_C_GSS_CODE, GSS_C_NO_OID, &status, &msg); puts(msg.value); gss_display_status(&minor, min, GSS_C_MECH_CODE, GSS_C_NO_OID, &status, &msg); puts(msg.value); exit(5); } void import_name(gss_name_t* gss_name) { OM_uint32 min; OM_uint32 maj; gss_buffer_desc buf; gss_OID mech = (gss_OID)GSS_C_NT_HOSTBASED_SERVICE; buf.value = (unsigned char *) strdup(SERVICE_NAME); buf.length = strlen(buf.value) + 1; maj = gss_import_name(&min, &buf, mech, gss_name); if (maj != GSS_S_COMPLETE) display_status(min, maj); } unsigned char * init_context(gss_name_t gss_name) { OM_uint32 min; OM_uint32 maj; OM_uint32 flags; OM_uint32 time_rec; gss_ctx_id_t ctx; gss_name_t name; gss_OID mech_type; gss_buffer_t itoken = GSS_C_NO_BUFFER; gss_buffer_desc otoken; maj = gss_init_sec_context(&min, GSS_C_NO_CREDENTIAL, &ctx, gss_name, GSS_C_NO_OID, 0, 0, GSS_C_NO_CHANNEL_BINDINGS, itoken, NULL, &otoken, NULL, NULL); if (maj != GSS_S_COMPLETE) display_status(min, maj); gss_delete_sec_context(&min, &ctx, &otoken); } int main(int argc, char** argv) { gss_name_t gss_name; import_name(&gss_name); init_context(gss_name); return (0); } Now let's do gcc -g `pkg-config --cflags --libs libgssapi` test.c -o test; ./test I got: Program received signal SIGSEGV, Segmentation fault. 0xb7f0904f in gss_init_sec_context () from /usr/lib/libgssapi_krb5.so (gdb) bt #0 0xb7f0904f in gss_init_sec_context () from /usr/lib/libgssapi_krb5.so #1 0xbffef8fc in ?? () #2 0xb7f308c0 in ?? () from /usr/lib/libgssapi.so.2 #3 0x0804bcc8 in ?? () #4 0xbffef834 in ?? () #5 0x4f2c06c8 in _r_debug () #6 0x08048390 in ?? () #7 0x0100000a in ?? () #8 0x50c6ee23 in ?? () #9 0x00000000 in ?? () (gdb) quit Reproducible: Always Steps to Reproduce: paludis --info paludis 0.24.2 Built by paludisbuild@Vortex on 2007-05-13T10:08:45+0200 CXX: i686-pc-linux-gnu-g++ 4.1.2 20070214 ( (gdc 0.23, using dmd 1.007)) (Gentoo 4.1.2) CXXFLAGS: -O2 -pipe -march=athlon-xp -fomit-frame-pointer -fPIC LDFLAGS: DATADIR: /usr/share LIBDIR: /usr/lib LIBEXECDIR: /usr/libexec SYSCONFDIR: /etc stdlib: GNU libstdc++ 20070214 libebt: 1.3.0 libwrapiter: 1.0.0 sandbox: enabled Repository virtuals: Configuration information: format: virtuals Repository installed_virtuals: Configuration information: format: installed_virtuals Repository gentoo: Configuration information: buildroot: /var/tmp/paludis cache: /usr/portage/metadata/cache distdir: /usr/portage/distfiles eclassdirs: /usr/portage/eclass format: ebuild location: /usr/portage names_cache: /usr/portage/.cache/names newsdir: /usr/portage/metadata/news pkgdir: /usr/portage/packages profiles: /usr/portage/profiles/default-linux/x86/2006.1/desktop securitydir: /usr/portage/metadata/glsa setsdir: /usr/portage/sets sync: rsync://rsync.europe.gentoo.org/gentoo-portage sync_options: write_cache: /var/cache/paludis/metadata Package information: app-admin/eselect-compiler: (none) dev-java/java-config: 1.3.7, 2.0.32 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 dev-util/confcache: (none) sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.21 Variable information: ACCEPT_KEYWORDS: AUTOCLEAN: CBUILD: i686-pc-linux-gnu CFLAGS: -O2 -pipe -march=athlon-xp -fomit-frame-pointer -fPIC CHOST: i686-pc-linux-gnu CONFIG_PROTECT: CONFIG_PROTECT_MASK: CTARGET: CXXFLAGS: -O2 -pipe -march=athlon-xp -fomit-frame-pointer -fPIC DISTDIR: /usr/portage/distfiles FEATURES: GENTOO_MIRRORS: INSTALL_MASK: LANG: LC_ALL: LDFLAGS: LINGUAS: MAKEOPTS: -j2 PKGDIR: PORTAGE_COMPRESS: PORTAGE_COMPRESS_FLAGS: PORTAGE_RSYNC_EXTRA_OPTS: PORTAGE_RSYNC_OPTS: PORTAGE_TMPDIR: /var/tmp/paludis PORTDIR: /usr/portage PORTDIR_OVERLAY: SYNC: USE: Repository installed: Configuration information: buildroot: /var/tmp/paludis format: vdb location: /var/db/pkg names_cache: /var/db/pkg/.cache/names provides_cache: /var/db/pkg/.cache/provides root: / world: /var/db/pkg/world
AFAIKS this bug has nothing to do with gentoo ... I wan't fix your code ;) If it's library related please contact upstream! (BTW the package is really outdated)