httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 18721] New: - apxs handles internal module names incorrectly
Date Fri, 04 Apr 2003 19:37:03 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18721>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18721

apxs handles internal module names incorrectly

           Summary: apxs handles internal module names incorrectly
           Product: Apache httpd-1.3
           Version: 1.3.27
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: Other
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: pilot@nv.com.ua


apxs writes wrong LoadModule into httpd.conf, if module name is something
different from mod_WORD-WITHOUT-UNDERLINES.
How to reproduce: take mod_auth.c alone from source tree (note: internal module
name is auth_module) and run:
# apxs -c mod_auth.c
# apxs -e -a -n auth mod_auth.so
You will get in httpd.conf:
LoadModule auth_module modules/mod_auth.so
AddModule mod_auth.c
Everything is fine.

Now take mod_log_agent.c (note: internal module name is agent_log_module):
# apxs -c mod_log_agent.c
# apxs -e -a -n log_agent mod_log_agent.so
You will get:
LoadModule log_agent_module modules/mod_log_agent.so
AddModule mod_log_agent.c

But module name is agent_log_module !
If you try
# apxs -e -a -n agent_log mod_log_agent.so
, you will get correct LoadModule:
LoadModule agent_log_module modules/mod_log_agent.so
, but incorrect AddModule:
AddModule mod_agent_log.c
mod_agent_log.c doesn't exist
, and apxs will try to handle mod_agent_log.conf instead of mod_log_agent.conf
in case of add-on modules configuration files.

This happens because internal module name is usually constructed of file name,
but the words (if there are more than 1 word after mod_ and before _module) go
in reverse order. apxs does not handle this.

This bug is not seen when building standard apache modules, because apxs -e -a
is not run for them, but shipped httpd.conf is used, which contains right
Load/AddModule lines. The bug arises when trying to build RPM for 3rd party
modules, which are called something like mod_log_sql, mod_auth_mysql and so on.

The bug makes impossible to automate (de)activation of modules in RPM scripts,
although it works fine for mod_throttle and other one-word named modules.

I suggest fixing the bug via using join("_", reverse (split ("_", $something))
when building LoadModule line. I don't use/know perl, so can't fix the code myself.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message