Received: (qmail 146 invoked by uid 2012); 6 Jul 1998 16:00:50 -0000 Message-Id: <19980706160050.145.qmail@hyperreal.org> Date: 6 Jul 1998 16:00:50 -0000 From: Jesse Pelton Reply-To: jsp@pkc.com To: apbugs@hyperreal.org Subject: ISAPI: DLLs used by an ISA are not found in the ISA's directory X-Send-Pr-Version: 3.2 >Number: 2555 >Category: mod_isapi >Synopsis: ISAPI: DLLs used by an ISA are not found in the ISA's directory >Confidential: no >Severity: non-critical >Priority: medium >Responsible: apache >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Mon Jul 6 09:10:01 PDT 1998 >Closed-Date: Tue Sep 12 19:51:43 PDT 2000 >Last-Modified: Tue Sep 12 19:51:43 PDT 2000 >Originator: jsp@pkc.com >Release: 1.3.6 >Organization: >Environment: Windows NT Workstation 4.0 SP3 MSVC 5.0 >Description: If an ISA uses a DLL that's installed in the same directory as the ISA, isapi_handler()'s LoadLibraryEx() call fails. Windows pops up a dialog naming the required DLL and listing the path it searched, which does *not* include the directory that the ISA is located in. LoadLibraryEx() is apparently able to locate the ISA, but not to add its path to its search list. Running Apache under a debugger reveals that the filename passed to LoadLibraryEx() uses forward slashes for directory separators. Changing these to back slashes remedies the problem. I'm running Apache as a service. For some reason, this problem does not occur if Apache is running as an app. >How-To-Repeat: Create an ISA that uses an import library to make calls into a DLL. (This causes the OS to load the required DLL when the ISA is loaded.) Install the ISA and its DLL in one directory (*not* system32 or any directory in the system's search path). Then invoke the ISA. >Fix: My tested, minimal fix: make a local copy of the filename, change its forward slashes to back slashes, and pass it to LoadLibraryEx(). A more robust approach might be to perform this replacement on r->filename any time it's set. I get the impression that revising sub_canonical_filename() might do the trick, but I'm not familiar enough with the code to be sure, and it's possible that this would introduce new problems. >Release-Note: >Audit-Trail: State-Changed-From-To: open-feedback State-Changed-By: kparz@raleigh.ibm.com State-Changed-When: Mon Nov 9 05:25:19 PST 1998 State-Changed-Why: The entire os_canonical_filename processing has been rewritten. Could you give it a try again with the latest CVS or the next release, and report back? Thanks! From: Jesse Pelton To: "'kparz@raleigh.ibm.com'" Cc: "''" <> Subject: RE: os-windows/2555: ISAPI: DLLs used by an ISA are not found in the ISA's directory Date: Mon, 9 Nov 1998 10:11:59 -0500 The problem persists in the source tree captured in apache-1_3_19981109141211_tar. State-Changed-From-To: feedback-open State-Changed-By: kparz@raleigh.ibm.com State-Changed-When: Mon Nov 9 10:24:31 PST 1998 State-Changed-Why: Ok. I'm changing the state of the PR back to open. More investigation is needed on how the DLLs are loaded. Thanks for getting back to us. State-Changed-From-To: open-feedback State-Changed-By: coar State-Changed-When: Wed May 5 13:26:59 PDT 1999 State-Changed-Why: [This is a standard response.] This Apache problem report has not been updated recently. Please reply to this message if you have any additional information about this issue, or if you have answers to any questions that have been posed to you. If there are no outstanding questions, please consider this a request to try to reproduce the problem with the latest software release, if one has been made since last contact. If we don't hear from you, this report will be closed. If you have information to add, BE SURE to reply to this message and include the apbugs@Apache.Org address so it will be attached to the problem report! From: Jesse Pelton To: "'coar@apache.org'" , "'apbugs@Apache.Org'" Cc: Subject: RE: os-windows/2555: ISAPI: DLLs used by an ISA are not found in the ISA's directory Date: Thu, 6 May 1999 07:34:51 -0400 I upgraded to Apache 1.3.6 last week; the problem persists. Comment-Added-By: coar Comment-Added-When: Wed May 3 15:18:08 PDT 2000 Comment-Added: A lot of work has gone into the Windows code since 1.3.6; can you give it another try? Thanks! Release-Changed-From-To: 1.3b5-1.3.6 Release-Changed-By: coar Release-Changed-When: Wed May 3 15:18:08 PDT 2000 From: Jesse Pelton To: "'coar@apache.org'" Cc: "'apbugs@Apache.Org'" Subject: RE: os-windows/2555: ISAPI: DLLs used by an ISA are not found in the ISA's directory Date: Thu, 4 May 2000 13:56:28 -0400 I haven't tried 2.0a, but the problem still exists in 1.3.12. State-Changed-From-To: feedback-open State-Changed-By: coar State-Changed-When: Wed May 24 10:39:55 PDT 2000 State-Changed-Why: Still present in 1.3.12. Category-Changed-From-To: os-windows-mod_isapi Category-Changed-By: wrowe Category-Changed-When: Thu Jun 15 13:19:12 PDT 2000 Comment-Added-By: wrowe Comment-Added-When: Tue Sep 12 19:51:10 PDT 2000 Comment-Added: Your report seems to be accurate, as I can reproduce the first chance exception in the debugger in NTDLL. It seems very odd, however, very localized to that function, and a bug within WinNT. I've applied the / \ transposition you suggest to 1.3.13-dev, and expect this will resolve the issue. Thanks for the report and your interest in the Apache httpd project. State-Changed-From-To: open-closed State-Changed-By: wrowe State-Changed-When: Tue Sep 12 19:51:43 PDT 2000 State-Changed-Why: Whoops... ment to close this at the same time. >Unformatted: >Quarter: >Keywords: >Date-Required: [In order for any reply to be added to the PR database, ] [you need to include in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]