Update of /cvsroot/mhonarc/mharc/bin
In directory subversions:/tmp/cvs-serv19451/bin
Modified Files:
mk-procmailrc
Log Message:
. Added support for "From-Address: " option in lists.def. This
option allows you to denote a list by the "From: " field of
messages. Run mk-procmailrc with -man option for more information.
Index: mk-procmailrc
===================================================================
RCS file: /cvsroot/mhonarc/mharc/bin/mk-procmailrc,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** mk-procmailrc 17 Jul 2002 21:59:36 -0000 1.13
--- mk-procmailrc 20 Jul 2002 04:04:57 -0000 1.14
***************
*** 136,144 ****
$time_fmt);
my (@addr);
my ($str);
foreach $name (sort keys %$listdef) {
! @addr = @{$listdef->{$name}{'address'}};
! if (!scalar(@addr)) {
# no addresses defined
warn qq/Warning: No addresses defined for '$name'\n/;
--- 136,154 ----
$time_fmt);
my (@addr);
+ my (@from_addr);
my ($str);
foreach $name (sort keys %$listdef) {
! if (defined($listdef->{$name}{'address'})) {
! @addr = @{$listdef->{$name}{'address'}};
! } else {
! @addr = ( );
! }
! if (defined($listdef->{$name}{'from-address'})) {
! @from_addr = @{$listdef->{$name}{'from-address'}};
! } else {
! @from_addr = ( )
! }
! if (!scalar(@addr) && !scalar(@from_addr)) {
# no addresses defined
warn qq/Warning: No addresses defined for '$name'\n/;
***************
*** 147,159 ****
# create procmail regex for list
! $pm_conditions = '* (^TO_';
! $pm_conditions .= '(' if (scalar(@addr) > 1);
! $pm_conditions .= join('|', @addr);
! $pm_conditions .= ')' if (scalar(@addr) > 1);
! $pm_conditions .= '|(^(Delivered-To:|List-Post:).*';
! $pm_conditions .= '(' if (scalar(@addr) > 1);
! $pm_conditions .= join('|', @addr);
! $pm_conditions .= ')' if (scalar(@addr) > 1);
! $pm_conditions .= '))';
if (defined($listdef->{$name}{'procmail-condition'})) {
--- 157,181 ----
# create procmail regex for list
! $pm_conditions = '* (';
! if (scalar(@addr)) {
! $pm_conditions .= '^TO_';
! $pm_conditions .= '(' if (scalar(@addr) > 1);
! $pm_conditions .= join('|', @addr);
! $pm_conditions .= ')' if (scalar(@addr) > 1);
! $pm_conditions .= '|(^(Delivered-To:|List-Post:).*';
! $pm_conditions .= '(' if (scalar(@addr) > 1);
! $pm_conditions .= join('|', @addr);
! $pm_conditions .= ')' if (scalar(@addr) > 1);
! $pm_conditions .= ')';
! }
! if (scalar(@from_addr)) {
! $pm_conditions .= '|(' if (scalar(@addr));
! $pm_conditions .= '^From:(.*[^-a-zA-Z0-9_.])?';
! $pm_conditions .= '(' if (scalar(@from_addr) > 1);
! $pm_conditions .= join('|', @from_addr);
! $pm_conditions .= ')' if (scalar(@from_addr) > 1);
! $pm_conditions .= ')' if (scalar(@addr));
! }
! $pm_conditions .= ')';
if (defined($listdef->{$name}{'procmail-condition'})) {
***************
*** 314,320 ****
Starts, and defines, the name of the list to be archived. This name
will be used as the directory name to contain the archives of the list
! and the short title. Typically notation is to use the list address,
but this is not required, especially if the archive is a combination
! of multiple lists.
=item Address
--- 336,343 ----
Starts, and defines, the name of the list to be archived. This name
will be used as the directory name to contain the archives of the list
! and the short title. Typical notation is to use the list address,
but this is not required, especially if the archive is a combination
! of multiple lists, or it is prefered to use a more abstract name
! in case the list address may change in the future.
=item Address
***************
*** 327,330 ****
--- 350,367 ----
archived together.
+ =item From-Address
+
+ Mail address of the list. This option is an alternative to C<Address>
+ for cases where the list can only be donoted by the C<From: > field
+ of the message. Some lists specify the C<To: > to be the actual
+ subscribed address to the list instead of to the address of the
+ list itself. This is fairly common for one-way lists like newsletters
+ where subscribers receive list messages but cannot post to the list.
+
+ This option can be specified multiple times. Multiple listings can be
+ use to capture the multiple addresses that denote the list. This is
+ useful if the list ever moves to a new address. Multiple listings
+ can also represent multiple lists that will be archived together.
+
=item CVS-Commits
***************
*** 359,362 ****
--- 396,404 ----
regular archives.
+ Another example use of this option is if you use the special C<Name>
+ "C<.catch>" (or the C<-catch-archive> setting described in L<OPTIONS>).
+ Using "C<.catch>" is handy for Final definitions to pre-catch messages
+ that should not be placed in any list archive.
+
=item No-Raw-Link
***************
*** 371,375 ****
the C<I<mharc-root>/mbox> directory so it is not readable by the
HTTP server process so someone cannot backdoor into the raw archives.
! This is generally done by removing world read permission . Make sure
the permission do allow for the MHArc archiving system to read and
write to the directory.
--- 413,417 ----
the C<I<mharc-root>/mbox> directory so it is not readable by the
HTTP server process so someone cannot backdoor into the raw archives.
! This is generally done by removing world read permission. Make sure
the permission do allow for the MHArc archiving system to read and
write to the directory.
---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-DEV