home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / Y2KTOOL5.ZIP / pktdate.txt < prev    next >
Text File  |  2000-01-09  |  24KB  |  550 lines

  1. PKTDATE Rev. 1.4 written by Tobias Ernst @ 2:2476/418
  2. -----------------------------------------------------
  3.  
  4. Contents
  5. 1. About this Document
  6. 2. What you do need Pktdate for
  7. 3. Using Pktdate
  8. 4. Installation Hints
  9. 5. Fine-Tuning
  10. 6. Reason Codes
  11. 7. Caveats
  12. 8. Final Words
  13. 9. Credits
  14.  
  15. 1. About this Document
  16. ----------------------
  17.  
  18. This document describes the advanced features of the Pktdate program.  Pktdate
  19. is, to put it short, a tool to fix Fidonet PKT files that are broken due to
  20. Y2K bugs in the creating software.  If you want to learn more about the year
  21. 2000 problem in Fidonet in general and how you can test your system, please
  22. read year2000.txt first.
  23.  
  24.  
  25. 2. What you do need Pktdate for
  26. -------------------------------
  27.  
  28. Pktdate is a program that can analyse PKT files for structural errors that
  29. result from year 2000 related bugs in the creating software.  In standard mode
  30. (like it is being used in year2000.txt), pktdate simply displays all date
  31. fields in the pkt file and tells you what kinds of errors have been found.
  32. However, pktdate is more powerful:  It can read pkt files even if they are
  33. severely broken, correct the problems, and write a new pkt file that contains
  34. correct date fields.
  35.  
  36. Pktdate currently applies two strategies in fixing pkt files.  First, it
  37. checks the pkt file for structural errors that may have occurred, and tries to
  38. resolve them.  A PKT file can contain structural errors that make it unreadable
  39. for standard fidonet software (e.g. if the FTSC date field spills and the
  40. subject has zero length, most software will not be able to interpret the
  41. packet any more).  Pktdate will read those broken files, extract all messages,
  42. and create a new, correct, pkt, that can be read by any Fidonet software.
  43.  
  44. Second, you can specify a certain tolerance level for the date fields.  If
  45. a date seems to be too far in the future, or too far in the past, Pktdate
  46. will assume that the date is incorrect due to a year 2000 related bug.  It
  47. then will try to calculate the correct date (by undoing the bug that the
  48. packet creator did), or if this is not possible, replace the incorrect date
  49. field with the current date so that the message is ordered at least roughly
  50. at the right position.  This will also prevent messages with incorrect date
  51. fields from being purged too soon, or being bounced, etc. pp.
  52.  
  53. Pktdate is intended for use at hub level in Fidonet to assure smooth operation
  54. of the net even if individual nodes or points do not have upgraded their
  55. software to be Y2K capable.  I have written the tool in the belief that until
  56. 1/1/2000, still a major share of nodes and points will work with defective
  57. software, partly because they haven't cared for the problem, and partly
  58. because even if they performed Y2K test, they might not have realised all of
  59. the tricky problems that can be buried in the binary PKT file format (see
  60. year200.txt for more information).
  61.  
  62. If at least every Hub in Fidonet will install the Pktdate utility, there is a
  63. chance that the net keeps on working even if a major share of the nodes do not
  64. use fully compliant software.  As such, Pktdate will alleviate the effects of
  65. the Y2K bug and probably help Fidonet to survive in the 21st century.
  66.  
  67. Of course, "normal" nodes are also encouraged to use this tool if they have
  68. points that are using software that is not year 2000 ready.
  69.  
  70. As a last note, you see that pktdate is intended to fix broken packets that
  71. *others* create.  It assumes that your *own* system is working correctly
  72. (see year2000.txt on how to test this).  If you have problems with your
  73. *own* system, you might want to take a look at other tools from other
  74. authors:
  75.  
  76. - YEARCONV von Frederik Retsema.  It bascially allows you to set your
  77.   system date to a year before 2000, and is then intended to run on every
  78.   packet that you receive and most importantly, on every packet that you
  79.   create, to fix the year field (either decrease it before import or
  80.   increase it after export).
  81.  
  82. - Y2KDATE.ZIP by David Rance.  It does a job similar to that of Pktdate,
  83.   but works on *.MSG files.  You could let this tool process your primary
  84.   netmail folder, bevor packing the netmail into your mail queue or Binkley
  85.   outbound, and then continue to use software with Y2K flaws on your own
  86.   system.  However, please note that such software might have other
  87.   relevant bugs than just a spilling date field in a *.MSG file.
  88.   Y2KDATE.ZIP is available via fidonet f'req at 2:242/110, or by writing an
  89.   e-mail to y2kdate@ichthus.dircon.co.uk.
  90.  
  91.  
  92. 3. Using Pktdate
  93. ----------------
  94.  
  95. If you simply invoke pktdate with a file name (note that wildcards are not
  96. supported by pktdate, but you can specify multiple filenames as arguments),
  97. like in
  98.  
  99.   pktdate 12345678.PKT
  100.  
  101. it will log all date fields found in the pkt file to standard output.  This is
  102. good for interactive debugging.  If you want Pktdate to fix broken pkts,
  103. you must instruct Pktdate to correct problems and re-write the fixed pkt file
  104. to disk by issuing the -c option:
  105.  
  106.   pktdate -c 12345678.PKT
  107.  
  108. In an automated environment, e.g. if calling pktdate from your tosser batch
  109. file, you will want to have a log file.  You can do this by specifying the
  110. filename of the logfile as argument to the -L command line parameter.  You can
  111. also change the log level with the -l parameter.  If you specify a log level
  112. of 2, you will only see warnings and errors.  I.E. you will have a chance to
  113. inform your downlinks about the problems, but you will not be bothered by
  114. informational messages:
  115.  
  116.   pktdate -L e:\fido\log\y2k.log -l 2 -c 12345678.PKT
  117.  
  118. There is yet another problem:  In the logfile y2k.log, you will only see
  119. that for example mail number 47 in the paket named 12345678.PKT had a flawy
  120. date field (and what exactly in the date field was wrong).  You don't see
  121. exactly who the originator of the mail was, nor any other information.
  122. Therefore, starting with revision 1.3 of pkdate, there is a new command
  123. line option "-k" ("keep").  If you specify it, pktdate will, (exactly) in
  124. the case that it has to write corrections to a PKT file, make a backup copy
  125. of the original (flawy) PKT file with file extension ".Y2K" (or .Y21, .Y22
  126. and so on if .Y2K already exists), before writing anything.  So you can, at
  127. a later time, when you see in the log file that a flawy PKT file passed
  128. your system, use a PKT viwer to inspect the ".Y2K" backup file and see who
  129. the originator of the particular mail in question was.  (Please note that
  130. it was not necessarily the originator of the mail who cause the problem, it
  131. could also have happened anywhere on the path from him to you):
  132.  
  133.   pktdate -L e:\fido\log\y2k.log -l 2 -c -k 12345678.PKT
  134.  
  135. Pkdate has yet some more command line options.  A complete list of
  136. supported command line options, that also allows you to change tolerance
  137. boundaries etc., can be obtained by invoking pktdate without arguments.
  138.  
  139. When calling pktdate from your tosser batch, you of course do not know the
  140. name of the pkt file when writing the batch file, but you will want to have
  141. pktdate process all pkt files in a certain directory.  The problem is that
  142. Pktdate does not support wildcards, because supporting wild card expansion
  143. would have required to use non ANSI-C features, so that pktdate would not be as
  144. portable as it is now.  You can help yourself as follows:
  145.  
  146. - On OS/2, create the file FIXALL.CMD that looks like follows:
  147.  
  148.   FOR %%I IN (%1) DO PKTDATE -k -c -L y2k.log -l 2 %%I
  149.  
  150.   You can then say "CALL FIXALL.CMD E:\SOMEPATH\*.PKT" in your tosser batch
  151.   or CMD file, and the command "pktdate -k -c -L y2k.log -l 2" will be issued
  152.   on each filename found in E:\SOMEPATH.
  153.  
  154. - On DOS or Windows, create the file FIXALL.BAT with the following contents:
  155.  
  156.   FOR %%I IN (%1) DO PKTDATE -k -c -L y2k.log -l 2 %%I
  157.  
  158.   You can then say "CALL FIXALL.BAT E:\SOMEPATH\*.PKT" in your tosser batch
  159.   file, and the command "pktdate -k -c -L y2k.log -l 2" will be issued on each
  160.   file found in E:\SOMEPATH.
  161.  
  162. - On UNIX, you can use the wildcard expansion feature of the shell and call
  163.   pktdate like
  164.  
  165.   pktdate -k -c -L /var/log/fidoy2k.log -l 2 /var/spool/inbound/*.pkt
  166.  
  167. - On Amiga, create the file Fixall that looks as follows:
  168.  
  169. .key PAT/A
  170. .bra {
  171. .ket }
  172.  
  173. ; $VER: PktPat 1.0 (15.3.99) by MkM
  174. ; derived from SPat 40.1 (9.2.93)
  175.  
  176. FailAt 21
  177.  
  178. List >T:q{$$} {PAT} LFORMAT "pktdate -k -c -L y2k.log -l 2 *"%s%s*"" SORT NAME
  179.  
  180. IF NOT FAIL
  181.   Execute T:q{$$}
  182. Else
  183.   Echo "{PAT} not found"
  184. EndIF
  185.  
  186. Delete >NIL: T:q{$$} QUIET
  187. Quit
  188.  
  189.   You can then say "(Execute) Fixall INBOUND:#?.pkt" in your tosser batch
  190.   file, and the command "pktdate -k -c -L y2k.log -l 2" will be issued on each
  191.   file matching INBOUND:#?.pkt.
  192.  
  193.   Please also have a look at the README.AMI file in the Amiga subdirectory,
  194.   it contains some additional information by the person who compiled the
  195.   Amiga binaries, and a somewhat different variant of a DOS script that
  196.   calls pktdate.
  197.  
  198.  
  199. 4. Installation Hints
  200. ---------------------
  201.  
  202. If you install Pktdate and want it to automatically process and possibly fix
  203. ALL pkt files that you receive from your links (which is highly recommended),
  204. you must ensure that pktdate is called AFTER the tosser has run the
  205. decompression programs for the arcmail bundles, but BEFORE the tosser starts
  206. tossing.  Pktdate must check all *.PKT files in the protected, unprotected,
  207. local and temporary inbound (the temporary inbound is where the decompressed
  208. PKT files from arcmail bundles go) directories, Therefore, this chapter gives
  209. installation instructions on how to best integrate Pktdate with various tosser
  210. software.  The following tosser software has been tested by me:
  211.  
  212. - Fastecho
  213. - Squish
  214. - hpt
  215.  
  216. If you are using another tosser, you can still use Pktdate.  Just take the
  217. information from chapter 3 and figure out how to best integrate Pktdate with
  218. your system.  You might also take the methods describe in this chapter (4) as
  219. an inspiration on how to integrate Pktdate with your tosser.
  220.  
  221. 4.1 Fastecho
  222. ------------
  223.  
  224. - Copy PKTDATE.EXE to a convenient location, preferably in the search PATH.
  225. - Create a file named PKTCHECK.CMD (OS/2) or PKTCHECK.BAT (DOS) using your
  226.   favourite text editor that has the following contents:
  227.  
  228. @ECHO OFF
  229. for %%i in (c:\inbound\*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i
  230. for %%i in (c:\secure\*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i
  231. for %%i in (c:\tempin\*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i
  232.  
  233.   Of course you have to adapt the paths to point to your temporary inbound
  234.   (the one configured in FESETUP under System/Pathnames/Temp.  Inbound), your
  235.   normal inbound and your secure inbound, and of course your log file
  236.   directory.  You can also add lines to process local and insecure inbound
  237.   directories, if you wish).
  238.  
  239. - Start FESETUP.EXE or FESETUP2.EXE.  In System/External Programs/After
  240.   Unpack, enter the file name name and path of PKTCHECK.BAT or
  241.   PKTCHECK.CMD.
  242.  
  243. - Poll your uplinks and watch your tosser task running.  You will see pktdate
  244.   being executed multiple times, once for each PKT file.  If everything works,
  245.   you might want to change the "-l3" parameter to "-l2" in order to only see
  246.   log messages for pkt files that really contain problematic messages.
  247.  
  248. 4.2 Squish
  249. ----------
  250.  
  251. - Step 1: Place pktdate.exe somewhere in your search PATH.
  252.  
  253. - Step 2: Processing uncompressed pkt files
  254.  
  255.   You probably use a batch file (.BAT or .CMD) to call Squish.  Edit this
  256.   batch file and find the place where squish is invoked with the IN parameter.
  257.   Right before this call, place the command line to invoke pktdate on your
  258.   inbound, and possibly local and/or unprotected inbound directories:
  259.  
  260.   for %%i in (c:\inbound\*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i
  261.   for %%i in (c:\secure\*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i
  262.  
  263.   Of course, you have to adapt the paths to unsecure and secure inbound, and
  264.   to the log file to match your system configuration.
  265.  
  266.   If on OS/2, you use a .CMD REXX script instead of a plain CMD batch file,
  267.   you have to enclose each line in quotation marks (").
  268.  
  269. - Step 3: Processing compressed pkt files
  270.  
  271.   Unlike Fastecho, Squish does not support calling of an external program
  272.   after the decompression of arcmail bundles, but before the start of the
  273.   tossing process.  Therefore, we have to do a trick:  We write a little
  274.   script that first calls the unpacker and then calls pktdate, and make Squish
  275.   believe that this script is the actual unpacker.  Start your favourite
  276.   editor and create a file named PKTCHKSQ.CMD (OS/2) or PKTCHKSQ.BAT (DOS)
  277.   which should be located in a directory which is in your search PATH.  Its
  278.   contents should look like this:
  279.  
  280. @ECHO OFF
  281.  
  282. SET COMMANDLINE=
  283. :LOOP
  284. IF ~%1~==~~ GOTO ENDLOOP
  285. SET COMMANDLINE=%COMMANDLINE% %1
  286. SHIFT
  287. GOTO LOOP
  288. :ENDLOOP
  289. %COMMANDLINE%
  290. IF ERRORLEVEL 1 GOTO FEHLER
  291. SET COMMANDLINE=
  292.  
  293. FOR %%i IN (*.PKT) DO PKTDATE -k -c -l3 -LC:\LOG\PKTDATE.LOG %%i
  294. GOTO ENDE
  295.  
  296. :FEHLER
  297. echo Unpack error!!!
  298. exit 1
  299.  
  300. :ENDE
  301.  
  302.   Again, you have to adapt the path to the log file to suite your needs.
  303.  
  304.   The first part of this batch file parses the command line and executes
  305.   everything that it has been passed as arguments verbatim.  After that, it
  306.   calls pktdate to process all PKT files in the current directory.  (Yes, I
  307.   know that in REXX the script would look much nicer, but not everybody
  308.   has REXX installed, so I restricted myself to the plain batch language).
  309.  
  310.   [ For the REXX fanatics among us, I also present two REXX solutions for
  311.     OS/2 that do exactly the same thing as the batch file shown above.
  312.     My proposal:
  313.  
  314.     /**/
  315.     parse arg commandline
  316.     commandline
  317.     "for %%i in (*.pkt) do pktdate -k -c -l3 -Lc:\log\pktdate.log %%i"
  318.  
  319.     From Oliver 'Attila' Grimm:  the pure REXX solutions, longer than my
  320.     proposal, but according to him "to rexx or not to rexx" (very free
  321.     translation, TE ...)
  322.  
  323.     /**/
  324.     call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  325.     call SysLoadFuncs
  326.     parse arg commandline
  327.     ''commandline
  328.     call SysFileTree '*.PKT', 'files', 'FO'
  329.     do i = 1 to files.0
  330.       'PKTDATE -k -c -l3 -LC:\LOG\PKTDATE.LOG 'files.i
  331.     end
  332.     return
  333.   ]
  334.  
  335.   In order to activate the batch file, you must edit the COMPRESS.CFG file
  336.   which Squish uses to learn which unpacker to use.  Locate all unpacker
  337.   definitions and prefix all calls to the unpacker with PKTCHKSQ.  For
  338.   example, if an entry in compress.cfg looks like this
  339.  
  340. DOS     Extract         pkunzip -n %a %f
  341. OS2     Extract         unzip -C -s -j -o %a %f
  342.  
  343.   you should modify it to read
  344.  
  345. DOS     Extract         pktchksq pkunzip -n %a %f
  346. OS2     Extract         pktchksq unzip -C -s -j -o %a %f
  347.  
  348.   Do so for every "Extract" statement found in compress.cfg
  349.  
  350. - Step 4: Testing
  351.  
  352.   For testing purposes, you should remove/uncomment the "QuietArc" keyword
  353.   from your Squish configuration file in order to see what's going on during
  354.   the decompression process.  Then poll your uplink and carefully watch the
  355.   tosser task.  You should see that pktdate is being called before squish is
  356.   invoked if any uncompressed PKT file have been received.  It should also be
  357.   invoked multiple times when Squish is uncompressing arcmail bundles, once
  358.   for each PKT file.  If everything works, you might want to change the "-l3"
  359.   parameter to "-l2" in order to only see log messages for pkt files that
  360.   really contain problematic messages.
  361.  
  362. 4.3 hpt
  363. -------
  364.  
  365. You will probably have a shell script that at some place calls "hpt toss".
  366. Modify this shell script similar to the following example:
  367.  
  368.  for i in /home/fido/spool/inbound/*.pkt /home/fido/spool/secure/*.pkt \
  369.           /home/fido/spool/inbound/*.PKT /home/fido/spool/secure/*.PKT; do
  370.    if [ -f $i ]; then
  371.      /home/fido/sbin/pktdate -c -k -l3 -L/home/fido/spool/log/pktdate.log $i;
  372.    fi;
  373.  done
  374.  
  375.  hpt toss
  376.  
  377. This will process all unpacked PKT files that you have received in the
  378. normal or secure inbound directory.  (If you also have a local inbound, add
  379. that one as well). Adapt the paths to match your configuration, of course.
  380.  
  381. In order to also have PKT files checked that are inside arcmail bundles,
  382. use the "afterUnpack" command in fidoconfig to call pktdate on all files in
  383. your temporary inbound directory:
  384.  
  385. afterunpack for i in /home/fido/spool/temp/inbound/*.pkt; do if [ -f $i ];
  386.  then /home/fido/sbin/pktdate -c -k -l3 -L/home/fido/spool/log/pktdate.log $i;
  387.  fi; done
  388.  
  389. Type this into a SINGLE line in the fidoconfig file!  This command assumes
  390. that you run your unpacker with the "convert everything into lower case"
  391. parameter.  If you don't, you also need to give the paths with "*.PKT"
  392. and "*.Pkt" as arguments after the "in" in the for loop.
  393.  
  394. Once everything works, you will wnat to change the "-l3" parameter to
  395. "-l2", in order to avoid disk full errors because of the pktdate log file
  396. ...
  397.  
  398.  
  399. 5. Fine-Tuning
  400. --------------
  401.  
  402. Apart from obvious structural errors - when exactly will pktdate consider a
  403. message date to be unplausible and try to correct it?  And how is this
  404. correction done?
  405.  
  406. Pktdate has two tolerance windows.  A tolerance is specified in terms of a
  407. maximum allowable message age, ("past tolerance"), as well as a maximum
  408. allowable number of days into the future.
  409.  
  410. The first tolerance window is the "error detection tolerance window".  You
  411. can set this tolerance with the "-f" and "-p" command line options.
  412. Specify the number of days as argument, or the number of months with a
  413. trailing "m", or the number of years with a trailing "y".  The default
  414. setting is equivalent to "-p 364 -f 1m", i.E. all mails that are not older
  415. than 364 days are OK, as well as all mails that come from not more than 1
  416. month (31 days) out of the future (relative to the current system date).
  417. This will capture most error situations, including sysops that just set
  418. their clock one year into the past to "circumvent" their Y2K troubles.
  419.  
  420. However, if you intend to do an echomail rescan of mail that is older than
  421. 365 days, you might have to adjust the past tolerance, e.G. by using
  422. "-p 10y", saying that anything not older than 10 years is OK.
  423.  
  424. The future tolerance can probably be set to 1 day ("-f 1", not zero, in
  425. order to allow for time zone shifts, as Fidonet always uses local times).
  426.  
  427. Once pktdate has found that a message date is illegal, it tries to correct
  428. it.  Pktdate knows some common errors that non-compliant tossers may make,
  429. and tries to undo the effects of these errors.  In order to determine if
  430. such a "undo-calculation" was successful, pktdate uses a second tolerance
  431. time frame, called the "error correction tolerance".  It can be configured
  432. with the "-F" and "-P" options (analoguous to "-f" and "-p" for the error
  433. detection tolerance), and should be set to more strict values than the
  434. error detection tolerance. The default is "-F 1 -P 31".
  435.  
  436.  
  437. 6. Reason Codes
  438. ---------------
  439.  
  440. When pktdate fixes a message in a pkt file, it will display a reason code
  441. number that explains why the message has been fixed. The following reason
  442. codes can occur:
  443.  
  444.   Code   Explanation
  445.   ------------------
  446.   1      The FTSC date field does not conform 100% to the specifications
  447.      exactly, but pktdate could still figure out it's meaning. An
  448.          example: Month name is written all in upper case.
  449.   2      The FTSC date field could not be interpreted at all.
  450.   4      The PKT file has been corrupted because the trailing zero of the
  451.          FTSC field spilled by one. The corruption could be solved.
  452.   8      The date is not within the given tolerance boundaries and therefore
  453.          assumed to be invalid.
  454.   16     The FTSC date field contains a string that seems to be a Seadog
  455.          style date string (like "Thu  1 Apr 99 10:05") instead of a FTSC
  456.          style date string (like "01 Apr 99  10:05:00"). Pktdate will only
  457.          complain about this if you use it with the -S command line
  458.          parameter.
  459.   32     Additional explanation for code 8: The date was probably corrupted
  460.          by a 7-bit overflow in a DOS timestamp field.
  461.   64     Additional explanation for code 8:  The date looks right if just the
  462.          year number is adjusted, but day and month remain.  Maybe the
  463.          creator just set his clock some years into the past.
  464.   128    The timestamp in the FTSC date field could not be interpreted, but
  465.          the date part was correct. (Example: "01 Jan 99  12:75:61" will
  466.          become "01 Jan 99  12:00:00" im you instruct pktdate to fix it)
  467.   256    The date field was not initialised.
  468.  
  469. If two or more reasons both apply to a single message, the reason code values
  470. will be added. For example, if there is both a flaw in the FTSC date field
  471. structure (code 1) and the date is unplausible (code 8), you will get code 9
  472. as a result.
  473.  
  474.  
  475. 7. Caveats
  476. ----------
  477.  
  478. By the end of 1999, there will be an increasing number of people that turn
  479. their system to a date beyond 2000 and broadcast test messages throughout the
  480. date asking "does my date show correctly"?  Doing so is absolute nonsense,
  481. because if the date will not show correctly, nobody will know why exactly this
  482. is so.  Those people should rather read year2000.txt from this package and
  483. follow the testing instructions there.
  484.  
  485. However, it is an inevitable fact that those test messages will be
  486. broadcasted.  You need to understand how your system reacts to such test
  487. messages if you use pktdate.  If pktdate receives a messages that has a date
  488. that is more than a few days in the future, pktdate will consider this
  489. message's date field broken and therefore patch the date field with the
  490. current date at your system.  The result is that your downlinks will see a
  491. different date than the date that the creator of the message has used.
  492.  
  493. You have two options on what to do about this.  First, you can simply live
  494. with the problem.  If anybody asks why your system changes date fields, tell
  495. them about pktdate and assure them that in the year 2000, your system will no
  496. do these modifications any more.
  497.  
  498. The second option is to increase the future date tolerance of pktdate during
  499. the year 1999.  If you invoke pktdate with the option "-f 15y", pktdate will
  500. have a future tolerance of 15 years and will not modify pkt files with date
  501. stamps in this range.  This should be enough for every silly test message that
  502. might be posted in the net.  However, if you do it this way, you should
  503. remember to remove the "-f 15y" switch as soon as you enter the year 2000,
  504. because then, your system will probably receive lots of messages that have
  505. future dates not because the author intended to set them, but because he or
  506. some system on the way is using buggy software.
  507.  
  508. Another thing that I would like to point out that Pktdate is only a workaround
  509. written in the desperate attempt to keep the net going the the 21st century.
  510. Using Pktdate is definitely a good idea, but on the other hand, the fact that
  511. you or your up-/downlinks use it does not free you from the burden of doing
  512. Y2K tests on your own system and replacing broken software.  Pktdate is only
  513. an additional measure.  In particular, Pktdate only fixes bugs in the PKT
  514. format, i.E. the transport format used for exchanging mail packets between
  515. systems.  It can't do anything if any of your programs accesses your internal
  516. message base in a way that screws it up, nor can it fix any other problems
  517. that occur internally in your system.
  518.  
  519.  
  520. 8. Final Words
  521. --------------
  522.  
  523. Pktdate can only be a success if it can discover and correct every or at
  524. least nearly every problem that occurs in pkt files. Of course, I can not
  525. know about every problem that every software might have. Therefore, I ask you
  526. to send all sort of broken PKT files that you managed to create with non-Y2K
  527. ready software to me, so that I can build "support" for these specific bugs
  528. into Pktdate. The more details you provide on the problem you discovered, the
  529. better.
  530.  
  531.  
  532.  
  533. 9. Credits
  534. ----------
  535.  
  536. Special thanks to:
  537.  
  538. - Bernard Henter (2:233/405) for suggestions, and for the JAM docs.
  539. - Sergey Ozerov (2:5020/348.2), Serguei Trouchelle (2:464/4077) and Vasily
  540.   Zakharov (2:5020/156.35) for bug reports and suggestions.
  541. - Craig Hutchison (3:634/30) and Andy McArdle (3:634/300)
  542.   for providing the Amiga exectables of 1.1 and up.
  543. - Klaus Kulbarsch (2:2426/1205) for writing the German version of this text.
  544. - Frederik Retsema (2:280/905) for his comments.
  545. - Robert Pearson (1:121/45), who had the idea for this program.
  546. - Markus Maier (mkm@gmx.de), for providing the Amiga executables of 1.0 and
  547.   "debugging" the documentation.
  548.  
  549. [EOF]
  550.