Hi, I have my small prototype module, which I implemented starting with the mod_headers.c source, working. The changes that I did to the original source were to add some code in the insert_filter hook to inject an additional header into the request.
That seems to work ok with a "vanilla" Apache configuration. I want to be able to make my modified module work together with another module, provided by Oracle (the Oracle Access Manager webgate, aka "webgate"). However, after I add the directives into the Apache httpd.conf to enable the webgate, it appears that, on incoming requests, the webgate processing occurs, but my code in the modified mod_headers module is not called at all :(!! Here's the last part of my modified mod_headers.c: static void register_hooks(apr_pool_t *p) { printf("mod_headers-jl V0.13 - use LIBCURL instead of OAM ASDK-process response from callCurl\n"); printf("In register_hooks\n"); ap_register_output_filter("FIXUP_HEADERS_OUT", ap_headers_output_filter, NULL, AP_FTYPE_CONTENT_SET); ap_register_output_filter("FIXUP_HEADERS_ERR", ap_headers_error_filter, NULL, AP_FTYPE_CONTENT_SET); ap_hook_pre_config(header_pre_config,NULL,NULL,APR_HOOK_MIDDLE); ap_hook_post_config(header_post_config,NULL,NULL,APR_HOOK_MIDDLE); ap_hook_insert_filter(ap_headers_insert_output_filter, NULL, NULL, APR_HOOK_LAST); ap_hook_insert_error_filter(ap_headers_insert_error_filter, NULL, NULL, APR_HOOK_LAST); ap_hook_fixups(ap_headers_fixup, NULL, NULL, APR_HOOK_LAST); ap_hook_post_read_request(ap_headers_early, NULL, NULL, APR_HOOK_FIRST); } module AP_MODULE_DECLARE_DATA headers_module = { STANDARD20_MODULE_STUFF, create_headers_dir_config, /* dir config creater */ merge_headers_config, /* dir merger --- default is to override */ NULL, /* server config */ NULL, /* merge server configs */ headers_cmds, /* command apr_table_t */ register_hooks /* register hooks */ }; The code I added is in the "ap_headers_insert_output_filter()" function. I did an "export SHOW_HOOKS=1" and ran the Apache, and I see this for the modified mod_headers: Registering hooks for mod_headers.c mod_headers-jl V0.13 - use LIBCURL instead of OAM ASDK-process response from callCurl In register_hooks Hooked pre_config Hooked post_config Hooked insert_filter Hooked insert_error_filter Hooked fixups Hooked post_read_request And for webgate, I see: Registering hooks for apache2entry_web_gate.cpp Hooked post_config Hooked handler Hooked check_user_id Hooked auth_checker I thought that the handler functions are called almost last part of the processing (content generation), and my code is hooked to insert_filter, which I thought occurs earlier than content generation, so shouldn't my code get processed BEFORE Apache attempts to process the webgate functions? How can I get my code to process before the webgate does? Thanks, Jim