Great Circle Associates Majordomo-Workers
(February 1998)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Re: Some more minor fixes
From: Norbert Bollow <nb @ thinkcoach . com>
Date: Fri, 27 Feb 1998 14:29:48 +0100
To: tibbs @ hpc . uh . edu
Cc: majordomo-workers @ greatcircle . com
In-reply-to: <ufahg5lv27o.fsf@sina.hpc.uh.edu> (message from Jason L Tibbitts III on 27 Feb 1998 03:14:51 -0600)

> NB> [...] I'm going to call validate from bf-batcher (a replacement for TLB
> NB> which will allow Bouncefilter to be used outside of its natural
> NB> environment
> 
> That's one of the reasons I removed the validator's need for globals.
> You'll probably have to get rid of the logging calls, though.
> 
> When you say you're "replacing" TLB, are you duplicating all of the
> functionality?

Only if that doesn't create significant extra work. My intention is to
provide some kind of way to use Bouncefilter with Majordomo 1 that can
easily be ported to other MLMs. If your hint about delivery_rules turns
out to give me an easy way of creating something which duplicates all of
TLB's functionality, that is of course even better than what I originally
wanted.

> Unless you're rolling it all yourself, I think the
> Mj::Deliver code is better than what's in TLB.

Yes! And that's precisely the reason why I'm working on something that
can replace TLB rather than a patch for it.

bf-batcher is a pretty short script actually, it essentially puts the
message (which comes from STDIN) into a temporary file, finds out where
the file with the subscriber addresses is, reads it, validates addresses
and then relies on Bf::Sender->compatibility_deliver() to mail the message
out. (bf-batcher also removes addresses of which validate() fails to make
sense even with lax settings and alerts the owner-list address about them.)

Bf::Sender is a module which will eventually be part of Majordomo. It
contains functions which make decisions about what to put into the 
envelope sender and which then call Mj::Deliver->deliver(), or
Mj::Deliver::Envelope->new() and Mj::Deliver::Envelope->send(), or
Mj::Deliver::QQEnvelope->new() and Mj::Deliver::QQEnvelope->send() for
the actual work.

When my code is mature enough I will send you a patch that will cause
Mj::Deliver->deliver() to call Bf::Sender->choose_sender() on machines
with MTAs that support using Bouncefilter's fancy envelope sender
addresses.

>  And it might be nice to
> make use of the delivery_rules syntax so we have some uniformity.
> (delivery_rules allows all of the expressiveness of the TLB config file
> stuff without any Perl.  And I'm proud of my nested keyed list parser.)

Great idea! Will do.

> This reminds me: the current lack of explicit copyright on the code means
> that you can't legally do anything with it.  We're going to have to pick a
> license, which is something I've been dreading.  I like an Apache/BSD style
> that says you can do anything you want except remove the copyright notice
> or advertise a derivative work as Majordomo. 

I agree. 

> Unfortunately I hate legal
> stuff.  Anyone want to form the "Majordomo Development Group" (or
> consortium or whatever)?

Sounds like a good idea to me. Count me in :)

-- NB.



Follow-Ups:
References:
Indexed By Date Previous: Re: Fake-ID
From: Norbert Bollow <nb@thinkcoach.com>
Next: Suggested LICENSE file
From: Norbert Bollow <nb@thinkcoach.com>
Indexed By Thread Previous: Re: Some more minor fixes
From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
Next: Re: Some more minor fixes
From: Jason L Tibbitts III <tibbs@hpc.uh.edu>

Google
 
Search Internet Search www.greatcircle.com