home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0674.ZIP / CCE_0674 / DOCS.LZH / DOCS / HISTORY < prev    next >
Text File  |  1993-04-11  |  142KB  |  2,954 lines

  1. PE1CHL.920411:
  2.  
  3. AX.25 queue length for "virtual circuit" mode is now limited.  IP Packets
  4. beyond a certain limit are discarded, and a "Source Quench" is sent
  5. back.  This should prevent allocation of too much memory for a bad link.
  6. Please don't use continuous ping requests on virtual circuit links,
  7. because these make matters worse when the link is bad in one direction!
  8. (ping replies pile up at the remote end, and normal traffic is slowed
  9. down even more than it already was...)
  10.  
  11. G8BPQ emulation now also includes UI frames.  This means MAIL beacons
  12. can now be sent, and the application can monitor UI frames as well.
  13. The "g8bpq" command now has 3 subcommands:
  14.    g8bpq status: like the old "g8bpq" command, shows the status of all
  15.              streams.  A range of streams can be shown by specifying
  16.              first (and optionally last) stream number.
  17.    g8bpq active: like "g8bpq status", but shows only those streams for
  18.              which an application is or has been active.
  19.    g8bpq ports:  setup the mapping between G8BPQ radio port number, and
  20.              the interface names normally used by NET.  this is
  21.              necessary because UI frames are normally sent to
  22.              "radio ports" by G8BPQ applications, where these ports
  23.              are known by number.  The NET interface names supplied
  24.              to the "g8bpq ports" command get the BPQ port numbers
  25.              1,2,3 etc.  E.g.: "g8bpq ports 144 430" will setup
  26.              BPQ radio port #1 = NET interface "144", and
  27.              BPQ radio port #2 = NET interface "430".
  28.  
  29. PC version now compiled with Borland C 3.1.  This results in more
  30. efficient, but slightly larger code.
  31.  
  32. Memory allocation routines revised.  This should decrease the amount of
  33. memory grabbed when the program is left running for a long time.
  34. New command "mem s" displays some allocation statistics that can be
  35. useful when searching for memory leaks.  Please include a "mem s" output
  36. when you think you have discovered a leak.
  37.  
  38. AX.25 timers T1 and T2 values are now randomized +/- 10% from their
  39. preset values, to reduce the risk that two or more stations are
  40. constantly colliding when their timers run out at exactly the same time.
  41. It was reported that this often occurred on point-to-point links, where
  42. both stations were sending RR(P) frames at the same time, and continued
  43. doing so until the retry limit was exceeded and the link failed.
  44.  
  45. Rudimentary support for "directory broadcast" added to the PACSAT
  46. broadcast protocol.  Any directory broadcast packets are saved in a file
  47. "dirfile.dbp" located in the directory used for broadcast files.  No
  48. attempt has yet been made to detect duplicate entries, or to request
  49. hole-fills when parts of the directory are missing.  After the pass of
  50. the satellite, one should clean this file using "pfh -c dirfile.dbp" and
  51. then convert it to a printable directory using "pfh -d dirfile.dbp >dirlist".
  52. When the file grows too large to maintain it this way, simply delete it
  53. and a new file will be created at the next satellite pass.  Note that
  54. the "dirfile.dbp" file remains open during the pass, and gets closed
  55. only when the 1-minute broadcast idle timer runs out, or when the
  56. "broadcast kick" command is issued.
  57.  
  58. Server "tp" has been renamed "time" to be consistent with the list of
  59. standard protocols in RFC-1340.  Please change "start tp" to
  60. "start time" in autoexec.net.
  61.  
  62. IEEE 802.3 packets with sap=x06 are now correctly recognized as IP packets.
  63. Tracing of IEEE 802.3 packets corrected.
  64.  
  65. A nasty problem with FTP bytes/s measurement, that sometimes caused a
  66. crash when a file was sent in 0 seconds, has been eliminated.
  67.  
  68. Slow response (sometimes no response at all...) for internal AX.25
  69. connections investigated, and hopefully eliminated.  This problem would
  70. occur when a local application was connected from the NET/ROM, or when
  71. setting up a connect to the own AX.25 BBS or NET/ROM.
  72.  
  73. When using SCC card, the transmission time for a single AX.25 connection
  74. is now limited to 4 seconds, by varying the effective MAXFRAME value
  75. depending on the length of the packets being sent. (no more than
  76. 4*bitrate bits are sent in a single transmission)
  77.  
  78. In the MSDOS version, the bus timing for the SCC driver has been
  79. modified.  The driver now uses an "IN AL,0E4H" instruction to introduce
  80. the proper amount of delay after a write to the SCC (5 PCLK cycles, or
  81. about 1uS).  Tests have shown that this IN instruction provides a
  82. reasonably constant delay on a wide range of machines.  Earlier versions
  83. used a delay routine that introduced a fixed number of clock cycles of
  84. delay, which varied widely between an old XT and a fast '486 system.
  85.  
  86. A version of the program for the Linux operating system has been
  87. created.  It is compiled using GNU C.  Features are like the earlier
  88. XENIX versions.  Some details are handled different:
  89. -   The "telunix" server provides remote logins to the system using
  90.     "telnet" to the port where it was started (default 23).  This
  91.     requires superuser capabilities, so the program should be installed
  92.     with mode and owner like this:
  93.     -rwsr-xr-x   1 root     users      293897 Mar 18 20:49 net
  94.     Normally, NET will run with the privilege of the user that started
  95.     it, but during short periods when logging "telunix" servers on and
  96.     off, it switches to "root" privilege.  The "telunix" server starts a
  97.     /etc/getty process on the tty corresponding to the free pty it has
  98.     allocated, so this should not be done in /etc/inittab.
  99.     (as was required in the XENIX version)
  100.     When the file /etc/default/getty.telunix exists, it is used to
  101.     provide the getty settings.  If the file does not exist, the normal
  102.     settings file /etc/default/getty is used.  See "man getty" for
  103.     details.
  104. -   The select() system call is used as much as possible, to wakeup
  105.     the program only when something has to be handled.  This saves CPU
  106.     time.  In XENIX, select() has bugs and is not supported on all
  107.     types of devices.  Linux handles select properly, and therefore it
  108.     is used by default (when variable SELECT is not defined).
  109. -   The "termcap" entry of the controlling terminal is used to get
  110.     keyboard sequences for the "special keys" used in line editing.
  111.  
  112. All filenames used in the program are now "cleaned" before they are used
  113. to open a file.  Previously, this was done only in certain cases.  The
  114. actions perfomed by the "cleanup" depend on the operating system, but
  115. generally they include removal of control characters, and conversion of
  116. '/' and '\' to the pathname separator character normally used on the
  117. system.  E.g.: now it is possible to say "record /tmp/file" on the
  118. Atari, where this would not have worked previosly (TOS requires a '\' as
  119. the pathname separator).
  120.  
  121. Handling of TELNET options has been significantly extended and debugged.
  122. This does not really apply to the use of TELNET in the amateur radio
  123. TCP/IP network, but is rather important when using TELNET to log in to a
  124. host on a local area network.
  125. The following options are handled by the telnet client:
  126.     Transmit_binary, Suppress Go Ahead, Status, End of Record,
  127.     Echo, Terminal Speed, Terminal Type, Window Size, X Display location.
  128. These are handled according to the respective RFCs.  Some details:
  129.     - Terminal Type option is accepted only when an environment variable
  130.       "TERM" exists.  When the connected host asks for the terminal
  131.       type, the contents of this variable are sent.  So, to get the type
  132.       "ansisys" sent to the host, use: setenv TERM ansisys
  133.     - X Display location option is accepted when the environment
  134.       variable "DISPLAY" exists.  Like with TERM, the value of this
  135.       variable is sent when the host asks for the X Display location.
  136.       When the value of "DISPLAY" starts with a colon, the value sent is
  137.       the local hostname followed by the DISPLAY variable.
  138.     - The value sent for Terminal Speed is the speed of the interface where
  139.       the output for the connected host is routed.  This may not reflect
  140.       the speed of the entire path to the host...
  141.  
  142. Commands to control TELNET operation (the former "echo" and "eol"
  143. commands) have been moved into a new command "tnoptions". Current
  144. subcommands of the "tnoptions" command are:
  145.  
  146.     debug    sets option negotiation debug mode.
  147.             debug 0: no debugging
  148.             debug 1: show option negotiation
  149.     display    when the current session is a "Telnet" type session,
  150.             the input mode and negotiated options are shown.
  151.     echo    is the former "echo" command.
  152.             echo accept: accept a "will echo" command from the remote
  153.                 side, setting the input mode to TELNET.
  154.             echo refuse: refuse a "will echo" command from the remote
  155.                 side, setting the input mode to LINE.
  156.     eol        is the former "eol" command.  determines the sequence
  157.             sent when the ENTER or RETURN key is hit.
  158.         eol standard:    CR+LF
  159.         eol null:    CR+NUL
  160.         eol unix:    LF
  161.     mode    when the current session is a "Telnet" type session,
  162.             sets the input mode.  valid modes are:
  163.             mode line:    local echo, full line of text is sent when
  164.                     RETURN is pressed.  Lines saved in history.
  165.             mode raw:    separate characters are sent with no
  166.                     translation.
  167.             mode telnet:    separate characters sent, special keys are
  168.                     translated to TELNET-defined sequences:
  169.                     Ctrl-B    -> Break
  170.                     Ctrl-C    -> IP (Interrupt Process) + Synch
  171.                     Ctrl-O    -> Flush Output
  172.                     Ctrl-P    -> Synch
  173.                     Ctrl-T    -> AYT (Are You There?)
  174.                     Ctrl-_    -> EOR (End Of Record)
  175.         mode unix:    like mode telnet, but the following
  176.                 additional keys are translated:
  177.                     Ctrl-D    -> EOF (End of File)
  178.                     Ctrl-Z    -> Suspend Process
  179.                     Ctrl-\    -> Abort Process
  180.     send    send a telnet option or suboption.  intended primarily
  181.             for debugging (in association with "tnoptions debug 1").
  182.             the option to be sent must be given as a decimal number,
  183.             please refer to the RFCs for details about options.
  184.  
  185. SMTP handling of "." has been fixed.  The transmission no longer breaks
  186. when a line consisting of only a "." is present in the message body.
  187.  
  188. SMTP sequence number handling fixed.  Sequence number no longer increments
  189. by 2 when a message is forwarded.
  190.  
  191. The broadcasts of NET/ROM routes now include all routes that are above
  192. the "minimum quality to be broadcast" and "minimum obsolescence to be
  193. broadcast".  Previous versions tried to reduce the broadcast by omitting
  194. routes that were received from the neighbor that the broadcast was
  195. directed to.  This reduced the number of entries in the route table, but
  196. it also limited the possibilities to recover from link failures.  With
  197. the new memory management, the extra routes shouldn't be a problem.
  198.  
  199. Maximum number of simultaneous NET/ROM circuits has been increased from
  200. 32 to 64.  Please report when this is still insufficient.
  201.  
  202. NET/ROM transport layer packets received out-of-sequence are now held on
  203. a resequencing queue.  Formerly, they were discarded and had to be
  204. re-sent by the source after the missing packet was transferred.  I
  205. believed that this would not be an issue, because the network links are
  206. AX.25 virtual circuits.  In practice, maintaining the resequencing queue
  207. seems to be worthwile.  (after receiving the NAK reply from the
  208. destination node, the source node sends only a single packet, and the
  209. next acknowledgement will indicate the correct reception of the packets
  210. on the resequencing queue)
  211.  
  212. When "exit" command is used to terminate NET, all outstanding data on
  213. transmit queues is sent, and one second is allowed for interrupt-driven
  214. buffers to clear.  This solves problem with "param <interface> 255" in
  215. onexit.net, which is supposed to let a TNC leave KISS mode.  (that
  216. didn't always work).
  217.  
  218. Screensize determination in MSDOS version has been enhanced.  Now the
  219. "screen swap" option will also work on super-VGA modes, e.g. 80*50 or
  220. 100*40 mode.  When the screen swapping seems to assume the wrong screen
  221. size, it can be overridden by putting NETCONF=s80*25 on the command line
  222. or in the DOS environment.
  223.  
  224. The "ax25 persist" command can only work on AX.25 interfaces where the
  225. driver allows setting of the persistence.  This is true for KISS TNC's
  226. attached to a COM port, and for SCC cards.  It is not possible to set
  227. the persistence with drivers attached via "attach packet", so "ax25
  228. persist" cannot be used with those.  NET now detects this condition and
  229. removes the "ax25 persist" setting, instead of printing an "Invalid
  230. parameter" message every time the "ax25 persist" routine wants to change
  231. the persistence.
  232.  
  233. File name used by "rcmd" command modified: periods in the hostname given
  234. to the "rcmd" command are now first replaced by underscores.  Then, NET
  235. tries to open the file named: RCMDDIR/hostname.portnum
  236. where RCMDDIR is the rcmd directory (contents of the RCMDDIR environment
  237. variable), hostname is the hostname passed to the "rcmd" command, and
  238. "portnum" is the port number given to the "rcmd" command (or the default
  239. 333).  When this file cannot be opened, the file RCMDDIR/hostname is
  240. tried.  This change allows different rcmd passwords for the same hostname
  241. (but for different ports), and avoids trouble with systems which can
  242. handle only a single period in a filename.
  243.  
  244.  
  245. PE1CHL.921225:
  246.  
  247. Many bug reports I have received lately turned out to be related to
  248. configuration parameters.  Users unaware of subtle side-effects modified
  249. critical parameters like "buffers" and "AX.25 timing", and later
  250. complained about strange effects or memory problems.  Because the system
  251. works best when everyone uses the same parameters anyway, most
  252. configuration commands have now been removed, and the parameters have
  253. internally been set to values that have proven to be fine during years
  254. of experience.  This has the added benefit of reducing the program size,
  255. and making it easier for newcomers to get the program running. The
  256. affected parameters and their values are:
  257.  
  258.     buffers 8*nchan        (8 buffers per channel of SCC interface)
  259.     smtp maxclients 10
  260.     smtp maxsessions 1
  261.     smtp timer 4000 500
  262.     tcp irtt 15000
  263.     tcp mss 512            (1K on an ethernet interface)
  264.     tcp timeout 7200
  265.     tcp ubound 3600
  266.     ax25 maxframe 4 16
  267.     ax25 paclen 128        (paclen depends on speed on SCC interface)
  268.     ax25 pthresh 64
  269.     ax25 retry 10
  270.     ax25 t1 15000 5000
  271.     ax25 t2 2000 500
  272.     ax25 t3 600000
  273.     ax25 t4 900000
  274.     ax25 window 2048
  275.     netrom param 3 50 6 5 20 3 24 3
  276.     netrom param 4 120 3 10 180 10 16 1800
  277.     netrom param 7 1 0 0
  278.     flow on
  279.  
  280. This change has made the file "config.net" mostly redundant.  The few
  281. remaining parameters have been moved to the autoexec.net files in the
  282. examples.
  283.  
  284. Internal buffer handling has been modified.  Should no longer see TCP
  285. segments with "CHECKSUM ERROR" when using an SCC card.
  286.  
  287. DOS version: Fixed bug in memory allocator that caused strange behaviour
  288. when running out of memory.
  289.  
  290. Fixed bug in the SCC driver that could cause a system crash at high baudrates.
  291.  
  292. A kick of a TCP session with no outstanding bytes will now re-send the
  293. last transmitted ACK.  This can sometimes wakeup the distant station.
  294. Also, when a RESET comes back it is known that the other station has
  295. restarted the system and it is no longer necessary to wait for data.
  296. A manual kick no longer increases the backoff.
  297.  
  298. Variable-maxframe computations in AX.25 now also use the interface speed
  299. and length of packets when determining an optimal value for maxframe.
  300.  
  301. A bug in the AX.25 conference bridge, that could cause a crash, has been fixed.
  302.  
  303. Program has been made more compliant with RFC-1122 and RFC-1123.  This has
  304. affected:
  305.  
  306. arp:    no longer sends a burst of requests when an ARP entry times out while
  307.         an FTP or SMTP session is running.  only a single ARP request is
  308.     sent and up to 10 packets are buffered waiting for a reply.
  309.     RARP request/reply added to tracing.
  310.  
  311. telnet: end-of-line sequence has been slightly modified.  now, 3 different
  312.     sequences can be selected using the "eol" command:
  313.     eol standard:    CR+LF
  314.     eol null:    CR+NUL
  315.     eol unix:    LF
  316.     everyone should try to use "eol standard", and should only switch to
  317.     a different setting when this is really necessary when talking to
  318.     some nonstandard implementation.
  319.  
  320.     after connection to the telnet service, the server will now send the
  321.     telnet option "WILL SUPPRESS GA", as required per RFC-1123.  3 bytes
  322.     are sent in both directions after session setup for this option.
  323.  
  324. smtp:    SMTP server constructs a return path when mail is sent through
  325.     multiple systems. this should make it easier to reply to such mail,
  326.     and helps the server when it has to return a message to the sender.
  327.  
  328.  
  329. PE1CHL.921114:
  330.  
  331. Interface MTU in attach commands is set to 128 when a smaller value is
  332. specified (which would lead to a crash when IP frames had to be fragmented
  333. to very small parts)
  334.  
  335. Improved operation of "netrom filter" and AX.25 BBS with F6FBB BBSes.
  336.  
  337. When using ESCC chips, the RTS signal can be made inactive immediately
  338. after the closing flag, to improve turnaround time at higher speeds.
  339. Set "param xx 4 0" to enable this.  Warning: some modems and/or transceivers
  340. will not transmit long enough to send the last packet in a series, when using
  341. this feature.  In that case, use "param xx 4 2" to introduce the smallest
  342. possible time delay at the end of each packet.
  343.  
  344.  
  345. PE1CHL.921018:
  346.  
  347. This is a major release, with many new features and enhancements.
  348. Please report any bugs you find in there...
  349. Make sure you update your configuration files, as there are some important
  350. changes.  It is best to modify one of the example files to suit your
  351. configuration.
  352.  
  353. Atari .TOS version: font can be switched between the existing font at startup,
  354. and an IBM-compatible font.  This is useful when accessing a BBS that uses the
  355. IBM special graphic characters, which display as hebrew characters in the
  356. original Atari ST font.     Switching is done using:
  357.     screen font a        (Atari font)
  358. or:    screen font i        (IBM font)
  359. The EGA font can only be used on monochrome monitors.  Note that the
  360. "screen font" command sets the fontsize in the GEM version of the program.
  361. Fonts can't be switched in that version (although you could load an alternative
  362. font before starting NET)
  363.  
  364. MSDOS version: added the G8BPQ hostmode emulator.  See separate G8BPQ.DOC file
  365. for details.  This emulator uses AX.25 ports 11..18, and is started using
  366. "ax25 start g8bpq [<intno>]".  (<intno> defaults to 127)
  367.  
  368. Some revisions in the memory allocation routines, attempting to reduce memory
  369. fragmentation.
  370.  
  371. SMTP server does not put a Received: header above mail when it is talking
  372. to itself (e.g. after receiving AX.25 mail, or when expanding an alias)
  373.  
  374. FTP server indicates the transfer type (ASCII or IMAGE) when opening a data
  375. connection, to hint certain common mistakes (e.g. getting a .ARC file in
  376. ASCII mode)
  377.  
  378. AX.25 packet tracing now includes the packet length, to make it easier to find
  379. packets that exceed certain length limits.
  380.  
  381. Enhanced tracing of Ethernet packets.  Can now also display IEEE 802.3
  382. packets, and knows some names for non-IP Ethernet types.
  383.  
  384. Packet driver: It is now possible to specifiy a packet driver class when
  385. attaching, instead of getting the default class from the driver and using
  386. that.  When a packet driver supports multiple classes (e.g. Ethernet and
  387. IEEE 802.3) it is now possible to select the alternative class.     Specify 0
  388. when the default class is to be used. The <class> values for packet drivers are:
  389.     ETHERNET    1
  390.     PRONET_10    2
  391.     IEEE8025    3
  392.     OMNINET        4
  393.     APPLETALK    5
  394.     SERIAL_LINE    6
  395.     STARLAN        7
  396.     ARCNET        8
  397.     AX25        9
  398.     KISS        10
  399.     IEEE8023    11
  400.     FDDI        12
  401.     INTERNET_X25    13
  402.     LANSTAR        14
  403.     SLFP        15
  404.     NETROM        16
  405.     PPP        17
  406. Syntax of the attach packet command:
  407.  attach packet <int#> <class>|0 <label> <buffers> <mtu> [<call>|anytype|<types>]
  408.  
  409. When a packet driver has class "Ethernet" or "IEEE 802.3", the extra keyword
  410. "anytype" at the end of the attach packet statement will allow all types of
  411. packet to be received.    This can be useful when tracing the traffic on an
  412. ethernet.  It is also possible to specify up to 4 ethernet types in HEX.
  413. Examples:
  414.     attach packet 60 0 enet 8 1500 anytype
  415.     attach packet 60 0 enet 8 1500 800 806 8137
  416.  
  417.  
  418. MSDOS version: The SCC driver now requires an alternative timing source when
  419. it is running under DESQview.  A DRSI card has a Z8536 which will automatically
  420. be programmed for this purpose (see below).  Other SCC cards must either
  421. dedicate one channel for timing purposes, or they must use a TSR which will
  422. deliver accurate timing interrupts on some other interrupt number than the
  423. normal 08 or 1C vectors.  DESQview treats those interrupts in a special way,
  424. which results in horrible SCC channel timing when another task is running.
  425.  
  426. The keyboard input routine can send a sequence before and after all keyboard
  427. input characters echoed to the screen.    This can be used to set a different
  428. attribute for text entered at the keyboard, and text displayed by NET.
  429. In a session screen, this will make it easier to differentiate between the
  430. text one has typed, and the text received from the other station.
  431. To enable this feature, use "setenv" to store the desired escape sequence
  432. in the following variables:
  433.     NETATTRECHO        sent before echoed characters
  434.     NETATTROUTPUT    sent before program output (after echoed characters)
  435.     NETATTRCMD        sent when returning to command mode (from session)
  436. Example (for use on MSDOS systems with ANSI.SYS loaded):
  437.     setenv NETATTRECHO     "<ESC>[0;1m"
  438.     setenv NETATTROUTPUT "<ESC>[0m"
  439.     setenv NETATTRCMD     "<ESC>[0m"
  440. Note that you have to include a line like this in your CONFIG.SYS:
  441.     device=c:\dos\ansi.sys
  442.  
  443. MSDOS version now recognizes DPMI, Windows 3.x on DOS 5.0 or higher, and OS/2.
  444. (in addition to the existing support for DoubleDos and DESQview)
  445. The proper "end timeslice" call will be made to release the processor when
  446. there is no work to be done.
  447.  
  448. New command "broadcast blockftype" will block all files of specified filetypes.
  449. This can be used to block "Satgate" traffic, CCD camera files, etc.
  450. Examples:
  451.     broadcast blockftype        will list currently blocked types
  452.     broadcast blockftype none    all blocked types will be cleared
  453.     broadcast blockftype 02 d3    type 02 and d3 (hex) are blocked
  454.  
  455.  
  456. PE1CHL.920701:
  457.  
  458. In the "ftl0 dir <server> a <date+time>" command it is now possible to add a
  459. list of filetypes that are not to be included in the directory.     This allows
  460. to get a directory without all the automated-gateway files.  Example:
  461.     ftl0 dir uo22 a 920503160410 02
  462.  
  463. It is now possible to cancel an FTL0 request even while it is active.  In
  464. this case the server will be disconnected to cancel the execution of the
  465. request.  This allows the cancellation of a directory request when the link
  466. has failed and the server had been immediately re-connected.  You can then
  467. display the directory and re-issue the request with an updated "hightime".
  468.  
  469.  
  470. In "netrom status" command, the timers now show the number of remaining
  471. seconds before the timer expires, instead of the elapsed time. (there is no
  472. room for the expiry time in this layout)
  473.  
  474. When someone connects to the NET/ROM from another NET/ROM node (i.e. incoming
  475. on a NET/ROM circuit), and asks for a NODES or NODES * list, those nodes that
  476. can be reached via the same neighbor that is used to reach him will be omitted
  477. from the list.    A message (# NODES routed via XXXX not shown) is sent at the
  478. end of the list to explain this.  The reason is that users connecting through
  479. the network are only interested in nodes further down the path.
  480. When a connect is made to another node, the same check is made to avoid that
  481. nodes are connected that are reachable only via the same neighbor that the
  482. incoming circuit also uses.  This avoids that a circuit is set up for which
  483. all info packets have to be sent from one node to another, and then back to
  484. the originating node.
  485. A message "alias:call} No backward connects along incoming ROUTE" is shown when
  486. such a circuit connect is attempted.
  487. The second and third parameter of "netrom param 7" can be set to "1" to
  488. restore the old behaviour (displaying all nodes, allowing all circuits).
  489.  
  490. A new command, "netrom filter" has been added to allow selective filtering
  491. of certain patterns from NET/ROM uplink or downlink traffic.  This can be
  492. used to inhibit bulletin forwarding on busy local channels during certain
  493. times of the day (in combination with the "at" command).
  494. Subcomands are:
  495.     netrom filter call [<call> <iface>|d]
  496.     enters a callsign in the table of stations whose traffic is to be
  497.     monitored, and the interface where the uplink/downlink traffic is
  498.     to be monitored.  normally you would enter the callsigns of all
  499.     local BBS stations in this table.  The SSID is not used in the
  500.     matching.  Specification of "d" instead of the interface will delete
  501.     the callsign from the table.  The "netrom filter call" command without
  502.     further parameters will display the callsign table.
  503.     netrom filter mode [y|n]
  504.     shows the status of the filter, or sets it ON (y) or OFF (n).
  505.     would normally appear in an "at" command, e.g.:
  506.     at 18:00 netrom filter mode y
  507.     at 00:00 netrom filter mode n
  508.     netrom filter pattern <pattern1> [<pattern2>....]
  509.     sets one or more patterns to be matched.  when a packet matches one
  510.     of these patterns, and the call of the connected station appears in
  511.     the callsign table, and the mode is "y", the packet is deleted.
  512.     this way, one can effectively obstruct certain types of traffic, e.g.
  513.     bulletin forwarding.  for a description of patterns see the pattern
  514.     matching description below.  Examples of useful patterns:
  515.     '^SB [A-Z0-9]* @ [!-_]* < [A-Z0-9]* \$[!-_]*$'        (RLI/MBL boxes)
  516.     '^F[AB] B [A-Z0-9]* [!-_]* [A-Z0-9]* [!-_]* [0-9]*$'    (FBB boxes)
  517.  
  518.  
  519. Added "DCD-gated timing" for AX.25.  While a signal is received or the
  520. transmitter is sending a packet, on a half-duplex channel, the AX.25 T1
  521. and T2 timers will be halted. This causes less unnecessary re-transmissions
  522. when the channel is so heavily loaded that the transmitter cannot be keyed.
  523. Because a KISS TNC does not report this information to the computer, this
  524. feature is only available when using the SCC driver, with a plugin board
  525. like the PA0HZP OptoPcScc, DRSI PC*PA etc.
  526. The commands "ax25 t1" and "ax25 t2" now accept two values, the first of
  527. which is used for KISS interfaces, and the second is used for an SCC
  528. interface.  The second value can be much smaller, as only the channel-idle
  529. time will be counted.  Suggested values are:
  530.     ax25 t1 15000 5000
  531.     ax25 t2 2000 500
  532.  
  533. Further improvements in the dynamic adjustment of MAXFRAME on AX.25
  534. connections.  NET will always start at MAXFRAME 1 when a connection is made,
  535. and will gradually increase the MAXFRAME up to the specified value when the
  536. connection is error-free.  When a REJ or RNR frame is received the effective
  537. MAXFRAME steps back to 1.  When a re-try is necessary to get a frame
  538. acknowledged, the MAXFRAME is halved.  This algorithm should improve the
  539. channel efficiency by avoiding large MAXFRAME values on poor links, but still
  540. allows a large MAXFRAME when it causes no problems.
  541.  
  542. Yet another kludge in the AX.25 handling, that should eliminate the double
  543. RR frames sent by the NET/ROM uplink.
  544.  
  545.  
  546. A user-defined sequence of characters may be inserted between trace output
  547. lines.    The sequence will be inserted just before the date/time header.
  548. The default is "*** ", it can be changed using the command
  549. "trace separator <string>".  In the string, "\n" can be used to insert a
  550. newline character.  Example: trace separator "\n**** "
  551.  
  552. Tracing of AX.25 packets now shows the state of the two "reserved" bits in
  553. the SSID byte.    Normally these two bits are set to '1', and nothing will be
  554. shown.    When one or both of the bits are '0', the indication [d], [e] or [de]
  555. is shown after the SSID, like in: PE1CHL-7[e]->PI8RNI-1[d].
  556. The [d] corresponds to bit 5 in the SSID byte being clear, and this is in use
  557. to indicate a DAMA master.  The [e] corresponds to bit 6, and indicates the use
  558. of extended sequence numbering when present in the source call field.
  559.  
  560.  
  561. Extended sequence number (modulo-128) option added to AX.25 coding.  This allows
  562. the use of a high maxframe value on highspeed half-duplex links, especially when
  563. they are point-to-point.  Most useful for links between NET/ROM nodes.
  564. The command "ax25 extended <call> [<iface>]" enables the modulo-128 mode for
  565. the specified station.    A connection will be opened using SABME instead of
  566. SABM.  When the other station replies with a DM or FRMR, a re-try is done
  567. using SABM, and the connection is set up in standard modulo-8 sequence number
  568. mode.  Be careful!  Not all AX.25 implementations reply to an SABME!  The
  569. "ax25 extended" command should only be used when it is certain that the other
  570. station can handle the modulo-128 option, and ONLY on point-to-point links.
  571. The command "ax25 maxframe" now accepts two values for MAXFRAME.  The first is
  572. used on modulo-8 connections as before, and can be 1-7.     The second is used
  573. on modulo-128 connections, and can be 1-127.
  574. Because modulo-128 mode is only established during connection setup, and
  575. packets sent on this connection have a 2-byte control value, bit number 6 in
  576. the SSID field of the SOURCE call is cleared to indicate that the packet
  577. belongs to a modulo-128 connection.  This is used to display the correct
  578. format when tracing.
  579.  
  580.  
  581. New command "sccstat b" shows the percentage of time that an AX.25 interface
  582. was busy.  Separate columns are shown for the DCD (carrier detect) and RTS
  583. (request to send) signals.  Note, however, that some modems will assert
  584. the DCD line when RTS is activated, so it may be that the percentage DCD
  585. also includes the percentage RTS.
  586. The command "sccstat b c" can be used to clear the counters and start a
  587. new measurement.
  588.  
  589. MSDOS version: when SCC driver hardware type 08 (DRSI PC*PA) is selected, the
  590. Z8536 on the DRSI card is programmed to generate 10ms timer interrupts.     This
  591. yields more accurate timing, just as described under "PE1CHL.920311", without
  592. the use of one of the SCC channels on the card.
  593.  
  594. When "external clocking" is selected in the "attach scc" command, NRZ encoding
  595. instead of NRZI can be selected by specifying "ext/nrz" in the baudrate field.
  596. NRZ encoding is used by the DF9IC 9600 baud modem.
  597.  
  598.  
  599. To calm down certain people, "tcp kick" commands are now only acted upon when
  600. they are spaced at least 10 seconds.
  601.  
  602.  
  603. New command "ttylink", same as "telnet" but defaults to TCP port number 87
  604. instead of 23.
  605.  
  606. New command "rcmd", same as "telnet" but defaults to TCP port number 333,
  607. and performs automatic login to an rcmd server.     To use this feature, a
  608. file must be present with the systemname as filename, in the directory
  609. "\net\rcmd".  This file should contain the password of the system to login to.
  610. Example:
  611.     rcmd pi8rni    (the password should be in file "\net\rcmd\pi8rni")
  612. NET will wait for the login challenge (3 groups of 5 numbers), and will
  613. randomly select one of them.  It will then send the corresponding password
  614. characters as defined in the password file \net\rcmd\pi8rni.  When the password
  615. is correct, the remote system will respond with its prompt.
  616. The directory for the password files can be changed by setting the environment
  617. variable "NETRCMD" to a different value.
  618.  
  619.  
  620. New command "unproto" sets up an UNPROTO session.  Any data typed on such
  621. a session is sent as UI packets (line by line), and any UI packets received
  622. on the interface specified during setup will be displayed.
  623. This can be useful for "chat nets" on a quiet frequency, and it is also
  624. useful as a general activity watch.  When used on a PACSAT it will display
  625. the general information that these satellites send as beacon frames.
  626. Syntax: unproto <interface> <callsign> [via] [<digipeaters>]
  627. The specified callsign will be used as destination for the UI packets.    It
  628. does not influence the display of received packets.
  629.  
  630.  
  631. MSDOS version: support for sending IP datagrams over NetBIOS, as specified in
  632. RFC1088.  Attach a NetBIOS-supported interface using:
  633.     attach netbios <lana_num> <label> <buffers> <mtu>
  634. e.g.:    attach netbios 0 nb0 8 512
  635. <lana_num> is the adapter number as used by NetBIOS. Try 0 when you don't know.
  636. <buffers> limits the number of receive buffers used by the driver, when packets
  637. are coming in and NET is not (yet) handling them. <mtu> is the max packet size.
  638. The IP datagrams will be sent as NetBIOS datagrams, using the destination name
  639. "IP.XX.XX.XX.XX", where XX.XX.XX.XX is the HEX representation of the
  640. destination IP address.     Broadcast packets will be sent to "IP.FF.FF.FF.FF".
  641. Your IP address must be defined before the NetBIOS interface can be attached,
  642. because the name to be entered in the NetBIOS name table depends on this value.
  643. Thefore, put the "ip address" command before the attach command.  This has been
  644. changed in the example configuration files.
  645.  
  646.  
  647. New command "version" re-displays the program version and copyright, that is
  648. normally displayed only at startup.  Please mention the version number (date)
  649. when you report any bugs.
  650.  
  651.  
  652. Added a new command "fkey" to define function keys.  It has always been
  653. possible to do this using the capabilities of ANSI.SYS or another external
  654. program, but as this was not widely understood amongst NET users, it has now
  655. been added as an internal command to NET.  This also allows for a more
  656. convenient setup of the programmed keystrings, e.g. from CONFIG.NET
  657. The "fkey" command can program any sequence of characters for the function
  658. keys F1..F10.  Examples:
  659.     fkey f1 "ax25 status" 13
  660.     fkey f2 "connect 144 "
  661.     fkey f9 -2 24 "session t" 13
  662. A string will be stored literally, and has to be enclosed in quotes when it
  663. contains a space. A numeric value can be used to define a control character
  664. or other special key.  Values for special keys are:
  665.     -20: HOME    -19: UP           -18: PgUP       -17: LEFT
  666.     -16: RIGHT    -15: END       -14: DOWN       -13: PgDN
  667.     -12: INS    -11: F1           -10: F2        -9: F3
  668.      -8: F4         -7: F5        -6: F6        -5: F7
  669.      -4: F8         -3: F9        -2: F10
  670. When only "fkey f1" is entered, without any values, the programming for that
  671. key is erased.    The command "fkey" by itself will print a list of programmed
  672. keys, with unprintable characters represented by [decimal_value].
  673.  
  674. The "screen" command, previously existing only in the Atari ST version, has
  675. been extended and now also is available in the MSDOS version.
  676. Subcommands:
  677. "screen swap [y|n]" enables/disables screen swapping.  When this is enabled,
  678. separate screens are created for "command", "trace" and each "session" in the
  679. range 0-9.  When switching between sessions, the existing screen is restored.
  680. This often makes it easier to run multiple qso's, as the previous text typed
  681. in each session can still be seen after typing many other lines and/or
  682. commands.
  683. However, the price to pay for this is *memory*.     Each screen costs about 4Kbyte
  684. for the standard 25*80 mode, so that about 48Kbyte is required for all screens.
  685. Therefore, it is not available in the middle-model MSDOS version.
  686. Also, the screen swapping is done using direct access to the videoram, and may
  687. therefore cause problems in multitasking environments.    On MSDOS systems, the
  688. access can be done via BIOS, by setting the environment variable "NETCONF=v0"
  689. before starting NET.  However, access via BIOS is so slow that it isn't really
  690. practical to use this method.
  691. On the Atari ST, setting "screen swap on" automatically switches to direct
  692. videoram access ("screen direct"), so if you are using a nonstandard video
  693. adapter it won't work.
  694.  
  695. New subcommands for "session" command:
  696. "session #" displays the maximum number of sessions.  This is a configuration
  697. constant, that can be modified by setting the environment variable NETSESSIONS
  698. to a numeric value *before NET is started*, e.g. in a .BAT file.
  699. "session trace" switches to "trace" screen (when screen swapping enabled).
  700. Return to command screen by pressing a key.  This key will also be the
  701. first command character, i.e. one switches back to command mode simply by
  702. starting to type a new command.
  703.  
  704.  
  705. FTP transfers can now be restarted, when the session had to be reset and the
  706. destination file was correctly closed.    Make sure that you have set up the same
  707. environment as during the failed FTP (i.e. the same directory and transfer
  708. "TYPE"), and then issue one of the following command versions:
  709.     get <remotefile> <localfile> restart
  710.     put <localfile> <remotefile> <restart_offset>
  711. You have to specify both filenames, even when they are the same.  To restart a
  712. "get" command, you only need to add the keyword "restart".  To restart a "put",
  713. determine the number of bytes that have been transferred during the previous
  714. attempt, using a "dir" command.     Then, pass that number as a third argument
  715. to the "put" function.    You cannot restart a "put" when you don't have
  716. "overwrite" access at the remote system.
  717. Always make sure that the previous connection has been reset, before restarting
  718. a transfer!  When a "dir" displays "0" for the filesize, or you are uncertain
  719. if the remote system has reset it's connection (e.g. because your machine
  720. crashed and the remote does not know that) *DO NOT* restart the transfer!
  721. First ask the operator of the remote system to reset the FTP session!
  722. Failure to observe this rule will result in a damaged file at the receiving
  723. end, because it is opened for write twice, and conflicts occur.
  724. The restarting is done by sending a REST command plus a byte offset,
  725. immediately before the RETR or STOR command that starts the transfer.  Although
  726. the FTP spec specifies this use of the REST command, it does so only for the
  727. "block" and "compressed" modes of transfer, not for the "stream" mode that NET
  728. supports.  Therefore, restarting a transfer is not compatible with other FTP
  729. implementations, and should only be used between machines running NET.
  730. When the remote system refuses the REST command, "abort" the transfer and
  731. start all over.
  732.  
  733. New command "ftpstat" shows the status of all active FTP sessions, both client
  734. and server.  More detail about one session can be shown using "ftpstat <ftp>",
  735. where <ftp> is the control block address obtained from the first listing.
  736.  
  737.  
  738. SMTP message_id allocation fixed.  Now, the message ID in the header matches
  739. the actual ID in the queue, and it is incremented by 1 for each message
  740. processed.  (previously it incremented by 2)
  741.  
  742. Messages that are on the SMTP queue for a long time can now be automatically
  743. returned to the sender.     Use "smtp expiry <days>" to define the number of days
  744. message are allowed to wait for delivery.  "smtp expiry 0" disables this
  745. feature.  The filetime of the .wrk file of the message is taken as the
  746. reference time of the message (normally it is equal to the time at which the
  747. message arrived at the station).  Each time an outgoing SMTP session gets
  748. RESET, each message on the queue for that session is examined.    When the time
  749. it is on the queue (current time - .wrk filetime) exceeds the number of days
  750. specified in the "smtp expiry" command, the message is returned to the sender
  751. with a short header explaining the problem.  Reasons why an SMTP session gets
  752. RESET include:
  753.     - ICMP "Unreachable" message received in SYN Sent state
  754.     - timeout in SYN Sent state (the timeout is set to "smtp expiry" days)
  755.     - "exit !" from NET
  756.     - manual reset by operator (tcp reset <tcb>)
  757.  
  758. "smtp hold" command added to allow the sysop of a 24-hour station to "hold"
  759. smtp mail which matches a certain pattern in "source address", "destination
  760. address", or "destination host".  This can be required when the mail is
  761. destined to a gatway to another network (e.g. Internet), and the sysop is
  762. required (by license conditions) to monitor all mail going through that
  763. gateway.  Subcommands are:
  764.     smtp hold dest <pattern1> [<pattern2>....]
  765.     smtp hold host <pattern1> [<pattern2>....]
  766.     smtp hold source <pattern1> [<pattern2>....]
  767.     set patterns for destination, host and source fields.  (as appearing
  768.     in "smtp list" output).     The patterns are constructed following the
  769.     rules defined in the section about "pattern matching" below.
  770.     smtp hold mode [y|n]
  771.     enable (y) or disable (n) the smtp hold feature.
  772.     smtp release <job_id>
  773.     release the specified smtp job, when it was in hold status.
  774. When "smtp hold" is in use, the sysop has to check using "smtp list" if jobs
  775. are being held, and if he wants to release them.  The held jobs are indicated
  776. with a character D, H or S in the first column of the "smtp list" output.
  777. After they are released, the first character will be R.     Note that exit/restart
  778. of NET, or a RESET on the SMTP connection with another host, may reset the
  779. status of a message to 'blank', and thereafter again to D, H or S.
  780.  
  781.  
  782. A general "pattern matcher" has been introduced, which is now used in
  783. the following places:
  784.     AX.25 mail forwarder, "r" and "w" script lines in .bbs files.
  785.     FTL0 "Open" packet detection
  786.     smtp hold
  787.     netrom filter
  788. Please note that you may have to modify some of your ".bbs" files, when they
  789. contained "r" or "w" lines with some of the special characters defined below.
  790. The pattern matcher uses the same syntax as UNIX programs like "grep", "sed",
  791. "vi" etc.  Note that this is different from DOS filename wildcards "*" and "?".
  792. The following special characaters are recognized in patterns:
  793.     ^    when it appears at the beginning of a pattern, it indicates
  794.         that the pattern should match only at the beginning of the
  795.         string.     e.g.: "^abc" matches "abcde", but not "xyabc".
  796.     $    when it appears at the end of a pattern, it indicates that the
  797.         pattern should match only at the end of the string.
  798.     .    matches any (single) character
  799.     [abc]    matches (single) characters "a", "b" and "c".
  800.     [a-z]    matches any (single) lowercase character
  801.     [^0-9]    matches any character that is NOT a digit
  802.     *    indicates the character or special that immediately precedes
  803.         it, can be present any number of times (0..infinity)
  804.         e.g.:    a*    matches any number of "a" characters
  805.             .*    matches any number of any characters
  806.             [0-9]*    matches any number of digits
  807.     \    generally indicates that the following character is to be
  808.         treated without special meaning.  e.g.: \. matches a ".".
  809.     \(    opens a "memory", which is closed by "\)".  the contents of
  810.         the memory can be referred to anytime later in the pattern,
  811.         using \num, where num is the sequence number of the memory.
  812.         e.g.: \([0-9]\)\1\1\1 matches "0000", "1111" etc.
  813.     \{    used with "\}" for specification of a limited number of matches
  814.         of the preceding character or special.
  815.         a\{1,5}        matches "a", "aa", "aaa", "aaaa" or "aaaaa".
  816.         b\{3,\}        matches strings of 3 or more "b" characters.
  817.  
  818.  
  819. Atari version: fixed bug in allocator that caused "2-bomb" exit when a malloc
  820. failure occurred.
  821.  
  822.  
  823. PE1CHL.920420:
  824.  
  825. New command "sccstat f <chan#>" sends 30 seconds of 'flags' on AX.25-type
  826. interfaces.  This is useful when evaluating the performance of certain
  827. modems (especially the HAPN 4800 baud modem) on a scope.
  828.  
  829. PE1CHL.920329:
  830.  
  831. New "date" subcommand:
  832. date get <host> [<port> [<tos>]]
  833.     requests the time from an RFC868 Time Protocol server, which is
  834.     normally located on UDP port 37.  Prints the difference with the
  835.     local clock, when a reply is received.    When reply is received within
  836.     15 seconds, sets the local system clock to date/time received.
  837.     This command can be used to keep the system clock in sync with the
  838.     clock on another machine.  You can define a "date get" command to be
  839.     executed at some time each day, e.g.: at 03:00 date get pe1chl
  840.  
  841. PE1CHL.920311:
  842.  
  843. PC version: SCC driver option added to use one of the SCC channels as an SCC
  844. timer tick generator.  It turns out that multitaskers like Desqview treat the
  845. 55ms system timer interrupt in such a way that a running task does not receive
  846. all timer ticks.  This results in random timing errors when a program is
  847. running in another window. (you can observe this as unusually long flag leaders
  848. and trailers when listening to your transmissions)
  849. When a spare SCC channel is available, it can now be set up as a 10ms timer, to
  850. be used instead of the system timer: add the option "t<n>" at the end of the
  851. "attach scc init" command, where <n> is the channel number to be used for
  852. timing.     When no hardware dependent options ar used, two zeroes must be
  853. inserted between the <frequency> parameter and the option.  Example for use
  854. with the PA0HZP OptoPcScc card:
  855.     attach scc 2 init 150 4 2 0 1 168 3 p4915200 0 0 t3
  856. This defines channel number 3 (the last channel on the board) as a timer tick
  857. generator.
  858. The timer tick generator defined this way generates 10ms ticks.     When you have
  859. defined your own values for SCC channel parameters 1,3,4,7 or 11: remember to
  860. re-calculate the values of these parameters based on this tickrate.
  861.  
  862. PE1CHL.920221:
  863.  
  864. Atari version: made MIDI port fully interrupt buffered.     To use this feature
  865. (instead of the standard BIOS routines which only buffer receive, not
  866. transmit), use the following form of attach command:
  867.     attach asy 3 1 ax25 430 2048 256 9600 $CALLSIGN-7
  868. The old method remains available, using "attach asy 3 0 ..."
  869. This change greatly improves the performance of the MIDI port, also when
  870. used as a SLIP connection between two machines.
  871.  
  872. Atari GEM version: fontsize is now selectable, using "screen font <fontsize>".
  873. Values 8,9 and 10 work best on monochrome screens, but larger values are also
  874. possible.  The default on startup is 10. (8*16 system font)
  875.  
  876. Fixed problem in SLIP/KISS receive routines that could cause the receiver
  877. to go deaf when a specific (erroneous) sequence of characters was received.
  878.  
  879. new server: RFC868 Time Protcol.  Start it using "start tp".  It will return
  880. the current date and time in the format specified by RFC868, when an empty
  881. datagram is sent to its port (UDP port 37).
  882.  
  883. The "date" command now has a number of subcommands:
  884. date request <host> [<port> [<tos>]]
  885.     requests the time from an RFC868 Time Protocol server, which is
  886.     normally located on UDP port 37.  Prints the difference with the
  887.     local clock, when a reply is received.
  888. date started:         shows program uptime and starttime
  889. date set mmddhhmmss[yy]: sets the date and time
  890. date tzset <zone>:     sets timezone, consisting of name and offset
  891.              westwards from UT, e.g. "GMT0", "MET-1".
  892.              you *must* use this form instead of the older
  893.              "setenv TZ MET-1", to get meaningful responses from
  894.              the Time Protocol server.
  895.  
  896. PE1CHL.920212:
  897.  
  898. Funny behaviour of SCC driver on some systems seems to be corrected now.
  899. If you still see a large number of interrupts (Exints or Spints) please
  900. report it with details of your configuration.
  901.  
  902. Fixed bug in new segmenter.  Also made some changes to LAPB module to get
  903. more reasonable behaviour in case RNR frames are received and/or sent.
  904.  
  905. Keeping some of the "freeing garbage" messages in memory so that they
  906. can be re-displayed (using "mem g").  This also allows checking of freeing
  907. garbage situations when accessing a remote system via RCMD.
  908. The displayed info is still of limited use except when a symbol table
  909. of the running version of the program is available.
  910.  
  911. PE1CHL.920209:
  912.  
  913. Fixed a nasty bug that caused NET/ROM links to remain connected when the user
  914. requested a disconnect.     Also this one may have caused some "freeing garbage".
  915.  
  916. Added "BYE" and "QUIT" command to NET/ROM to disconnect (not shown in menu).
  917.  
  918. Better args checking in NET/ROM and BBS code to reduce chance of loops when
  919. a BBS is talking to command interpreter (BBS: "I don't understand that"; NODE
  920. sent Info file; BBS: many times "I don't understand that"; etc etc)
  921.  
  922. PE1CHL.920107:
  923.  
  924. Included new segmenter as present in NOS.  This should end the incompatibility
  925. problems between NOS and NET.PE1CHL when using "mode vc".  Of course, it will
  926. introduce the same incompatibility between old and new versions of NET.     Avoid
  927. the use of "mode vc".
  928.  
  929. Fixed overflow problem that could cause the TCP retransmission timer to go
  930. haywire, when "backoff" and/or "SRTT" had high values.    Result was a rapid
  931. transmission of packets at a 1-second interval.
  932.  
  933. Changed memory allocation routines in Atari version (Turbo C).    Should prevent
  934. problems with TOS versions before 1.4, that sometimes could not open files when
  935. a lot of memory was already allocated.
  936.  
  937. Dropped support for EMS memory in PC version.  It added extra overhead to the
  938. SCC interrupt handling, and caused nothing but problems anyway.
  939.  
  940. Added possibility to hard-wire downlink ports for the NET/ROM.    When a certain
  941. AX.25 station is known to be present on some port only, a "connect" request to
  942. that station can be automatically directed to that port.  This makes the use
  943. of a dedicated port for a BBS less confusing for the users, and can also enforce
  944. the use of a highspeed downlink when available.
  945. Usage: netrom downlink <call> <port> [<digipeaters>]
  946. E.g.:  netrom downlink pi8utr lap.48
  947.  
  948. PE1CHL.911222:
  949.  
  950. TNC2 emulator added to UNIX/XENIX version.  Use is like DOS version (see
  951. entry for version 890515, amongst others)
  952. Instead of the "comnumber", a full pathname for the UNIX device to be
  953. used to access the TNC2 emulator must be given.     This can be a TTY or
  954. a PTY device.  Examples:
  955.     ax25 start tnc2 /dev/tty10=430/3    (KISS mode on a TTY)
  956.     ax25 start tnc2 /dev/ttyp9=144        (cmd: mode on a PTY)
  957. When a TTY is used, the emulated TNC22 "appears" on the RS232 port controlled
  958. by that device.     It will always run at 9600 baud.  When a PTY is used, the
  959. name of the "slave" side of the PTY must be used in the start command, and a
  960. program running in the machine can access the TNC2 using the "master" side
  961. of the PTY (i.e. /dev/pty9p in the example above)
  962. To test the functioning of the TNC2, use "cu" or another communications program
  963. on the pty, or on another tty using an external loopback cable.
  964.  
  965. Fixed pty location problem in telunix server.  It should no longer silently
  966. close a connection when an active pty is still available.
  967.  
  968. Some extra checks built into the SCC driver for MSDOS should avoid the stray
  969. transmit interrupts that occurred on some machines when using "vector" mode.
  970.  
  971. Input packets on the SCC driver and the SLIP and KISS protocols on async ports
  972. are checked for a maximal length.  Packets longer than the MTU of an interface
  973. plus the header overhead for AX.25 are discarded.  Sometimes very long packets
  974. were received when noise was present on the input, and this lead to excessive
  975. use of memory by the drivers.  This was probably the explanation for the use
  976. of large amounts of memory by NET, which was later freed to the heap but never
  977. returned to the operating system.
  978.  
  979. Calculation of tcp MSS option value in SYN packets changed, to reflect
  980. above change.  The MSS value relects the MTU of the interface on which the
  981. outgoing packets are routed.  Using different MTU values on interfaces of
  982. the same kind (e.g. AX.25) could cause problems when the outgoing and incoming
  983. packets are not passing through the same interface.  To avoid trouble, use
  984. only a widely-accepted MTU: 256 for AX.25, 1500 for ethernet.
  985.  
  986. Calculation of local time for "at" command changed.  Now, it should no longer
  987. be so sensitive to the setting of the TZ variable.
  988.  
  989. Corrected bits/second value printed for very large FTP transfers.
  990.  
  991. Fixed obscure timer problem that caused sudden trigger of *all* timers in
  992. the system under heavy load circumstances, resulting in the loss of all
  993. connections for which some timeout is active.
  994.  
  995.  
  996. PE1CHL.911126:
  997.  
  998. "ax25 start tnc2" command now accepts optional /<kissrx> suffix to each
  999. argument.  The result is that the TNC2 will be started in KISS mode, with
  1000. the KISSRX parameter set to the specified value.  This can be useful in
  1001. systems where an MSYS or BPQ program is connected to a node running NET,
  1002. using the KISS protocol on a serial link.
  1003. Example: ax25 start tnc2 1=lap/3
  1004.  
  1005. Improved checks on duplicate use of a callsign-ssid combination.
  1006. Now, duplicate use causes an error message, instead of subtle problems like
  1007. "ARP not working" or "No ACK messages on broadcast request".
  1008.  
  1009.  
  1010. SCC driver: enhanced handling of DCD.  Before, a when DCD dropped while
  1011. a packet is received, the packet was always discarded.    Now, two alternative
  1012. modes of operation are possible:
  1013.  
  1014. param <iface> dcd n
  1015.     DCD-changes are ignored, the receiver is permanently enabled.
  1016.     In this mode, a packet is never discarded because of DCD loss.
  1017.     However, when noise is present on RxD it will cause a permanent
  1018.     interrupt load on the system.
  1019.     Normal operation restored by: param <iface> dcd y
  1020.  
  1021. param <iface> 11 <n>
  1022.     Whenever DCD falls, the receiver remains enabled for <n> ticks.
  1023.     (the duration of a tick is displayed at startup, normally 10ms on
  1024.     the Atari ST, 55ms on the PC).
  1025.     Setting this parameter to a suitable value will eliminate the
  1026.     packet loss caused by a flickering DCD, as can sometimes be observed
  1027.     with the G3RUH modem.
  1028.     Setting parameter 11 to 0 will restore normal operation.
  1029.  
  1030. These DCD handling options do not affect the "channel busy" detection that is
  1031. performed in half-duplex mode (CSMA).  The P-persistent channel access
  1032. algorithm takes the unsmoothed DCD as input.
  1033.  
  1034. NET/ROM now allows a fast connect to another station using the forms:
  1035.  
  1036.     connect <station> via <entrynode> <exitnode>
  1037.     connect <station> via <node>
  1038.  
  1039. This is similar to the facility offered by Flexnet.  You will get a connect
  1040. to the local node, and the link to the specified station will be automatically
  1041. set up.     When the local node detects a problem (e.g. <exitnode> not in
  1042. nodetable), it returns a DM (Busy).  When a problem at the remote node
  1043. occurs, the normal error message will be returned on the connection.
  1044. The old step-by-step connection method remains available.
  1045.  
  1046. NET/ROM downlinks are now made with a digistring containing both the source
  1047. node and the local node.  This allows easy reversal of the path to connect
  1048. back to the calling station.  "netrom param 7 0" can be used to disable
  1049. this feature.
  1050.  
  1051. AX.25 T1 time calculation based on smoothed round trip time.  Enabled only
  1052. for NET/ROM links on interfaces without uplink capability (pure interlinks),
  1053. and for FTL0 links.  This should improve performance on fast dedicated links,
  1054. especially when they are fullduplex.
  1055.  
  1056. PBLIST format from DRAFT spec (Nov 4, 1991) implemented, because OSCAR 22 has
  1057. started to use it, and this caused an infinite loop with "broadcast download".
  1058.  
  1059.  
  1060. PE1CHL.911020:
  1061.  
  1062. Increased initial TCP local port number from 1001 to 1024, because HP-UX
  1063. (and possibly other systems) refuse FTP data channels with a port number
  1064. below 1024.
  1065.  
  1066. Extra option to "broadcast download" allows insertion at the front of the
  1067. download queue, for higher priority when selecting a file to be downloaded.
  1068. Usage: broadcast download <sat> <file> prio
  1069. Use this when you want to download a personal message while there is already
  1070. a number of other files in the queue.
  1071.  
  1072. Fixed error that caused crash when an OK reply on a "broadcast request"
  1073. command was received while no "broadcast download" was in progress.
  1074. Don't use "b r" command in 911005/911006 version!
  1075.  
  1076. PE1CHL.911005:
  1077.  
  1078. "Broadcast download" command added, that allows unattended, automatic
  1079. downloading of files from a Pacsat Broadcast server (satellite).
  1080. A "broadcast server" has to be defined (usually this is done in autoexec.net)
  1081. "broadcast download <servername> <file_id>" adds a file to the list of files
  1082. to be downloaded.  As soon as a PBLIST packet is received from the specified
  1083. server, NET automatically sends "broadcast request" packets to get the
  1084. specified file(s).
  1085. "broadcast download <servername>" without file_id prints the list of files
  1086. queued for download.  A "*" indicates the file currently being requested.
  1087. Files can be canceled from the queue using "broadcast cancel <rqst_CB>", where
  1088. the <rqst_CB> can be found in the list.
  1089.  
  1090. New command: "broadcast kick", causes current broadcast file to be closed, and
  1091. complete files to be written to the bcst directory.  Same thing as happens
  1092. after 1 minute without incoming broadcast packets.
  1093.  
  1094. FTL0 downloads and broadcast requests or downloads of already complete files
  1095. now prints an error message, instead of transmitting a request which results
  1096. in nothing useful.
  1097.  
  1098. New command "smtp maxsession" defines the maximum number of incoming SMTPs
  1099. from one remote host.  Default is 1.  When an incoming SMTP session would
  1100. cause the maximum to be exceeded, the oldest connection is closed.
  1101. This feature was introduced in an attempt to defend against other software
  1102. that resets connections after a small number of retries, thereby leaving
  1103. open SMTP sessions that will never complete.  These SMTP sessions occupy
  1104. resources (memory, open files) on the system and may eventually lead to
  1105. problems.  Note that resetting a connection on which data is still outstanding
  1106. is against the SMTP and TCP specs, so it is really the remote system which
  1107. is at fault.
  1108.  
  1109. PC "large" version: setting the environment variable "NETEMS" to any value,
  1110. before starting NET, causes some EMS memory to be added to the heap.
  1111. An EMS 3.2 or 4.0 compliant EMM must have been loaded in CONFIG.SYS.
  1112. A message about EMS will be displayed before the usual startup banner, when
  1113. the EMM is recognized.
  1114. Using EMS memory can leave more DOS memory available to run a SHELL from NET.
  1115. However, when using the SCC driver at high baudrates, you may get overruns
  1116. because the EMS memory has to be banked-in at interrupt time.
  1117. EMS memory cannot be used when "attach packet" is in use.
  1118.  
  1119. PE1CHL.910828:
  1120.  
  1121. New command: "ftl0 post <server> <command>" specifies a command (and
  1122. parameters) to be executed whenever all queued requests for that server
  1123. have been successfully executed.  The command is started at the moment the
  1124. FTL0 server is disconnected.  It can be used to process the results of
  1125. the FTL0 session in an automated system.  Example:
  1126.     ftl0 post uo14 source c:\net\uo14post.net
  1127. Use "ftl0 post <server> #" to clear a previously specified command.
  1128.  
  1129. Adding the keyword "delete" to an "ftl0 upload" command now causes the file
  1130. to be deleted after it has been upload successfully.  This is indicated in
  1131. the "ftl0 status" output by the indication "[del]".
  1132.  
  1133. Adding the keyword "perm" to the "bcst abort <bcst_CB>" command now aborts
  1134. the file AND marks it as "received", so that no further attempts will be made
  1135. to assemble the file. (e.g. to prevent reception of a big file you have upload
  1136. yourself, or you are otherwise not interested in receiving)
  1137.  
  1138. The command "netrom logmask" has been added to allow selection of the events
  1139. to be logged.  The logmask is a hex number, being the OR of the following
  1140. values:
  1141.     0x0001    user connected NET/ROM (AX.25)
  1142.     0x0002    user connected NET/ROM (NR4 circ)
  1143.     0x0010    downlink okay
  1144.     0x0020    downlink fail
  1145.     0x0040    circuit okay
  1146.     0x0080    circuit fail
  1147.     0x0100    link failed
  1148.  
  1149. PE1CHL.910818:
  1150.  
  1151. This version includes support for the NEC PC98xx, written by Kohjin JR1EDE.
  1152. To accomodate this (and probably other MSDOS machines that are not PC clones),
  1153. the environment variable NETCONF is checked during startup.  When it is defined,
  1154. it is searched for the following strings:
  1155.     k0    use MSDOS call 06H & assume PC keyboard codes (default)
  1156.     k98    use NEC PC98xx BIOS call for keyboard input
  1157.     t0    use PC BIOS 55ms ticks at 40:6C (default)
  1158.     t1    use MSDOS get_time call
  1159.     t98    use 8253 timer in NEC PC98xx
  1160. The NETCONF variable can be defined using a SET command in a .BAT file, or
  1161. by passing it as a parameter when starting NET.
  1162. Example: NET NETCONF=k98t98
  1163. You can put this command in a .BAT file together with the COMBIOS startup
  1164. command to make startup of NET more convenient.
  1165. On non-PC-clones, you will have to set the "ftl0 trace" to 00ef instead of 00ff,
  1166. to avoid a hangup during an FTL0 session.
  1167.  
  1168. PE1CHL.910808:
  1169.  
  1170. "Broadcast servers" can be defined (like FTL0 servers), using:
  1171.     broadcast server <servername> <iface> <call> <blocksize> <reqwait> [<minw> <maxw> <UIdest>]
  1172.     defines a Broadcast server (satellite). a user-chosen name can be
  1173.     assigned to each server, and the remaining parameters are defined as
  1174.     required for the different satellites available.  examples:
  1175.         broadcast server uo14 9k6 uosat3-11 244 6
  1176.         broadcast server uo22 9k6 uosat5-11 244 6 1 3 pblist-1
  1177.     parameters can be modified by re-entering the command
  1178.     broadcast server
  1179.     shows a list of servers defined using the above command
  1180.  
  1181. [the last four parameters of the command are not yet used - experimenting...]
  1182.  
  1183. A new form of "broadcast request" can now use the information stored in this
  1184. way.  Usage:
  1185.     broadcast request <servername> <file_id> [hole|stop]
  1186. This saves the typing of interface name, callsign and blocksize for each
  1187. request, as this information can now be referred to using the server name.
  1188. The old form of the "broadcast request" command still works, and can be used
  1189. when an alternative blocksize is to be specified.
  1190.  
  1191.  
  1192. New command "broadcast trace [<hexval>]" controls the unsolicited messages
  1193. printed by the broadcast receiver (like "ftl0 trace" does for the FTL0
  1194. messages). Parameter <hexval> is the (hexadecimal) OR of the following values:
  1195.     0001:    print PBLIST packets sent by server
  1196.     0002:    show which commands are sent to server
  1197.     0004:    print ACK packets received from server
  1198.     0008:    print "file 100%" messages
  1199.     0010:    print completed file messages
  1200.  
  1201. Added audible FTL0 feedback for PC too.     It does not sound as nice, and it
  1202. ties up the CPU for 5 milliseconds, but well... there is no sound-generator
  1203. chip, so...    Unless you turn it off using "ftl0 trace",
  1204.     a high beep is sounded when the server acks an upload packet,
  1205.     a lower-pitched beep sounds for each received packet.
  1206.  
  1207. Added mail distribution optimizer as suggested by PA2AGA.  When the mail is to
  1208. be sent to multiple users at the same host (e.g. via an alias entry that is
  1209. used as a mailing list), the message is sent to that host only once, with
  1210. multiple recepients.  This is done by scanning the recepient list for equal
  1211. hostnames.  Aliases for the same host are not recognized as such.
  1212.  
  1213. Program can now be compiled using Borland C++ version 2.0
  1214.  
  1215. PE1CHL.910802:
  1216.  
  1217. Enhanced disk-full checking when receiving broadcast (those UoSAT-22 pictures,
  1218. you know...)
  1219. Also changed fill character to 0x00 when incomplete files are saved.  This is
  1220. useful when receiving raw pictures.  (filler used to be '?')
  1221.  
  1222. The first fragment of a file is now always saved when received during
  1223. broadcast.  Useful when changing files are broadcast.
  1224.  
  1225. UNIX version: ihave.bc and frags.bc now put in broadcast directory properly.
  1226. Please delete any file xxxx\*.bc you may have on disk (xxxx = broadcast directory)
  1227.  
  1228. PE1CHL.910720:
  1229.  
  1230. FTL0 has been enhanced with a p-persistant automatic connect.  Now, when the
  1231. "Open" packet is received, the connection attempt will be made after a random
  1232. delay between "minw" and "maxw" seconds.  These values *must* be specified in
  1233. the ftl0 server command, just before the bbstat.  PG uses minw=1 and maxw=3.
  1234. Example:
  1235.     ftl0 server uo14 9k6 uosat3-12 130 2 2 1 3 bbstat "Open"
  1236. MAKE SURE YOU UPDATE YOUR AUTOEXEC.NET when installing this version!
  1237.  
  1238. Some minor changes in the NET/ROM handling should again improve it's operation,
  1239. and the appearance of the NODES list (less unreachable nodes).
  1240.  
  1241. Fixed bug in tty driver that caused trouble with raw-mode telnet.
  1242.  
  1243. Fixed CR/CR/LF sequence in Atari rcmd (Turbo C only)
  1244.  
  1245. PE1CHL.910622:
  1246.  
  1247. "ftl0 dir" commands with "f" (file_id) and "t" (to_addr) specification now
  1248. accept an optional extra parameter, the HIGHTIME to be used for the selection.
  1249. This allows more efficient selections to be made with the current satellite
  1250. software implementation, that optimizes it's search when a HIGHTIME is given.
  1251. Example: To get "all messages sent to me and all messages sent to ALL after"
  1252. 910622 01:05:00", use the follwing two commands:
  1253.     ftl0 dir uo14 t *all* 910622010500
  1254.     ftl0 dir uo14 t pe1chl 910622010500
  1255. Then run PFH with the -c option to compact and re-sort DIRFILE.DL, and run PFH
  1256. with the -d option to display the directory.  The next time, use the HIGHTIME
  1257. indicated by PFH on the last line of the -d display.  Using this technique,
  1258. one can keep track of all personal messages and bulletins without having to
  1259. download all of the satellite's directory.
  1260.  
  1261. NET/ROM "users" command now differentiates between established connections and
  1262. connections in setup phase using the symbols "<-->" and "<..>".
  1263.  
  1264. PE1CHL.910609:
  1265.  
  1266. The alias for NET/ROM routes added automatically when a packet is received
  1267. from a node for which no route exists is changed to "######".  Previously,
  1268. such routes got no alias at all.
  1269.  
  1270. Failures of a NET/ROM link are now logged to the logfile.
  1271.  
  1272. When a file received with broadcast is 100% complete, a message is printed.
  1273. At that time, you could enter a new broadcast request. (the current software
  1274. on the satellites allows only a single broadcast request per user)
  1275. The program still waits for 1 minute without received broadcast packets before
  1276. it writes all the received data to the permanent files in the broadcast
  1277. directory.
  1278.  
  1279. New command: "broadcast cleanup [<percentage>]" will abort all files that have
  1280. less data than a specified percentage (default 10%).  This provides a quick
  1281. way to get rid of those files of which only a few fragments were received.
  1282.  
  1283. When "broadcast stop" is executed, the fragments of files received will be
  1284. saved in a file "frags.bc" in the broadcast directory, that will be reloaded
  1285. when broadcast is started again.  When the "broadcast stop" command is in the
  1286. file "onexit.net", this allows exit from NET and a later re-start, while
  1287. retaining the data for partially received files.
  1288.  
  1289. PE1CHL.910603:
  1290.  
  1291. "netrom nodefilter mode" and "netrom nodetimer" now can be set per interface.
  1292. Specify the interface name as an extra parameter.  When name is omitted, the
  1293. value is set for all interfaces, as before.  Because these commands now only
  1294. act on actually initialized interfaces, these commands have to be moved from
  1295. their original location in CONFIG.NET to a line below the "netrom interface"
  1296. commands in AUTOEXEC.NET.
  1297.  
  1298. new mode "smtp mode forward".  works like "smtp mode route", except that it
  1299. won't write new .txt files in the mail directory.  useful for unattended nodes
  1300. that can forward mail (using "alias" file or the user%host1@host2 construct),
  1301. but do not want to accept local mail.
  1302.  
  1303. PE1CHL.910525:
  1304.  
  1305. Fixed problem in Broadcast Protocol Hole-list request: the requested list did
  1306. not include the hole between the last received fragment and EOF.
  1307. When this was the only hole, a request for the entire file was sent.
  1308.  
  1309. Idle-timers for FTL0 connections have been changed to accomodate for long
  1310. processing delays aboard the satellite.     Now, instead of disconnecting after
  1311. timeout the program first tries to poll using RR(P) and simply resets the
  1312. connection when there is no reaction.  Hopefully this prevents the looping
  1313. behaviour that was often seen when the link failed.
  1314.  
  1315. When a DM is received on an open AX.25 connection, the connection is no longer
  1316. automatically re-established.  It goes to "disconnected" state after the
  1317. message *** LINK RESET from ....
  1318.  
  1319. Fixed problem in mail destination check: the SMTP server refused mail
  1320. for dest@call.bbs when there is no route to [255.255.255.255], even when
  1321. the proper forwarding file for call.bbs existed.
  1322. This is because "call.bbs" destinations are internally mapped to this IP
  1323. address.  In 910330, this problem can be worked around by defining the route.
  1324. (e.g.: route add [255.255.255.255] 144)
  1325.  
  1326. Added support for the Z85130/Z85230 ESCC chip to the SCC driver.  This is
  1327. enabled by using "attach escc" instead of "attach scc" to attach the channels.
  1328. The "init" attach line can use either "scc" or "escc", with no difference.
  1329. The total set of chips driven by the SCC driver can be a mix of Z8530/Z85C30
  1330. (SCC) and Z85130/Z85230 (ESCC).
  1331. The ESCC can run fullduplex without the external divide-by-32.    When no divider
  1332. is fitted, the "d" option in the baudrate field should be omitted (as always).
  1333. The main advantage of the ESCC is the larger TX FIFO (4 bytes instead of 1) and
  1334. RX FIFO (8 bytes instead of 3), allowing a longer interrupt latency without
  1335. causing overrun/underrun errors.
  1336. Therefore, the chip can be used at the high edge of the speed range supportable
  1337. using interrupt-driven I/O (19200 and possibly 38400 baud). It also solves some
  1338. bugs in the original SCC, and creates a few of its own.
  1339. Unfortunately, it is quite expensive, so for now the best choice is likely
  1340. to remain the SCC.
  1341.  
  1342. PE1CHL.910508:
  1343.  
  1344. Fix in AX.25 mailbox: mail can now be terminated with ^Z anywhere on a line, not
  1345. only on first position.     The part of the line before the ^Z will be written
  1346. to the mail, but a CR/LF will allways be appended.
  1347. Necessary when F6FBB BBS forwards mail to it, because FBB leaves partial lines
  1348. ending in ^Z in mails, and hangs the forwarding.
  1349. Other boxes do the same as NET.PE1CHL now does, avoiding the problem...
  1350.  
  1351. PE1CHL.910428:
  1352.  
  1353. Changed NET/ROM: The output of the command-interpreter is now sent as
  1354. separate packets instead of a single message (with MORE bit set on all
  1355. packets but the last).    This was done to prevent crashes in old NET/ROM
  1356. nodes that occur when long messages are sent, e.g. the output of "N * *".
  1357. The consequences of this change are:
  1358.     1. the output is now sent in 236-byte packets (instead of 256)
  1359.     2. when the link fails you may receive an incomplete response
  1360.  
  1361. Fixed check in NET/ROM command interpreter to make sure only the NET/ROM call
  1362. valid for the interface the user is connecting on can be used, not those of
  1363. other interfaces.  (e.g. PI1NOS vs PI8NOS)
  1364.  
  1365. Added some extra output flushes in Broadcast and FTL0 (some messages appeared
  1366. only when a key was hit)
  1367.  
  1368. PE1CHL.910330:
  1369.  
  1370. Fixed problem in "netrom bcdest".  When more than one destination was given,
  1371. some garbage was transmitted in the first netrom broadcast to the second (and
  1372. further) destinations.
  1373.  
  1374. Removed limit of 10 on "smtp maxcli".  You can set any limit now, but
  1375. understand that the program can open only 20 files and that failure to open
  1376. a file may occur if too many sessions are active.  This does not include any
  1377. sessions in "SYN sent" state.
  1378.  
  1379. SMTP server now checks mail destination more throughly.     When the destination
  1380. system is not reachable the mail is refused.
  1381.  
  1382. PE1CHL.910317:
  1383.  
  1384. Fixed problem that caused crash when "exit" was done on PC and SCC driver
  1385. was in use. (caused by timer tick interrupt number fix)
  1386.  
  1387. When connected by a forwarding/reverse-forwarding BBS, the AX.25 mailbox now
  1388. disconnects after a single command error (after sending "Huh?").
  1389. This avoids looping when the two systems get out of sync and send error
  1390. messages to eachother, something that could happen with an F6FBB BBS.
  1391.  
  1392. Added printout of "ack" message sent by satellite on "broadcast request".
  1393.  
  1394. Added "broadcast request" to stop a broadcast, like:
  1395.     broadcast request 9k6 uosat3-11 af7 244 stop
  1396.  
  1397. Added command to grab UI frames sent to specified (or all) destinations. This
  1398. can be used to get satellite telemetry, and other data sent as UI frames.
  1399. The grabbed frames are appended to a file, further processing is required to
  1400. make them readable.  This is supposed to be done in an external program.
  1401. Only those frames not locally processed by other protocols can be grabbed.
  1402. Commands:
  1403.     ax25 uigrab
  1404.     ax25 uigrab <filename> [<dest>...]
  1405.     ax25 uigrab off
  1406. The first form displays the current state and destinations.  The second form
  1407. enables the grabbing, specifying an output file and 0 or more destinations.
  1408. When no destinations are given, ALL non-handled UI frames are grabbed.    One
  1409. or more destinations (like QST QST-1 MAIL TLM) can be specified to limit the
  1410. amount of data grabbed, especially when TCP/IP traffic is present.
  1411. The third form of the command stops the grabbing.
  1412. The data is dumped in the output file as a sequence of headers and packets. The
  1413. headers are formatted like this:
  1414.     struct axui_header
  1415.     {
  1416.     unsigned long    magic;        /* magic number for re-sync */
  1417. #define AXUI_MAGIC    0x41585549L
  1418.     long        rxtime;        /* timestamp */
  1419.     char        ifname[6];    /* interface name */
  1420.     short int    len;        /* length of following data */
  1421.     };
  1422. The rxtime is the number of seconds since 1970 at the time the packet was
  1423. processed.  The ifname field contains the first 6 characters of the interface
  1424. name, \0-terminated when it is shorter.     len specifies the number of bytes
  1425. in the received packet.
  1426. The received packet immediately follows the header.  It includes the AX.25
  1427. header, consisting of shifted-ASCII addresses, ctl byte (03 or 13) and PID.
  1428.  
  1429. PE1CHL.910228:
  1430.  
  1431. NET/ROM routing broadcasts are made configurable.  The "netrom bcdest" command
  1432. can add or drop destinations to/from a list for each NET/ROM interface:
  1433.     netrom bcdest <iface> add <dest> [<digi1> [<digi2>]]
  1434.     netrom bcdest <iface> drop <dest> [<digi1> [<digi2>]]
  1435.  
  1436. The existing destinations can be displayed using "netrom bcdest <iface>".
  1437. By default, only the destination NODES exists.    It can be dropped using
  1438. "netrom bcdest <iface> drop nodes".  One or more destinations can be added
  1439. to the list.  Keep in mind that the node broadcast can be very lengthy when
  1440. you add multiple destinations, and some temporary memory is needed at that
  1441. time to queue all the packets.    Limit the number of destinations to the
  1442. minimum.
  1443. Node broadcasts can now be completely disabled on a single interface while
  1444. still having NET/ROM capability on that interface, by dropping all destinations.
  1445.  
  1446. The NET/ROM now also accepts node broadcasts via up to two digipeaters.
  1447.  
  1448. PC: the interrupt number to be used for SCC timer ticks can now be specified as
  1449. an optional parameter to the "attach scc init" command.     The default is 08, i.e.
  1450. the hardware timer interrupt.  Possible other candidates are 1C and 70.     The
  1451. driver assumes that the timing hardware has been initialized before and a handler
  1452. is in place that resets the pending interrupt.    It only chains it's handler on
  1453. the specified vector.  The tickrate should be somewhere between 18 and 200 ticks
  1454. per second.  Example:
  1455.     attach scc 2 init 150 4 2 0 1 168 3 p4915200 0 0 1c
  1456. Note that the 2 hardware-dependent parameters after the clockfrequency should be
  1457. present in this case.  Use zeroes when these parameters are not needed.
  1458. Also note that the 1C vector is not suitable when multi-tasking DOS replacements
  1459. like Desqview and Doubledos are in use.     Vector 70 can only be used in an AT, and
  1460. needs a TSR routine to setup and handle the RTC timer interrupt.
  1461.  
  1462. PE1CHL.910218:
  1463.  
  1464. Fixed bug in FTL0 downloading on PC: It did not properly send the continue
  1465. offset when a download was resumed after a link failure.  This resulted in
  1466. corrupted files when the download could not be completed in one go.
  1467.  
  1468. FTL0 download: files are now named *.pdl during download, and renamed to *.dl
  1469. when download succesfully completes.
  1470.  
  1471. "broadcast request" command: the blocksize is now optional, and defaults to 244.
  1472. so, you can now request the broadcast of a specific file using a command like:
  1473.     b r 9k6 uosat3-11 af7
  1474. the blocksize *must* be given when you want to send a hole-list:
  1475.     b r 9k6 uosat3-11 af7 244 hole
  1476. note that this is still not supported in the onboard satellite software.
  1477.  
  1478. SCC driver: the sccstat command now accepts a channel number to display info
  1479. about a single channel.
  1480.  
  1481. Added "calibrate" facility to SCC driver: sccstat c <chan#> sends 30 seconds
  1482. of zeroes (NRZI pattern 101010...) on AX.25-type interfaces.  This is intended
  1483. for tune-up of TCM3105 modems and for link tests.  When 30 seconds isn't enough,
  1484. simply re-issue the command (we're still waiting for that SCC card test program)
  1485.  
  1486. PE1CHL.910127:
  1487.  
  1488. Corrected bug in "bcst abort" and "bcst complete" that caused either a
  1489. "not a valid control block" or a crash when these commands were used.
  1490.  
  1491. Added "ftl0 cancel <Req_CB>" to cancel a queued request.  <req_cb> can be
  1492. found in the "ftl0 status" output.  Active requests cannot be canceled.
  1493.  
  1494. Added "ftl0 directory <server> s <selection>
  1495.     intended for use by an external selection compiler. <selection> is a
  1496.     string of hexvalues, forming a valid FTL0 SELECTION.
  1497.  
  1498. Note that the form "ftl0 directory <server> a <yymmddhhmmss>" is most
  1499. efficiently processed by the satellite software.  All other forms can take
  1500. a long time to execute onboard the satellite, with the danger of losing the
  1501. connection in the meantime.
  1502.  
  1503. PE1CHL.910123:
  1504.  
  1505. Added "ftl0 directory <server> a <yymmddhhmmss>
  1506.     gets a directory like described below.    selection is on upload_time
  1507.     later than the specified date/time.  part of the date/time spec can
  1508.     be omitted, defaulting to zeroes.
  1509.  
  1510. Added "ftl0 trace [<hexval>]"
  1511.     sets the trace level for FTL0 transactions.  the hex value is the OR
  1512.     of the following values:
  1513.     0001:    print BBSTAT packets sent by server (only when jobs are queued)
  1514.     0002:    show which commands are sent to server
  1515.     0004:    show state changes on AX.25 link (connected, busy etc)
  1516.     0008:    print alert message when link disconnected permaturely
  1517.     0010:    Atari ST only: audible feedback of ack'ed and received packets
  1518.         a high click is sounded when the server acks an upload packet,
  1519.         a lower-pitched click sounds for each received packet.
  1520.         from 910807: also implemented in PC version
  1521.  
  1522. PE1CHL.910119:
  1523.  
  1524. Automatic connection of FTL0 server built in.  When there is work queued, and
  1525. the server is heard sending a specific UI frame, the connection is
  1526. automatically set up.  For this purpose, the "ftl0 server" command has been
  1527. extended with optional <UIdest> and <UIstring> parameters specifying the
  1528. destination address and a string to be matched in the UI frame.     For UOSAT3
  1529. and PACSAT these parameters would be specified as "BBSTAT" and "Open", e.g.:
  1530.     ftl0 server uo14 9k6 uosat3-12 130 2 2 bbstat "Open"
  1531. When a packet to <UIdest> is received while work is queued, it is printed.
  1532. !!!! see 910720 for a change in the ftl0 server command !!!!
  1533.  
  1534. FTL0 client now doesn't connect the server anymore when an upload request is
  1535. queued.     An explicit "ftl0 kick" is required to connect the server, or the
  1536. automatic connect feature must be used.
  1537.  
  1538. New FTL0 commands:
  1539.     ftl0 directory <server> f <file_id>
  1540.     ftl0 directory <server> t <dest_address>
  1541.     gets a directory from the specified server, and stores it in the file
  1542.     "dirfile.dl" in the directory specified using "ftl0 homedir".
  1543.     (see below).  The first form gets a directory of all files with a
  1544.     file number above the specified value, the second form searches for
  1545.     files with the specified destination address.  The wildcard characters
  1546.     "?" and "*" can be used in the destination address.
  1547.     example: ftl0 dir uo14 t *pe1chl*
  1548.     ftl0 download <server> <file_id> [<register_dest> [<lock_dest>]]
  1549.     queues a file for download from an FTL0 server.
  1550.     <file_id> is the id of the file to download (on the FTL0 server)
  1551.     <register_dest> and <lock_dest> are sent as specified in the FTL0 spec.
  1552.     when omitted these default to 0, as required for ordinary file
  1553.     downloads.
  1554.     ftl0 homedir <directory-name>
  1555.     sets the directory used by FTL0 download and directory commands to
  1556.     store the received files.  A subdirectory will be created, named using
  1557.     the callsign part of the source address (e.g. UOSAT3 or PACSAT).
  1558.  
  1559. PE1CHL.910106:
  1560.  
  1561. Limited FTL0 client support built in, to upload files to PACSAT-type satellites.
  1562. The following commands are recognized:
  1563.     ftl0 server <servername> <iface> <call> <paclen> <maxframe> <frack>
  1564.     defines an FTL0 server (satellite). a user-chosen name can be assigned
  1565.     to each server, and the remaining parameters are defined as required
  1566.     for the different satellites available.     examples:
  1567.         ftl0 server uo14 9k6 uosat3-12 130 2 4
  1568.         ftl0 server po16 psk pacsat-12 130 1 6
  1569.     parameters can be modified by re-entering the command
  1570.     ftl0 server
  1571.     shows a list of servers defined using the above command
  1572.     ftl0 status <servername>
  1573.     shows the status of that server (including any requests queued)
  1574.     ftl0 upload <server> <filename> [<file_id>]
  1575.     queues a file for upload to the specified server.  the filename should
  1576.     be a full pathname to avoid problems when a "cd" is done.
  1577.     of course the file must have a valid Pacsat File Header!
  1578.     when the <file_id> is specified the upload is treated as a continuation
  1579.     of an earlier attempt.
  1580.     when no link exists to the server, the "ftl0 upload" command tries to
  1581.     establish it.
  1582.     ftl0 kick <server>
  1583.     try to establish a link to the specified server, to attempt to execute
  1584.     all queued requests for that server.
  1585.     must be issued when a BUSY was returned at the "upload" command, or when
  1586.     the link failed for some reason.
  1587. When the client has a link to a server, it attempts to execute all queued jobs
  1588. for that server.  When this is finished, it disconnects the server immediately.
  1589. Re-connection takes place when new jobs are submitted, or when the "ftl0 kick"
  1590. command is issued.
  1591. When the link fails, it is not necessary to re-queue any of the jobs.  These are
  1592. held as long as the program is running.     Should it be necessary to exit from NET
  1593. and lateron resume an upload, the upload must be re-queued using the file_id
  1594. received at the first attempt.    This file_id can be found in the output of the
  1595. "ftl0 status" command, and is also logged in the logfile.
  1596.  
  1597. PE1CHL.901226:
  1598.  
  1599. New broadcast subcommands:
  1600. broadcast abort <bcst_CB>: this terminates the specified broadcast file
  1601. reception and throws away all received data (unlike "broadcast complete" which
  1602. saves it, even when the file is incomplete)
  1603. broadcast request <iface> <call> <file_id> [<blocksize> [hole]]: sends a broadcast
  1604. request to the specified call, requesting transmission of file_id.  the
  1605. blocksize specifies the packet length and can be up to 244.
  1606. When "hole" is specified, the hole-list (list of missing packets) is sent
  1607. with the request. (note: this is not yet supported by the satellite...)
  1608.  
  1609. The "session" command can now send a line of text to a session.     Usage:
  1610. session 1 "one line of text"
  1611. This sends the argument (if more than one word is has to be quoted) to
  1612. session 1.  When "session c" is specified it is sent to the current session.
  1613. This can be used in "source" files and/or with the "at" command to start
  1614. FTP transfers at a convenient time, or to login to an FTP session.  One could
  1615. put the following in a file and execute it using "source":
  1616. ftp pe1chl
  1617. ses c "user guest"
  1618. ses c "pass rob"
  1619. ses c "type i"
  1620.  
  1621. Some enhancements to the TNC2 emulator make it more compatible with a real TNC2.
  1622. Now, the "paclen", "maxframe", "frack", "resptime" and "check" parameters are
  1623. really used for TNC2 connections.  Of course the defaults are the same
  1624. unreasonable values as used by the TNC2 firmware, so these should be set before
  1625. a connection is made (especially "frack").
  1626.  
  1627. PE1CHL.901215:
  1628.  
  1629. When the AX.25 forwarder receives a NO reply when sending a message, it is
  1630. returned to the sender and the forwarder skips past the 'b' command.  This allows
  1631. bulletin forwarding to boxes that allow abbreviated forwarding.     The SID string
  1632. has to be sent explicitly.
  1633. The new command 'f' in the forwarder script allows reverse forwarding. A string
  1634. to request reverse forwarding can follow the 'f', the default is "F>".
  1635. Example of a script to forward to MBL/RLI boxes using abbreviated forwarding:
  1636.  
  1637. c 430 pi8utr            connect the mailbox
  1638. w>                await the > prompt
  1639. s[NET-H$]            send SID
  1640. r>                next line must be > prompt
  1641. l                loopback point
  1642. mS%s %s@%s < %.6s $%.12s    send a mail or bulletin
  1643. rOK                response must be OK
  1644. u%s                send subject
  1645. b                send body
  1646. w>                await the > prompt
  1647. n                send next mail (if any) from loopback point
  1648. f                request reverse forward
  1649.  
  1650. PE1CHL.901212:
  1651.  
  1652. Shortened the version string.  This version has so little left from the
  1653. original 871225.33 base that this seems to be warranted.
  1654.  
  1655. Added Pacsat Broadcast Protocol reception capabilities.     The system can
  1656. receive files transmitted using this protocol.    Currently OSCAR14 and
  1657. OSCAR16 use it, and OSCAR19 will follow shortly.
  1658. The commands currently defined are:
  1659.  
  1660. broadcast start "pathname":  This will enable the storage of received
  1661.     broadcast frames.  The pathname refers to a directory where the
  1662.     completed files fill be stored.     Example: broadcast start "c:\bcst".
  1663.  
  1664. broadcast stop: Disable the broadcast receiver.     All completed files will be
  1665.     moved to the directory specified in broadcast start, and all fragments
  1666.     of incomplete files will be discarded.
  1667.  
  1668. broadcast status: Shows the status of the broadcast receiver, including some
  1669.     statistics and the status of each incomplete file.  The fragment list
  1670.     of an incomplete file can be shown using "broadcast status <bcst_cb>".
  1671.     The file currently (or last) being received is marked with a '*'.
  1672.  
  1673. broadcast ihave: Shows a list of all files that have been stored away in the
  1674.     directory specified in the "broadcast start" command.
  1675.     This list is kept to prevent duplicate reception of files.
  1676.  
  1677. broadcast complete <bcst_CB>: Forces the storage of a received file.  When this
  1678.     command is given for a file that is not yet complete, the gaps in the
  1679.     file will be filled with question marks '?'.
  1680.  
  1681. Any broadcast packets received for files "under construction" are first stored
  1682. in a temporary file (the name of this file is shown in the "broadcast status"
  1683. output).  Only when the file is complete it is moved to it's destination.
  1684. The directory for temporary files can be modified by setting the TMP environment
  1685. variable (or TMPDIR on the Atari ST).  This can be done using "setenv" (see below).
  1686.  
  1687. The broadcast receiver kicks a 60-second timer each time a broadcast packet is
  1688. received.  When this timer elapses (i.e. after 60 seconds without incoming
  1689. broadcast packets), the list of incoming files is examined and all complete
  1690. files are moved to their destination directory.     The same thing is done when
  1691. a "broadcast stop" is executed.     This implementation allows full CPU attention
  1692. during the highspeed transmissions from OSCAR14, assuming that the timer only
  1693. elapses after the satellite is out of reach.  When you want to exit NET before
  1694. the timer has elapsed, execute a "broadcast stop" to update and close all files.
  1695.  
  1696. The directory specified in the "broadcast start" command holds a file "ihave.bc",
  1697. which is updated when a file is stored away.  A copy of this file is kept in
  1698. memory for fast lookup when a broadcast packet is received.  Any packets belonging
  1699. to files in the list are ignored.  To save memory, it is best to remove the old
  1700. entries from this file when it is certain that they are no longer broadcast.
  1701. This can be done using a text editor.  It is also possible to delete the file.
  1702. The broadcast receiver will store incoming files in subdirectories of this same
  1703. directory, named after the sourcecall used in the broadcast packets.  e.g.: files
  1704. received from OSCAR14 will be stored in the directory UOSAT3, because this
  1705. satellite sends broadcast data as UOSAT3-11->QST-1.
  1706. The individual files will be named iiiiiiii.tt, where iiiiiiii is the 8-digit HEX
  1707. file ID (as assigned by the satellite) and tt is the 2-digit HEX filetype (as
  1708. assigned by the uploader).
  1709.  
  1710. The handling of broadcast packets at 9600 baud (as sent by OSCAR14) imposes a
  1711. considerable load on the processor and disk.  As it has been observed that some
  1712. slower systems already have trouble with 9600 baud AX.25, it can probably be stated
  1713. that an AT system is needed to successfully receive broadcast at this speed.
  1714. Tests on the Atari ST (using the SCC interface, TOS 1.4 and a RAMdisk for
  1715. temporary files) have shown no difficulties.
  1716.  
  1717.  
  1718. 871225.33.PE1CHL.901129:
  1719.  
  1720. Implementation of IP over X.25, currently only for the EiconCard adapter.
  1721. This allows routing of IP packets via an X.25 network, thus allowing the
  1722. construction of a bridge between different local area networks using NET.
  1723. The implementation follows RFC877, transmission of IP datagrams over Public
  1724. Data Networks.
  1725. Unfortunately, the cost of a connection to the public X.25 network is way
  1726. out of reach for amateur use...
  1727. This feature is composed of the following subcommands:
  1728.     attach eicon <port> <label> <mtu>
  1729.     Attaches an EiconCard, previously installed and configured using the
  1730.     configuration tools delivered with it.    Only the X.25 Network-level
  1731.     software is required (ACCESS/X25).
  1732.     <port> will normally be 255 when a single card is installed.
  1733.     Subsequent ports are numbered 254, 253 etc (as defined by Eicon).
  1734.     <label> is the name of the interface.
  1735.     <mtu> should be set to a value of 576 or less to comply with RFC877.
  1736.     When an IP datagram is larger than an X.25 packet, the X.25 MORE bit
  1737.     is used to fragment it.     When this is unwanted, the MTU should be set
  1738.     to a value equal to the maximal X.25 packet size (128 or so).
  1739.     arp add <hostname> x25 DTE-address
  1740.     Used to map the IP address corresponding to <hostname> to a DTE address
  1741.     valid in the X.25 network.  This situation is similar to the method
  1742.     used when routing via NET/ROM.    A DTE address is a string of digits,
  1743.     up to 15 in length.
  1744.     x25 inactime [<time>]
  1745.     Sets the time an X.25 VC is allowed to be idle. after this time the
  1746.     circuit is disconnected, and set-up again when a packet has to be
  1747.     transmitted.  The default is 120 seconds.
  1748.     x25 status
  1749.     Shows the status of the X.25 Virtual Circuits.
  1750.     x25 disconnect <circ_cb>
  1751.     Disconnects an X.25 Virtual Circuit before the inactime has elapsed.
  1752.  
  1753.  
  1754. Experimental version compiled using Turbo C on the Atari ST.  Most problems
  1755. seem to be solved.  Please report bugs found in this version, that were not
  1756. present in the earlier MWC versions.
  1757.  
  1758. 871225.33.PE1CHL.901122:
  1759.  
  1760. Introduced "tcp ubound <time>" command to set an upper bound to the
  1761. Retransmission Timer used by TCP.
  1762. This will clip the timeout to a certain level when the backoff increases,
  1763. so that there is a better chance that the session stays alive.
  1764. <time> is specified in seconds, with a minimum of 1800.     A value of 0 will
  1765. turn off this feature (and restore operation as it always was).
  1766.  
  1767. Fixed "mheard" so that "mheard <iface> 1" no longer hangs the system.
  1768.  
  1769. Temporary files in the PC Turbo C version are now created in a fixed place,
  1770. instead of in the current directory.  This should also eliminate the failure
  1771. to remove the tempfiles, that occurred when the current directory was changed
  1772. between creation and deletion of a tempfile (a bug in the Turbo C library).
  1773. When the environment variable TMP has been set, it's value is used as the
  1774. directory name for tempfiles.  If not, they are created in the root directory.
  1775. Put something like "setenv TMP C:\tmp" in autoexec.net to define TMP, and
  1776. make sure the directory exists.
  1777.  
  1778. Added trace code for the "broadcast" protocol used on microsats (K8KA/NK6K).
  1779.  
  1780. 871225.33.PE1CHL.901108:
  1781.  
  1782. Some source cleanup using prototypes.  Possibly the memory leak problem has
  1783. been solved (a suspicious pointer conversion was tracked down and removed).
  1784.  
  1785. Implemented ICMP "Host Unreachable" and "Source Quench" message generation by
  1786. the IP router, when the link protocol detects such problems.  This is currently
  1787. true for NET/ROM, when it has no route to the requested destination or it's
  1788. output queue is becoming too long.  Handling of these messages has always been
  1789. present in the package.
  1790. The result of this modification is that you may get the message
  1791. "Closed (ICMP: Host unreachable)" when a TCP connection is attempted using
  1792. a route via the NET/ROM network.
  1793.  
  1794. Added "ax25 txq <axcb> [a|h|l]" command to display the contents of an AX.25
  1795. transmit queue.     Primarily intended for evaluation of the effects of above mod.
  1796.  
  1797. When an outgoing NET/ROM link is set up, the AX.25 connection now ignores
  1798. incoming packets with pid=Text.     This has become necessary because more and
  1799. more NET/ROM clones are sending a connect text to everything issuing a connect,
  1800. causing the local side of the connection to start a NET/ROM level 7 session.
  1801. Because of this change, some programs will no longer be able to simultaneously
  1802. have a NET/ROM- and a normal TNC session with a station running NET.
  1803.  
  1804. 871225.33.PE1CHL.901014:
  1805.  
  1806. Fixed minor bugs.
  1807.  
  1808. Added "memstat dump <file>" to Atari ST version, to dump the heap to a
  1809. diskfile.  This can be used to debug the program, but is otherwise of little
  1810. use to the end-user.  When you see the number of "bytes used" in the normal
  1811. memstat output steadily increasing, please issue a "memstat dump a:memdump" and
  1812. send the resulting floppy to me including your configuration files and a short
  1813. description of the situation at the time this happened.
  1814.  
  1815. 871225.33.PE1CHL.901007:
  1816.  
  1817. PA0HZP fixed the packet driver interface in PC Turbo C version
  1818.  
  1819. Fixed bug in TCP header routine causing garbage printout when TCP headers
  1820. returned by ICMP are traced.  An earlier fix caused complete failure of
  1821. the returned TCP header handling...
  1822.  
  1823. Fixed double-linefeed problem in PC (Turbo C) type-a FTP
  1824.  
  1825. Problem with long lines in AX.25 forwarder (introduced in 900807) fixed.
  1826. It crashed the system when the message contained lines longer than PACLEN.
  1827. The forwarder still wraps very long lines (it inserts a CR after 255 chars).
  1828. Remember that mail is NOT transported transparently.  When you want to send
  1829. files without any modification, it is best to ARC and then UUENCODE them.
  1830.  
  1831. The "ax25 framesammler" has been removed.  This option caused mis-sequenced
  1832. and damaged frames in AX.25 connections.  The command "ax25 maxsammler" no
  1833. longer exists, so it should be deleted from the "config.net" file.
  1834.  
  1835. AX.25 BBS SID changed from [NET-$] to [NET-H$].     The BBS gurus say that is
  1836. more appropriate.
  1837.  
  1838. 871225.33.PE1CHL.900813:
  1839.  
  1840. Fixed minor bugs in Turbo C version for the PC.
  1841.  
  1842. SCC driver now allows complete specification of the clocking mode, so that
  1843. all modems requiring- or providing external clocks can now be controlled.
  1844. The value to be written to WR11 of the Z8530 can now be specified as a
  1845. hexadecimal value after the existing baudrate specification, separated by a
  1846. colon (e.g. d1200:66).    This is not necessary for the standard AFSK modems
  1847. and the HAPN 4800 baud modem, as these do not require external clocks.
  1848. Refer to a Z8530 technical manual for more information about the value to be
  1849. written to WR11.
  1850.  
  1851.  
  1852. 871225.33.PE1CHL.900807:
  1853.  
  1854. Fixed a problem in the AX.25 forwarder: when no "r" or "w" line was present
  1855. in the script after "m" "u" or "b", the forwarder did not proceed.
  1856. Therefore it was impossible to forward to mailboxes that do not prompt for
  1857. the subject and/or the message, or don't send a CR after such prompts.
  1858. This is now fixed, and the following script works:
  1859.  
  1860. # forward test to personal mailbox
  1861. c 430 pe1chl-15
  1862. w>
  1863. # now we are connected, send each mail
  1864. l
  1865. mS%.0s %s
  1866. u%s
  1867. b
  1868. rOK
  1869. w>
  1870. n
  1871.  
  1872. This sends the S <call> command, the subject, and the entire message in one
  1873. go, and then checks for a response containing "OK".  For more detail about
  1874. forwarding scripts see the explanation further down this file.
  1875.  
  1876. The forwarder now concatenates multiple lines from the message into a single
  1877. packet, whenever the total length of these lines is below paclen, except when
  1878. the effective window (maxframe) is less than 2.
  1879.  
  1880.  
  1881. The answer to a often-asked question about NET/ROM:
  1882. You can use different calls for the NET/ROM on different interfaces (e.g. a PI1
  1883. call on 23cm).    Specify the calls you want to use in the "attach" commands for
  1884. the different interfaces.  Somewhere after these attach commands the
  1885. autoexec.net file contains the line "attach netrom $CALLSIGN-9".  When this
  1886. line is changed to "attach netrom" (without the callsign), the NET/ROM will use
  1887. the interface callsigns on each band.  Make sure that you use a "hidden" alias
  1888. (starting with a # sign) for the interlink nodes of the NET/ROM!  The alias can
  1889. be separately specified for each interface in the "netrom interface" lines.
  1890.  
  1891. 871225.33.PE1CHL.900710:
  1892.  
  1893. On "exit", the program now waits for the interface queues to drain.  This
  1894. should solve problems with param commands placed in "onexit.net".  This often
  1895. did not function reliably because the interfaces were reset *before* the
  1896. characters were actually transmitted.
  1897.  
  1898. Atari version now supports up to 5 async channels.  The 2 params after
  1899. "attach asy" (<addr> and <vec>) can now have the following values:
  1900.  
  1901.     addr    vec
  1902.      1     0    ST RS232 port using Bcon* calls (BIOS)
  1903.      1     1    ST RS232 port using direct access to fifo buffer
  1904.      3     0    MIDI port
  1905.      6     0    ST-compatible RS232 port on TT030
  1906.      7     0    MODEM2 port on TT030
  1907.      8     0    SERIAL1 port on TT030
  1908.      9     0    SERIAL2 port on TT030
  1909.  
  1910. The old <addr> values 0 and 2 remain valid (for RS232 and MIDI).
  1911. Ports 6 and 7 could also be used on an ST with TOS 1.2 or higher, and a user-
  1912. written device driver (loaded from the AUTO folder) that supports the Bcon*
  1913. routines on BIOS devices 6 and 7.  However, on an ST it is not possible to set
  1914. the mode and baudrate for these channels so your driver must set the port to
  1915. 8bit, no parity, 1 stopbit, no handshake and the correct baudrate.
  1916. The driver must also supply a FIFO buffer for transmit and receive.
  1917.  
  1918. Unix/XENIX release.  Only supports async I/O for now... (SLIP/KISS/NRS)
  1919. To attach a serial line, use an attach command like this:
  1920.  
  1921.     attach asy /dev/tty1a 0 ax25 ax0 512 256 9600 pe1chl
  1922.  
  1923. - the tty device (/dev/tty1a) must be "disable"d, and have read/write permission
  1924.   for the user running NET.
  1925. - the "0" value can be replaced by "r", "c" or "rc" to set the RTSFLOW and
  1926.   CTSFLOW options for the device.
  1927. - the next two fields are the type (ax25) and name (ax0)
  1928. - the "512" is the size of the read() buffer used for receive
  1929. - the "256" is the MTU (paclen)
  1930. - the next fields are the speed (bits per second) and callsign
  1931.  
  1932. The program is available in 2 versions, net286 and net386.  The '386 version
  1933. can use the select() function internally to improve efficiency.     This can be
  1934. enabled by starting the program using: net386 select=kt
  1935. The 'k' and 't' enable the use of select() for keyboard(stdin) and tty devices.
  1936. It is also possible to set an environment variable SELECT to this value.
  1937. Testing using SCO XENIX386 release 2.3.2 has shown that the select() function
  1938. somehow clobbers the tty input and output buffers, so the use of this option is
  1939. not yet recommended.
  1940.  
  1941. The "dos" commands CD, COPY, TYPE, RENAME etc. are not implemented.  Use a
  1942. subshell or a different window to perform these functions (except CD).
  1943. Incoming mail is stored in the /usr/spool/mail directory (or to the directory
  1944. defined by the NETMAILS).  This directory must be writable by the user running
  1945. NET to be able to receive mail.     The standard mailer can read the incoming mail,
  1946. but I do not yet know how to prepare outgoing mail.  Mail stored in the
  1947. directory /usr/spool/mqueue (NETMAILQ), using the same format as in the DOS
  1948. version of NET, is transmitted by SMTP.     This directory *must* exist and be
  1949. writable for the user running NET.
  1950. All configuration files are located in the "current directory" as effective when
  1951. the program is started.     It is recommended to create a user "net", and to put
  1952. the configuration files and the program in it's home directory.  NET can then
  1953. be started from the .profile, so that logging in as "net" is sufficient.
  1954. The FINGER files are stored in a subdirectory "finger", *without* the .txt
  1955. extension used by the DOS version of NET.
  1956.  
  1957. 871225.33.PE1CHL.900623:
  1958.  
  1959. Fixed problem that caused crash when an excluded station was connected from
  1960. the NET/ROM.
  1961.  
  1962. Many users complain about problems with IP and/or selected AX.25 servers.
  1963. Please note, that in this software each AX.25 server (defined using
  1964. "ax25 port") *must* have a *different* SSID, and that each interface (defined
  1965. using "attach") *must* have an SSID *different* from all SSID's used by AX.25
  1966. servers.  Different interfaces may use the same SSID, but cross-band
  1967. digipeating will not be possible in that case.
  1968. The autoexec.net file provided as an example follows these rules, but many
  1969. people have modified the SSID's and subsequently had strange problems...
  1970. When you use the -0 SSID for an interface, the TNC server *must* have some
  1971. other SSID, or IP will not work.  To avoid problems, everybody is hereby
  1972. encouraged to use the following SSID scheme (proposed by PE1LGT):
  1973.  
  1974.     SSID  Interf    Function
  1975.     -0    All    TNC (normal ax.25 connect)
  1976.     -1    All    MBOX
  1977.     -2    144    2m interface
  1978.     -3    144    mheard/NetDigi 2m
  1979.     -4    4k8    2m/4800 baud interface
  1980.     -5    4k8    mheard/NetDigi 2m/4800 baud
  1981.     -6    All    Conference Bridge
  1982.     -7    430    70cm interface
  1983.     -8    430    mheard/NetDigi 70cm
  1984.     -9    All    NET/ROM
  1985.     -10   aaaa    interface
  1986.     -11   aaaa    mheard/NetDigi
  1987.     -12   23cm    23cm interface
  1988.     -13   23cm    mheard/NetDigi 23cm
  1989.     -14   bbbb    interface
  1990.     -15   bbbb    mheard/NetDigi
  1991.  
  1992.     aaaa and bbbb usable for other bands, e.g. 28 or 50 MHz
  1993.  
  1994.     avoid using the -14 and -15 SSID's on bands where a local NET/ROM
  1995.     is operating.
  1996.  
  1997. 871225.33.PE1CHL.900611:
  1998.  
  1999. Atari version: moved disable/restore handler to trap #7, to allow the use
  2000. of trap #5 as a micro_rtx system call.    This is only possible for MWC release
  2001. 3.0.0 and above.  No testing done with micro_rtx.
  2002.  
  2003. Fixed protocol problem that caused AX.25 failures when connected to G8BPQ
  2004. nodes.
  2005.  
  2006. Some changes made to improve portability.  Attempt made to run under XENIX.
  2007. (it compiles okay, but the async port handling still causes headaches)
  2008.  
  2009. 871225.33.PE1CHL.900530:
  2010.  
  2011. TZ or TIMEZONE (depending on machine+compiler) environment variable now gets
  2012. a default value GMT0 when it has not been set by the user.
  2013. This prevents funny behaviour when "at" is used (default was Pacific Standard
  2014. Time).    You can still set your own preferred timezone.
  2015.  
  2016. Automatic ticks/second and "at" command removed from Aztec version. The library
  2017. function time() returns an unusable value, and the Aztec version reported an
  2018. incorrect value of 36 ticks/s because of this.
  2019.  
  2020. 871225.33.PE1CHL.900522:
  2021.  
  2022. Fixed problem in SMTP that sometimes caused the program to crash (when mails
  2023. containing very long lines were received)
  2024.  
  2025. Also, built extra test in watchdog so that "watchdog ?" no longer causes the
  2026. PC to crash.  Now, specification of 0 or a non-numerical port number also
  2027. disables the watchdog (instead of clobbering port 0, the DMA controller).
  2028. Of course, this still leaves plenty of opportunities to scramble the system
  2029. through specification of weird port numbers.  Be careful!
  2030.  
  2031. 871225.33.PE1CHL.900520:
  2032.  
  2033. Fixed problem in NET/ROM level 4.  Sometimes the transport-level timeout timer
  2034. did not run while frames were outstanding, causing connection failures under
  2035. certain circumstances.
  2036.  
  2037. 871225.33.PE1CHL.900519:
  2038.  
  2039. "watchdog" command now also installed in PC version.  It can only drive an
  2040. external watchdog timer.  The syntax of the watchdog command is:
  2041.     watchdog [<port> <value>]
  2042. When specified, the <port> and <value> select the output port to be used for
  2043. the watchdog.  The value is OR-ed to the value read (input) from the port, and
  2044. this value is output to the port.  Some time later the value is complemented and
  2045. AND-ed to the port value.  The result should be that one or more output bits
  2046. toggle at each pass through the main loop.
  2047. The watchdog triggering can be stopped by specification of a zero <value>.
  2048.  
  2049. 871225.33.PE1CHL.900513:
  2050.  
  2051. New command "tcp active" shows only those TCP sessions that are not in the
  2052. "Listen (S)" state.  This gives a shorter list, especially when many servers
  2053. are started.
  2054.  
  2055. Fixed "from" address in AX.25 mailbox (to provide proper returnpath for errors)
  2056.  
  2057. Small changes in SMTPCLI to make it more RFC821-compatible
  2058.  
  2059. 871225.33.PE1CHL.900506:
  2060.  
  2061. Fixed problem in NET/ROM: when multiple NET/ROM level 4 packets were received,
  2062. some with the MORE bit set, and the total length of info was over 256, the AX.25
  2063. link transmitted packets over 256 bytes in length.  Now these are split in
  2064. multiple packets each up to 256 bytes in length.
  2065.  
  2066. 871225.33.PE1CHL.900503:
  2067.  
  2068. Improved NET/ROM handling of failing routes.  When a NET/ROM broadcast is
  2069. sent, nodes with only 0-quality routes are broadcast too (with that 0 quality).
  2070. When such a broadcast is received, the particular route is deleted.
  2071.  
  2072. Corrected TNC2 emulator message at disconnect.    Must not print callsign.
  2073.  
  2074. Improved the FRAMESAMMLER.  Now, the functionality is the same as the Digicom
  2075. and RMNC implementations.  It should now be safe to set "ax25 maxsammler 7",
  2076. independent of the other station's maxframe.
  2077.  
  2078. New command: netrom users
  2079. Displays the local NET/ROM users, just like the "users" command when connected
  2080. to the NET/ROM.
  2081.  
  2082. Atari version only: added "log proc" command, to dump the processor exception
  2083. area to the logfile, when it contains a valid exception (bombs) dump.
  2084. When this command is inserted after the "log <filename>" command in autoexec.net,
  2085. information about a preceeding crash is put in the logfile.
  2086. The format is:
  2087. Sun Apr 29 15:54:00 1990 exception dump (BP=0005F126)
  2088.  00000000 00000020 000023ED 00000020 00000013 00000000 00000001 00000001
  2089.  0004E71B 00020284 00000000 0004B5D8 00FDD1F4 00000000 00001804 000017BC
  2090.  04FC0B12 000061A0 23080000 180800FC 9DA20000 000A0000 5F360000 03100000
  2091.  00460000 000000FE
  2092. The BP value is the current basepage address.  This could be the same as
  2093. the basepage address at the time of the exception, but this is uncertain.
  2094. The following lines are a dump of the area at 0x384, see an Atari internals
  2095. manual for more detail.
  2096. This command is only intended for software debugging and/or bug reporting,
  2097. when you don't understand it's purpose, you do not need to use it!
  2098.  
  2099. Adapted some source modules for compilation using Turbo C 2.0 on the PC.
  2100.  
  2101. Solved problem in NET/ROM causing crash when user aborts pending connection.
  2102.  
  2103. Added "uplink" option to "netrom interface" command (see below), and made
  2104. netrom level 4 configurable.  just set the "netrom param 4" parameters
  2105. to 0 to disable net/rom level 4.  then, the node will always return "busy" when
  2106. connected from another net/rom node, and node connects from the net/rom always
  2107. fail.
  2108.  
  2109. 871225.33.PE1CHL.900415:
  2110.  
  2111. NET/ROM (level 4 & 7) support completed.
  2112. It is now possible to connect other nodes, and to list the connected users.
  2113.  
  2114. New NET/ROM commands:
  2115.  
  2116. INFO (replaces IDENT)
  2117.     Show information about the NET/ROM
  2118.  
  2119. MHEARD [<interface>]
  2120.     Show the MHEARD list
  2121.  
  2122. PORTS [<interface>]
  2123.     List available NET/ROM ports (interfaces) and optionally selects
  2124.     the interface to be used for downlink connects.
  2125.  
  2126. When a CONNECT to an AX.25 station is made, an interface is selected:
  2127. - For AX.25 connected stations: the interface they are connected on
  2128. - For NET/ROM connected stations: the default (LAP) interface
  2129. The interface can be changed by a "port <interface>" command before the
  2130. CONNECT.
  2131.  
  2132. New ("net>" prompt) commands are:
  2133.  
  2134. netrom info <filename>
  2135.     sets the name of the file to be sent after the normal response to the
  2136.     "INFO" NET/ROM cmd. It can be used to send a station description.
  2137.     Keep this file small!!    The length should not exceed 1 kilobyte!
  2138.  
  2139. netrom interface <iface> <alias> <quality> [lap|uplink]
  2140.     the extra option "lap" must be given on only ONE of the "netrom interface"
  2141.     lines to specify the default interface for downlink AX.25 connects.
  2142.     (Local Access Point).
  2143.     the option "uplink" can be given on other lines, to specify that
  2144.     user-uplinks are allowed on that particular interface.    when neither
  2145.     "uplink" nor "lap" are given, the netrom will not process commands when
  2146.     connected.
  2147.  
  2148.  
  2149. 871225.33.PE1CHL.900325:
  2150.  
  2151. Again changed the behaviour when REJ is received - probably a conversion to
  2152. the newer AX.25 code would be a better idea...
  2153.  
  2154. Added an interrupt-latency measurement routine to Atari version, to evaluate
  2155. the effects of some efficiency improvements.  This is not intended to be a
  2156. feature useful to the end-user.     The "latency" command is used to switch this
  2157. feature on- and off, and to display the results.
  2158.  
  2159. 871225.33.PE1CHL.900314:
  2160.  
  2161. Added capability to write (or append) incoming mail to a specified file.
  2162. This can be used to keep a file in the public area uptodate using a
  2163. mailing list.  (e.g. hostsfiles, tcp-group mail)
  2164. When the first line of a "mailbox" file (mail\xxxx.txt) is of the form:
  2165. write c:\net\public\hosts.137
  2166. or:
  2167. append c:\net\public\tcpgroup
  2168. the incoming mail will be written (or appended) to the specified file,
  2169. not to the mailbox file.
  2170. When a suitable "alias" file entry is made, it is possible to write the
  2171. mail both to a file and to a mailbox.
  2172.  
  2173. Incoming mail is now marked with the source (when "new mail arrived" is
  2174. printed on the console)
  2175.  
  2176. 871225.33.PE1CHL.900304:
  2177.  
  2178. Added a second parameter to "smtp timer": the time to be used when a
  2179. mail needs to be forwarded.
  2180. Whenever a mail arrives that has to be forwarded the "smtp timer" will be
  2181. set to this value and re-started.  This allows a long time between polls
  2182. of the mailqueue, while still forwarding mail within reasonable time.
  2183. This parameter should not be set too low, to allow more than one mail to
  2184. be queued and the SMTP session to be terminated before the forwarding is
  2185. started.  Recommended value is 500 seconds.
  2186. The main timer can now be set to slightly more than one hour, to set the
  2187. time between attempts of the AX.25 BBS forwarding.  Exactly one hour is
  2188. not recommended because this could synchronize the attempts with normal
  2189. inter-BBS forwarding.  4000 seconds is a good value. (smtp timer 4000 500)
  2190.  
  2191. 871225.33.PE1CHL.900303:
  2192.  
  2193. HOME and END (Atari: Ctrl-Home) keys now move the cursor to the beginning
  2194. and end of the input line, respectively.
  2195.  
  2196. Fixed SCC speed-setting using "param" for Atari ST (it crashed the program)
  2197.  
  2198. Corrected TCP windowsize for ascii-mode transfer of FTP, and SMTP.
  2199.  
  2200. 871225.33.PE1CHL.900211:
  2201.  
  2202. Added forwarding from NET to RLI/MBL-style mailboxes and personal maildrops.
  2203. This is kind of a hack, as several conversions have to be made on SMTP
  2204. mail addresses and headers.
  2205. The feature operates as follows:  When mail must be sent to a host, a
  2206. check is made if the hostname is of the form <call>.bbs, and if a file
  2207. exists in the MQUEUE directory with this name.
  2208. If both of these conditions are met, the mail is forwarded using a script
  2209. in the MQUEUE\<call>.bbs file.
  2210. The script contains lines, of which the first character is an opcode:
  2211.  
  2212.  #    this line is a comment
  2213.  c    only as the first line: specifies the initial connect to be made.
  2214.     this can be a connect to the bbs, or to a NET/ROM node that is
  2215.     used to reach the bbs.    syntax is like the net> connect command.
  2216.  s    send string to remote BBS or node.  can be used to send strings
  2217.     containing connect commands to NET/ROM nodes.
  2218.  w    wait for specified string to be received.  lines not containing
  2219.     this string are ignored.  useful during connect and disconnect
  2220.     phase, to eat banners sent by the BBS.
  2221.  r    checks for a specified string to be received.
  2222.     when a line not containing this string is received in the message
  2223.     transfer phase, it is mailed back to the message sender (it
  2224.     probably is an error)
  2225.     while in the connect phase, the box is simply disconnected.
  2226.  l    marks the point in the script where the connect ends, and the
  2227.     messages are transferred.  ("loop")
  2228.  m    defines the line to be sent to send a message. line is used as an
  2229.     argument to sprintf, with the following string args:
  2230.     1. message type ("P")
  2231.     2. destination call
  2232.     3. destination bbs
  2233.     4. source call
  2234.     5. message id
  2235.  u    send subject of message. line is an argument to sprintf, with
  2236.     the message subject as an argument.
  2237.  b    send the body of the message. any text after the "b" is sent as
  2238.     the end-of-message marker.  the default is ^Z.
  2239.  n    defines the end of the message transfer lines and the start of
  2240.     the disconnect phase.  control will branch back to "l" when
  2241.     more messages are to be sent ("next")
  2242.  
  2243. Examples: to directly connect to a BBS (AA4RE-type):
  2244.  
  2245. # forward to PA3APN
  2246. c 650 pa3apn
  2247. w==>
  2248. # now we are connected, send each mail
  2249. l
  2250. mS%s %s@%s < %.6s $%.12s
  2251. rBetreft
  2252. u%s
  2253. rBericht
  2254. b
  2255. ropgeslagen
  2256. w==>
  2257. n
  2258. # all done, send "bye" command
  2259. sB
  2260. w73
  2261.  
  2262. To connect to a BBS via NET/ROM:
  2263.  
  2264. # forward to PI8EAE via PI8RNI-7 NET/ROM
  2265. c 430 pi8rni-7
  2266. sc pi8eae
  2267. rConnected to
  2268. w}
  2269. # now we are connected, send each mail
  2270. l
  2271. mS%s %s @ %s < %.6s $%.12s
  2272. rSubject
  2273. u%s
  2274. rmessage
  2275. b
  2276. r}
  2277. n
  2278.  
  2279. Another NET/ROM example:
  2280.  
  2281. # forward to PI8ABT via PI8RNI-7/PI8ABT-7 NET/ROM
  2282. c 430 pi8rni-7
  2283. sc zbl70
  2284. rConnected to
  2285. sc pi8abt
  2286. rConnected to
  2287. w>
  2288. # now we are connected, send each mail
  2289. l
  2290. mS%s %s@%s < %.6s $%.12s
  2291. rOmschrijving
  2292. u%s
  2293. rBericht
  2294. b
  2295. ropgeslagen
  2296. w>
  2297. n
  2298.  
  2299. As can be seen, the scripts must be tuned to match the exact responses
  2300. sent by the local BBS, such as the "subject" and "message" prompts, and
  2301. the final character of the BBS prompt (">" or "}").
  2302. It is possible to write scripts that ignore the prompts (just omit the
  2303. "r" lines and put only a "w>" or "w}" after the body) but this will kill
  2304. the error checking capabilities of the forwarder.
  2305. Remember that NET/ROM will cancel a connection when you send something
  2306. without waiting.  Always include an "rConnected" line after a NET/ROM
  2307. connect command.
  2308.  
  2309.  
  2310.  
  2311. Added support for "Type of Service" as offered by TCP.
  2312. TOS is composed of characters 0-7,D,T,R for precedence, low delay, high
  2313. throughput, high reliability.  Low-delay will force UI frames to be used,
  2314. High-reliability will force connected mode, both overriding the selected
  2315. default mode (using "mode" command).
  2316. Other TOS selections may be effective for particular IP implementations
  2317. and/or subnetworks, but are currently not acted upon by NET.
  2318. With "telnet" and "ftp" and "start", specify TOS using a 3rd/4th parameter.
  2319. Otherwise set/change the TOS using the "tcp tos <tcb> <tos>" command.
  2320. You cannot change the precedence of an existing connection.
  2321.  
  2322. 871225.33.PE1CHL.900123:
  2323.  
  2324. Atari ST: Now, tempfiles are deleted immediately after use.
  2325.  
  2326. netrom exclude <nodecall> [d]: excludes certain nodes from the nodelist.  The
  2327. "d" option removes a call from the exclude list.  This can be used when it is
  2328. known that a node has it's parameters set up in such a way that a connect will
  2329. not be possible because a retour route can not be established.
  2330. (so-called "Belgian parameters")
  2331.  
  2332. 871225.33.PE1CHL.900113:
  2333.  
  2334. Swapped Rcv-Q and Snd-Q in ax25 status output to make it consistent with
  2335. other status listings (session, tcp status)
  2336.  
  2337. Fixed an error in sccvec.asm, that caused malfunction in large model on PCs.
  2338.  
  2339. Atari ST: Now compiled it using MWC 3.0.9 instead of 2.1.7.  A savings of
  2340. 1.9% in code size!
  2341.  
  2342. 871225.33.PE1CHL.900109:
  2343.  
  2344. Fixed problem in FTP client causing a crash when the user typed "type l".
  2345. This caused a BUS ERROR because "type l" needs an extra argument and a NULL
  2346. pointer was dereferenced when this argument wasn't supplied (attd by SM0IES)
  2347.  
  2348. 871225.33.PE1CHL.900107:
  2349.  
  2350. Added support for the DRSI PC*Packet adapter in the SCC driver.
  2351. (hardwaretype = 08)
  2352.  
  2353. Added support for external transmit/receive clocks in the SCC driver.
  2354. Use "ext" instead of the baudrate to get RTxC=RX clock, TRxC=TX clock.
  2355.  
  2356. With the SCC driver in AX.25 mode, a new speed can now be set
  2357. using "param <iface> speed <speed>".  This only works when internal clocking
  2358. was specified during init, and it cannot switch between internal and
  2359. external clocking.
  2360. In AX.25 mode, the transmitter can be disabled using "param <iface> tx n".
  2361. This is useful for unattended stations (when interference reports have been
  2362. received by the control operator he can issue this command via rcmd).
  2363.  
  2364. ARP entries added to the table as a result of ARP packets received will
  2365. now be marked with the interface of their origin.  It is no longer assumed
  2366. that an address received on some interface is also valid on another.
  2367. Interfaces may be specified in arp add, drop and publish commands using
  2368. the syntax "<type>:<interface>".  e.g. arp add pe1chl ax25:144 pe1chl-2
  2369. This was primarily done to solve the problems that occur when 4800 baud and
  2370. 1200 baud modems are used in parallel on the same frequency. Now it is no
  2371. longer necessary to enter fixed ARP entries for 4800 baud.
  2372. The selected method of specification of the interface keeps the "arp" command
  2373. compatible with earlier releases of the program.
  2374.  
  2375. Added the W9NK TCP/IP mailbox.    This is an AX.25 server that allows AX.25
  2376. stations to send SMTP mail to the owner of the box and to other TCP/IP
  2377. stations to which the box owner can forward SMTP mail.
  2378. The mailbox accepts forwarding from the de-facto standard BBS systems.
  2379. To use the mailbox, initialize AX.25 port #6, and start the ax25 mbox server:
  2380.  
  2381.     ax25 port 6 conn pe1chl-1
  2382.     ax25 start mbox \net\finger\rob.txt
  2383.  
  2384. The (optional) filename specified after the start command specifies the "info"
  2385. file for your box, sent to the connected user when he types an "i".
  2386. Incoming mail is only routed (to the local user or to others) when the SMTP
  2387. timer ticks.  You'll have to set your "smtp timer" to a reasonable time to
  2388. receive your mail without long delays (say, up to 7200 seconds).
  2389.  
  2390. Added support for multi-channel KISS TNCs.  These boxes encode the radio
  2391. channel number in the upper nibble of the KISS type byte.
  2392. To use this feature:
  2393. Attach the physical device using "attach asy" or "attach com", as before.  The
  2394. channel number zero will be accessed using the defined parameters.
  2395. To access channels 1 to 15, use:
  2396. attach kiss <parent> <channel> <label> <mtu> <call>
  2397. The <parent> is the physical interface attached before.     <channel> is the
  2398. channel number used by the TNC (1..15).
  2399. e.g.: attach kiss ax0 1 ax1 256 pe1chl-7
  2400. This will make the second channel of the KISS TNC available as "ax1", with
  2401. a maximum IP packet length of 256 and a callsign "pe1chl-7".
  2402.  
  2403. Modified "copy" to allow device specs in Atari version.     Hope it does not
  2404. break down on other versions.
  2405.  
  2406. 871225.33.PE1CHL.891225:
  2407.  
  2408. Added "x" option to "tput" FTP subcommand to update attributes of a file
  2409. after it has been sent.     This ensures the file will have the same date/time
  2410. and "read only" status on the destination after a transfer.  This is implemented
  2411. using an "XATR" FTP command that is sent after each "STOR", containing this
  2412. information in an MSDOS specific format.  For now, this is only implemented
  2413. in the Atari ST version.
  2414.  
  2415. Also made response on "MKD" according to RFC959.
  2416.  
  2417. "at" command corrected, now it always uses the local time.
  2418.  
  2419. Added "netrom route drop * <iface> <neighbor>", to drop all NET/ROM routes
  2420. via specified neighbor (e.g. when you know it has been taken out of service).
  2421. This only affects non-permanent routes.
  2422.  
  2423. Added NET/ROM level 3 parameter "maxqueue", specifying the maximum number of
  2424. AX.25 packets allowed on an outgoing AX.25 queue.  Any packets that have to be
  2425. queued above this limit are dropped, and an alternative route to this
  2426. destination is chosen, if possible.
  2427.  
  2428. Added NET/ROM level 3 parameter "maxfail".  When more than this number of
  2429. link failures occurs on an AX.25 link to a neigbor, all non-permanent routes
  2430. via this neighbor are dropped (until we next hear a broadcast from him).
  2431. This should limit the forever-retrying on dead links (dead nodes).
  2432. Set "maxfail" to zero to disable this feature.
  2433.  
  2434. 871225.33.PE1CHL.891217:
  2435.  
  2436. Added "tput" FTP subcommand to put a (sub)tree.     Before using it, the target
  2437. directory must be set using "cd", and the file type (usually I) to be used
  2438. for all the transfers should be selected.  Then, a "tput <dirname>" or
  2439. a "tput <wildcard spec>" will start automatic creation of subdirectories and
  2440. transfer of files.  The session should remain selected to allow
  2441. display of messages and execution of further commands.    Use "abort" to
  2442. terminate the process.    DON'T change the local "current directory" when an
  2443. incomplete pathname was specified for the "tput".
  2444.  
  2445. Solved some problems with pathnames specifying a drivename and/or the "."
  2446. notation for current directory.
  2447.  
  2448. Implemented "netrom tcpip interlink" to let the NET/ROM pass only visible
  2449. nodes and #TCPIP.  (#others are not broadcast, but appear in the nodelist)
  2450. This is similar to the "TheNet I-version", but without the disadvantage of
  2451. inhibiting TCP/IP traffic.  When "netrom nodefilter exclusive" mode is selected,
  2452. this provides very good control over the number of nodes in the broadcast
  2453. and the NET/ROM traffic through the node.
  2454.  
  2455. Added extra delays in the SCC driver (MSDOS version only) to allow it to run
  2456. on very fast machines.
  2457.  
  2458. 871225.33.PE1CHL.891209:
  2459.  
  2460. NET/ROM nodefilter mode "exclusive" added.  Works like "accept", but
  2461. additionally no NET/ROM transport packets are accepted from stations not
  2462. listed.     Only stations in the "netrom nodefilter" list are accepted for
  2463. NET/ROM traffic.
  2464.  
  2465. A NET/ROM retour route is now also created when only 0-quality routes exist
  2466. to the sender (this was only done when no routes existed).
  2467.  
  2468. Experimental NET/ROM level 4 code added.  Accepts connects from other NET/ROM
  2469. stations but cannot connect to others.    "netrom status" lists the current
  2470. connections.
  2471.  
  2472. Changed "isdir" to fix a problem with the MSDOS/MSC version (it said that
  2473. a device was a directory, so "copy file prn" would fail)
  2474.  
  2475. Made configuration depending on memory model and compiler, to ease maintenance
  2476. and prevent distribution of unworkable versions (like MEDIUM MODEL with lots
  2477. of memory-demanding functions)
  2478.  
  2479. 871225.33.PE1CHL.891031:
  2480.  
  2481. Atari version: memstat <number> mallocs and frees the specified number
  2482. of bytes, to get these from the OS in one big chunk.  Old versions of the
  2483. system have trouble with programs making a lot of allocation requests, and
  2484. the Mark Williams C runtime makes requests in small (2K) units.
  2485. Putting "memstat 30000" or so at the beginning of autoexec.net will acquire
  2486. some memory to start with.  The <number> is a long integer.
  2487.  
  2488. Fixed problem in netrom route handling that caused inconsistency (and hangup)
  2489. when memory could not be allocated to store received routes (see above).
  2490.  
  2491. Fixed broken "dir" command (wouldn't list directories after "improvement")
  2492.  
  2493. 871225.33.PE1CHL.891001:
  2494.  
  2495. route info <ip addr> command will print the IP route to another host
  2496.  
  2497. improved handling of directories in DIRUTIL.C (because of TurboC problems)
  2498.  
  2499. 871225.33.PE1CHL.890924:
  2500.  
  2501. Greatly improved error handling in SMTP server (disk full, out of mem)
  2502. Also introduced timeout in server (waiting on commands)
  2503.  
  2504. Introduced "at" command to run NET command at certain time-of-day.  Syntax is:
  2505.      at hh:mm command [params]
  2506. example: at 18:00 stop ftp
  2507.  
  2508. "at" command without params prints a list of scheduled commands.  Only one
  2509. command can be started at each time.  Use "source" command to start a sequence
  2510. of commands. (stored in a file)
  2511.  
  2512. stopping FTP/SMTP/RCMD servers does not produce a log message anymore
  2513.  
  2514. improved handling of AX.25 excluded calls.  these cannot be connected
  2515. anymore, also from bridge, netdigi etc.
  2516.  
  2517. 871225.33.PE1CHL.890918:
  2518.  
  2519. Minor change to make NET/ROM "param" command output compatible with NET/ROM.
  2520. (some programs interpret this output for a better display)
  2521.  
  2522. Fixed problem with timeouts in SMTP client (it failed when a mail took more
  2523. than "tcp timeout" time to transfer)
  2524.  
  2525. Log now flushed every time, log without params doesn't flush anymore
  2526.  
  2527. Added watchdog timer (called from timer interrupt, reset from main loop).
  2528. The "watchdog" command sets timeout values (in seconds) for 2 cases: the
  2529. first value is used while in NET, the second when executing a SHELL.
  2530. When a 3rd arg is given, it's (HEX) value will be put out on bit 0 of the
  2531. printer port every time the watchdog is reset, followed by a zero value.
  2532. This can be used to trigger an external (hardware) watchdog timer.
  2533. This should not affect printer operation, as no strobe pulse is sent, only
  2534. a change on the datalines.
  2535. (for now, watchdog functions are only present in the Atari version)
  2536.  
  2537. Solved problems with "*" and "?" in filenames in ftpserver
  2538.  
  2539. 871225.33.PE1CHL.890910:
  2540.  
  2541. Made a lot of small changes to compile the package with Turbo C on the Atari.
  2542. (Mainly suspicious constructs warned by Turbo C, and MW C dependencies)
  2543. It does not yet work correctly when compiled with Turbo C.
  2544.  
  2545. Introduced "onexit.net" file, executed during "exit", just after all
  2546. connections are closed.     Can be used to send param 255's or copy files.
  2547.  
  2548. Added an extra check in the Atari SCC driver to detect a permanently-low IRQ
  2549. line from the SCCs.
  2550.  
  2551. 871225.33.PE1CHL.890825:
  2552.  
  2553. Yet another dup_p replaced by copy_p: the SCC driver transmitted garbage when
  2554. an AX.25 packet was acknowledged when a retry was already sitting in the SCC
  2555. transmit queue... (this could also happen with KISS, but it is less likely).
  2556. Now, in lapb_output() a packet is copied to a new buffer instead of dup'd.
  2557. (same in recover())
  2558.  
  2559. 871225.33.PE1CHL.890814:
  2560.  
  2561. Fixed the last (?) flow-control problem in the NetDigi (and possibly other AX25
  2562. services driven by the transmit upcall).  It now only asks for as many bytes as
  2563. will fit in the maxframe window.
  2564.  
  2565. This is the "final PC release" distributed in Aztec, MSC Middle and MSC Large.
  2566.  
  2567. 871225.33.PE1CHL.890812:
  2568.  
  2569. Corrected a problem introduced in the router in 890809 (only /32 and default
  2570. work), and made the router cache more effective.
  2571.  
  2572. PC: Fixed bugs in the SCC interrupt handler. This also affected the handler for
  2573. the 3c500 in the Aztec version of 890812.
  2574.  
  2575. "date" command now can set the date and time in MSC-compiled versions for the
  2576. PC.
  2577.  
  2578.  
  2579. 871225.33.PE1CHL.890809:
  2580.  
  2581. Finally tracked down a problem with ctime(), which only appeared using MSC.
  2582. It loses it's terminating \n under some circumstances, which caused funny
  2583. results in smtp.
  2584.  
  2585. Added yet more checks for NULL pointers (from malloc).    Now prints "No Space!!"
  2586. when no buffer is available for a ping (with length >0).  This can cause mesages
  2587. when a repeated ping is set up.
  2588.  
  2589. Now I know how TCP sessions could stay in CLOSED state.     Fixed FTP state change
  2590. upcall handler, so that it should not happen anymore.
  2591.  
  2592. MSC-compiled version (without PACKET and 3C500 drivers) can now be compiled in
  2593. LARGE model on the PC. This should solve the problems of running out
  2594. of heap space, at least when you have enough free
  2595. memory in the machine (or section or window).  This version is about 30% bigger
  2596. and slower than the standard MIDDLE model version.
  2597.  
  2598. 871225.33.PE1CHL.890731:
  2599.  
  2600. Set a timeout on CLOSED state (TCP).  A session was left in this state after
  2601. an FTP (directory) with all timers stopped, but I don't know how it happened.
  2602.  
  2603. Changed appearance of NET/ROM "param" command output to be compatible with
  2604. NET/ROM 1.2
  2605.  
  2606. 871225.33.PE1CHL.890725:
  2607.  
  2608. Converted all .asm files to pmacros.h usage.  Should be usable with MSC, TC and
  2609. Aztec.
  2610.  
  2611. NETROM4 define introduced to omit all NET/ROM level 4 support.
  2612.  
  2613. Changes to pc.c, dirutil.c to make it run under MSC 5.1
  2614.  
  2615. Fixed trouble with receiving from Fossil (again)
  2616.  
  2617. 871225.33.PE1CHL.890722:
  2618.  
  2619. Fixed problem with hostname translation in 870720.  It was only printed in the
  2620. incoming session message, not in the session display.  Also scanned all sources
  2621. for occurrence of inet_ntoa and psocket, and fixed declarations.
  2622.  
  2623. Fixed silly bug introduced in 890720 (resolve did not work on PC)
  2624.  
  2625. PC version: Fixed problem with TNC2 emulation on COM port
  2626. (device number off-by-one)
  2627.  
  2628. PC version: Fixed hardware handshake problem for KISS tnc's (again...)
  2629. TNC2 emulator can now XON/XOFF when FOSSIL driver is used
  2630.  
  2631. Fixed problem in FTP login sequence (attd by dg2kk)
  2632.  
  2633. 871225.33.PE1CHL.890720:
  2634.  
  2635. All versions: Included an ip_address-to-hostname translator supplied by pe1jlj
  2636. (after some modification).  Incoming telnet sessions are now labeled with the
  2637. hostname instead of the IP address.
  2638.  
  2639. All versions: Added -f flag to "delete", "rmdir" and "mkdir" commands, to make
  2640. these silent in case errors occur.  Useful to clearout temp directories and
  2641. lockfiles from AUTOEXEC.NET, without getting complaints about the non-existence
  2642. of these files.     Use it like "del -f ${NETMAILQ}*.lck".
  2643.  
  2644. SCC driver: When DCD is active during initialization of the driver, the receiver
  2645. is enabled immediately.     This used to happen only on inactive-to-active
  2646. transitions of DCD.  (Added after request from pa0hzp who was testing his board)
  2647.  
  2648. NET/ROM: When a NODES broadcast comes in which contains routes to a certain
  2649. destination with a better quality than the currently active route, that better
  2650. route is again selected, even when it was dropped before because of a link
  2651. failure.  This is done to prevent infinite re-routing of NET/ROM links in case
  2652. of a temporary link problem (there used to be no mechanism to re-select a
  2653. dropped route...).  When the station receives NODES broadcasts from distant
  2654. nodes regularly, these nodes should be filtered out to prevent repeated tries
  2655. of the direct links to these nodes.
  2656.  
  2657. PC version: Added "date" command. Prints or sets the system date and time.
  2658. date setting does not work yet.
  2659.  
  2660. PC version: Included the possibility to emulate a TNC2 on an external COM port.
  2661. Algorithm is now as follows: when COM1-COM6 is specified in the
  2662. "ax25 start tnc2" the code checks for the presence of an INT14 handler for
  2663. that port.  If it finds one, it will start the emulator on that external port.
  2664. MBBIOS or FOSSIL should be loaded for the selected port.  (the standard BIOS
  2665. handler will lose big time!!! no interrupt handling in the ROM BIOS...)
  2666. The baudrate of the external port is fixed to 9600 (8 bits, no parity, 1 stop).
  2667. When a port above 6 is used, or there is no INT14 handler present, the code
  2668. continues to use the "virtual COM port" accessible from the other doubledos
  2669. section to emulate the TNC.
  2670. NOTE: All this only works in versions compiled to support COMBIOS/MBBIOS/FOSSIL
  2671. instead of the built-in "asy" device.
  2672.  
  2673. PC version: timeout on transmit character emulation routine (virtual COM port)
  2674. increased from 5 to 25 seconds, to allow for very bad AX.25 links to a BBS
  2675. running on TNC2 emulation.  The WA7MBL bbs does not test for timeouts, and
  2676. therefore drops characters when one occurs.
  2677.  
  2678. Attempted to make slightly more heap space available to those poor PC users, by
  2679. putting more common text strings in variables (so that they appear in the 64K
  2680. datasegment only once).     Now 31552 bytes of heap, hooray.
  2681. There is still more than 16K of fixed text in the data segment...
  2682.  
  2683. 871225.33.PE1CHL.890622:
  2684.  
  2685. additions:
  2686.  
  2687. ping length [<value>]
  2688.   default <value> is 0
  2689.   defines the number of extra bytes to be send with each ICMP echo reply.
  2690.   useful for testing path and modem quality.
  2691.   maximum value <value> is 4095
  2692.  
  2693. ax25 maxsamml [<no# frames>]
  2694.   default <no# frames> is 0
  2695.   A framesammler algorithm has been implemented. Non-sequential receiving of
  2696.   frames on AX.25 connections is possible now.
  2697.   This option is disabled when <no# frames> is 0
  2698.   100 % data integrity is only guaranteed when using this option with a
  2699.   <no# frames> value wich 4 or lower and if the other side has a Maxframe
  2700.   of 4 or lower.
  2701.  
  2702. Atari version: added "screen" command, to select NET's method of screen output:
  2703.     screen bios    use BIOS call Bconout
  2704.     screen direct    use direct writes to screen memory (fastest)
  2705.     screen tos    use standard output (default)
  2706. "screen direct" only works on standard resolutions, not on "big screens".
  2707.  
  2708. 871225.33.PE1CHL.890515:
  2709.  
  2710. additions:
  2711.  
  2712. new ax25 server: tnc2 emulator
  2713. This server allows you to emulate a TNC2 running TAPR 1.1.6 code.  This
  2714. TNC2 can then be used by client programs running in the other section when
  2715. using doubledos. (from the 890720 version it is also possible to connect the
  2716. TNC2 emulator to an external COM port)
  2717. This allows you to run a BBS concurrently with NET, using the same hardware
  2718. (KISS tnc, SCC board or whatever) to interface to the radio(s).     Also, other
  2719. packet programs can be run this way, as long as they interface with the TNC
  2720. using INT 14H (as is the case with MBBIOS, COMBIOS etc).
  2721.  
  2722. The emulator tries to mimick the functional aspects of the TNC2 software as
  2723. well as possible.  Features not supported are:
  2724.  
  2725. - setting of operational parameters like timing, async port settings etc
  2726. - monitoring and it's associated parameters
  2727. - calibration and testing
  2728. - multiple streams (users)
  2729. - battery backed-up RAM
  2730.  
  2731. Most other features are supported, including CONVERSE and TRANS mode,
  2732. input line editing, and even KISS.
  2733.  
  2734. There is one extra command, not found in TNC2 software, that is introduced
  2735. to compromise the efficiency of CPU usage with the requirements of the client
  2736. program:
  2737.  
  2738. KISSRX    <number>
  2739.  
  2740. This command selects which frames will be "received" by the emulator when it
  2741. is running KISS mode (KISS ON, RESTART).  This can be set using param 6 when
  2742. KISS mode is already selected.    The meaning of the number is:
  2743.  
  2744.     0 receive nothing (transmit-only)
  2745.     1 receive frames addressed to "MYCALL" only (the call of ax25 port 5)
  2746.     2 receive all frames addressed to callsigns belonging to this station,
  2747.       and also to QST and NODES.  This is the default value.
  2748.     3 receive all frames that are already digipeated
  2749.     4 receive everything
  2750.  
  2751.  
  2752. To use the tnc2 emulator:
  2753.  
  2754. Run NET under DoubleDOS.  NET needs about 230K.     Find the exact requirement
  2755. by increasing the section size in small increments, until the free space printed
  2756. by the "memstat" command immediately after startup does not increase any more.
  2757.  
  2758. - define ax25 port 5
  2759. - start ax25 server "tnc" with parameter list.    each parameter is of
  2760.   the form comnumber=interface.     example: ax25 start tnc2 3=144 4=430
  2761.  
  2762. After starting NET, run "NETCOM" in the other partition, specifying the TNC
  2763. port numbers (from above command).  You can also specify the /b flag, which
  2764. enables a buffer between the client program and NET.  Some BBS programs don't
  2765. like this, experiment with it.    Example:
  2766.   netcom /b 3 4
  2767.  
  2768. Therafter, you can use "YAPPB", "WA7MBL BBS" etc in that partition, configured
  2769. for COM3, COM4 etc.   Do NOT use any of the real com ports (COM1, COM2).
  2770.  
  2771. If you have more than 2 COM ports in the machine, use higher numbers.
  2772. NET allows up to COM255, but the packages you want to run may be more
  2773. limited.  For first experiments, use YAPPB <com#>.
  2774.  
  2775.  
  2776. Variables now supported in NET commands. see environ.txt for details
  2777.  
  2778. FTP server has an extra feature: a lister for the contents of .ARC files.
  2779. usage: (ftp subcommand!)
  2780.   dir <filename>.arc
  2781. This also works with the dir command at the net>_ prompt.
  2782.  
  2783. changes for PC version:
  2784.  
  2785. Async interface for kiss and slip devices is now under control of an external
  2786. device driver, an interrupt driven int 14 handler (COMBIOS). This can be either
  2787. MBBIOS or FOSSIL, well known with w0rli & wa7mbl sysops, and FOSSIL is from the
  2788. world of fido / opus phone bbs systems.
  2789.  
  2790. see documentation within "MBBIOS.ARC" and "X00Vxxxx.ARC" for more info about
  2791. mbbios and fossil.
  2792.  
  2793. to attach a COM port use:
  2794.  
  2795. attach com <number> slip|ax25|nrs <label> <mtu> <baudrate> <handshake> [<call>]
  2796.  
  2797.     <number> is the COM port number (1, 2, ...)
  2798.     slip, ax25 of nrs specificies the protocol to be used (ax25=KISS)
  2799.     <label> is the name of interface (144, 430 etc)
  2800.     <mtu> is the maximal transmission unit (paclen) (256 for ax25)
  2801.     <baudrate> can be selected from these values:
  2802.         110, 150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
  2803.         28800, 38400, 57600, 115200, 330400.
  2804.         The high baudrates (> 9600) mean "asking for problems".
  2805.         A standard XT can reliably run up to 4800, a fast AT can
  2806.         probably manage 9600 baud.
  2807.     <handshake> is a letter "n" of "h", and specifies the use of hardware
  2808.         handshaking (RTS/CTS) on the COM port.    This would normally not
  2809.         be used, but it is rumored that AEA TNCs which exhibit the
  2810.         wellknown KISS bug would run more reliable when hardware
  2811.         handshake is in effect.
  2812.     <call> is needed for ax25 and nrs interfaces only. It is the IP call
  2813.         used for this interface.
  2814.  
  2815. Examples:
  2816.  
  2817. attach com 1 ax25 144 256 4800 n pe1chl-2
  2818. attach com 2 ax25 430 256 9600 h pe1chl-7
  2819. attach com 3 slip sl0 1024 9600 n
  2820.  
  2821. Remember that the translation of COM port number to hardware address is now
  2822. performed by the MBBIOS or FOSSIL. These programs must be properly configured
  2823. to match your installation.  Read the documentation of these programs!
  2824.  
  2825.  
  2826. starting this release, smaller versions of NET.EXE are available for those
  2827. stations who don't need all the features of the big NET.EXE. 
  2828. these versions do not include the NET/ROM code, the rcmd server and some of
  2829. the more exotic device drivers.     they are suitable for packet-radio-only users
  2830. that do not want to leave their system on unattended.
  2831.  
  2832. 871225.33.PE1CHL.890206:
  2833.  
  2834. additions:
  2835.  
  2836. netrom supports route [<call>] command.
  2837.  
  2838. scc driver included. see sccdoc.arc file on this disk.
  2839.  
  2840. buffers [<no. buffers>] command included.
  2841.   Specifies the number of receive buffers for the scc interrupt handler.
  2842.   Belongs to the scc driver.
  2843.  
  2844. shell can now start a dos program. (instead of an interactive shell)
  2845. syntax:
  2846. shell /c <program name> [<program options>]
  2847.  
  2848. In fact, "shell" starts the program identified by the environment variable
  2849. COMSPEC, and passes it the parameters you specify. See your DOS manual for
  2850. an explanation of the /c option (which is interpreted by COMMAND.COM).
  2851.  
  2852. On the Atari ST, the shell program to be run is specified using the special form:
  2853. shell =programname
  2854.  
  2855. 871225.33.PE1CHL.890115:
  2856.  
  2857. ==  Known bugs solved in this version:
  2858.  
  2859. Scanning of HOSTS.NET file improved.
  2860.   usage of tab and space characters is allowed now.
  2861.  
  2862. ==  Added features:
  2863.  
  2864. Record <filename>
  2865.   now also works with ftp and finger sessions.
  2866.  
  2867. Upload off
  2868.   aborts an uploading session.
  2869.  
  2870. Control characters are echoed to the screen as ^<character>.
  2871.   They are however still sent as control characters.
  2872.  
  2873. With ^V it is possible to insert ANY control character.
  2874.   Type ^V, followed by the control character you want to insert.
  2875.   (ref. tnc2)
  2876.  
  2877. SMTP server is now capable of automatic multi-hop forwarding:
  2878.  
  2879.   By adressing to: john%la4zzz%sm7zzz%oz2zzz%dl3zzz@pa0zzz
  2880.  
  2881.   When the smtp timer counts to zero, or a smtp kick cmd is given, the mail
  2882. is first sent to pa0zzz (the local station).  The mailer chops off the
  2883. rightmost call and @, replaces the rightmost % by an @, and puts the mail
  2884. in \spool\mqueue.  This process repeats itself (when everybody is working
  2885. with this version of NET) until john@la4zzz is reached.     Of course there
  2886. has to be a path of known stations running NET 24h/day.
  2887.  
  2888. 871225.33.PE1CHL.881202:
  2889.  
  2890. == known bugs solved in this version:
  2891. AX25 connects were lost at midnight (00.00: *** LINK FAILURE)
  2892.    (only pc version)
  2893. The control block adresses are now 4 hex digits again (no ffffedca any more)
  2894. Temporary files are erased again. (no "eaaaaa22.591" files in various dir's)
  2895.  
  2896. == new features:
  2897. Log command now also flushes the buffer contents to the logfile.
  2898. Type command has an extra parameter: the number of lines to type
  2899.       example:    cd \spool  ;go to spool dir
  2900.         log       ;flush buffer to file
  2901.         type net.log -10  ; list last 10 lines of net.log
  2902.                     to see who is doing what.
  2903. Memstat command gives the # of malloc errors not at the beginning, but at
  2904.      the end of the list
  2905.  
  2906. New server: rcmd (remote command server)
  2907.  
  2908. format:
  2909. start rcmd [<port> [<key string>]]
  2910.  
  2911. defaults: <port>=333, <key string> = null
  2912. e.g.: start rcmd 333 qwert2yuiop5asd8fgh6jkl1zxcvbnmqwe5uiashjkzxcbn1234567890
  2913.  
  2914.      (to be inserted in autoexec.net file, together with the
  2915.       starting of the smtp/telnet/ftp/echo/discard/finger servers)
  2916.  
  2917. accessible for remote stations with:
  2918.  
  2919. telnet <hostid> <port>
  2920.  
  2921. e.g.: telnet pe1zzz 333      (from net>_ command line)
  2922.  
  2923. the rcmd server then returns three series of random numbers, five each. One of
  2924. these series must be returned with the corresponding characters from the
  2925. key string.
  2926.  
  2927. e.g.:suppose that the server was started with this line:
  2928.  
  2929. start rcmd 333 gqweGrerDFtDyuWioGpRaYsdYJfJhIKjLzxYcfRGwevbFEnSWmlcfkHtldrDC
  2930.  
  2931. then, a session could look like this:
  2932.  
  2933. telnet pe1zzz 333
  2934. rcmd 871225.33.PE1CHL.881202 pe1zzz.ampr
  2935. 58 24 3 18 32, 59 13 26 12 25, 71 23 12 8 44
  2936. ryJDY                   /* we choose the second series of numbers*/
  2937. pe1zzz.ampr net>_
  2938.  
  2939. At this point, the user is in complete control of pe1zzz's NET system !
  2940. This can be very dangerous, because there are dos commands like delete and
  2941. chdir, and your complete system is within reach.  It is important to make
  2942. the key string as long as is practical, for example 50 or 60 characters,
  2943. all for the sake of safety. In theory it is possible that someone
  2944. monitoring the channel can, after a while, reconstruct the key string.
  2945. Therefore it's a good practice to change the string after a while.  This
  2946. server is specially meant for automatic stations without operator. Don't
  2947. start the server just to impress other people !. And whatever you do:
  2948.  
  2949.          CHANGE THE DEFAULT KEY STRING !!!!
  2950.  
  2951. 871225.33.PE1CHL:
  2952.  
  2953. Long forgotten history....
  2954.