home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume34 / mailagnt / patch16 < prev    next >
Encoding:
Text File  |  1993-01-17  |  21.8 KB  |  763 lines

  1. Newsgroups: comp.sources.misc
  2. From: ram@eiffel.com (Raphael Manfredi)
  3. Subject: v34i116:  mailagent - Rule Based Mail Filtering, Patch16
  4. Message-ID: <1993Jan17.210431.4092@sparky.imd.sterling.com>
  5. X-Md4-Signature: 2e6f5e9334b235ff72618bc1b84dd494
  6. Date: Sun, 17 Jan 1993 21:04:31 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: ram@eiffel.com (Raphael Manfredi)
  10. Posting-number: Volume 34, Issue 116
  11. Archive-name: mailagent/patch16
  12. Environment: Perl, Sendmail, UNIX
  13. Patch-To: mailagent: Volume 33, Issue 93-109
  14.  
  15. [The latest patch for mailagent version 2.9 is #16.]
  16.  
  17. System: mailagent version 2.9
  18. Patch #: 16
  19. Priority: MEDIUM
  20. Subject: patch #15, continued
  21. Date: Tue Jan 12 13:51:15 PST 1993
  22. From: Raphael Manfredi <ram@eiffel.com>
  23.  
  24. Description:
  25.     See patch #15.
  26.  
  27.  
  28. Fix:    From rn, say "| patch -p -N -d DIR", where DIR is your mailagent source
  29.     directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
  30.     If you don't have the patch program, apply the following by hand,
  31.     or get patch (version 2.0, latest patchlevel).
  32.  
  33.     After patching:
  34.         ### Read this carefully
  35.         # Unusual stuff
  36.         cd agent/test
  37.         mkdir misc
  38.         cd misc
  39.         cp /dev/null compress.t
  40.         cp /dev/null mmdf.t
  41.         cd ../../..
  42.         # The usual stuff
  43.         Configure -d
  44.         make depend
  45.         make
  46.         make install
  47.         make install.man
  48.  
  49.     If patch indicates that patchlevel is the wrong version, you may need
  50.     to apply one or more previous patches, or the patch may already
  51.     have been applied.  See the patchlevel.h file to find out what has or
  52.     has not been applied.  In any event, don't continue with the patch.
  53.  
  54.     If you are missing previous patches they can be obtained from me:
  55.  
  56.         Raphael Manfredi <ram@eiffel.com>
  57.  
  58.     If you send a mail message of the following form it will greatly speed
  59.     processing:
  60.  
  61.         Subject: Command
  62.         @SH mailpatch PATH mailagent 2.9 LIST
  63.                ^ note the c
  64.  
  65.     where PATH is a return path FROM ME TO YOU either in Internet notation,
  66.     or in bang notation from some well-known host, and LIST is the number
  67.     of one or more patches you need, separated by spaces, commas, and/or
  68.     hyphens.  Saying 35- says everything from 35 to the end.
  69.  
  70.     To get some more detailed instructions, send me the following mail:
  71.  
  72.         Subject: Command
  73.         @SH mailhelp PATH
  74.  
  75.  
  76. Index: patchlevel.h
  77. Prereq: 15
  78. 4c4
  79. < #define PATCHLEVEL 15
  80. ---
  81. > #define PATCHLEVEL 16
  82.  
  83. Index: MANIFEST
  84. *** MANIFEST.old    Tue Jan 12 13:41:53 1993
  85. --- MANIFEST    Tue Jan 12 13:41:54 1993
  86. ***************
  87. *** 73,78 ****
  88. --- 73,79 ----
  89.   agent/pl/analyze.pl        Perl library analyzing the incoming mail
  90.   agent/pl/builtins.pl       Perl library dealing with builtins
  91.   agent/pl/checklock.pl      Perl library to check for long lasting locks
  92. + agent/pl/compress.pl       Folder compression library
  93.   agent/pl/context.pl        Mailagent context file handling
  94.   agent/pl/dbr.pl            Internal database management
  95.   agent/pl/distribs.pl       Perl library to scan the distribs file
  96. ***************
  97. *** 98,103 ****
  98. --- 99,105 ----
  99.   agent/pl/makedir.pl        Perl library for making a directory
  100.   agent/pl/matching.pl       Matching routines used by filter
  101.   agent/pl/mbox.pl           Getting mails from a mailbox file
  102. + agent/pl/mmdf.pl           MMDF-style mailbox handling
  103.   agent/pl/once.pl           Dealing with once commands
  104.   agent/pl/parse.pl          Perl library to parse a mail message
  105.   agent/pl/period.pl         Perl library to compute periods
  106. ***************
  107. *** 178,183 ****
  108. --- 180,187 ----
  109.   agent/test/filter/status.t     Action status updating tests
  110.   agent/test/level               Default logging level for tests
  111.   agent/test/mail                The mail used by testing routines
  112. + agent/test/misc/compress.t     Folder compression checks
  113. + agent/test/misc/mmdf.t         MMDF-style mailbox checks
  114.   agent/test/option/             Tests the options to the mailagent program
  115.   agent/test/option/L.t          Test -L option
  116.   agent/test/option/V.t          Test -V option
  117.  
  118. Index: agent/pl/plsave.pl
  119. Prereq: 2.9
  120. *** agent/pl/plsave.pl.old    Tue Jan 12 13:41:42 1993
  121. --- agent/pl/plsave.pl    Tue Jan 12 13:41:43 1993
  122. ***************
  123. *** 1,4 ****
  124. ! ;# $Id: plsave.pl,v 2.9 92/07/14 16:50:29 ram Exp $
  125.   ;#
  126.   ;#  Copyright (c) 1991, Raphael Manfredi
  127.   ;#
  128. --- 1,4 ----
  129. ! ;# $Id: plsave.pl,v 2.9.1.1 93/01/12 13:34:53 ram Exp $
  130.   ;#
  131.   ;#  Copyright (c) 1991, Raphael Manfredi
  132.   ;#
  133. ***************
  134. *** 6,11 ****
  135. --- 6,14 ----
  136.   ;#  Licence as specified in the README file that comes with dist.
  137.   ;#
  138.   ;# $Log:    plsave.pl,v $
  139. + ;# Revision 2.9.1.1  93/01/12  13:34:53  ram
  140. + ;# patch15: lock outdating now performed by &acs_rqst
  141. + ;# 
  142.   ;# Revision 2.9  92/07/14  16:50:29  ram
  143.   ;# 3.0 beta baseline.
  144.   ;# 
  145. ***************
  146. *** 74,83 ****
  147.   # file we write is not correct, in case the distribution file changed
  148.   # while we were processing a mail. However, it isn't a big problem.
  149.   sub write_plsave {
  150. !     local($lockext) = ".lock";        # Needed by checklock
  151.       local($system);
  152.       local($version);
  153. -     do checklock($cf'plsave);        # Make sure no old lock lasts
  154.       if (0 != &acs_rqst($cf'plsave)) {
  155.           do add_log("WARNING updating unlocked patlist file")
  156.               if ($loglvl > 5);
  157. --- 77,85 ----
  158.   # file we write is not correct, in case the distribution file changed
  159.   # while we were processing a mail. However, it isn't a big problem.
  160.   sub write_plsave {
  161. !     local($lockext) = ".lock";        # Needed by checklock (via acs_rqst)
  162.       local($system);
  163.       local($version);
  164.       if (0 != &acs_rqst($cf'plsave)) {
  165.           do add_log("WARNING updating unlocked patlist file")
  166.               if ($loglvl > 5);
  167.  
  168. Index: agent/files/mailagent.cf
  169. Prereq: 2.9.1.1
  170. *** agent/files/mailagent.cf.old    Tue Jan 12 13:40:40 1993
  171. --- agent/files/mailagent.cf    Tue Jan 12 13:40:40 1993
  172. ***************
  173. *** 2,8 ****
  174.   # Configuration file for mailagent
  175.   #
  176.   
  177. ! # $Id: mailagent.cf,v 2.9.1.1 92/08/02 15:52:42 ram Exp $
  178.   #
  179.   #  Copyright (c) 1991, Raphael Manfredi
  180.   #
  181. --- 2,8 ----
  182.   # Configuration file for mailagent
  183.   #
  184.   
  185. ! # $Id: mailagent.cf,v 2.9.1.2 93/01/12 12:07:32 ram Exp $
  186.   #
  187.   #  Copyright (c) 1991, Raphael Manfredi
  188.   #
  189. ***************
  190. *** 10,15 ****
  191. --- 10,18 ----
  192.   #  Licence as specified in the README file that comes with dist.
  193.   #
  194.   # $Log:    mailagent.cf,v $
  195. + # Revision 2.9.1.2  93/01/12  12:07:32  ram
  196. + # patch15: new parameters: nfslock, mmdf, mmdfbox and compress
  197. + # 
  198.   # Revision 2.9.1.1  92/08/02  15:52:42  ram
  199.   # patch2: new configuration parameter to specify mailbox file
  200.   # 
  201. ***************
  202. *** 58,65 ****
  203. --- 61,74 ----
  204.   timezone : PST8PDT                # Time zone location
  205.   statfile : $spool/mailagent.st    # Statistics file
  206.   rules    : ~/.rules                # Filter's rules location (optional)
  207. + nfslock  : OFF                    # NFS-secure locking (optional)
  208. + # Mailbox parameters
  209.   maildrop : /usr/mail            # System mail drop directory (optional)
  210.   mailbox  : $user                # Mailbox file name (optional)
  211. + mmdf     : OFF                    # Allow MMDF-style mailbox delivery
  212. + mmdfbox  : OFF                    # Force new folders to MMDF format
  213. + compress : ~/.compress            # Folder compression list (optional)
  214.   
  215.   # Database hashing directory (in $spool) and other controls
  216.   hash     : dbr                    # Hashing directory
  217.  
  218. Index: agent/pl/jobnum.pl
  219. Prereq: 2.9.1.1
  220. *** agent/pl/jobnum.pl.old    Tue Jan 12 13:41:35 1993
  221. --- agent/pl/jobnum.pl    Tue Jan 12 13:41:35 1993
  222. ***************
  223. *** 1,4 ****
  224. ! ;# $Id: jobnum.pl,v 2.9.1.1 92/08/26 13:14:57 ram Exp $
  225.   ;#
  226.   ;#  Copyright (c) 1992, Raphael Manfredi
  227.   ;#
  228. --- 1,4 ----
  229. ! ;# $Id: jobnum.pl,v 2.9.1.2 93/01/12 13:33:56 ram Exp $
  230.   ;#
  231.   ;#  Copyright (c) 1992, Raphael Manfredi
  232.   ;#
  233. ***************
  234. *** 6,17 ****
  235.   ;#  Licence as specified in the README file that comes with dist.
  236.   ;#
  237.   ;# $Log:    jobnum.pl,v $
  238.   ;# Revision 2.9.1.1  92/08/26  13:14:57  ram
  239.   ;# patch8: created
  240.   ;# 
  241.   ;# 
  242.   ;# Depends on the following external routines:
  243. ! ;#  checklock() to check for locks older than one hour
  244.   ;#  acs_rqst() to get a lock on file
  245.   ;#  free_file() to release lock on file
  246.   ;#
  247. --- 6,20 ----
  248.   ;#  Licence as specified in the README file that comes with dist.
  249.   ;#
  250.   ;# $Log:    jobnum.pl,v $
  251. + ;# Revision 2.9.1.2  93/01/12  13:33:56  ram
  252. + ;# patch15: lock outdating now performed by &acs_rqst
  253. + ;# 
  254.   ;# Revision 2.9.1.1  92/08/26  13:14:57  ram
  255.   ;# patch8: created
  256.   ;# 
  257.   ;# 
  258.   ;# Depends on the following external routines:
  259. ! ;#  checklock() to check for locks older than one hour (via acs_rqst)
  260.   ;#  acs_rqst() to get a lock on file
  261.   ;#  free_file() to release lock on file
  262.   ;#
  263. ***************
  264. *** 18,24 ****
  265.   # Computes a new job number
  266.   sub jobnum {
  267.       local($job);                        # Computed job number
  268. -     &checklock($cf'seqfile);            # Check for old lock
  269.       if (0 != &acs_rqst($cf'seqfile)) {
  270.           $job = "?";
  271.       } else {
  272. --- 21,26 ----
  273.  
  274. Index: bin/perload
  275. Prereq: 2.9.1.4
  276. *** bin/perload.old    Tue Jan 12 13:41:49 1993
  277. --- bin/perload    Tue Jan 12 13:41:50 1993
  278. ***************
  279. *** 1,4 ****
  280. ! # feed this into perl
  281.   '/bin/true' && eval 'exec perl -S $0 "$@"'
  282.       if $running_under_some_shell;
  283.   'di';
  284. --- 1,4 ----
  285. ! : # feed this into perl
  286.   '/bin/true' && eval 'exec perl -S $0 "$@"'
  287.       if $running_under_some_shell;
  288.   'di';
  289. ***************
  290. *** 8,14 ****
  291.   # This perl script is its own manual page [generated by wrapman]
  292.   #
  293.   
  294. ! # $Id: perload,v 2.9.1.4 92/11/10 10:14:47 ram Exp $
  295.   #
  296.   #  Copyright (c) 1992, Raphael Manfredi
  297.   #
  298. --- 8,14 ----
  299.   # This perl script is its own manual page [generated by wrapman]
  300.   #
  301.   
  302. ! # $Id: perload,v 2.9.1.5 93/01/12 13:39:42 ram Exp $
  303.   #
  304.   #  Copyright (c) 1992, Raphael Manfredi
  305.   #
  306. ***************
  307. *** 16,21 ****
  308. --- 16,24 ----
  309.   #  Licence as specified in the README file that comes with dist.
  310.   #
  311.   # $Log:    perload,v $
  312. + # Revision 2.9.1.5  93/01/12  13:39:42  ram
  313. + # patch15: perload now knows about leading ':' for shell startup
  314. + # 
  315.   # Revision 2.9.1.4  92/11/10  10:14:47  ram
  316.   # patch12: fixed English typo in manual section
  317.   # 
  318. ***************
  319. *** 49,55 ****
  320.   &Getopt;
  321.   
  322.   while (<>) {
  323. !     if ($. == 1 && /^#.*perl/) {    # Invocation stub
  324.           $has_invocation_stub = 1;
  325.           print;
  326.           next;
  327. --- 52,58 ----
  328.   &Getopt;
  329.   
  330.   while (<>) {
  331. !     if ($. == 1 && /^(:|#).*perl/) {    # Invocation stub
  332.           $has_invocation_stub = 1;
  333.           print;
  334.           next;
  335.  
  336. Index: agent/pl/getdate.pl
  337. Prereq: 2.9.1.1
  338. *** agent/pl/getdate.pl.old    Tue Jan 12 13:41:32 1993
  339. --- agent/pl/getdate.pl    Tue Jan 12 13:41:33 1993
  340. ***************
  341. *** 47,55 ****
  342.   ;# Below are logging information for this package as included in the
  343.   ;# mailagent program.
  344.   ;#
  345. ! ;# $Id: getdate.pl,v 2.9.1.1 92/07/25 12:39:08 ram Exp $
  346.   ;#
  347.   ;# $Log:    getdate.pl,v $
  348.   ;# Revision 2.9.1.1  92/07/25  12:39:08  ram
  349.   ;# patch1: swapped offsets for EET and WET (reported by Jost Krieger)
  350.   ;# 
  351. --- 47,59 ----
  352.   ;# Below are logging information for this package as included in the
  353.   ;# mailagent program.
  354.   ;#
  355. ! ;# $Id: getdate.pl,v 2.9.1.2 92/12/07 09:21:10 ram Exp $
  356.   ;#
  357.   ;# $Log:    getdate.pl,v $
  358. + ;# Revision 2.9.1.2  92/12/07  09:21:10  ram
  359. + ;# patch15: military timezones did not parse correctly
  360. + ;# patch15: (fix by Paul Marquess <pmarquess@rosebud.bfsec.bt.co.uk>)
  361. + ;# 
  362.   ;# Revision 2.9.1.1  92/07/25  12:39:08  ram
  363.   ;# patch1: swapped offsets for EET and WET (reported by Jost Krieger)
  364.   ;# 
  365. ***************
  366. *** 890,896 ****
  367.           return $token;
  368.       }
  369.       
  370. !     if (length($idvar) == 1 && $idvar =~ /a-zA-Z/) {
  371.           $idvar =~ tr/A-Z/a-z/;
  372.           if (defined($milzone{$idvar})) {
  373.               ($token, $yylval) = split(/,/,$milzone{$idvar});
  374. --- 894,900 ----
  375.           return $token;
  376.       }
  377.       
  378. !     if (length($idvar) == 1 && $idvar =~ /[a-zA-Z]/) {
  379.           $idvar =~ tr/A-Z/a-z/;
  380.           if (defined($milzone{$idvar})) {
  381.               ($token, $yylval) = split(/,/,$milzone{$idvar});
  382.  
  383. Index: agent/pl/filter.pl
  384. Prereq: 2.9.1.5
  385. *** agent/pl/filter.pl.old    Tue Jan 12 13:41:26 1993
  386. --- agent/pl/filter.pl    Tue Jan 12 13:41:27 1993
  387. ***************
  388. *** 1,4 ****
  389. ! ;# $Id: filter.pl,v 2.9.1.5 92/11/01 16:01:13 ram Exp $
  390.   ;#
  391.   ;#  Copyright (c) 1992, Raphael Manfredi
  392.   ;#
  393. --- 1,4 ----
  394. ! ;# $Id: filter.pl,v 2.9.1.6 93/01/12 13:13:12 ram Exp $
  395.   ;#
  396.   ;#  Copyright (c) 1992, Raphael Manfredi
  397.   ;#
  398. ***************
  399. *** 6,11 ****
  400. --- 6,14 ----
  401.   ;#  Licence as specified in the README file that comes with dist.
  402.   ;#
  403.   ;# $Log:    filter.pl,v $
  404. + ;# Revision 2.9.1.6  93/01/12  13:13:12  ram
  405. + ;# patch15: undocumented feature commented (WRITE may allow hooks)
  406. + ;# 
  407.   ;# Revision 2.9.1.5  92/11/01  16:01:13  ram
  408.   ;# patch11: space between command and '(' made optional for ONCE and SELECT
  409.   ;# patch11: (feature requested by Nigel Metheringham <nigelm@ohm.york.ac.uk>)
  410. ***************
  411. *** 583,588 ****
  412. --- 586,594 ----
  413.       if ($remove == $FOLDER_REMOVE) {
  414.           # Folder has to be removed before writting into it. However, if it
  415.           # is write protected, do not unlink it (save will fail later on anyway).
  416. +         # Note that this makes it a candidate for hooks via WRITE, if the
  417. +         # folder has its 'x' bit set with its 'w' bit cleared. This is an
  418. +         # undocumented feature however (WRITE is not supposed to trigger hooks).
  419.           unlink "$folder" if -f "$folder" && -w _;
  420.       }
  421.       local($mbox, $failed) = do save($folder);
  422.  
  423. Index: agent/mhook.SH
  424. Prereq: 2.9.1.1
  425. *** agent/mhook.SH.old    Tue Jan 12 13:40:57 1993
  426. --- agent/mhook.SH    Tue Jan 12 13:40:57 1993
  427. ***************
  428. *** 14,20 ****
  429.   esac
  430.   echo "Extracting agent/mhook (with variable substitutions)"
  431.   $spitshell >mhook <<!GROK!THIS!
  432. ! # feed this into perl
  433.       eval 'exec perl -S \$0 "\$@"'
  434.           if \$running_under_some_shell;
  435.   
  436. --- 14,20 ----
  437.   esac
  438.   echo "Extracting agent/mhook (with variable substitutions)"
  439.   $spitshell >mhook <<!GROK!THIS!
  440. ! $startperl
  441.       eval 'exec perl -S \$0 "\$@"'
  442.           if \$running_under_some_shell;
  443.   
  444. ***************
  445. *** 22,28 ****
  446.   # via the filter. Mine looks like this:
  447.   #   "|exec /users/ram/mail/filter >>/users/ram/.bak 2>&1"
  448.   
  449. ! # $Id: mhook.SH,v 2.9.1.1 92/08/26 12:44:48 ram Exp $
  450.   #
  451.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  452.   #
  453. --- 22,28 ----
  454.   # via the filter. Mine looks like this:
  455.   #   "|exec /users/ram/mail/filter >>/users/ram/.bak 2>&1"
  456.   
  457. ! # $Id: mhook.SH,v 2.9.1.2 93/01/12 12:09:20 ram Exp $
  458.   #
  459.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  460.   #
  461. ***************
  462. *** 30,35 ****
  463. --- 30,38 ----
  464.   #  Licence as specified in the README file that comes with dist.
  465.   #
  466.   # $Log:    mhook.SH,v $
  467. + # Revision 2.9.1.2  93/01/12  12:09:20  ram
  468. + # patch15: leading perl start up is now configured
  469. + # 
  470.   # Revision 2.9.1.1  92/08/26  12:44:48  ram
  471.   # patch8: created
  472.   # 
  473.  
  474. Index: agent/pl/dbr.pl
  475. Prereq: 2.9.1.3
  476. *** agent/pl/dbr.pl.old    Tue Jan 12 13:41:20 1993
  477. --- agent/pl/dbr.pl    Tue Jan 12 13:41:21 1993
  478. ***************
  479. *** 1,4 ****
  480. ! ;# $Id: dbr.pl,v 2.9.1.3 92/11/10 10:13:10 ram Exp $
  481.   ;#
  482.   ;#  Copyright (c) 1992, Raphael Manfredi
  483.   ;#
  484. --- 1,4 ----
  485. ! ;# $Id: dbr.pl,v 2.9.1.4 93/01/12 12:13:12 ram Exp $
  486.   ;#
  487.   ;#  Copyright (c) 1992, Raphael Manfredi
  488.   ;#
  489. ***************
  490. *** 6,11 ****
  491. --- 6,14 ----
  492.   ;#  Licence as specified in the README file that comes with dist.
  493.   ;#
  494.   ;# $Log:    dbr.pl,v $
  495. + ;# Revision 2.9.1.4  93/01/12  12:13:12  ram
  496. + ;# patch15: typo fix
  497. + ;# 
  498.   ;# Revision 2.9.1.3  92/11/10  10:13:10  ram
  499.   ;# patch12: unfortunate typo transformed all tags into UNKNOWN
  500.   ;# 
  501. ***************
  502. *** 241,247 ****
  503.       unless (@contents > 2) {            # Has at least . and ..
  504.           unless (rmdir($dir)) {            # Don't leave empty directories
  505.               &'add_log("SYSERR rmdir: $!") if $'loglvl;
  506. !             &'add_log("ERROR could not remove directory $file") if $'loglvl;
  507.           }
  508.       }
  509.   }
  510. --- 244,250 ----
  511.       unless (@contents > 2) {            # Has at least . and ..
  512.           unless (rmdir($dir)) {            # Don't leave empty directories
  513.               &'add_log("SYSERR rmdir: $!") if $'loglvl;
  514. !             &'add_log("ERROR could not remove directory $dir") if $'loglvl;
  515.           }
  516.       }
  517.   }
  518.  
  519. Index: agent/pl/context.pl
  520. Prereq: 2.9.1.1
  521. *** agent/pl/context.pl.old    Tue Jan 12 13:41:17 1993
  522. --- agent/pl/context.pl    Tue Jan 12 13:41:18 1993
  523. ***************
  524. *** 1,4 ****
  525. ! ;# $Id: context.pl,v 2.9.1.1 92/12/01 09:19:38 ram Exp $
  526.   ;#
  527.   ;#  Copyright (c) 1992, Raphael Manfredi
  528.   ;#
  529. --- 1,4 ----
  530. ! ;# $Id: context.pl,v 2.9.1.2 93/01/12 12:12:49 ram Exp $
  531.   ;#
  532.   ;#  Copyright (c) 1992, Raphael Manfredi
  533.   ;#
  534. ***************
  535. *** 6,11 ****
  536. --- 6,14 ----
  537.   ;#  Licence as specified in the README file that comes with dist.
  538.   ;#
  539.   ;# $Log:    context.pl,v $
  540. + ;# Revision 2.9.1.2  93/01/12  12:12:49  ram
  541. + ;# patch15: outdated locks checking now performed by &acs_rqst
  542. + ;# 
  543.   ;# Revision 2.9.1.1  92/12/01  09:19:38  ram
  544.   ;# patch13: remove context file lock when excessively old
  545.   ;# 
  546. ***************
  547. *** 66,72 ****
  548.   sub save {
  549.       require 'ctime.pl';
  550.       local($existed) = -f $cf'context;
  551. -     &'checklock($cf'context);                # Ensure no eternal locking
  552.       &'acs_rqst($cf'context) if $existed;    # Lock existing file
  553.       unless (open(CONTEXT, ">$cf'context")) {
  554.           &'add_log("ERROR cannot overwrite context file: $!") if $'loglvl > 1;
  555. --- 69,74 ----
  556.  
  557. Index: agent/mailpatch.SH
  558. Prereq: 2.9
  559. *** agent/mailpatch.SH.old    Tue Jan 12 13:40:54 1993
  560. --- agent/mailpatch.SH    Tue Jan 12 13:40:54 1993
  561. ***************
  562. *** 14,24 ****
  563.   esac
  564.   echo "Extracting agent/mailpatch (with variable substitutions)"
  565.   $spitshell >mailpatch <<!GROK!THIS!
  566. ! # feed this into perl
  567.       eval "exec perl -S \$0 \$*"
  568.           if \$running_under_some_shell;
  569.   
  570. ! # $Id: mailpatch.SH,v 2.9 92/07/14 16:49:00 ram Exp $
  571.   #
  572.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  573.   #
  574. --- 14,24 ----
  575.   esac
  576.   echo "Extracting agent/mailpatch (with variable substitutions)"
  577.   $spitshell >mailpatch <<!GROK!THIS!
  578. ! $startperl
  579.       eval "exec perl -S \$0 \$*"
  580.           if \$running_under_some_shell;
  581.   
  582. ! # $Id: mailpatch.SH,v 2.9.1.1 93/01/12 12:09:15 ram Exp $
  583.   #
  584.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  585.   #
  586. ***************
  587. *** 26,31 ****
  588. --- 26,34 ----
  589.   #  Licence as specified in the README file that comes with dist.
  590.   #
  591.   # $Log:    mailpatch.SH,v $
  592. + # Revision 2.9.1.1  93/01/12  12:09:15  ram
  593. + # patch15: leading perl start up is now configured
  594. + # 
  595.   # Revision 2.9  92/07/14  16:49:00  ram
  596.   # 3.0 beta baseline.
  597.   # 
  598.  
  599. Index: agent/mailhelp.SH
  600. Prereq: 2.9
  601. *** agent/mailhelp.SH.old    Tue Jan 12 13:40:49 1993
  602. --- agent/mailhelp.SH    Tue Jan 12 13:40:49 1993
  603. ***************
  604. *** 14,24 ****
  605.   esac
  606.   echo "Extracting agent/mailhelp (with variable substitutions)"
  607.   $spitshell >mailhelp <<!GROK!THIS!
  608. ! # feed this into perl
  609.       eval "exec perl -S \$0 \$*"
  610.           if \$running_under_some_shell;
  611.   
  612. ! # $Id: mailhelp.SH,v 2.9 92/07/14 16:48:54 ram Exp $
  613.   #
  614.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  615.   #
  616. --- 14,24 ----
  617.   esac
  618.   echo "Extracting agent/mailhelp (with variable substitutions)"
  619.   $spitshell >mailhelp <<!GROK!THIS!
  620. ! $startperl
  621.       eval "exec perl -S \$0 \$*"
  622.           if \$running_under_some_shell;
  623.   
  624. ! # $Id: mailhelp.SH,v 2.9.1.1 93/01/12 12:09:00 ram Exp $
  625.   #
  626.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  627.   #
  628. ***************
  629. *** 26,31 ****
  630. --- 26,34 ----
  631.   #  Licence as specified in the README file that comes with dist.
  632.   #
  633.   # $Log:    mailhelp.SH,v $
  634. + # Revision 2.9.1.1  93/01/12  12:09:00  ram
  635. + # patch15: leading perl start up is now configured
  636. + # 
  637.   # Revision 2.9  92/07/14  16:48:54  ram
  638.   # 3.0 beta baseline.
  639.   # 
  640.  
  641. Index: agent/maillist.SH
  642. Prereq: 2.9
  643. *** agent/maillist.SH.old    Tue Jan 12 13:40:51 1993
  644. --- agent/maillist.SH    Tue Jan 12 13:40:52 1993
  645. ***************
  646. *** 14,24 ****
  647.   esac
  648.   echo "Extracting agent/maillist (with variable substitutions)"
  649.   $spitshell >maillist <<!GROK!THIS!
  650. ! # feed this into perl
  651.       eval "exec perl -S \$0 \$*"
  652.           if \$running_under_some_shell;
  653.   
  654. ! # $Id: maillist.SH,v 2.9 92/07/14 16:48:57 ram Exp $
  655.   #
  656.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  657.   #
  658. --- 14,24 ----
  659.   esac
  660.   echo "Extracting agent/maillist (with variable substitutions)"
  661.   $spitshell >maillist <<!GROK!THIS!
  662. ! $startperl
  663.       eval "exec perl -S \$0 \$*"
  664.           if \$running_under_some_shell;
  665.   
  666. ! # $Id: maillist.SH,v 2.9.1.1 93/01/12 12:09:08 ram Exp $
  667.   #
  668.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  669.   #
  670. ***************
  671. *** 26,31 ****
  672. --- 26,34 ----
  673.   #  Licence as specified in the README file that comes with dist.
  674.   #
  675.   # $Log:    maillist.SH,v $
  676. + # Revision 2.9.1.1  93/01/12  12:09:08  ram
  677. + # patch15: leading perl start up is now configured
  678. + # 
  679.   # Revision 2.9  92/07/14  16:48:57  ram
  680.   # 3.0 beta baseline.
  681.   # 
  682.  
  683. Index: agent/maildist.SH
  684. Prereq: 2.9
  685. *** agent/maildist.SH.old    Tue Jan 12 13:40:46 1993
  686. --- agent/maildist.SH    Tue Jan 12 13:40:47 1993
  687. ***************
  688. *** 14,24 ****
  689.   esac
  690.   echo "Extracting agent/maildist (with variable substitutions)"
  691.   $spitshell >maildist <<!GROK!THIS!
  692. ! # feed this into perl
  693.       eval "exec perl -S \$0 \$*"
  694.           if \$running_under_some_shell;
  695.   
  696. ! # $Id: maildist.SH,v 2.9 92/07/14 16:48:51 ram Exp $
  697.   #
  698.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  699.   #
  700. --- 14,24 ----
  701.   esac
  702.   echo "Extracting agent/maildist (with variable substitutions)"
  703.   $spitshell >maildist <<!GROK!THIS!
  704. ! $startperl
  705.       eval "exec perl -S \$0 \$*"
  706.           if \$running_under_some_shell;
  707.   
  708. ! # $Id: maildist.SH,v 2.9.1.1 93/01/12 12:08:51 ram Exp $
  709.   #
  710.   #  Copyright (c) 1991, 1992, Raphael Manfredi
  711.   #
  712. ***************
  713. *** 26,31 ****
  714. --- 26,34 ----
  715.   #  Licence as specified in the README file that comes with dist.
  716.   #
  717.   # $Log:    maildist.SH,v $
  718. + # Revision 2.9.1.1  93/01/12  12:08:51  ram
  719. + # patch15: leading perl start up is now configured
  720. + # 
  721.   # Revision 2.9  92/07/14  16:48:51  ram
  722.   # 3.0 beta baseline.
  723.   # 
  724.  
  725. Index: agent/examples/vacation
  726. *** agent/examples/vacation.old    Tue Jan 12 13:40:38 1993
  727. --- agent/examples/vacation    Tue Jan 12 13:40:38 1993
  728. ***************
  729. *** 1,14 ****
  730.   Subject: This is a recording... [Re: %R]
  731.   Organization: %o
  732.   
  733. ! [This is a recording -- Last revision was made on %T]
  734.   
  735.   Hello %N:
  736.   
  737.   I have received your message of %[Date], whose subject
  738. ! was "%s" and dropped it into %u's mailbox.
  739. ! I'll send you such an acknowledgment only once a day, unless your message is
  740. ! filtered into one of %u's mail folders, whose reading is delayed anyway.
  741.   (Your mail was received by a program, not by a person, in case you wonder.)
  742.   
  743.   %U told me:
  744. --- 1,13 ----
  745.   Subject: This is a recording... [Re: %R]
  746.   Organization: %o
  747.   
  748. ! [This is a recording -- Last revision was made on %T (month/day)]
  749.   
  750.   Hello %N:
  751.   
  752.   I have received your message of %[Date], whose subject
  753. ! was "%s" and dropped it into one
  754. ! of %u's mailbox. I will send you such an acknowledgment only once a day.
  755.   (Your mail was received by a program, not by a person, in case you wonder.)
  756.   
  757.   %U told me:
  758.  
  759. *** End of Patch 16 ***
  760.  
  761. exit 0 # Just in case...
  762.