home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume36 / mserv / patch02 next >
Text File  |  1993-03-11  |  11KB  |  377 lines

  1. Newsgroups: comp.sources.misc
  2. From: jv@mh.nl (Johan Vromans)
  3. Subject: v36i009:  mserv - Squirrel Mail Server Software, version 3.1, Patch02
  4. Message-ID: <1993Mar12.035001.15009@sparky.imd.sterling.com>
  5. X-Md4-Signature: 90d29c82bd535cf18ce39ddec17626be
  6. Date: Fri, 12 Mar 1993 03:50:01 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jv@mh.nl (Johan Vromans)
  10. Posting-number: Volume 36, Issue 9
  11. Archive-name: mserv/patch02
  12. Environment: Perl
  13. Patch-To: mserv, Volume 34, Issue 92-97,119
  14.  
  15. This patch updates the Squirrel Mail Server Software version 3.1A to 3.1B.
  16.  
  17. Changes in version 3.1B:
  18. ------------------------
  19. If an FTP connection cannot be established, subsequent requests for
  20. this host are flushed.
  21.  
  22. READ THIS BEFORE PATCHING:
  23. --------------------------
  24. To apply this patch:
  25.  
  26.   1. Take a fresh copy of the 3.1A kit, e.g.:
  27.  
  28.     % uncompress < mserv-3.1A.tar.Z | tar xvf -
  29.  
  30.   2. Change the directory name where the kit resides from mserv-3.1A to
  31.      mserv-3.1B. This is needed since a new file is created by the
  32.      patch, which would otherwise be placed in the wrong directory.
  33.  
  34.     % mv mserv-3.1A mserv-3.1B
  35.  
  36.   4. Run this file through 'patch':
  37.  
  38.     % patch -p0 -N < thisfile
  39.  
  40. Index: patchlevel.h
  41. Prereq: 3.1.20
  42. *** mserv-3.1A/patchlevel.h    Sat Jan 16 13:48:19 1993
  43. --- mserv-3.1B/patchlevel.h    Fri Feb  5 22:09:26 1993
  44. ***************
  45. *** 1,4 ****
  46. ! # @(#)@ patchlevel.h    3.1.20        -*- perl -*-
  47.   # Squirrel Mail Server Software -- Copyright 1988, 1992 Johan Vromans
  48.   # This file is used to verify the correctness of a batch of patches.
  49. ! $ms_version = "V3.01A";        # Should match version in ms_common.pl
  50. --- 1,4 ----
  51. ! # @(#)@ patchlevel.h    3.1.21        -*- perl -*-
  52.   # Squirrel Mail Server Software -- Copyright 1988, 1992 Johan Vromans
  53.   # This file is used to verify the correctness of a batch of patches.
  54. ! $ms_version = "V3.01B";        # Should match version in ms_common.pl
  55. Index: ChangeLog-3.1B
  56. *** /dev/null    Fri Feb  5 22:40:27 1993
  57. --- mserv-3.1B/ChangeLog-3.1B    Fri Feb  5 22:39:32 1993
  58. ***************
  59. *** 0 ****
  60. --- 1,19 ----
  61. + Fri Feb  5 22:08:26 1993  Johan Vromans  (jv@squirrel)
  62. +     * README 3.14:
  63. +       Documented changes.
  64. +     * pr_dowork.pl 3.25:
  65. +       Flush requests if a server connection could not be made.
  66. +     * pr_ftp.pl 1.7:
  67. +       Transmit connection result to caller.
  68. +     * Makefile 1.4:
  69. +     * patchlevel.h 1.21:
  70. +     * ms_common.pl 1.40:
  71. +       Bump to V3.01B.
  72. +     * MANIFEST 1.17:
  73. +     * ChangeLog-3.1B:
  74. +       New file.
  75. Index: MANIFEST
  76. *** mserv-3.1A/MANIFEST    Sat Jan 16 14:35:09 1993
  77. --- mserv-3.1B/MANIFEST    Fri Feb  5 22:39:20 1993
  78. ***************
  79. *** 4,9 ****
  80. --- 4,10 ----
  81.   CRONTAB.sample
  82.   ChangeLog-3.1
  83.   ChangeLog-3.1A
  84. + ChangeLog-3.1B
  85.   HELP
  86.   Makefile
  87.   chat2.pl
  88. Index: Makefile
  89. Prereq: 1.3
  90. *** mserv-3.1A/Makefile    Sat Jan 16 13:55:29 1993
  91. --- mserv-3.1B/Makefile    Fri Feb  5 22:09:10 1993
  92. ***************
  93. *** 1,16 ****
  94.   # Makefile -- for mail server
  95. ! # SCCS Status     : @(#)@ Makefile    1.3
  96.   # Author          : Johan Vromans
  97.   # Created On      : Fri May  1 15:44:47 1992
  98.   # Last Modified By: Johan Vromans
  99. ! # Last Modified On: Sat Jan 16 13:52:43 1993
  100. ! # Update Count    : 120
  101.   # Status          : OK
  102.   
  103.   SHELL    = /bin/sh
  104.   
  105.   # Mail Server Version
  106. ! VERSION    = 3.1A
  107.   
  108.   # Perl 4.035 needs fixes!
  109.   PERL    = /usr/local/bin/perl
  110. --- 1,16 ----
  111.   # Makefile -- for mail server
  112. ! # SCCS Status     : @(#)@ Makefile    1.4
  113.   # Author          : Johan Vromans
  114.   # Created On      : Fri May  1 15:44:47 1992
  115.   # Last Modified By: Johan Vromans
  116. ! # Last Modified On: Fri Feb  5 22:09:03 1993
  117. ! # Update Count    : 121
  118.   # Status          : OK
  119.   
  120.   SHELL    = /bin/sh
  121.   
  122.   # Mail Server Version
  123. ! VERSION    = 3.1B
  124.   
  125.   # Perl 4.035 needs fixes!
  126.   PERL    = /usr/local/bin/perl
  127. Index: README
  128. *** mserv-3.1A/README    Sat Jan 16 14:51:20 1993
  129. --- mserv-3.1B/README    Fri Feb  5 22:38:23 1993
  130. ***************
  131. *** 40,45 ****
  132. --- 40,52 ----
  133.   Files retrieved via FTP are kept on local store for some time, so
  134.   subsequent requests can be honoured from the cache.
  135.   
  136. + Changes in version 3.1B:
  137. + ------------------------
  138. + If an FTP connection cannot be established, subsequent requests for
  139. + this host are flushed.
  140. + For details, see ChangeLog-3.1B.
  141.   Changes in version 3.1A:
  142.   ------------------------
  143.   Most important change is the implementation of the $errlimit
  144. ***************
  145. *** 78,84 ****
  146.   
  147.       begin
  148.       send mserv-3.1.tar.Z        <<< only if you need a new kit
  149. !     send mserv-3.1-3.1A.diff.Z        <<< to update the 3.1 kit
  150.       send XPatch-4.035.tar.Z        <<< to fix perl4.0 pl35
  151.       end
  152.   
  153. --- 85,92 ----
  154.   
  155.       begin
  156.       send mserv-3.1.tar.Z        <<< only if you need a new kit
  157. !     send mserv-3.1-3.1A.diff.Z        <<< to update the 3.1 kit to 3.1A
  158. !     send mserv-3.1A-3.1B.diff.Z        <<< to update the 3.1A kit to 3.1B
  159.       send XPatch-4.035.tar.Z        <<< to fix perl4.0 pl35
  160.       end
  161.   
  162. Index: ms_common.pl
  163. Prereq: 1.39
  164. *** mserv-3.1A/ms_common.pl    Sat Jan 16 13:47:55 1993
  165. --- mserv-3.1B/ms_common.pl    Fri Feb  5 22:08:46 1993
  166. ***************
  167. *** 1,16 ****
  168.   # ms_common.pl -- common info for mail server
  169. ! # SCCS Status     : @(#)@ ms_common    1.39
  170.   # Author          : Johan Vromans
  171.   # Created On      : Fri Apr 17 11:02:58 1992
  172.   # Last Modified By: Johan Vromans
  173. ! # Last Modified On: Sat Jan 16 13:47:35 1993
  174. ! # Update Count    : 111
  175.   # Status          : OK
  176.   
  177.   ################ Preamble ################
  178.   #
  179.   # Package info. Do not change this.
  180. ! $my_package = "Squirrel Mail Server Software V3.01A";
  181.   #
  182.   if ( defined $config_file && $config_file ne '' ) {
  183.       require $config_file;
  184. --- 1,16 ----
  185.   # ms_common.pl -- common info for mail server
  186. ! # SCCS Status     : @(#)@ ms_common    1.40
  187.   # Author          : Johan Vromans
  188.   # Created On      : Fri Apr 17 11:02:58 1992
  189.   # Last Modified By: Johan Vromans
  190. ! # Last Modified On: Fri Feb  5 22:08:23 1993
  191. ! # Update Count    : 112
  192.   # Status          : OK
  193.   
  194.   ################ Preamble ################
  195.   #
  196.   # Package info. Do not change this.
  197. ! $my_package = "Squirrel Mail Server Software V3.01B";
  198.   #
  199.   if ( defined $config_file && $config_file ne '' ) {
  200.       require $config_file;
  201. Index: pr_dowork.pl
  202. Prereq: 3.24
  203. *** mserv-3.1A/pr_dowork.pl    Sat Jan  2 15:11:28 1993
  204. --- mserv-3.1B/pr_dowork.pl    Fri Feb  5 22:34:10 1993
  205. ***************
  206. *** 1,10 ****
  207.   # pr_dowork.pl -- execute work loop
  208. ! # SCCS Status     : @(#)@ pr_dowork.pl    3.24
  209.   # Author          : Johan Vromans
  210.   # Created On      : Thu Jun  4 22:14:50 1992
  211.   # Last Modified By: Johan Vromans
  212. ! # Last Modified On: Sat Jan  2 15:11:05 1993
  213. ! # Update Count    : 221
  214.   # Status          : OK
  215.   
  216.   # Format of work queue entries.
  217. --- 1,10 ----
  218.   # pr_dowork.pl -- execute work loop
  219. ! # SCCS Status     : @(#)@ pr_dowork.pl    3.25
  220.   # Author          : Johan Vromans
  221.   # Created On      : Thu Jun  4 22:14:50 1992
  222.   # Last Modified By: Johan Vromans
  223. ! # Last Modified On: Fri Feb  5 22:30:56 1993
  224. ! # Update Count    : 231
  225.   # Status          : OK
  226.   
  227.   # Format of work queue entries.
  228. ***************
  229. *** 112,118 ****
  230.       @workq = ();
  231.   
  232.       # Close any pending FTP connection.
  233. !     if ( $ftphost && !$interactive ) {
  234.       print STDOUT ("FTP Command execution:\n    CLOSE $ftphost\n");
  235.       &ftp'close;        #';
  236.       $ftphost = '';
  237. --- 112,118 ----
  238.       @workq = ();
  239.   
  240.       # Close any pending FTP connection.
  241. !     if ( $ftphost && !$interactive && $ftp_ok ) {
  242.       print STDOUT ("FTP Command execution:\n    CLOSE $ftphost\n");
  243.       &ftp'close;        #';
  244.       $ftphost = '';
  245. ***************
  246. *** 421,436 ****
  247.       return 1 if $ftphost eq $work[0];
  248.       $ftppass = $recipient if $ftppass eq '';
  249.       $ftppass = $uunote if $ftppass eq '?';
  250. !     &ftp_connect (shift (@work), $ftpuser, $ftppass);
  251.       print STDOUT ("\n");
  252.       return 1;
  253.       }
  254.       if ( $type eq 'C' ) {
  255.       return 1 unless $ftphost;
  256.       print STDOUT ("FTP Command execution:\n",
  257.                 "    CLOSE $work[0]\n");
  258. !     &ftp'close;                #';
  259.       $ftphost = '';
  260.       print STDOUT ("\n");
  261.       return 1;
  262.       }
  263. --- 421,443 ----
  264.       return 1 if $ftphost eq $work[0];
  265.       $ftppass = $recipient if $ftppass eq '';
  266.       $ftppass = $uunote if $ftppass eq '?';
  267. !     $ftp_ok = &ftp_connect (shift (@work), $ftpuser, $ftppass);
  268.       print STDOUT ("\n");
  269.       return 1;
  270.       }
  271.       if ( $type eq 'C' ) {
  272. +     if ( $ftphost ne '' && !$ftp_ok ) {
  273. +         print STDOUT ("=> Flushed: CLOSE $ftphost\n",
  274. +               "   (No server connection)\n\n");
  275. +         $ftphost = '';
  276. +         return 1;
  277. +     }
  278.       return 1 unless $ftphost;
  279.       print STDOUT ("FTP Command execution:\n",
  280.                 "    CLOSE $work[0]\n");
  281. !     &ftp'close;            #';
  282.       $ftphost = '';
  283. +     $ftp_ok = 0;
  284.       print STDOUT ("\n");
  285.       return 1;
  286.       }
  287. ***************
  288. *** 446,451 ****
  289. --- 453,463 ----
  290.       }
  291.   
  292.       if ( $type eq 'D' ) {
  293. +     unless ( $ftp_ok ) {
  294. +         print STDOUT ("=> Flushed: DIR $ftphost:$work[0]\n",
  295. +               "   (No server connection)\n\n");
  296. +         return 1;
  297. +     }
  298.       local ($thefile) = &fttemp;
  299.       local ($dir) = shift (@work);
  300.       &ftp_dir ($dir, $thefile);
  301. ***************
  302. *** 468,473 ****
  303. --- 480,490 ----
  304.       return 1;
  305.       }
  306.       if ( $type eq 'G' ) {
  307. +     unless ( $ftp_ok ) {
  308. +         print STDOUT ("=> Flushed: GET $ftphost:$work[0]\n",
  309. +               "   (No server connection)\n\n");
  310. +         return 1;
  311. +     }
  312.       local ($thefile) = &ftp_get ($work[0]);
  313.       &ftqueue ($ftphost . ':' .$work[0],
  314.             $thefile, $encoding, 
  315. Index: pr_ftp.pl
  316. Prereq: 1.6
  317. *** mserv-3.1A/pr_ftp.pl    Thu Dec 31 16:25:37 1992
  318. --- mserv-3.1B/pr_ftp.pl    Fri Feb  5 22:17:35 1993
  319. ***************
  320. *** 1,10 ****
  321.   # pr_ftp.pl -- mail server support for FTP
  322. ! # SCCS Status     : @(#)@ pr_ftp.pl    1.6
  323.   # Author          : Johan Vromans
  324.   # Created On      : Sat Dec  5 01:06:44 1992
  325.   # Last Modified By: Johan Vromans
  326. ! # Last Modified On: Thu Dec 31 16:23:04 1992
  327. ! # Update Count    : 35
  328.   # Status          : Unknown, Use with caution!
  329.   
  330.   # This is the Squirrel Mail Server interface to the ftp.pl package.
  331. --- 1,10 ----
  332.   # pr_ftp.pl -- mail server support for FTP
  333. ! # SCCS Status     : @(#)@ pr_ftp.pl    1.7
  334.   # Author          : Johan Vromans
  335.   # Created On      : Sat Dec  5 01:06:44 1992
  336.   # Last Modified By: Johan Vromans
  337. ! # Last Modified On: Fri Feb  5 22:10:14 1993
  338. ! # Update Count    : 36
  339.   # Status          : Unknown, Use with caution!
  340.   
  341.   # This is the Squirrel Mail Server interface to the ftp.pl package.
  342. ***************
  343. *** 20,28 ****
  344.             "    OPEN $host\n");
  345.   
  346.       &ftp'close if $ftphost;            #';
  347. -     &ftp'open ($host, 21, 0, 2);        #';
  348. -     &ftp'login ($user, $pass);            #';
  349.       $ftphost = $host;
  350.   }
  351.   
  352.   sub ftp_get {
  353. --- 20,27 ----
  354.             "    OPEN $host\n");
  355.   
  356.       &ftp'close if $ftphost;            #';
  357.       $ftphost = $host;
  358. +     &ftp'open ($host, 21, 0, 2) && &ftp'login ($user, $pass);
  359.   }
  360.   
  361.   sub ftp_get {
  362.  
  363. --
  364. Johan Vromans                       jv@mh.nl via internet backbones
  365. Multihouse Automatisering bv               uucp:..!{uunet,sun4nl}!mh.nl!jv
  366. Doesburgweg 7, 2803 PL Gouda, The Netherlands  phone/fax: +31 1820 62911/62500
  367. ------------------------ "Arms are made for hugging" -------------------------
  368.  
  369. exit 0 # Just in case...
  370.