Me too. If it's still a long way off, then maybe this is the way to go - on
the other hand if Sam can provide some guidance as to where one would have
to look to start making such a change - and perhaps what the bigger
challenges are, then maybe we can amass enough effort amounst us to make it
happen - eh?

m/

> -----Original Message-----
> From: Derrick T. Woolworth [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 12, 2004 12:43 AM
> To: Mitch (WebCob)
> Cc: Lloyd Zusman; [EMAIL PROTECTED]
> Subject: RE: [courier-users] My Modest Proposal
>
>
> I think its important to the evolution of Courier that it
> eventually support
> modification of messages from any courierfilter.  I've never
> quite understood
> why this isn't allowed - possibly a filesize issue, security?  I
> would only be
> guessing, but in the grand scheme of things I'm sure there's a
> lot of folks
> that would love this ability.
>
> I'd like to hear from Sam regarding the effort to make this
> modification and
> perhaps why its so long in coming?
>
> Thanks,
>
> D
>
> --
> Derrick T. Woolworth
> R&D Technology, LLC.
> 6701 W. 121st, Suite 310
> Overland Park, KS 66209
> Phone: (913) 491-0345
> Fax:   (913) 491-1645
>
>
> Quoting "Mitch (WebCob)" <[EMAIL PROTECTED]>:
>
> | Hi Lloyd.
> |
> | Would like to hear what others think including Sam - but it
> sounds like the
> | best of a bad situation to me. I wonder how the effort and
> overhead you are
> | making compare with a patch to courier that would allow modification of
> | message files during global filtering. Although such an option
> may lower the
> | efficiency of delivery perhaps if submitted as a compile time option it
> | could be acceptable for inclusion in the distribution.
> |
> | Personally, I make my hacks as a last resort after trying to ellicit
> | support, as maintaining them - particularly when dependancies
> on the core
> | software may not be broken with future versions.
> |
> | I've seen people running filters twice to do rejection and modification
> | separately - maybe before embarcing on this you might want to do some
> | benchmarks?
> |
> | Just a few thoughts.
> |
> | m/
> |
> | > -----Original Message-----
> | > From: [EMAIL PROTECTED]
> | > [mailto:[EMAIL PROTECTED] Behalf Of Lloyd
> | > Zusman
> | > Sent: Wednesday, February 11, 2004 5:21 AM
> | > To: [EMAIL PROTECTED]
> | > Subject: [courier-users] My Modest Proposal
> | >
> | >
> | > In one or two other threads, I mentioned a Modest Proposal for a small
> | > change in Courier.  I'm about to start work on a patch and a piece of
> | > add-on software that implement this proposal, and so I want
> to describe
> | > it here, in a bit more detail.
> | >
> | > The problem I'm trying to solve is this: for reasons of efficiency,
> | > Courier's global filters cannot modify messages.  Only local
> filters can
> | > do that.  Because a global filter can cause an immediate
> failure during
> | > the SMTP dialog, there are some functions that are best
> performed during
> | > a global filter.  But some of these functions make minor
> changes to the
> | > message, such as the addition of header fields.  SPF is one such
> | > function.
> | >
> | > The recommended solution for this, namely having the global filter
> | > modify the control file in order to block message delivery and then
> | > re-injecting a modified version of the message, is cumbersome,
> | > inelegant, overly complex, and probably inefficient.
> | >
> | > Therefore, I propose the following:
> | >
> | > A small change is made to Courier (probably only a few lines
> of code in
> | > submit.C) which will cause a unique ID to be put into the "Received:"
> | > header for every message that Courier processes.  Because this ID will
> | > be visible both during global and local filtering, it
> provides a way to
> | > match a message going through a local filter with its predecessor that
> | > might have gone through a global filter.  This allows state
> information
> | > to be maintained for the life of a message through the local
> and global
> | > filters.
> | >
> | > I propose the generation of this unique ID instead of using the
> | > Message-ID header, because we cannot count on Message-ID being totally
> | > unique.
> | >
> | > How does this solve the problem that I mentioned above?
> Well, a global
> | > filter that wants to change a message can create an entry in a data
> | > store using this unique ID as a key.  In this entry will be
> some sort of
> | > description of the change.  Later, when the message passes through the
> | > local filter, the data store is accessed and the entry is looked up by
> | > means of this same unique ID.  The local filter then interprets this
> | > data and makes whatever modification is necessary to the message.
> | >
> | > As an adjunct to this small patch to (probably) submit.C, I will also
> | > write a package that can be used within global and local filters to
> | > manage this data store.  Since I'm using courier-pythonfilter for my
> | > global filtering, I will write this adjunct package in Python.  Of
> | > course, there is no requirement to use this package.  Many people
> | > will just want to ignore this unique ID, and others will want to
> | > use it in their own ways.
> | >
> | > An example should clarify this.  Here's how this would work with SPF:
> | >
> | > 1.  SMTP dialog begins.
> | >
> | > 2.  A global filter is invoked at the appropriate time in order to
> | >     perform SPF checking.  If this test fails, the message is
> | >     immediately rejected.  But if it succeeds,  we need to add an
> | >     "SPF-Received" header to the message.
> | >
> | > 3.  Still within the global filter, extract the new unique ID from
> | >     Courier's "Received" header in the message.
> | >
> | > 4.  Using my adjunct data store package, persist an appropriate
> | >     SPF-Received header, using this unique ID as the key.
> | >
> | > 5.  Global filter exits.
> | >
> | > 6.  Later, the message is processed by a local filter ... in my
> | >     case, this will be handled via maildrop.
> | >
> | > 7.  Very early in this local filter's processing, 'xfilter'
> the message
> | >     through a homegrown utility which extracts the unique ID from
> | >     Courier's "Received" header in the message.
> | >
> | > 8.  Still within this xfilter propgram, and using my same data store
> | >     package, try to retrieve any information that might have been
> | >     previously persisted for this message, keyed by this
> unique ID.  If
> | >     there is no such information, skip to step 11.
> | >
> | > 9.  If information exists, interpret it.  In this example, we have
> | >     persisted an SPF-Received header.  We then add that header to
> | >     the message.
> | >
> | > 10. Delete the data that was persisted using this unique ID.
> | >
> | > 11. The xfilter program exits, outputting the possibly
> modified message.
> | >
> | > 12. Process the message through the remainder of the local
> filter rules.
> | >
> | > As you can see, the global filter remains lightweight and
> efficient, and
> | > the message modification still takes place in the local filter.  The
> | > only change to Courier itself is the addition of the unique ID to the
> | > "Received" header, and this is a very minor change, indeed.
> | >
> | > I plan to patch submit.C to put this unique ID into the "Received"
> | > header.  Then, I will write my data store package and the utility that
> | > will be called via xfilter.
> | >
> | > I will post everything here when this is working.
> | >
> | > Any thoughts?
> | >
> | > --
> | >  Lloyd Zusman
> | >  [EMAIL PROTECTED]
> | >
> | >
> | >
> | > -------------------------------------------------------
> | > The SF.Net email is sponsored by EclipseCon 2004
> | > Premiere Conference on Open Tools Development and Integration
> | > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> | > http://www.eclipsecon.org/osdn
> | > _______________________________________________
> | > courier-users mailing list
> | > [EMAIL PROTECTED]
> | > Unsubscribe:
https://lists.sourceforge.net/lists/listinfo/courier-users
| >
|
|
|
| -------------------------------------------------------
| SF.Net is sponsored by: Speed Start Your Linux Apps Now.
| Build and deploy apps & Web services for Linux with
| a free DVD software kit from IBM. Click Now!
| http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
| _______________________________________________
| courier-users mailing list
| [EMAIL PROTECTED]
| Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users
|





-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to