I have two Domino servers: A and B, both joined to Domino cluster. I have created an agent on server A mail template and signed it under server A account. Agent selects data from users mailbox on local server. The mail template is replicated on both servers, ECL configuration for server A is the same on both servers.
The problems is - if I have a test client application which performs agent.RunOnServer() on server A, everything works fine. If I run it on server B - get error:
Client Execution Security is enabled.ECL Alert Result: Code signed by A was prevented from executing with the right: Access to current database.04/09/2004 03:29:44 PM Agent ‘RL MSI Server Agent’ error: Notes error: Operation aborted at your request.
Server A has “Access to current database” ECL right granted on both servers A and B.
Is there a way to refresh ECL on server side (something similar as it is done with client)?
Thanks in advance
Edmundas
Subject: RunOnServer and ECL.
When you say when I run “it” on the server, what do you mean? Do you mean the top level agent (agent1) that performs RunOnServer? Or the agent (agent2) that is invoked via RunOnServer and you run agent2 on the sever without being invoked via agent1?
I am very confused by your scenario. ECL only applies on the client, so the agent invoked via RunOnServer (or directly on the server) would not have any ECL alerts.
The code that issues the RunOnServer an agent or an application written in “c” by a third party?
If you have not read Agent FAQ articles about agent security, that might a good place to start. I would recommend “Troubleshooting agents in R5 and R6” first. Start by adding print statatement displaying EffectiveUser as recommended in troubleshooting, at least you will know what identity it is complaining about.
There is also an article on RunOnServer method. The important thing to know about it, that “RunOnServer” is only valid on the client. If you are using some third-party code, it is possible that codes did not account for this and did not map it to “run” method when it runs on the sever the way we do in Domino core.
Subject: RE: RunOnServer and ECL.
I will try to simplify the situation: I have two Domino servers - A and B. There is an agent on both servers, which is signed under server A account. The agent creates a COM object and invokes COM method.
The agent itself is invoked by application, which initializes NotesSession under local Domino server account.
On server A agent is invoked by application successfully.
On server B agent throws an error when creating COM object: Client Execution Security is enabled.ECL Alert Result: Code signed by A was prevented from executing with the right: Access to external programs. 04/13/2004 12:39:57 PM Agent ‘RL MSI Events Agent’ error: Operation is disallowed in this session
Notes client is not installed on the server, where the application invoking the agent is running on.
I have no idea why it’s failing, ECLs are the same for server account A on both servers.