mhonarc-commits
[Top] [All Lists]

CVS: mharc/bin mk-procmailrc,1.13,1.14

2002-07-19 21:05:22
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