mhonarc-commits
[Top] [All Lists]

CVS: mharc/bin filter-spool,1.10,1.11

2002-09-26 22:01:15
Update of /cvsroot/mhonarc/mharc/bin
In directory subversions:/tmp/cvs-serv30279

Modified Files:
	filter-spool 
Log Message:
Added support for specify procmail, formail, and lockfile programs
in config.sh.


Index: filter-spool
===================================================================
RCS file: /cvsroot/mhonarc/mharc/bin/filter-spool,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** filter-spool	15 Sep 2002 03:33:08 -0000	1.10
--- filter-spool	27 Sep 2002 05:01:07 -0000	1.11
***************
*** 48,51 ****
--- 48,58 ----
  );
  
+ my $Procmail = $config->{'PROCMAIL'} || 'procmail';
+ my $Lockfile = $config->{'LOCKFILE'} || 'lockfile';
+ my $Formail  = $config->{'FORMAIL'}  || 'formail';
+ 
+ my $TmpSpool     = '.newmail';
+ my $TmpSpoolLock = $TmpSpool.'.lock';
+ 
  MAIN: {
    # Make sure umask is set to make things readable by default
***************
*** 118,129 ****
    if ((! -e $mail) || ((stat($mail))[7] == 0)) {
      $have_spool = 0;
!     if (! -e '.newmail') {
        print qq/"$mail" does not exist or is zero bytes/  if $verbose;
        exit 1;
      }
!     print qq/No new mail, but .newmail exists\n/;
    }
  
!   if (cmd("lockfile -r5 -l$lock_to .newmail.lock 2>/dev/null") != 0) {
      print qq/Unable to obtain lock, exiting/  if $verbose;
      exit 1;
--- 125,136 ----
    if ((! -e $mail) || ((stat($mail))[7] == 0)) {
      $have_spool = 0;
!     if (! -e $TmpSpool) {
        print qq/"$mail" does not exist or is zero bytes/  if $verbose;
        exit 1;
      }
!     print qq/No new mail, but $TmpSpool exists\n/  if $verbose;
    }
  
!   if (cmd("$Lockfile -r5 -l$lock_to $TmpSpoolLock 2>/dev/null") != 0) {
      print qq/Unable to obtain lock, exiting/  if $verbose;
      exit 1;
***************
*** 134,146 ****
      if ($have_spool) {
        if ($is_spool) {
! 	run_prg('lockfile', "-l$lock_to", '-ml');
        } else {
! 	run_prg('lockfile', "-l$lock_to", "$mail.lock");
        }
!       if (cmd("/bin/cat '$mail' >>.newmail") == 0) {
  	cmd("/bin/cat /dev/null >'$mail'");
        }
        if ($is_spool) {
! 	cmd('lockfile', '-mu');
        } else {
  	unlink("$mail.lock") ||
--- 141,153 ----
      if ($have_spool) {
        if ($is_spool) {
! 	run_prg($Lockfile, "-l$lock_to", '-ml');
        } else {
! 	run_prg($Lockfile, "-l$lock_to", "$mail.lock");
        }
!       if (cmd("/bin/cat '$mail' >>$TmpSpool") == 0) {
  	cmd("/bin/cat /dev/null >'$mail'");
        }
        if ($is_spool) {
! 	cmd($Lockfile, '-mu');
        } else {
  	unlink("$mail.lock") ||
***************
*** 149,155 ****
      }
  
!     if (cmd("formail -s procmail $procmailrc $procmailvars <.newmail") == 0) {
!       unlink('.newmail') ||
! 	  warn qq/Warning: Unable to remove ".newmail"\n/;
      }
    };
--- 156,163 ----
      }
  
!     if (cmd("$Formail -s $Procmail $procmailrc $procmailvars <$TmpSpool")
! 		== 0) {
!       unlink($TmpSpool) ||
! 	  warn qq/Warning: Unable to remove "$TmpSpool"\n/;
      }
    };
***************
*** 164,168 ****
  
  sub clean_lock {
!   unlink('.newmail.lock');
  }
  
--- 172,176 ----
  
  sub clean_lock {
!   unlink($TmpSpoolLock);
  }
  

---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-DEV