Martin,
I believe OPES protocol should work in this kind of scenario by
applying it's own transaction boundaries. Being application
agnostic callout protocol does not provide one-to-one mapping
between callout protocol messages and application messages.
In this scenario single OPES transaction may encapsulate
multiple response message instances generated by the server.
OPES client by its nature is application specific, so
in this case it should expect that a single application message
included in OPES request may result in multiple application
response messages included into the OPES response, together
with - again, application-specific - information how to use
each application-level response message.
Keeping OPES transaction context independent from the
application semantics helps to ensure service
reliability: OPES client can detect situation when the
request processing was not completed and take the appropriate
steps.
- Oskar
-----Original Message-----
From: owner-ietf-openproxy(_at_)mail(_dot_)imc(_dot_)org
[mailto:owner-ietf-openproxy(_at_)mail(_dot_)imc(_dot_)org]On Behalf Of
Martin Stecher
Sent: Monday, February 17, 2003 4:45 AM
To: OPES WG (E-mail)
Subject: SMTP filtering use case
Hi Hilarie and Alex,
I think that we are not talking about the same SMTP filtering scenario.
Let me build on the virus filtering example and describe a concrete
use case:
There is a SMTP MTA dealing as the incoming mail server of a company.
It is OPES enabled and uses a callout service to do virus filtering on
all the incoming messages.
Every individual in the company can select his/her preference:
Infected messages can either be replaced by an alert message or can be
repaired.
This property is kept in a directory service for the company.
The OPES SMTP device is a general implementation which is not aware of
virus scanning techniques and especially not on the user preferences,
it does not access the directory service at all, but the callout
service does.
Now the OPES device receives an email messsage containing a virus which
is sent to 20 recipients within the company. It is a single message!
The OPES client forwards this one message to the callout service.
That one looks up the AV filter preference in the company's directory
service. The callout service detects the virus and sees that 18
recipients want to have the message repaired and 2 recipients prefer
to get the virus replaced by an alert.
From this point on two copies of the SMTP message are required with
different content. One to be sent to 18 recipients the other to the
other 2.
How could this be solved?
- By enabling the OPES protocol to return two copies of an application
message in response to one filtering request
- By requiring that the OPES edge device ensures to pre-generate copies
of the application message where each copy guarantees to result in
only a single response.
Martin