nExtpwd.dll not working. Guidance requested

HiI am trying to intercept notes password by using extension manager addin viz. nextpwd.dll. I have followed the following steps:

-compiled a nextpwd.dll file in VC++,

(project settings includes path to notes C api and C++ api’s include files)

-have added the line

EXTMGR_ADDINS=nextpwd.dll

at the end of notes.ini file (c:\program files\lotus\notes)

-Copied the nextpwd.dll into the notes executable directory (c:\program files\lotus\notes)

-Also created a password.txt file containing the password in notes executable directory and data directory (c:\program files\lotus\notes\data),

-I also downloaded the process explorer from www.sysinternals.com to check if nextpwd.dll is loaded or not: It does not show any entry for the dll

-I also tried to register the dll using normal regsrv but it says that dll is loaded but memory was found corrupt. I read somewhere that it is not a COM dll so we cannot register is like other dll files but need to copy it to notes executable directory only.

-I have a nextpwd.def file in my visual c++ project with the following contents:

LIBRARY nEXTPWD

DESCRIPTION ‘Extension manager. Copyright(C) 1998 Lotus Development Corp.’

EXPORTS

MainEntryPoint @1

DllMain @2

-I have copied and emailed the nextpwd.dll as an attachment to myself in notes mail. On viewing the attachment it shows that mainentry is at ordinal 2 while extclear is at ordinal 1.I am copying the exports section of the dll view here:-

Exports Table (Main Menu)

Name nextpwd.dll

Characteristics 0x00000000

TimeDateStamp 0x4206874B

Version 0.00

Ordinal base 0x00000001

of functions 0x00000003

of Names 0x00000003

Entry Pt Ordn Name

000117F8 1 ?ExtClear@@YGGXZ

00011163 2 ?MainEntryPoint@@YGGXZ

0001114F 3 _DllMain@12

  • I have restarted the client,server as well as machine so that new settings take effect. I am hoping that notes.ini is loaded again when notes client is opened so it should recognize nextpwd.dll as an extension manager addin and would look for the dll in notes executable directory and provide the password to wherever prompt comes.

-On starting the notes client it still gives me a notes password prompt. I have a console application that I want to automate i.e. for which I need the password interception. This application does not work without the password. After restarting everything, if I dont provide password on console says wrong password 4 times and then exits.

-Development Environment: Windows 2000/Intel P III, Domino Server 6.5, notes 6.5, Lotus Notes C++ api 3.0, Lotus C API for Notes/Domino 6.5, MS visual studio dot net environment with settings explained in user guide of the api toolkit.

Can anyone please help me with this problem. This is getting very urgent for me and I cannot find more options to try. I do not know how to debug the project which is why I dont know where and how to check if the dll even got loaded ever. The process explorer utility does not show that it is loaded.

Any help or pointers are greatly appreciated.

Thanks

-parul

Subject: nExtpwd.dll not working. Guidance requested.

first: have a look at your log (log.nsf). it usually contains one or more entries, if anything goes wrong when loading dlls (like nsf_hooks or extmgr_addins).

if you use a console program, than you should see at least one entry, if dll was loaded or loading failed.

you can’t load notes-dlls by using regsrv, they need context of notes.

when loading such addins notes does nothing more than a LoadLibrary, followed by a GetProcAdress(@1) - which in your case will definitly fail, cause notes expects MainEntryPoint and you provide anther function.

How did you compile that stuff? as far as i know vs6 was last visual studio version that accepts make files as input (at least it fails with me).

so you’d probably created one dll-project yourself? than be shure that vs knows about your def-file (linker options / module definition file - should result in /DEF:“extpwd?.def”).

hope that helps…

debugging isn’t a big thing, you should really take some time to get this running: set your current nlnotes.exe (not notes.exe!) as Command (in General/Debugging/Action/Command). then set a breakpoint in dllmain and give it a try:)

Markus Seitz

markus.seitz@icodex.com