home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / d / prime.hlp < prev    next >
Internet Message Format  |  2020-01-01  |  24KB

  1. From C20211@UK.AC.PLYMOUTH.PRIME-A Wed Apr  7 14:15 GMT 1993
  2. Via: uk.ac.plymouth; Wed, 7 Apr 93 14:15:46 GMT
  3. Date:         Wed, 07 Apr 93 15:13:41
  4. From: John Horne  <C20211@UK.AC.PLYMOUTH.PRIME-A>
  5. Subject:      Prime Kermit 8.15 - file 3
  6. To: syspds
  7. In-Reply-To:  Your message of  Fri, 19 Mar 1993 16:21:30 +0000 (GMT)
  8. Status: RO
  9.  
  10.  
  11.    From : John Horne, Computing Service, Polytechnic South West.
  12.    Email : C20211 @ UK.AC.PSW.PA
  13.  
  14.       Kermit - Version 8.00, for PRIMOS revisions 21 and 22.
  15.  
  16.    This new version of Kermit (8.00) replaces the previous version (7.57).
  17.  
  18.    Initially I was asked to investigate some problems our users were having
  19.    with large (>100k) files. However, the code seemed to be getting a bit
  20.    old and messy. So it seemed somewhat easier to look at all of the code.
  21.    This version should work exactly as the old version, but there is more
  22.    functionality in it and the use of packets should be more efficient.
  23.    The error handling has been much improved, and I think that this will
  24.    cure most problems that users use to have. All the previous known bugs
  25.    have been sorted out in the code.
  26.  
  27.    Where possible version 6 of the Kermit Protocol Manual has been followed.
  28.  
  29.    The documentation included will show users the new commands available.
  30.    Below are some of the main changes, but for more details it will be
  31.    necessary to look at the code. Options on the command line and to parameter
  32.    settings may be abbreviated to some extent; i.e. YES may be given as Y, OK,
  33.    or just Carriage Return; FILE_TYPE may be abbreviated to FT, and so on.
  34.  
  35.    The following changes are in the new version of Kermit :
  36.  
  37.    1)                                                               17/01/90 :
  38.       Many commonly used constants have been put into COMMON, these include
  39.       character constants, CTRL-A in 7-bit and 8-bit ASCII, etc.
  40.  
  41.    2)                                                               17/01/90 :
  42.       All of the code has been looked at, and "cosmetically" tidied up.
  43.  
  44.    3)                                                               17/01/90 :
  45.       Unused subroutines/functions have been removed; others have been replaced
  46.       as in-line code; and yet others re-written to make more use of COMMON
  47.       variables.
  48.  
  49.    4)                                                               17/01/90 :
  50.       "Transparent" mode has been made available. This is basically when NO
  51.       parity is used; 8-bit parity checks are done. The code was there before
  52.       but not available to the user (why?). This also means that parity can
  53.       be SET or given on the command line itself.
  54.  
  55.    5)                                                               17/01/90 :
  56.       Most of the previous code did not check for ANY error messages from the
  57.       PRIMOS subroutines used - I think this is where most of the bugs came
  58.       from. Nearly all of the subroutines are now checked for errors and
  59.       appropriate action is taken. Meaningful messages will be displayed to the
  60.       user, or a number given. A number means real big trouble! Some of the old
  61.       subroutines have been replaced by new ones, and some old code replaced by
  62.       PRIMOS subroutines. Only inconsequential subroutines have been left
  63.       un-checked, e.g. file-units not closed, but since file-units are
  64.       dynamically allocated it doesn't matter whether they are closed or not.
  65.  
  66.    6)                                                               17/01/90 :
  67.       The use of pathnames has been extensively adopted. This will allow more
  68.       flexibility for the user; they don't have to continuously change
  69.       directories now. The code is also more robust, since the subroutines will
  70.       easily handle pathnames, rather than the code having to attach all over
  71.       the place and then to attach back (this is asking for trouble).
  72.  
  73.    7)                                                               17/01/90 :
  74.       The LOG file is now checked to see if it is already in use. The CLOSE
  75.       command has been added, so that the user may close it now if they wish.
  76.  
  77.    8)                                                               17/01/90 :
  78.       The type of file system object being SENT is now checked. It is only
  79.       possible to send SAM, DAM, or CAM files. An error message is displayed
  80.       if the user tries to send a directory of any sort.
  81.  
  82.    9)                                                               17/01/90 :
  83.       There are more command line options available; -HELP will show you them.
  84.       The help message has been tidied up, and -USAGE added just to show the
  85.       syntax. The options may also be used before entering interactive mode.
  86.       The options -SEND, -RECEIVE, and -SERVER are checked for compatability;
  87.       and if none of them are present then interactive mode is entered. The
  88.       values of any command line options are also checked for syntax; the code
  89.       is now more robust.
  90.  
  91.   10)                                                               17/01/90 :
  92.       Some subroutines/functions have had their arguments changed or removed;
  93.       whilst others have become functions and vice-versa.
  94.  
  95.   11)                                                               17/01/90 :
  96.       The INCOMPLETE variable may now be SET. This will/will not keep files
  97.       that arrive incomplete depending on the setting.
  98.  
  99.   12)                                                               17/01/90 :
  100.       The POUND variable may also be SET. This will convert pound signs
  101.       correctly for files sent to and from DOS machines. If it causes problems,
  102.       then SET it to OFF.
  103.  
  104.   13)                                                               17/01/90 :
  105.       The CONVERT command has been made available. This will "convert" a file
  106.       to PRIME format. Basically it sets the 8th-bit throughout the file, and
  107.       sets the end of line correctly to line-feed. The code was there before,
  108.       but not shown in HELP at all.
  109.  
  110.   14)                                                               17/01/90 :
  111.       File attributes may be used now by Kermit - this is SETtable. For files
  112.       sent, the file size is sent in bytes and Kbytes; and the files date/time
  113.       of creation (DTC) is sent. For files received the file size is checked
  114.       against the available disk space quota; the DTC is set if present and the
  115.       user has O or P rights in the directory, and the file type is used to
  116.       determine the method of storage. Note that according to the Protocol the
  117.       DTC should be used, NOT the date/time last modified which was previously
  118.       coded. Any files which are too big to be sent or received result in a
  119.       warning message. If wildcards are used then it will continue with smaller
  120.       files. This keeps in line with the Protocol. The last part is also useful
  121.       when transfering large files; previously the whole thing would just bomb
  122.       out, and the user would have to start again.
  123.  
  124.   15)                                                               17/01/90 :
  125.       The TAKE command may now be nested to 25 levels. Previously the user
  126.       would simply tread on the previous file with no warning or anything!
  127.       POP is available to exit the current TAKE file, and return to the
  128.       previous file - if any. Also STOP has been coded to exit ALL of the users
  129.       TAKE files.
  130.  
  131.   16)                                                               17/01/90 :
  132.       More generic commands are available; Disk USAGE (or SPACE), RENAME, COPY,
  133.       WHO (although this isn't too good), and SEND (or MESSAGE).
  134.  
  135.   17)                                                               17/01/90 :
  136.       Some of the messages displayed have been "cosmetically" changed.
  137.  
  138.   18)                                                               17/01/90 :
  139.       Sending files with DOS wildcards from the PRIME is a dubious area since
  140.       it requires knowing what the user MEANS! The special case "*.*" is taken
  141.       to mean send ALL files, not just ones of 2 components. Other cases are
  142.       translated as "*" to "@", and "?" to "+".
  143.  
  144.   19)                                                               17/01/90 :
  145.       The received timeout is now used, rather than just using 2 minutes as a
  146.       fixed time. If necessary it may be possible to reset the timeout on the
  147.       local Kermit.
  148.  
  149.   20)                                                               17/01/90 :
  150.       The PUSH command has been added to enable the user to jump to PRIMOS.
  151.       Kermit is re-entered either by using the S (START) command, or REN
  152.       (for Re-ENter). REN is a bit more reliable; it depends on what the user
  153.       does at PRIMOS level. Kermit itself may be invoked again, and PUSHed from
  154.       again. The limit to this is set per-user by the sites' PRIME system
  155.       administrator. (Here at PSW users can do it about 10 times.)
  156.  
  157.   21)                                                               17/01/90 :
  158.       The code is more robust in the checking of values given for the quoting
  159.       and 8-bit quoting characters, and for the parity being used. Previously
  160.       it would have violated the Protocol by allowing the characters to be the
  161.       same.
  162.  
  163.   22)                                                               17/01/90 :
  164.       It is now possible to avoid received file name collisions. This is a
  165.       SETtable option. The new file name is sent with the F packet
  166.       acknowledgement, so this may be printed out by the local Kermit. The new
  167.       file name tries to append four digits to the files' prefix, or if
  168.       necessary it will overwrite the last characters of the prefix.
  169.  
  170.   23) *>SOURCE>(XFER_MODE, CONVERT_FILE).PLP,
  171.       *>INSERT>COMMON.INS.PLP                                       26/01/90 :
  172.       The subroutine XFER_MODE had some octal characters in it which prevented
  173.       sites from receiving the file correctly from Lancaster (U.K.). Extra
  174.       variables in COMMON are now used to hold these values, which are
  175.       calculated when Kermit is invoked.
  176.       The CONVERT command was not working correctly (if at all). The code has
  177.       been changed to handle end-of-file conditions better. The subroutine used
  178.       to write out the file has been changed, as have some of the error
  179.       messages produced by the CONVERT command.
  180.  
  181.   24) *>SOURCE>@@, *>INSERT>@@                                      02/02/90 :
  182.       To enable the source code to be transmitted over various networks
  183.       successfully some of the code lines have been reduced in length. All of
  184.       the source code lines are now 80 characters or less in length. This may
  185.       make the code a little bit less readable, but does not affect its
  186.       functionality in any way.
  187.  
  188.   25) *>KERMIT.BUILD.CPL, *>INSERT>(KERMIT, PRIMOS).INS.PLP,
  189.       *>SOURCE>(UTILITIES, SETUP_TRANS_CHAR).PLP                    09/02/90 :
  190.       The build program will now allow the -BINARY option to be passed to
  191.       the PLP compiler. This allows the redirection of the binary file, or
  192.       the prevention of any binary file being produced by using the relevant
  193.       PLP -BINARY options. The default is still to the sub-directory *>OBJ.
  194.       The above 5 files have had their initial comment lines changed so that
  195.       all of the build and source files received from a distribution site
  196.       may be more easily identified. Each file is seperated by a line of
  197.       hyphens. This is then followed by a blank line, and then a single
  198.       comment line. This begins with the characters "/* ". The upper case
  199.       characters following it are the subroutine name, and end with the
  200.       character sequence " -- ". It is intended that an editor is used to
  201.       seperate out the files. The build file and insert files will need to be
  202.       seperated individually. I hope this is of some help.
  203.  
  204.   26) *>SOURCE>(SEND_PACKET, COMND).PLP                             12/02/90 :
  205.       Minor changes to some of the conditional statements logic in the
  206.       subroutine SEND_PACKET.
  207.       In the subroutine COMND a window size of 0 will now display a message
  208.       stating that no windowing will be performed. An invalid window size
  209.       will now show the correct message; previously it gave garbage at the
  210.       end of the message.
  211.  
  212.   27) *>INSERT>(COMMON, CONSTANTS).INS.PLP,
  213.       *>SOURCE>(KERMIT_INIT, OPEN_INPUT, READ_INPUT, SET_PARAMS, GET_DTC,
  214.                 PRS_SEND_INIT, LOG_PACKET, CHANGE_DIR, COMND, GENERIC_CMD,
  215.                 WRITE_OUTPUT, CONVERT_FILE, REC_SWITCH).PLP         15/02/90 :
  216.       Peter Mason's (SHEFFIELD UNIVERSITY, U.K.) code has been incorporated to
  217.       allow ASCII files containing long lines to be transmitted. This worked
  218.       fine for binary files, but ASCII/Text files would previously be truncated
  219.       to 1022 characters.
  220.       Some more commonly used constants have been replaced by variables or
  221.       %REPLACE identifiers.
  222.  
  223.   28) *>SOURCE>(CLOSE_OUTPUT, GET_DTC).PLP                          16/02/90 :
  224.       If file attributes are in use then the files' Date/Time last modified
  225.       (DTM) attribute is set as well as the Date/Time of creation (DTC).
  226.       Whilst the Kermit Protocol states that the DTC should be used, this is
  227.       historical and the DTM is of more use to users. The DTM is also sent
  228.       instead of the DTC in the attribute packet.
  229.       This is now version 8.01 (unreleased).
  230.  
  231.   29) *>SOURCE>(UTILITIES, WRITE_IBUF, WRITE_OUTPUT, OPEN_OUTPUT,
  232.                 KERMIT_INIT).PLP,
  233.       *>INSERT>COMMON.INS.PLP                                       07/03/90 :
  234.       Lines ending in just a LF are handled correctly now. This will allow
  235.       POSTSCRIPT files to be transferred. A NUL character is appended to the
  236.       LF, if necessary, to maintain the word alignment.
  237.       When receiving a file the file type (text or binary) cannot change once
  238.       the file has started to be written to disk. Previously it was possible
  239.       for certain files to change type when the last part of the file was
  240.       received. The logic of some conditional tests has also been changed.
  241.  
  242.   30) *>SOURCE>(READ_INPUT, KERMIT_INIT, WRITE_IBUF, OPEN_OUTPUT).PLP,
  243.       *>INSERT>COMMON.INS.PLP                                       21/03/90 :
  244.       Corrected the handling of repeat characters. Sometimes the packet would
  245.       become too large when two characters were repeated, since these two are
  246.       actually written out individually and NOT packed together. This has also
  247.       enabled us to simplify some other parts of the code.
  248.  
  249.   31) *>SOURCE>GENERIC_CMD.PLP, *>INSERT>PRIMOS.INS.PLP             29/03/90 :
  250.       The generic command COPY now uses different subroutines to perform the
  251.       copy. This makes it faster, and also allows the copying of binary files.
  252.       Previously these files would become corrupted. The declared entry for
  253.       the Primos subroutine RDLIN$ has been removed since it is not used.
  254.  
  255.   32) *>SOURCE>PRS_SEND_INIT.PLP                                    06/04/90 :
  256.       Removed a redundant WHEN statement.
  257.  
  258.   33) *>SOURCE>(SEND_SWITCH, KERMIT_INIT, READ_INPUT).PLP,
  259.       *>INSERT>COMMON.INS.PLP                                       10/04/90 :
  260.       The bug fix 30 above caused the packet length to drop to about 86
  261.       characters for most packets. This seemed to be getting too low a value.
  262.       The character handling code in READ_INPUT has been re-written so as to
  263.       get the packet as full as possible before sending it. Most packets are
  264.       now filled to about 93 characters.
  265.  
  266.   34) *>SOURCE>(NEXT_FILE, OPEN_LOG, KERMIT, GET_ERROR_MSG, COMND,
  267.                 LOG_PACKET, CHANGE_DIR, REC_SWITCH, GENERIC_CMD,
  268.                 SET_PATH).PLP                                       11/04/90 :
  269.       Minor changes to some logical character comparisons where null strings
  270.       are involved.
  271.  
  272.   35) *>SOURCE>@@, *>INSERT>@@, *>KERMIT.BUILD.CPL                  18/04/90 :
  273.       Version 8.10 (unreleased) received from Matthew Sutter in U.S.A.
  274.       New functionality with the CONNECT command for connecting the Prime to
  275.       other Computers, rather than just to micro-computers. Also allows the
  276.       SETting of the AMLC line number and baud rate for the CONNECT command.
  277.       Code included to SET the ESCAPE character for the CONNECT command, and
  278.       also recognition of some escape sequences as sub-commands to CONNECT.
  279.       Added code for BYE, FINISH, GET, INPUT, OUTPUT, PAUSE, and CLEAR
  280.       commands. Help screens updated for the new commands.
  281.  
  282.   36) *>SOURCE>@@, *>INSERT>@@                                      20/04/90 :
  283.       Version 8.11 (unreleased) received from Matthew Sutter in U.S.A. Some bug
  284.       fixes and code improvements to version 8.10. The MORE subroutine added
  285.       for the help screens.
  286.  
  287.   37) *>SOURCE>@@, *>INSERT>@@                                      23/04/90 :
  288.       Version 8.12. Further bug fixes and some code improvements. Code added
  289.       for the "0" sub-command to CONNECT, and allow the PAUSE command to accept
  290.       a 24-hour clock time.
  291.  
  292.   38) *>SOURCE>COMND.PLP                                            01/05/90 :
  293.       Test for the remote server being present in the BYE and FINISH commands.
  294.       Made the SET FILE_TYPE command identical to the FILE_TYPE command line
  295.       option. It now recognizes "FT" or any sub-string of "FILE_TYPE". The SHOW
  296.       command has similarly changed. Minor text message changes.
  297.  
  298.   39) *>SOURCE>(ASSIGN, XFER_MODE).PLP                              27/06/90 :
  299.       Changed the half-duplex settings so as NOT to echo LF after a CR.
  300.       Requested by Ted Flory (BRIDGEWATER COLLEGE, U.S.A).
  301.  
  302.   40) *>SOURCE>(ASSIGN, COMND, KERMIT_INIT, BK_HNDLR, REC_PACKET, REC_AMLC,
  303.                 PRS_SEND_INIT).PLP,
  304.       *>INSERT>CONSTANTS.INS.PLP                                    06/07/90 :
  305.       The receive timeout has been changed from minutes to seconds, previously
  306.       the timeout would be rounded up to the nearest minute, but this is not
  307.       necessary. Also the timer is turned off as soon as a valid start-of-packet
  308.       character has been received, and NOT after the packet has been processed.
  309.       Some minor code changes in parameter passing now prevent Primos
  310.       POINTER_FAULT$ errors occuring when receiving data using an AMLC line.
  311.       The AMLC baud rates of 9600, 2400, 4800, 19200 have now been replaced
  312.       by CLOCK, JUMPER_1, JUMPER_2, and JUMPER_3. This now allows for the fact
  313.       that these values are machine/configuration dependant. The default values
  314.       are shown, but the actual values will have to be obtained from the system
  315.       administrator. The other baud rates of 110, 134.5, 300, and 1200 are fixed
  316.       within Primos, so the Kermit default baud rate has now also changed to
  317.       1200, the Prime default baud rate.
  318.  
  319.   41) *>SOURCE>(KERMIT, KERMIT_INIT, OPEN_LOG, COMND).PLP,
  320.       *>INSERT>(COMMON, CONSTANTS).INS.PLP                          17/07/90 :
  321.       The log file pathname is now shown with the "SHOW ALL" or "SHOW LOG"
  322.       commands. The send and receive packet maximum retry count is now settable,
  323.       and will also be shown with the "SHOW" or "SHOW RETRIES" commands. The
  324.       send and receive packet timeout may also be shown with the "SHOW" or
  325.       "SHOW TIMEOUT" commands. The send packet timeout is also settable.
  326.  
  327.   42) *>SOURCE>OPEN_INPUT.PLP                                       23/07/90 :
  328.       The internal subroutine to perform automatic file type checking was
  329.       actually doing a bit more than it ought to, and likewise for specific file
  330.       types some internal buffers were not being initialised. This gave rise to
  331.       the problem that interrupted file transfers would corrupt the next file
  332.       sent if a specific file type was previously set.
  333.  
  334.   43) *>SOURCE>(REC_SWITCH, SEND_SWITCH, KERMIT_INIT, SET_PARAMS, COMND).PLP,
  335.       *>INSERT>COMMON.INS.PLP                                       07/08/90 :
  336.       The sliding windows code has been corrected. The default window value is
  337.       6, but it is, of course, settable. A value of 0 is now illegal, non-
  338.       windowing is actually performed by the windowing code but with a window
  339.       size of 1. All of the previous non-windowing code has been removed.
  340.  
  341.   44) *>SOURCE>SERVER.PLP                                           08/08/90 :
  342.       Timeouts by the server are not now NAKed since this only seems to cause
  343.       problems for the local kermit. The Prime will still log that timeouts
  344.       have occured though.
  345.  
  346.   45) *>SOURCE>@@, *>INSERT>@@                                      09/08/90 :
  347.       Version 8.12 received from Matt Sutter (U.S.A). New code for seperate
  348.       packet and/or session logging. Bug fixes to the repeat character
  349.       processing, and AMLC line handling.
  350.  
  351.   46) *>SOURCE>@@, *>INSERT>@@                                      10/08/90 :
  352.       Version 8.13 (unreleased). Merged version 8.12 (U.S.A) with all known
  353.       previous bug fixes.
  354.  
  355.   47) *>KERMIT.BUILD.CPL, *>INSERT>@@,
  356.       *>SOURCE>(ASSIGN, COMND, CONNECT, DISCARD_OUTPUT, GENERIC_CMD, GET_LEN,
  357.                 INPUT, KERMIT_INIT, MATCH_FILE, OPEN_INPUT, OPEN_LOG,
  358.                 OPEN_OUTPUT, REN_HNDLR, SEND_PACKET, SERVER, SET_PATH,
  359.                 XFER_MODE).PLP                                      25/10/90 :
  360.       Version 8.14. Corrected the setting of the terminal to/from
  361.       half/full-duplex mode, the initial setting is now correctly restored.
  362.       The REMOTE SPACE command will now also show the disk space available,
  363.       since it is useful for those users without quota restrictions.
  364.       The asynchronous line baud rate is now only checked for a valid rate when
  365.       set. Valid rates are determined by PRIME. When the line is assigned to
  366.       set the baud rate, checking will be done by PRIMOS as to whether the
  367.       hardware actually supports the requested rate.
  368.       The CLOSE command with no option will now close any one open log file,
  369.       but not if both are open.
  370.       Unimplemented server commands are now reported as such.
  371.       Files which are at the MFD level are now handled correctly, previously
  372.       their pathname would become corrupted.
  373.       GET_USER_INFO is a new subroutine to determine some of the users PRIMOS
  374.       environment variables. It is called when Kermit is invoked, and when the
  375.       user re-enters Kermit after a PUSH command since they may have changed
  376.       their environment whilst at PRIMOS level.
  377.       For ASCII files the exact file length in bytes is now sent. Previously
  378.       the length did not take account of space compression characters, so the
  379.       file length sent was usually less than its true length.
  380.  
  381.   48) *>INSERT>(CONSTANTS, COMMON).INS.PLP,
  382.       *>SOURCE>(KERMIT, KERMIT_INIT, COMND).PLP                     11/02/91 :
  383.       Added the -INIT option to the command line. By default an initialization
  384.       file, called PRIME_KERMIT.INIT, will be run if it exists in the current
  385.       directory. An alternate pathname may be used if it is specified on the
  386.       command line.
  387.  
  388.   49) *>SOURCE>(COMND, CONNECT, READ_INPUT, SETUP_TRANS_CHAR,
  389.                 WRITE_OUTPUT).PLP                                   28/04/92 :
  390.       Version 8.15. The use of Kermit over asynchronous lines with no parity
  391.       did not work very well. There is now better checking, and clearing of the
  392.       parity bit, for lines which do not have parity set. Requested by Andy
  393.       Kurtz at Lincoln National Information Services.
  394.  
  395.   50) *>SOURCE>KERMIT_INIT.PLP                                      01/05/92 :
  396.       Initialize the variable REM_NPAD which indicates the number of remote
  397.       padding characters to use. This is needed for the first packet sent to
  398.       the remote system.
  399.  
  400.