>> if (!encrypted_sso_str || apr_strnatcmp(encrypted_sso_str, "false") == >> 0) { >> if (apr_strnatcasecmp(ap_auth_type(r), "auth_xxx") == 0) { > NULL != ap_auth_type(r)? Code is supposed to test, if the required auth type matches (set with AuthType directive) with the auth type ("auth_xxx") that module handles. Now ap_auth_type(r) seems to return pointer to memory location, that causes segmentation fault when accessed (for example in sprintf("Auth type: %s", ap_auth_type(r)).
>> *** Segmentation fault *** (ap_auth_type) >> >> Here is the backtrace from the core dump: >> #0 0x00002af41b58b67f in apr_match_glob () from /usr/lib64/libapr-1.so.0 >> #1 0x00002af4249ebb74 in authenticate_user (r=0x2af42ed75488) at >> mod_auth_xxx.c:159 > Are you sure this debuger was looking at the runtime binaries? Do > you call apr_match_glob elsewhere? I compiled module with following command: /usr/sbin/apxs -Wcg -lmcrypt -c mod_auth_tek.c After that I produced backtrace with following commands (did it couple of times because of the apr_match_glob at the bottom): gdb /usr/sbin/httpd -c /tmp/core.12451 (gdb) bt I don't call apr_match_glob() directly, but assumed that ap_auth_type(r) call caused the execution of the glob function. > You might try building with --enable-maintainer-mode Thanks for the hint. I'll try it next, if nothing else turns up. Jouni