View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000754 | Apache 2.x | Feature Request | public | 2022-05-08 11:57 | 2022-05-14 23:19 |
Reporter | Steven Levine | Assigned To | Steven Levine | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | OS2/eCS | OS | OS/2 or eComstation | OS Version | 1.x 2.x or 4.5 |
Product Version | 2.4.x | ||||
Summary | 0000754: Avoid need to add modules directory to LIBPATH or BEGINLIBPATH. | ||||
Description | Some modules import from other modules. This means that the modules directory must be in LIBPATH or BEGINLIBPATH or the module will fail to load. One example is dav.dll and dav_fs.dll. The proposed solution is to modify modules\core\mod_so.c so that if the initial apr_dso_load attempt fails, and if the module's directory is not already in BEGINLIBPATH, then invoke DosSetExtLIBPATH to add the directory and retry the the apr_dso_load. In some cases that load error can be avoided by adjusting the order of LoadModule statments, but the proposed enhancement eliminates the need for this effort. | ||||
Tags | No tags attached. | ||||
|
The BEGINLIBPATH support seems to be working as intended. Starting with BEGINLIBPATH=D:\Internet\php7; LIBPATHSTRICT= and no references to httpd or php in PATH or LIBPATH, running httpd -d.. -e debug results in the following log entries written to stderr: [Wed May 11 16:11:09.241000 2022] [so:debug] [pid 5157:tid 1] mod_so.c(200): AH01580: update_beginlibpath set BEGINLIBPATH to D:\\Internet\\apache24\\modules;%BEGINLIBPATH% [Wed May 11 16:11:09.247000 2022] [so:debug] [pid 5157:tid 1] mod_so.c(347): AH01575: loaded module dav_fs_module from D:/Internet/apache24/modules/dav_fs.dll [Wed May 11 16:11:09.251000 2022] [so:debug] [pid 5157:tid 1] mod_so.c(347): AH01575: loaded module dav_module from D:/Internet/apache24/modules/dav.dll dav_fs.dll requires dav.dll, which triggers the BEGINLIBPATH update. The dav_fs.dll load loads both dav.dll and dav_fs.dll and dav.dll is already loaded when httpd requests the load. See: https://github.com/psmedley/httpd-2.4-os2/pull/2 https://github.com/psmedley/httpd-2.4-os2/pull/3 https://github.com/psmedley/httpd-2.4-os2/pull/3 for the commit details. |
|
The new code seems to be working as intended. |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-05-08 11:57 | Steven Levine | New Issue | |
2022-05-08 11:57 | Steven Levine | Status | new => assigned |
2022-05-08 11:57 | Steven Levine | Assigned To | => Steven Levine |
2022-05-12 08:54 | Steven Levine | Note Added: 0004225 | |
2022-05-14 23:19 | Steven Levine | Status | assigned => resolved |
2022-05-14 23:19 | Steven Levine | Resolution | open => fixed |
2022-05-14 23:19 | Steven Levine | Note Added: 0004297 |