Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I'm havign problems with the SSL libraries(NET_SSLeay,Crypt::SSLeay,IO::Socket::SSL). It seems that it can't load the 'SSLeay.dll'. (note: IIS 6, W2K3) Now I think its a permissions problem, but not as simple as file permissions. See when I set myself as adminsitrator and access the web or run it in dos mode. It is fine, but a ISS user can't access it. Now I tried making a new user group with full control over C: and all thats in it equal to that of adminsitrator and logged on using that user. Unfortunatly that doesn't seem to help. I also tried metabase permissions and etc. IIS doesn't have a htaccess file like Apache so I'm in quiet a bind here :/. I know its a permissions issue but the question is where is the source. Here si the error below: Can't load 'C:/Perl/site/lib/auto/Net/SSLeay/SSLeay.dll' for module Net::SSLeay: load_file:Access is denied at C:/Perl/lib/DynaLoader.pm line 230. All them module alternatives give similar errors. and yes that fiel does exists in that path. Thanks in advanced

Replies are listed 'Best First'.
Re: Can't load load_file:Access is denied
by puploki (Hermit) on Sep 30, 2005 at 10:23 UTC

    It's possible that it's trying to execute the .dll file, so have you made sure that the IUSR_machinename user has read/execute permissions on the SSLeay.dll and that execute permissions are enabled in the IIS admin console?

    If all else fails, enable auditing on those files & directories and see what's getting denied access in the event log.

      As mentioned I have set the permissions to full control and yes IIS is in Scripts and Execute mode. I can't find anything special in the logs ether :/. IUSR_* is not the case here since as I said I amde a special user and user group and logged in using Authentication Method. When set to Adminsitrator group it works, but when set to any other group even one with full control over ALL files in C:, it won't work. So somewhere out there is some kind of permission thats the cause. I'm thinking of looking into PermVerif tool in the resource kit, but if anyone knows the solution to this it would be greatly appredciated. When looking on the web I found this problem in many palces but left unsolved...
        I Have found a solution ^_^
        xcacls C:\Perl\bin\ssleay32.dll /E /G IUSR_COMPUTER:RXE

        IUSR_COMPUTER = the name of your IIS user.

        This command prompt command did the job and solved the problem. This probably appleis to all access denied including oracle and etc ^_^