home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 024 / psi110g.zip / README.NOW < prev    next >
Text File  |  1994-08-26  |  167KB  |  4,054 lines

  1. Johan Reinalda, WG7J, stopped development of the MS-DOS version
  2. of JNOS in May 1994 with the 1.10c release.  I've undertaken the
  3. maintenance of this version while Johan takes a well-deserved
  4. rest and then pursues a WIN32 version.  Accordingly, here is JNOS
  5. 1.10g. Please send comments and bug reports that pertain to the
  6. MS-DOS version to me, James Dugal, N5KNX at this address:
  7.  
  8. Email:    jpd@usl.edu  or  n5knx@k5arh.#lft.la.usa.noam
  9. Post:   James Dugal, N5KNX
  10.     P.O. Box 44844
  11.     Lafayette, LA  70504
  12.     U.S.A.
  13. -------------------
  14.  
  15.  
  16. OBJECTIVE:
  17.  
  18. The objective of this code is to improve the use and features of NOS.
  19. A lot of the work is done through cooperative discussion and testing
  20. among the subscribers of the Internet maillist 'nos-bbs@hydra.carleton.ca'
  21. (to subscribe, send mail to 'nos-bbs-request@hydra.carleton.ca')
  22. A lot of new stuff comes from code fragments or suggestions contributed by
  23. people on that maillist, most of which are avid users of the code.
  24. This code is a continually developing piece of work, and as such, it should
  25. be seen as a BETA software, no matter whether it is indicated as such or not.
  26. You should not expect this to be a 'plug and play' solution to tcp/ip over
  27. packet radio. If you experience problems, feel free to contribute
  28. 'constructive' critisism to the author or the discussion group.
  29.  
  30.  
  31.  
  32. VERSION NAMING CONVENTIONS:
  33.  
  34. JNOS cycles through three identifiable stages as source code is being
  35. put out. Code goes from testing stage (aka. beta code), to somewhat
  36. stable released code, to maintenance/bugfix updates. Note that the
  37. OBJECTIVE above still applies to ALL code being released,
  38. whether it is identified as beta, release or bugfix...!
  39.  
  40. As of v1.10, there is a 'new' version naming scheme.
  41.  
  42. 1) eXperimental code put out by me will be a version number with 'x#' added.
  43.    'x' stands for eXperimenting, and # is the number of test release.
  44.    This will be the first step toward a new 'release'
  45.  
  46.    Eg:  JNOS 1.10x1 is the first test release for version 1.10 .
  47.  
  48.  
  49. 2) When an 'x' version seems stable, I might decide to put it out as a
  50.    'released' version. This is the time the 'general public' jumps on it :-)
  51.    This version will drop the 'x#' designation.
  52.    At this time I will have at least one executable available, and the full
  53.    source set. The source set will be versionname.ZIP,
  54.    and the executable versionname.EXE . The executable might be a self
  55.    extracting exe with some miniscule docs etc...
  56.  
  57.    Eg: JNOS 1.10 is the 'official release' version of 1.10
  58.        JNOS110.ZIP is the source set, and
  59.        JNOS110.EXE is the executable.
  60.  
  61. 3) As bugs are found after step 2, bugfix/maintenance updates will be numbered
  62.    with the version name plus a single letters added. (Using x for experimental
  63.    should be okay, as long as we don't get many bugfixes... :-) )
  64.  
  65.    Eg. JNOS 1.10a is the first bugfix after the release of version 1.10
  66.  
  67.  
  68. I strongly advise everyone that makes mods to use the same base version number,
  69. INCLUDING experimentation or bugfix suffixes, with a personal extension.
  70. This allows others to see what your base code was.
  71. Eg. JNOS 1.10x3-Mods
  72.  
  73. If you send bugfixes and mods to the nos-bbs list or me, they will most
  74. often get put into the next release...
  75.  
  76.  
  77.  
  78.  
  79. COMPILER:
  80.  
  81. Starting with 1.08, I use Borland C++ 3.1 for all executables i distribute.
  82. In the makefile, you have the option of compiling with TC2.0, BC++2.0,
  83. BC++3.1, or BC++ 4.0 . You can also choose the cpu to compile for (see note!)
  84.  
  85. *** NOTES *** :
  86. I DO NOT GUARANTEE the code will compile without glitches with other compilers,
  87. although an effort has been made to keep things compatible with TC2.0 and BC2.
  88. Also, I only compile for 8086 ! Any other cpu is NOT tested !
  89. (Although I have compiled 1.10 for the 80386, and a cursory test seems okay)
  90.  
  91. If you choose the TC2.0 compiler, be aware that there is one function
  92. that doesn't exist in the TC2.0 library. This is the mktime() call.
  93. There is a substitute in expire.c.  You also have to tone down the config.h
  94. file, since you are likely to run out of DGROUP space. TC2.0 doesn't allow
  95. for other segments to be used (the -Ff=x option in BC++2.0 and above).
  96.  
  97. If you use an older version of Borland's TASM.EXE assembler, it might choke
  98. on line 2 in asmgloba.h : '.MODEL USE16 LARGE,C'. Simply remove the 'USE16'
  99. to solve this problem.
  100.  
  101. Please also refer to the FAQ, mentioned above, for more info on compiling
  102. the code.
  103.  
  104.  
  105. CONFIG.H:
  106.  
  107. There are several different configurations in the source archive.
  108. I also DO NOT GUARANTEE that other variations of config.h work. It is
  109. impossible to test all different configurations possible with the many
  110. options in config.h. Thus there might be certain combinations that result
  111. in either compiler or linker errors...Find someone with good C and NOS
  112. programming knowledge :-) ...
  113.  
  114. Also, I only compile for 8086 ! Any other cpu is NOT tested !
  115.  
  116. distconf.h - used to create the distribution executable (8086 code)
  117. bbsconf.h  - as I run it on my bbs system. (WG7J.OR.USA.NA)
  118. gwconfig.h - as I run it on my Internet gateway system (wg7j.ece.orst.edu)
  119. users.h    - end-user, with serial port and scc drivers, but no bbs options
  120.  
  121.  
  122.  
  123. MAIL INDEX FILES:
  124.  
  125. ==> As of 1.10x15, JNOS now senses index file status at startup and after
  126.     returning from shells. Index files for changed mailbox files will be
  127.     automatically updated at this time.!
  128.     This means you can now use ANY EXERNAL MAILER !!!
  129.  
  130. As of version 1.10x3, JNOS stores an index file for each mail *.TXT file.
  131. This drastically speeds up switching of areas, and listing of mail headers.
  132.  
  133. As of version 1.10x10, the format of the index files have changed. They are
  134. now variable length binary records. See index.h for the content of the record.
  135. (The indexfiles are now named *.IND)
  136.  
  137. As a side effect, there is no limit anymore to the number of messages held
  138. in a mailbox. This now is only limited by system memory :-)
  139.  
  140. Manual manipulation of index files is NOT advised !!!
  141.  
  142.  
  143.  
  144. DOCUMENTATION:
  145.  
  146. All PA0GRI specific commands can be found is his nos_1229.man .
  147.  
  148. The latest docs files, for JNOS 1.10, are docs110.zip, thanks to an
  149. effort by Doug Thompson, WG0B, and Johan Reinalda, WG7J.
  150.  
  151.  
  152. SOURCES:
  153.  
  154. If you obtained sources, feel free to do with them as you please,
  155. as long as you keep and obide the copyrights in the different source modules!
  156. If you add substantial stuff to the code, please modify the version string
  157. in version.c to reflect this. (So i won't have to answer tons of questions
  158. about stuff i didn't write)
  159.  
  160. Latest sources can be obtained on Internet by anonymous ftp from among others:
  161.  
  162. pc.usl.edu in pub/ham/jnos
  163. ftp.ece.orst.edu in pub/ham/wg7j
  164. ftp.ucsd.edu in hamradio/packet/tcpip/incoming
  165.  
  166. They can also be found on several phone bbs systems, often shortly after
  167. the release date.  Here are some to try (all in the U.S.A.):
  168.  
  169.         N8EMR's Ham BBS (614) 895-2553
  170.         ChowdaNet       (401) 331-0334
  171.  
  172. NOTE: Due to large workload, I no longer will send you sources!!!
  173.  
  174. If you add/modify anything that might be useful to others, I would
  175. appreciate the mods, to possibly add to the code.
  176.  
  177.  
  178. THE LAST WORD:
  179.  
  180. "Definitive is the source, not this note :-)"
  181.  
  182.  
  183.  
  184. HINT HINT HINT HINT :
  185.  
  186. if you are experiencing problems receiving with certain tnc's with this
  187. code, set the dtr and rts parameters correctly
  188. 'param <iface> dtr 1' and 'param <iface> rts 1'
  189. (this is due to a rewrite of the original 8250 drivers
  190.  in KA9Q 911218 and later)
  191.  
  192.  
  193. FTPUSERS PERMISSIONS:
  194.  
  195. Name:        value     (hex)
  196. FTP_READ        1       0x1             /* Read files */
  197. FTP_CREATE      2       0x2             /* Create new files */
  198. FTP_WRITE       4       0x4             /* Overwrite or delete existing files */
  199. AX25_CMD        8       0x8             /* AX.25 gateway operation allowed */
  200. TELNET_CMD      16      0x10            /* Telnet gateway operation allowed */
  201. NETROM_CMD      32      0x20            /* NET/ROM gateway operation allowed */
  202. SYSOP_CMD       64      0x40            /* Remote sysop access allowed */
  203. EXCLUDED_CMD    128     0x80            /* This user is banned from the BBS */
  204. /* 256 and 512 are used in PPP*/
  205. NO_SENDCMD      1024    0x400           /* Disallow send command */
  206. NO_READCMD      2048    0x800           /* Disallow read command */
  207. NO_3PARTY       4096    0x1000          /* Disallow third-party mail */
  208. IS_BBS          8192    0x2000          /* This user is a bbs */
  209. IS_EXPERT       16384   0x4000          /* This user is an expert */
  210. NO_CONVERS      32768   0x8000          /* Disallow convers command */
  211. NO_ESCAPE       65536   0x10000         /* Default is no escape char */
  212. NO_LISTS        131072  0x20000         /* No lists displayed from mailbox */
  213. NO_LINKEDTO     262144  0x40000         /* disable '*** linked to' */
  214.  
  215. To set options, simply add values. Format in /ftpusers file is:
  216. name password /rootdir #perm
  217.  
  218. password can be a *, then any password is allowed.
  219. if name is "univperm", then any name not found otherwise in the ftpusers file
  220. will be treated as if it was "univperm". If password is set, this password
  221. needs to be used. Eg:
  222. univperm * /public 132103
  223.  
  224. gives anyone not otherwize know login permission, but no ax.25, netrom, lists
  225. etc. and also ftp downloads are allowed...
  226.  
  227.  
  228.  
  229. ERRORS IN NOS:
  230.  
  231. Here is the long awaited list of error numbers used in nos!
  232. The numbers listed are directly from the sources (socket.h),
  233. and when appropriate, are followed by a little description I've
  234. shaken out of my pen :-)
  235.  
  236. #define EMFILE          1
  237. #define EBADF           2
  238. #define EINVAL          3
  239. #define ESOCKTNOSUPPORT 4       Socket type not supported
  240. #define EAFNOSUPPORT    5       Address family not supported
  241. #define EOPNOTSUPP      6       Option not supported
  242. #define EFAULT          7
  243. #define ENOTCONN        8       No connection established
  244. #define ECONNREFUSED    9       Already connected, or connection refused,
  245. #define EAFNOSUPP       10
  246. #define EISCONN         11
  247. #define EWOULDBLOCK     12      Socket would have blocked
  248. #define EINTR           13
  249. #define EADDRINUSE      14      Address already in use
  250. #define ENOMEM          15      Not enough system memory to do task
  251. #define EMSGSIZE        16
  252. #define EALARM          17
  253. #define EABORT          18      Action aborted
  254. #define ECONNNOROUTE    19      No tcp route to target address
  255.  
  256.  
  257.  
  258. FILES FOR JNOS:
  259.  
  260. Please check the file NOS.CFG in this distribution for the names and
  261. locations of the files used on JNOS.
  262.  
  263.  
  264.  
  265. COMMAND LINE OPTIONS:
  266.  
  267. JNOS can be started with a number of command line options. All but one start
  268. with a '-'. Options should be separated by tabs or spaces. The option and the
  269. option argument (if any) should be contiguous (ie NO spaces).
  270.  
  271. -b          : Use direct video for the screen output.
  272. -c#         : set the number of columns on the screen to #.
  273. -drootdir   : set the root dir for configuration file path. This is overwritten
  274.               by the files included in the -f config file.
  275. -e          : pause after each error line in autoexec.nos.
  276. -fnos.cfg   : set JNOS config file names as indicated in the file 'nos.cfg'.
  277.               This overrides the -d option.
  278. -i          : always re-index mail files at startup
  279. -l          : do not remove *.lck files in the mail subdirectory
  280.               (default is to remove *.lck in the /spool/mail directory!)
  281. -mn         : set the default screen swap mode.
  282.                 n = 0 : Use EMS (if compiled in and EMS is available).
  283.                         (Default is ems available)
  284.                 n = 2 : Use memory. (default if no ems available)
  285.                 n = 3 : Use a temporary disk file.
  286. -n          : no trace session.
  287. -r#         : set the number of rows on the screen to #.
  288. -t          : trace the autoexec.nos file. You will be asked before each
  289.               if you want to execute it. 'y' accepts, anything else
  290.               skips the line.
  291. -v          : verbose. Print line from autoexec.bat before parsing.
  292. -u#         : set the number of status lines, valid values are 0-3
  293. -wf+b       : set the foreground and background color for the system status
  294. -xf+b       : set the foreground and background color for the session status
  295. -yf+b       : set the foreground and background color for the 'main' window
  296. -zf+b       : set the foreground and background color for the 'split' window
  297. autoexec.new: Name of the startup file. If not given, \autoexec.nos (or as
  298.               indicated with the -fnos.cfg option) is used.
  299.  
  300.  
  301. DOS MEMORY:
  302. Here is an interesting message:
  303. ----
  304. Date: Sun, 13 Feb 94 18:58:52 UTC
  305. From: k5rw@k5rw.ampr.org
  306. Subject: VIDRAM alternative
  307. To: nos-bbs@hydra.carleton.ca
  308.  
  309. DOS users that want extra memory for NOS/JNOS can use the following 
  310. instead of VIDRAM from Quarterdeck.
  311.  
  312. In your config.sys file for color video adapters load EMM386.EXE this way
  313.  
  314. DEVICE=C:\DOS\EMM386.EXE NOEMS I=A000-B7FF NOHI
  315.  
  316. In your config.sys file for mono video adapters load EMM386.EXE this way
  317.  
  318. DEVICE=C:\DOS\EMM386.EXE NOEMS I=A000-AFFF NOHI
  319.  
  320. Configured this way, EMM386 converts a portions of the area nomally reserved 
  321. for the video buffer to usable RAM and links it wtih convetional memory.
  322. Executable programs sizes can approach 700K or larger.
  323.  
  324. Don't switch to a pgm that uses graphics mode.  This should probably only be 
  325. used for boxes dedicated to NOS/JNOS or other non-graphic applications
  326. _____
  327.  
  328.  
  329.  
  330. Additions/changes are:
  331.  
  332.  
  333.  
  334. 1.10g (940826)
  335.  
  336. -  Help command enhancement, by N8FOW.  The console command set is now
  337.    documented by online help files stored in /help by default.  This dir
  338.    can be changed by redefining CmdsHelpDir in nos.cfg.  The archive
  339.    CMDSHELP.ZIP contains the help files which should be placed in the
  340.    help directory.  For example:    mkdir \help
  341.                                     pkunzip -e a:cmdshelp
  342.  
  343.    The help command takes one argument, the command for which help is wanted.
  344.    The help file will be displayed only if that command was compiled into
  345.    Jnos.
  346.  
  347. -  NNTP client now supports LZW compression and GMT/UTC timezone.  A new
  348.    command, "nntp firstpoll #days" was added from G8FSL, which determines how
  349.    many days of news are requested by the initial poll to a new server.  Another
  350.    new command, "nntp dir old=new" defines how a newsgroup is renamed locally.
  351.    Mappings are examined in the same order they were specified.  Null mappings
  352.    are permitted, which serve to delete the first part of a newsgroup name.
  353.    Use "nntp dir old==" to delete a mapping specification.  For example:
  354.        nntp dir rec.radio.=
  355.        nntp dir amateur.=
  356.        nntp dir shortwave=swl
  357.        nntp dir usl.maillist.tcp-group=tcp
  358.  
  359.    would map rec.radio.swap to swap,  rec.radio.amateur.packet to packet,
  360.    rec.radio.shortwave to swl, and usl.maillist.tcp-group to tcp.
  361.  
  362. -  NNTP server supports GMT.  No more infinite wait for the history lock;
  363.    if a history lock persists this fact is logged and nntp exits.  The
  364.    "nntp firstpoll #days" command was added, as described above.
  365.  
  366. -  Mailbox will no longer claim there is new mail in an area that is empty.
  367.    A new command, XP, was added that toggles a flag describing whether a
  368.    telnet user desires single-character or complete-line reads, when prompted
  369.    for input.  This would help AX.25 users who reach Jnos via a T gateway
  370.    command.  
  371.  
  372.    Thanks to Jan, PE1DGZ for modifications to show that unread personal
  373.    mail is waiting via the MAIL string on status line 1.  I added the
  374.    "mbox mailfor watch call_1 ... call_n" command to permit specification
  375.    of which mailboxes are to be checked.  To initiate this feature, you
  376.    must activate mailfor (eg, "mbox mailfor 600") and set the watch list
  377.    (eg, "mbox mailfor watch n5knx check").  To remove the MAIL string,
  378.    first read the mailbox's last message, and then force the mailfor process
  379.    (eg, "mbox mailfor now") or await the mailfor timer's maturation. Note
  380.    that the calls to be watched must not appear in /spool/areas!
  381.  
  382.    The sysop's request to change to an area is now validated, to avoid
  383.    problems when an invalid name is given.
  384.  
  385. -  Async driver now supports chained interrupts, a 6th serial port, and
  386.    NRS-CTS protocol.  A chained interrupt is designated by suffixing the
  387.    irq by "_c" in the attach comand.  Remember the first port in the chain
  388.    should NOT have the "_c" flag, and the last port specified with chaining
  389.    will get the best response, since it's serviced first.  Since PCs are
  390.    edge-triggered, chaining will work erratically unless a board is designed
  391.    to support it.
  392.  
  393.    The NRS-CTS protocol emulates the behaviour of the Tiny-2 TNC in a
  394.    Netrom-style node stack, and is specified (when NRS is #defined) by a
  395.    'n' attach flag, e.g.  attach asy 03f8 4 nrs nstk 512 256 9600 n
  396.  
  397.    Here's the description of the wiring, provided by N2RJT:
  398.  
  399.    The hexipus and other diode matrixes for connecting NetROM-style nodes
  400.    have always been a source of confusion.  This is an explanation of how
  401.    and why it works.
  402.  
  403.    The hexipus was designed to connect two Tiny-2 TNCs with straight-thru
  404.    cables. The Tiny-2 was designed to connect to a PC (9-pin connector)
  405.    with a straight- thru cable, just like a modem.  That means the Tiny-2
  406.    is DCE:  it receives data on the TXD pin, and sends data on the RXD pin
  407.    - exactly the opposite of what seems right.
  408.  
  409.    The hexipus is wired like a null-modem, except with diodes.  That much
  410.    makes sense - but you have to understand that the hexipus isn't a
  411.    null-modem.  It is the opposite:  a null-terminal, null-computer, or
  412.    null-DTE.  In other words, the diode orientations are exactly the
  413.    opposite of what they would be if the hexipus were a null-modem.
  414.  
  415.    The other important thing to understand is that the data signals go thru
  416.    the diodes in a different direction from the flow control signals.  This
  417.    is easiest to explain in terms of voltage levels and idle states.  The
  418.    purpose of the diodes is to allow a single line with non-idle state to
  419.    override all the other lines with idle states.
  420.  
  421.    Data lines: the idle state is a STOP  bit = 1 = MARK  = V-
  422.                the data state is a START bit = 0 = SPACE = V+
  423.                One V+ must be able to override multiple V-
  424.  
  425.    Flow lines: the idle state is V+
  426.                the flow state is V-
  427.                One V- must be able to override multiple V+
  428.  
  429.    So, this is what the matrix must look like:
  430.    -----------------------------------------------------+
  431.              -              |           -               |  Symbols:
  432.    Idle RXD --->|--  ~      | Idle RXD --->|--  +       |
  433.              -     |--- TXD |           +     |--- TXD  |     + Positive Voltage
  434.    Idle RXD --->|--         | Send RXD --->|--          |     - Negative Voltage
  435.    -----------------------------------------------------+     ~ No current flow
  436.              +              |           +               |
  437.    Idle CTS ---|<--  ~      | Idle CTS ---|<--  -       |     All signals flow
  438.              +     |--- RTS |           -     |--- RTS  |     from left to right.
  439.    Idle CTS ---|<--       ^ | Send CTS ---|<--          |
  440.                     pullup|                             |     Resistor = 4.7K ohms
  441.                     resistor to V+                      |
  442.    -----------------------------------------------------+
  443.  
  444.    So the simplified 2-port diode matrix would look like this (9 pin sense):
  445.    2 RXD-->|--TXD 3
  446.    3 TXD--|<--RXD 2    The RXD diode arrow always points to TXD
  447.    5 GND------GND 5
  448.    7 RTS-->|--CTS 8    The RTS diode arrow always points to CTS
  449.    8 CTS--|<--RTS 7
  450.  
  451.    The more common cables are shown below, assuming 9-pin connectors, but
  452.    showing the 25-pin connector assignments in parentheses.  Tiny-2s have
  453.    the pullup resistor internally, but PCs don't.  The usual way around
  454.    this is to solder the resistor to an unused pin such as DTR, and have
  455.    the PC software assert DTR to supply the V+.
  456.  
  457.    PC NOS       HEXIPUS | PC MSYS      HEXIPUS | TNC-2        HEXIPUS | Tiny-2
  458.    ==================== | ==================== | ==================== | ==========
  459.    TXD 3(2) -- 2(3) RXD | TXD 3(2) -- 2(3) RXD | RXD 2(3) -- 2(3) RXD | RXD 2
  460.    RXD 2(3) -- 3(2) TXD | RXD 2(3) -- 3(2) TXD | TXD 3(2) -- 3(2) TXD | TXD 3
  461.    GND 5(7) -- 5(7) GND | GND 5(7) -- 5(7) GND | GND 5(7) -- 5(7) GND | GND 5
  462.    RTS 7(4) -- 8(5) CTS | DTR 4(20)-- 8(5) CTS | DTR 4(20)-- 7(4) RTS | RTS 7
  463.    CTS 8(5) -- 7(4) RTS | CTS 8(5) -- 7(4) RTS | CTS 8(5) -- 8(5) CTS | CTS 8
  464.    DTR 4(20) asserted   | RTS 7(4) asserted    |                      | NR  9
  465.                         |                      |                      |
  466.    Solder resistor at PC| Solder resistor at PC| Connect pins 10 & 23 | Connected
  467.    end of cable to CTS  | end of cable to CTS  | at TNC-2 end of cable| straight
  468.    and DTR which is V+. | and RTS which is V+. | to enable NetROM mode| through.
  469.  
  470.    Jim  WA2ZKD  | @WB2PSI.#WNY.NY.USA.NA | This file: wiring\hexipus.txt
  471.    Dave N2RJT   | @sw.wb2psi.ampr.org    | 18-Feb-1993
  472.  
  473.  
  474. -  Encapsulation RX using protocol code 4 is supported (KA9Q).
  475.  
  476. -  LZW compression added for ftp client's put, mput and rput commands (when
  477.    in ascii mode).  Offers to do LZW are discontinued after the first rejection
  478.    in an ftp session (unless a 'reclzw on' command is issued).
  479.  
  480. -  A printer as an output device is now supported if PRINTEROK is #defined.
  481.    If a printer name is used as a local area name, SMTP will print the message
  482.    followed by a FormFeed (and no index file is written).  If the printer is
  483.    offline or has an error condition, the smtp message remains in mqueue, and
  484.    is retried at every maturation of the smtp timer.
  485.  
  486. -  Bids found by the SMTP server in non-dup messages, are now stored into
  487.    the bid history file.
  488.  
  489. -  LZW compression added for POP3 client and server, from N2RJT.  New command,
  490.    "pop lzw [on|off]" added.
  491.  
  492. -  New command, "lzw trace [on | off]", added.  If on, when a socket is
  493.    closed, its compression statistics are written to the console.  (N2RJT)
  494.  
  495. -  IP heard and ax25 heard now have correct counts.  From VE3DTE.
  496.  
  497. -  115200 baud is now supported in the attach and dialer commands.
  498.  
  499. -  Dialer now displays progress properly.
  500.  
  501. -  SMTP "New mail for ..." and POP "New mail arrived for..." messages can
  502.    be eliminated by setting the smtp trace value and pop trace value to 0.  All
  503.    preexisting trace values should be incremented by one to display the same
  504.    results as previous versions on Jnos.
  505.  
  506.  
  507.  
  508. 1.10f (940704)
  509.  
  510. -  index files are MUCH more robust.  You should force a rebuild of
  511.    your indexed areas when you first start 1.10f (issue 'index *').
  512.  
  513. -  tip dialup code fixed to recover from hangups, idle timeouts, and
  514.    shutdowns.  tip user names now shown by 'mb status'.
  515.  
  516. -  async driver replaced with pa0gri's version, which is faster and
  517.    handles rts/cts better.
  518.  
  519. -  nntpcli improved to maintain indices and timestamps (tnx VE3LUM), and creates
  520.    only subscribed newsgroups.  If you don't want indices created, set a
  521.    new spool dir, such as:  nntp dir /newsdir /spool/news
  522.  
  523. -  expire now can expire NNTP articles and history files, for both NNTP
  524.    client and server JNOS configurations (tnx VK5XXX).  Expire uses a different
  525.    procedure which seems to eliminate trashed indices, and will remove areas
  526.    that become empty after a succesful expire.
  527.  
  528.    To expire newsgroups, enter their names into /spool/expire.dat, PREFIXED
  529.    with '!'.  Example:  !rec.radio.swap 7
  530.  
  531.    To access newsgroups as areas (NNTP client only), put the newsgroup name
  532.    into /spool/areas.  Example:  rec.radio.swap    -  for sale/swap postings
  533.  
  534. -  forward.bbs optional destination field works again.
  535.  
  536. -  'pause #secs' command added.
  537.  
  538. -  pwait() calls added to index-scanning routines to more equitably
  539.    share cpu time.
  540.  
  541. -  G8FSL's smtp hopper code added.  If you define HOPPER in config.h
  542.    and recompile Jnos, then smtp will deliver to a gateway serving a
  543.    destination if one can be found in the routing tables.
  544.  
  545. -  TNOS/KF5MG's rlogin and QRZ callbook server code added.
  546.     To run the QRZ callbook server, first compile with QRZCALLB
  547.     defined in config.h, then issue these commands before starting
  548.     JNOS:        set qrzdrv=E:     (or whatever you use)
  549.             set qrzpath=\dir\path        (to dir containing
  550.                             callbkc.dat/.idx)
  551.  
  552.     Then in Jnos, issue:    callserver host k9dog    (your call)
  553.                 start callbook
  554.  
  555.    The rlogin server is really a responder for telnets to port 513, that
  556.    logs you into the mailbox, then invokes the sysop (@) command for you.
  557.  
  558. -  info cmd displays compiler version.
  559.  
  560. -  "early" disconnect from the mailbox is re-enabled, with code added to
  561.    prevent unwarranted side effects previously noted.
  562.  
  563.  
  564.  
  565. 1.10e (not released)
  566.  
  567. 1.10d (940527)
  568.  
  569. -  --more-- prompting should accept single character responses again, for
  570.     tip and telnet users.  Use space to advance to next page, CR for next
  571.     line, and q to quit.
  572.  
  573. -  MC/MM commands now accept a pathname as well as an area, for the sysop.
  574.  
  575. -  more tests to eliminate unproductive forwarding connects.  Additional
  576.     logging of mbox exits.
  577.  
  578. -  locking change to help assure the index files stay in sync.
  579.  
  580. -  MBOX now remembers your position and msg status (eg, delete) when
  581.     new msgs arrive.
  582.  
  583. -  G8FSL's multitask change applied.
  584.  
  585. -  morecore will accurately report memory status when it fails, and will
  586.     not log allocation failed messages as frequently.
  587.  
  588.  
  589.  
  590. 1.10c (940417)
  591.  
  592. -  param <iface> rcvmode <n>
  593.     will now set the receive mode for a packet driver <iface>,
  594.     where <n> is one of the following
  595.  
  596.     1     turn off receiver
  597.     2     receive only packets sent to this interface
  598.    *3     mode 2 plus broadcast packets  *DEFAULT*
  599.     4     mode 3 plus limited multicast packets
  600.     5     mode 3 plus all multicast packets
  601.     6     all packets
  602.  
  603.     This is primarily useful for tracing the ethernet (mode 6), or for
  604.     limiting the amount of packets jnos sees (mode 2, combined with the
  605.     appropriate hardcoded arp entries for a gateway, etc... so that
  606.     ip routing still works, since mode 2 basically disables the arp
  607.     mechanism.)
  608.  
  609. - turning off watchdog while shelled out without multitask on, fixes reboots
  610.   after 5 minutes
  611.  
  612. - 'convers channel' sets or shows the default channel for users
  613.  
  614. - 'rewrite <address>' will show the result of the mail rewrite process
  615.   (from an idea of Doug Crompton, wa3dsp)
  616.  
  617. - '-i' startup option forces all index files to be rewritten at startup
  618.  
  619. - one more forward.c usesock() fix.
  620.  
  621. - 'remote' command socket hanging around fixed.
  622.  
  623. - tipmail ^R echo fixed.
  624.  
  625. - clean up of a lot of compiler warnings.
  626.  
  627.  
  628.  
  629. 1.10b (940318)
  630.  
  631. - forward code caused screen output socket to be lost at time; fixed
  632.   (from n5knx)
  633.  
  634. - socket reference count fix in session.c
  635.  
  636. - a message sent to 'call' from the bbs, that gets rewritten to a different bbs
  637.   is now forwarded as 's call < from' instead of 's call @ call < from'
  638.  
  639. - keyboard process stack size increased to 512.
  640.  
  641. - bugfix in ax25 recover timer for retry counts exceeding the backoff limit.
  642.  
  643. - forward.c bid mangling bug fix (creeped into 1.10a trying to fix long msg-id's).
  644.  
  645. - bug fix in netrom socket code that crashed system when a netrom mailbox
  646.   connect came in.
  647.  
  648.  
  649. 1.10a (940309)
  650.  
  651. - alias commands show in the node prompts if turned on with
  652.   'mbox showalias on'
  653.   (They show before the ? in the short prompt, eg BBS,TEST,?,B,C,...
  654.    and on a separate line in the long prompt. )
  655.  
  656. - status window is disabled while shelling out with multitask enabled.
  657.  
  658. - status window netrom session timer fixed.
  659.  
  660. - ftp server and client now use the 'SYST' command to get remote system type.
  661.  
  662. - pathname.c code fixed for single character filenames. Eg. 'dir t' now works.
  663.  
  664. - bbs more prompt works with help, areas, and motd and register text info
  665.   files.
  666.  
  667. - ax25 recovery timer fixed (from n5knx).
  668.  
  669. - alt-f11 works as fkey (fix from n5knx).
  670.  
  671. - ftp mput fixed. (from kc2ct).
  672.  
  673. - forward bid protected against long bids. Error return code on
  674.   some file opens checked. From Jim Dugal, N5KNX.
  675.  
  676. - bug fix in echo server.
  677.  
  678. - finished SAM callbook support. Not in regular distribution executable.
  679.   Define SAMCALLB in config.h  Also fixed a bug for Club call license class.
  680.  
  681.  
  682.  
  683. 1.10 (940228)
  684.  
  685. - JNOS now has a status display. This shows on the first line:
  686.   time, heap and core free memory, number of connections to the
  687.   different servers. Then a list of active sessions, where sessions with
  688.   data waiting are blinking.
  689.  
  690.   The 2nd line shows the users connected to the bbs. A status symbol
  691.   in front means the following:
  692.  
  693.   none - user is idle
  694.      * - user is a bbs
  695.      @ - user is in sysop mode
  696.      ! - user has gatewayed out
  697.      # - user is reading or sending mail
  698.      = - user is transfering data (up/download)
  699.      ^ - user is in convers or sysop-chat mode
  700.      ? - use is in none of the above, but not idle...
  701.  
  702.   Eg: BBS: *w0rli johan #ka7ehk !n7ifj
  703.  
  704.   (lines 1 and 2 are the 'system' window)
  705.  
  706.   On the 3rd line, it shows data depending on the current session.
  707.   Always displayed are the current session number and type.
  708.   If the sessions are network connections, displayed are remote connection
  709.   name,  tx-queue (bytes for tcp, packets for ax.25), state of the connection.
  710.   It then shows the retry timer, with current time left, and initial value.
  711.  
  712.   In repeat, more or look sessions, the 3rd line show the command, filename
  713.   or user/socket for the session.
  714.   In the command session 3rd line shows the current directory.
  715.  
  716.   (the 3rd line is the 'session' window)
  717.  
  718.   
  719.   The number of status lines displayed can be set with the '-u#'
  720.   commands line option. '-u0' turns it off. Default is '-u3'
  721.  
  722.   NOTE: if tracing is enabled, this will 'bleed' through the status window.
  723.   This is NOT a bug, but is inherent to the way tracing works in JNOS.
  724.   (It would take a major rewrite to fix.) The status window will be
  725.   rebuild about twice a second to overcome this.
  726.  
  727. - new commands line option to set colors of the different windows
  728.     (Only if SPLITSCREEN is compiled in !)
  729.  
  730.     -wf+b : set the foreground and background color for the 'system' window
  731.             (The top 2 lines of the display, if not disabled with -u option)
  732.             default: white on magenta
  733.     -xf+b : set the foreground and background color for the 'session' window
  734.             (The line underneath the 'system' window, if not
  735.              turned off with the -u option)
  736.              default: white on blue
  737.     -yf+b : set the foreground and background color for the 'main' window
  738.             (The session output window)
  739.             default: the system colors when jnos is started.
  740.             (most often lightgray on black)
  741.     -zf+b : set the foreground and background color for the 'split' window
  742.             (The text input window in 'split screen' mode);
  743.             default: white on green
  744.  
  745.     The 'system','session' and 'split' window always have the 'high intensity'
  746.     bit set in the color attribute. This allows those windows to stand out
  747.     on monochrome systems.
  748.  
  749.     f and b colors are numbers, and + is the + character:
  750.     0=black 1=blue 2=green 3=cyan 4=red 5=magenta 6=brown 7=white/gray
  751.  
  752.     EG: for blue text on a red background for the 'main' window,
  753.         nos -y1+4
  754.     To have this, with black text on white background 'system' system window,
  755.         nos -y1+4 -w0+7
  756.  
  757. - new 'look' command. You can now peek into a user on the bbs, or any non
  758.   local socket. If looking at a bbs user, you can initiate a 'chat' with
  759.   the user...
  760.  
  761.   'look <user|socket#>' will bring up a window that follows the user
  762.   or socket.
  763.  
  764.   There are a few commands available:
  765.   /? or /h - will show a sort help line
  766.   /m <msg> - send a message to the user. User sees: '<sysop>: message text'
  767.              (only if looking at a bbs user)
  768.   /c       - initiate a 'chat' with a bbs user. The bbs will suspend, and
  769.              you can talk with the user.
  770.   /q or /b - if in 'chat' mode, finishes it, and dumps the user back in the bbs.
  771.              if in 'look' mode, finishes looking at the user/socket.
  772.  
  773.    Note: if not in 'chat' mode, all non-command strings will be ignored.
  774.  
  775.    Looking at non-bbs socket might be helpful debugging things, or seeing
  776.    what an ftp user or a smtp user is doing. Note that often you don't see
  777.    what you expect: eg. ftp user sockets don't show the data transfered,
  778.    including directory listing, because this occurs on a separate socket
  779.    (ie. not seeing it is NOT a bug, for once...8-) )
  780.  
  781. - no limit (other then memory) to the number of sockets in the system.
  782.   (command line option -s is not used anymore !)
  783.  
  784. - 'netrom interface' command changed a bit:
  785.   new format 'netrom interface <iface> <quality> [<min-bc-quality>]'
  786.   If min-bc-quality is not set, the 'netrom minquality' value is used.
  787.  
  788.   Only routes of the min-bc-quality and better will be broadcast in a
  789.   nodes broadcast in this interface. If min-qual = 0, no nodes are broadcast
  790.   (Ie. this is the non-verbose mode of versions < v1.10)
  791.   Eg:  netrom interface ax0 224 180  -> nodes >= 180 are broadcast
  792.        netrom interface ax0 224 0    -> only ourself is broadcast
  793.        netrom interface ax0 224      -> nodes >= 'minquality' are broadcast
  794.  
  795. - Polled Kiss support (included in 1.10x11) now works. It has been tested
  796.   with a KPC-3 with polled kiss eprom. The parameters needed in the tnc
  797.   are CHECKSUM ON,MYDROP <tnc id>,POLLED ON, INTERFACE BPQ, then a RESET
  798.  
  799. - protection against opening device files like CON,AUX, etc (as 'advertized'
  800.   in 1.08) now works. Ie. no more lockup when fingering 'con' etc...
  801.  
  802. - the trace session (F9) now doesn't take any extra sockets. Also, you can
  803.   now issue commands in the trace session...(I have No Idea what that is good
  804.   for :-) 8-) )
  805.  
  806. - new mailbox 'XR' command. Shows or sets 'reply-to' header status.
  807.   Default is off. 'XR' shows state, 'XR on|off' sets the state.
  808.   If turned on, and user has registered an email address, messages sent by
  809.   this user will include a 'Reply-To: email-address' line. The state is
  810.   'remembered' across logins/logouts.
  811.  
  812. - new mailbox 'PIng <host>' (from Doug Crompton, WA3DSP)
  813.   Check if a host is alive. Returns RTT.
  814.  
  815. - new PI driver from Dave Perry, VE3IFB
  816.  
  817. - bug fix in 'ax25 bbscall' if used after non-ax25 interfaces were attached.
  818.  
  819. - bug fixes for local tcp links, and also for the heapsize memory value,
  820.   for ftp login 'anonymous ok' message, and for filename creation effecting
  821.   the ftp server, and mailbox d,u,w&z commands.
  822.  
  823. - fixed long time bug in scc driver allowing an already existing interface
  824.   name to be used again.
  825.  
  826. - fix in smtp tick for low memory conditions. From Andrew Benham, G8FSL
  827.  
  828. - mailbox negiotiates a few telnet options. From Wayne Schellekens, VE4WTS.
  829.  
  830. - 'icmp timeexceed [<on|off>]. Default is on. If turned off, no ICMP
  831.   'time exceeded'message will be sent when the ttl of an ip packet to be
  832.   routed becomes 0. This causes the system to be 'invisible' for
  833.   traceroutes, and might be useful for Internet gateways.
  834.  
  835. - 'mbox alias [<alias>] ["cmd"]' sets or shows alias commands for the
  836.   mailbox. To use an alias, the user has to type the FULL alias. Instead
  837.   of <alias>, <cmd> will be executed by the node. In the mailbox,
  838.   a user can type 'ALIas' to get a list of sysop-defined aliases.
  839.  
  840.   Without arguments, it shows the current aliases.
  841.   With only the <alias> argument is show this alias, if defined.
  842.   With <cmd> is add, redefines or clears an alias.
  843.   Eg. to add a new 'BBS' command to the node shell:
  844.         mbox alias bbs "c port bbscall"
  845.         mbox alias sysop "@"            -> allow 'sysop' command
  846.   Or to override the CONV command (or add one if you don't have convers
  847.   compiled in) and letting users use a remote convers system :
  848.         mbox alias conv "t <conv.serv.ampr.org> 3600"
  849.   to delete an alias
  850.         mbox alias myalias ""
  851.   or to change, simply redefine it
  852.         mbox alias bbs "c newport newbbscall"
  853.  
  854. - mailbox 'operator' is now sends a message to the sysop identifying
  855.   the user that initiates the 'sysop-chat'
  856.  
  857. - bug fixed from x16:
  858.   - forward subject line
  859.   - mailbox 'd,u,w,z' commands work correct with multiple paths
  860.  
  861. - 'callserver' and mailbox 'CAll' command are gone !
  862.   This can be defined with an alias (saves code !):
  863.   eg:  mbox alias call "telnet callserverhost callserverport"
  864.  
  865. - 'fkey' will now list all keys with their definition
  866.     (S=Shift, C=Control, A=Alt. Eg. SPgup = Shift Page-Up)
  867.  
  868. - ftp server sends 'anonymous login ok' message to user names that will
  869.   resolve into anonymous, unknown or unprotected (ie. password = *) logins.
  870.   This was in 1.10x16, but undocumented.
  871.  
  872. - a new nntp server is included from OH2BNS. *** This is UNTESTED *** I've
  873.   only made sure it compiles clean.! If it doesn't work, copy nntpsold.c to
  874.   nntpserv.c, and rebuild !
  875.  
  876.   From OH2BNS:
  877.  
  878.   This file describes my modifications to the NNTP server code in JNOS.
  879.  
  880.   The server now supports all forms of all RFC977 commands except NEWGROUPS.
  881.   The most significant change is that POST command now works. Changes to
  882.   other commands are less significant but still vital to get the server
  883.   to work with "third-party" newsreaders. Also supported are XHDR, XOVER,
  884.   XINFO, XLZW and DEBUG of which XHDR and XOVER are new commands.
  885.   The modifications were made under JNOS 1.10x12 and 1.10x15 and tested
  886.   also under JNOS/Linux 1.09 alpha 2 and 3. The code works as is on all
  887.   these versions.
  888.  
  889.   Here's a short list of the modifications I remember doing...
  890.  
  891.   - Fixed LIST
  892.  
  893.   - Implemented <MessageId> form of STAT, HEAD and BODY commands
  894.  
  895.   - Implemented POST
  896.  
  897.   - Posting to unexisting newsgroups now denied.
  898.     If message has no valid newsgroups in "Newsgroups:"-header
  899.     the message ends up in JUNK (= spool/news/forward).
  900.  
  901.   - Added console command 'nntp create' to create new newsgroups.
  902.     Usage is 'nntp create <newsgroup> [y|n]' where 'y' means
  903.     that you can post to this group.
  904.  
  905.   - Cleaned output of HELP
  906.  
  907.   - Implemented XHDR and XOVER.
  908.     Command syntax is XHDR header [range|MessageId] and XOVER [range]
  909.     These don't handle continuation headers correctly and XOVER isn't
  910.     fully implemented (I don't even know what all the last field
  911.     may contain).
  912.  
  913.   - The server now checks incoming message headers more strictly.
  914.     All incoming articles should have from, subject and newsgroups.
  915.     If the article is submitted with IHAVE it should have also
  916.     message-id, path and date. Empty headers are removed. Xref,
  917.     date-received, posted, posting-version, received and relay-version
  918.     headers are removed. Date, path, message-id and lines headers
  919.     are added if needed.
  920.  
  921.   - Message-id now checked against embedded whitespaces and >'s.
  922.  
  923.   - History file is locked during article transfers
  924.  
  925.   - Implemented nntp access feature. This can be toggled with
  926.     'nntp access on|off'. File spool/news/access is read and
  927.     connected host is given read, post or no access according to it.
  928.  
  929.     # Example file /spool/news/access
  930.     #
  931.     # Only first match is counts
  932.     #
  933.     # host:permissions:
  934.     #
  935.     # For some reason we don't want this host here
  936.     notwanted.ampr.org::
  937.     #
  938.     # All other ampr.org hosts can read and post
  939.     *.ampr.org:RP:
  940.     #
  941.     # Host foobar.com can only read
  942.     foobar.com:R:
  943.     #
  944.     # All other hosts will be refused access
  945.  
  946.   - Small fixes here and there, can't remember all of them...
  947.  
  948.   As soon as I find enough time and enthusiasm I will look into adding
  949.   handling of cancel messages and maybe some sort of nntp message
  950.   logging.
  951.  
  952.   All this is not very rigorously tested since tcp/ip activity here is
  953.   very low. The code seems to work just fine with newsreaders such as
  954.   WinQVT/Net's newsreader and GNUS (under Gnu Emacs).
  955.  
  956.   73 de Tomi
  957.  
  958.   Tomi Manninen            tomi.manninen@hut.fi
  959.   OH2BNS@OH2RBI.FIN.EU     oh2bns@oh2bns.ampr.org [44.139.8.46]
  960.  
  961. - added RIP-2 from Jeff White, N0POY
  962.   (not in the standard distribution. Define RIP in config.h)
  963.  
  964.     RIP-2 for NOS
  965.  
  966.     Introduction
  967.  
  968.     This document covers the implementation of RIP-2 (RFC 1388) in
  969.     NOS.  Specifically the WG7J version of NOS.  RIP-2 is an
  970.     enhanced version of the RIP protocol (RFC 1058).  RIP and RIP-2
  971.     are an interior gateway protocol (IGP).  RIP-2 for NOS was
  972.     implemented by Jeff White, N0POY.
  973.  
  974.     FEATURES
  975.  
  976.     The NOS implementation implements all features of the normal RIP
  977.     protocol (RFC 1058) and all features of the RIP-2 protocol (RFC
  978.     1388) except multicasting (which NOS does not currently
  979.     implement) and Route Tags (NOS does not implement any EGPs).
  980.     Features include:
  981.  
  982.     Routing Domains
  983.  
  984.     Authentication
  985.  
  986.     Proxy routing
  987.  
  988.     Filtering of naughty nodes
  989.  
  990.     Optional refusal of a default route
  991.  
  992.     Enhanced logging and tracing
  993.  
  994.     Route subnet masks correctly maintained
  995.  
  996.     Optional refusal to accept older RIP version broadcasts
  997.  
  998.     Mixing of RIP-1 and RIP-2 support
  999.  
  1000.  
  1001.     NOS RIP COMMANDS
  1002.     ----------------
  1003.  
  1004.     RIP ACCEPT <gateway>
  1005.  
  1006.     The RIP ACCEPT command resumes the acceptance of RIP broadcasts
  1007.     from a specific node given in the <GATEWAY> field.  Ex:  RIP
  1008.     ACCEPT 192.55.248.1  or   RIP ACCEPT skeggi.tcman.ampr.org
  1009.  
  1010.     RIP ADD <DEST> <INTERVAL> [<FLAGS>] [<RIPVER>] [AUTH <PASSWORD>]
  1011.     [RD <routing domain>]
  1012.  
  1013.     The RIP ADD command adds a node to the list of stations that are
  1014.     to be broadcast to with the local nodes routing table.  <DEST>
  1015.     is the destination node, usually a broadcast address.
  1016.     <INTERVAL> is the number of seconds between broadcasts.  <FLAGS>
  1017.     are the RIP flags used (see below for the flags), it is a
  1018.     hexadecimal number.  <RIPVER> is the version of the RIP
  1019.     broadcasts.  This may be a 1 or 2.  The AUTH identifier preceeds
  1020.     the authentication password to be included with the RIP
  1021.     broadcasts to this destination.  The RD identifier preceeds the
  1022.     routing domain number.  This number must range from 0 to 65535.
  1023.     The authentication fields and routing domain fields are only
  1024.     valid with RIP-2 broadcasts.  The password must be 16 characters
  1025.     or less.  Printable ASCII characters are recommended, but not
  1026.     required.
  1027.  
  1028.     RIP FLAGS
  1029.  
  1030.     0x01    Do split horizon processing
  1031.  
  1032.     0x02    Include ourselves in the routing broadcast
  1033.  
  1034.     0x04    Broadcast RIP packets (default type)
  1035.  
  1036.     0x08    Multicast RIP packets (not implemented) (RIP-2)
  1037.  
  1038.     0x10    Poisoned Reverse on
  1039.  
  1040.     0x20    Authentication data to be included in broadcast (RIP-2)
  1041.  
  1042.     Recommend flags are Split Horizon, and Poisoned Reverse or 0x11.
  1043.      Authentication and routing domain data entered here only
  1044.     applies to the outgoing RIP broadcasts.  See RIP AUTHADD and RIP
  1045.     AUTHDROP for entering acceptable passwords and routing domains.
  1046.  
  1047.     Example:    RIP ADD SKEGGI.TCMAN.AMPR.ORG 30 0x31 2 AUTH frodo RD
  1048.     2
  1049.  
  1050.             RIP ADD BIGGUS.TCMAN.AMPR.ORG 300 0x11 1
  1051.  
  1052.     RIP PROXY <SRC> <DEST> <INTERVAL> [<FLAGS>] [AUTH <PASSWORD>]
  1053.     [RD <ROUTING DOMAIN>]
  1054.  
  1055.     The RIP PROXY command adds a node to the list of stations that
  1056.     are to be broadcast to with the local nodes routing table.
  1057.     <SRC> is the node that the broadcast will "point" to.  <DEST> is
  1058.     the destination node, usually a broadcast address.  <INTERVAL>
  1059.     is the number of seconds between broadcasts.  <FLAGS> are the
  1060.     RIP flags used (see below for the flags), it is a hexadecimal
  1061.     number.  The AUTH identifier preceeds the authentication
  1062.     password to be included with the RIP broadcasts to this
  1063.     destination.  The RD identifier preceeds the routing domain
  1064.     number.  This number must range from 0 to 65535.  The
  1065.     authentication fields and routing domain fields are only valid
  1066.     with RIP-2 broadcasts.  The password must be 16 characters or
  1067.     less.  Printable ASCII characters are recommended, but not
  1068.     required.
  1069.  
  1070.     RIP FLAGS
  1071.  
  1072.     0x01    Do split horizon processing
  1073.  
  1074.     0x02    Include ourselves in the routing broadcast
  1075.  
  1076.     0x04    Broadcast RIP packets (default type)
  1077.  
  1078.     0x08    Multicast RIP packets (not implemented) (RIP-2)
  1079.  
  1080.     0x10    Poisoned Reverse on
  1081.  
  1082.     0x20    Authentication data to be included in broadcast (RIP-2)
  1083.  
  1084.     Recommend flags are Split Horizon, and Poisoned Reverse or 0x11.
  1085.      Authentication and routing domain data entered here only
  1086.     applies to the outgoing RIP broadcasts.  See RIP AUTHADD and RIP
  1087.     AUTHDROP for entering acceptable passwords and routing domains.
  1088.  
  1089.     Proxy RIP is tricky, complex and not needed for normal use.  Do
  1090.     NOT use proxy rip unless you understand what you are doing.
  1091.     Proxy RIP's primary use would be to advertise routes to another
  1092.     machine that is aquiring routing information via another routing
  1093.     protocol.  See RFC 1388 for further details.
  1094.  
  1095.     RIP DROP <dest> [<DOMAIN>]
  1096.  
  1097.     RIP DROP removes a routing broadcast entry.  If a RIP-2
  1098.     broadcast was entered, the correct routing domain needs to be
  1099.     entered, since it is possible to broadcast multiple routing
  1100.     domains to the same address.
  1101.  
  1102.     Example:  RIP DROP SKEGGI.TCMAN.AMPR.ORG 2
  1103.  
  1104.     RIP AUTHADD <interface> <routing domain> [<password>]
  1105.  
  1106.     RIP AUTHADD adds an acceptable routing domain and optionally a
  1107.     password to a specific interface.
  1108.  
  1109.     Example:    RIP AUTHADD ax0 2 frodo
  1110.  
  1111.             RIP AUTHADD en0 3
  1112.  
  1113.     RIP AUTHDROP <interface> <routing domain>
  1114.  
  1115.     RIP AUTHDROP removes an acceptable routing domain (and password
  1116.     if any) from a specific interface.
  1117.  
  1118.     Example:    RIP AUTHDROP ax0 2
  1119.  
  1120.     RIP REJECT <version>
  1121.  
  1122.     RIP REJECT is used to ignore older RIP broadcasts, as they may
  1123.     cause undesirable routing table alterations.  The version number
  1124.     is the version number and below that are ignored.  RIP version 0
  1125.     (XNS RIP) is always ignored.  The default is 0.  To ignore RIP-1
  1126.     broadcasts:  RIP REJECT 1 would do the job.
  1127.  
  1128.     RIP FILTER <ON|OFF>
  1129.  
  1130.     RIP FILTER will cause advertisements to the default route
  1131.     (0.0.0.0) to be tossed and ignored.  By default this is off.
  1132.     This can serve as a LID filter.  Default routes should NOT be
  1133.     advertised, unless there is a specific reason (ie this machine
  1134.     is a gateway to the rest of the Internet).
  1135.  
  1136.     RIP MERGE <ON|OFF>
  1137.  
  1138.     RIP MERGE will cause overlapping routing entries to be merged
  1139.     into one routing entry.  For example N0BEL.TCMAN.AMPR.ORG is a
  1140.     route to 192.133.30.0/28, and 192.133.30.16/28, with merging on
  1141.     this would become a single entry of 192.133.30.0/27.
  1142.  
  1143.     RIP REFUSE <gateway>
  1144.  
  1145.     RIP REFUSE will reject all RIP broadcasts from the GATEWAY
  1146.     station.  RIP ACCEPT is the opposite.  By default all stations
  1147.     are accepted.
  1148.  
  1149.     RIP REQUEST <GATEWAY>
  1150.  
  1151.     RIP REQUEST asks the gateway station to send a routing table
  1152.     now, rather than waiting for periodic updates.
  1153.  
  1154.     RIP STATUS
  1155.  
  1156.     RIP STATUS will display various statistics for RIP-1 and RIP-2,
  1157.     RIP broadcasts, RIP refusals, and acceptable Interface, Domain
  1158.     and Password combinations.  It also displays the refusing
  1159.     version level.  The DEFAULT interface is for every interface.
  1160.     Thus unless removed, and RIP-2 broadcast with a domain of 0 does
  1161.     not require a password and will be accepted.
  1162.  
  1163.     RIP TRACE <level> [<FILE>]
  1164.  
  1165.     RIP TRACE will begin tracing RIP operations.  The higher the
  1166.     level, the more detailed the logging.  Level 9 is the useful
  1167.     maximum, with level 0 (the default) being no logging.  If a file
  1168.     is specified, logging will go to that file, else logging appears
  1169.     on the console.
  1170.  
  1171.     RIP TTL <time-To-LIVE>
  1172.  
  1173.     RIP TTL sets the time-to-live before RIP entries expire from the
  1174.     routing tables.  The default should work for almost all cases.
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182. 1.10x16 (930208)
  1183.  
  1184. - ftpuser permission added NO_LINKEDTO is 262144. If set, this disables
  1185.   the use of the '*** LINKED TO'. This solves a security hole. It should
  1186.   probably be added to the 'univperm' entry in your ftpuser file, and
  1187.   any other appropriate entries.
  1188.  
  1189. - mailbox convers access is now with 'CONVers' command. 'CONV' gets the
  1190.   user to channel 0, and 'CONV n' to channel n.
  1191.  
  1192. - starting tcp servers doesn't create a new process anymore (ie. they don't
  1193.   show up in the 'ps' display anymore !) This is now handled in the network
  1194.   process. From KA9Q.
  1195.  
  1196. - 'mem minalloc' sets minimum number of bytes to allocate per malloc() call.
  1197.   Setting this to a sensable value like 32 or 64 might prevent too much
  1198.   memory fragmentation for the realloc scheme to work effectively.
  1199.   Default = 0, ie no minumum allocation size;
  1200.  
  1201. - forwarding speed is fixed. It now takes a few seconds to scan through
  1202.   300+ messages to check on forwarding, instead of several minutes...
  1203.  
  1204. - added command line -e and -t options for autoexec.nos debugging.
  1205.   -e pauses after lines with errors. -t asks if you want to execute a line
  1206.   before it is processed. 'y' executes, anything else skips the line.
  1207.  
  1208. - all *.lck in the /spool/mail directory now get deleted at startup. This
  1209.   can be turned off with the '-l' command line option.
  1210.  
  1211. - a new file '/spool/names.dat' is read when mailbox messages are sent.
  1212.   If the file exists, and if the user's login name (most often the call)
  1213.   is found, the user's full name is used in the 'From:' line of the message
  1214.   (modified from code by Pierpaolo IW5DHE (pernici@mammolo.cnuce.cnr.it) )
  1215.  
  1216.   EG. in names.dat 'wg7j Johan. K. Reinalda', then a message sent by wg7j
  1217.   in the mailbox will show :
  1218.   From: Johan. K. Reinalda <wg7j@hostname>
  1219.  
  1220. - config.h gives the option for end forwarding with Ctrl-Z instead of /EX
  1221.   This has caused a problem with forwarding by some European systems.
  1222.  
  1223. - in the mailbox, if an email address has been given during registration,
  1224.   messages sent will include a 'Reply-To: ' header with this address.
  1225.  
  1226. - mailbox registration (if compiled in) can be disable with
  1227.   'mbox register off'. It defaults to on.
  1228.  
  1229. - ALL AX.25 parameters are now configurable per interface. The 'ax25 xxx'
  1230.   command sets the default values, and the 'ifconfig <iface> ax25 xxx' command
  1231.   sets or shows the interface specific values. (Note that some commands,
  1232.   eg. 'ifconfig iface paclen' have changed format ! These are marked with *)
  1233.   'ifconfig <iface> ax25' shows all values. The new commands are:
  1234.   ifconfig <iface> ax25 bbscall *
  1235.                         bctext *
  1236.                         blimit
  1237.                         cdigi *
  1238.                         irtt *
  1239.                         maxframe
  1240.                         maxwait -> new, sets max retry time-out value in ms.
  1241.                         paclen *
  1242.                         pthresh
  1243.                         retry
  1244.                         timertype
  1245.                         t3
  1246.                         t4
  1247.                         version
  1248.                         window
  1249.  
  1250.   NOTE: as a result of this 'iconfig' NO LONGER takes multiple subcommands
  1251.   on one line. They have to be broken up now !
  1252.   eg. 'ifconfig ln0 netmask ffffff00 broadcast 255.255.255.255' is invalid,
  1253.   should be 'ifc ln0 net ffffff00' and 'ifc ln0 broad 255.255.255.255' !
  1254.  
  1255.   NOTE2:
  1256.   If you want to change the system default ax.25 parameters, you now need
  1257.   to do so BEFORE attaching interfaces! (Eg. ax25 irtt 2500) After attaching,
  1258.   you should use the 'ifconfig <iface> ax25' command to change it per
  1259.   interface.
  1260.  
  1261.  
  1262. - Most TCP parameters are now configurable per interface. The 'tcp xxx'
  1263.   command sets the default values, and the 'ifconfig <iface> tcp xxx' command
  1264.   sets or shows the interface specific values. The new commands are:
  1265.   ifconfig <iface> tcp blimit
  1266.                        irtt
  1267.                        maxwait
  1268.                        mss
  1269.                        retries
  1270.                        syndata
  1271.                        timertype
  1272.                        window
  1273.  
  1274.   Outgoing TCP connections get the values for the interface the initial
  1275.   sync packet ('connect request') will be routed out on. Incoming TCP
  1276.   connections get the values for the interface the initial request comes
  1277.   in on.
  1278.  
  1279.   NOTE: as a result of this 'iconfig' NO LONGER takes multiple subcommands
  1280.   on one line. They have to be broken up now !
  1281.   eg. 'ifconfig ln0 netmask ffffff00 broadcast 255.255.255.255' is invalid,
  1282.   should be 'ifc ln0 net ffffff00' and 'ifc ln0 broad 255.255.255.255' !
  1283.  
  1284.   NOTE2:
  1285.   If you want to change the system default tcp parameters, you now need
  1286.   to do so BEFORE attaching interfaces! (Eg. tcp window 512) After attaching,
  1287.   you should use the 'ifconfig <iface> tcp' command to change it per
  1288.   interface.
  1289.  
  1290.  
  1291. - added core reallocation code, modified from TNOS (KO4KS)
  1292.   If possible, memory is given back to the DOS core.
  1293.  'mem stat' will show the number of successful reallocs.
  1294.  
  1295. - 'tcp maxwait' and 'ax25 maxwait' added. Sets a limit (in ms) to the
  1296.   retry timeout values. Both default to 0 ms (no limit).
  1297.  
  1298. - outgoing tcp connections to addresses without an existing route result
  1299.   in an error no. 19
  1300.  
  1301. - 'ftpusers' can now have multi drives, paths and permission sets.
  1302.   A path can be compound, like dos path, can contains multiple drives, and
  1303.   should be followed by the permissions for that path.
  1304.   Mailbox logins get permission from the first path listed in 'ftpusers'
  1305.   (ie. backwards compatible.)
  1306.   Fields in ftpusers can now be separated by any number and combination
  1307.   of tabs and spaces.
  1308.   NOTE: PPP users should at this NOT have multiple path entries ! (It messes up
  1309.   the ip-address field!)
  1310.   Eg:
  1311.   user  password  /public 12345 /temp;d:/help   12345
  1312.  
  1313. - fixed bug in pathname.c that could cause memory to be overwritten in
  1314.   instances where filenames contained '\' chars.
  1315.  
  1316. - fixed bug in pop 2/3 code where new mail wasn't written unless
  1317.   mailbox file existed.
  1318.  
  1319. - bug fix for empty names in smtp <usr@host> addresses.
  1320.  (caused loop in smtp server). From Matthias Wermann, DL1BJL.
  1321.  
  1322. - Smtp BID checking can be turned off with 'smtp bidcheck off'. Default is on.
  1323.  
  1324. - convers users get a 'message of the day' from the file "/spool/convmotd.txt"
  1325.   if it exists. (Can be renamed with the -fnos.cfg option)
  1326.  
  1327. - many mods from n5knx
  1328.  
  1329. - smtp kick now spawns a process (speeds up response)
  1330.  
  1331. - mbox forward scripts can pause a number of seconds: '&5' pauses 5 seconds
  1332.  
  1333.  
  1334.  
  1335. 1.10x15 (931204)
  1336.  
  1337. - if mailbox files have an old or nonexisting indexfile,
  1338.   new index files are now automatically updated at program startup
  1339.   and after returning from shell. (From an idea by Jack, kf5mg)
  1340.  
  1341.   ==> You can now use ANY MAILER you want !
  1342.  
  1343. - 'index *' indexes all mailbox files, irregardless.
  1344.  
  1345.  
  1346. 1.10x14 (931202)
  1347.  
  1348. - bug fix in expire code that caused mail from non-nos systems
  1349.   to be garbled after expire.
  1350.  
  1351. - bug in forward code with 'to%atbbs@host' style messages fixed.
  1352.  
  1353. - ax.25 irtt (initial round trip time) can be set per interface
  1354.   with 'ifconfig <iface> axirtt nnnn', where nnnn is the irtt in ms.
  1355.   This is useful when you have low and high speed interfaces.
  1356.  
  1357. - remote command fixed.
  1358.  
  1359. - convers personal data is now limited to 32 characters.
  1360.  
  1361. - added new PI driver with support for PI2 (from ve3ifb)
  1362.  
  1363.  
  1364. 1.10x13 (931031)
  1365.  
  1366. - fixed alarm() bug in mailbox2.c
  1367.  
  1368. - fixed '.' access problem in ftpserv.c
  1369.  
  1370. - fixed printf's -> tprintf's in bpq.c and bpqcmd.c
  1371.  
  1372. - fixed tprintf with no arguments in pppipcp.c
  1373.  
  1374. - deleted debug statement in nr3.c
  1375.  
  1376. - convers overload checking now done even if no links are initiated
  1377.  
  1378.  
  1379.  
  1380. 1.10x12 (931022)
  1381.  
  1382. - fixed bug in forward code that garbled addresses.
  1383.  
  1384. - also fixed 'mbox kick' bug and open index file in main.c (from kf5mg)
  1385.  
  1386.  
  1387.  
  1388. 1.10x11 (931011)
  1389.  
  1390. - 'taillog' command added.
  1391.  
  1392. - several memory leaks in use of index code fixed.
  1393.   (in initnotes(), mbx_reply(), closenotes(), and more...)
  1394.  
  1395. -
  1396.   *** DUE to a lack of hardware, this has not been tested, yet ***
  1397.  
  1398.   Polled KISS (ala G8BPQ) is now supported. When attaching the serial port
  1399.   use the mode 'pkiss' instead of 'ax25'. This becomes port 0. Then for
  1400.   all other tnc's on the same serial port, add an additional 'attach
  1401.   kiss' command. Eg. to attach 3 polled kiss tnc's(#0,2,11) at 9600bd:
  1402.  
  1403.     attach asy 3f8 4 pkiss p0 1024 256 9600
  1404.     attach kiss p0 2 p2
  1405.     attach kiss p0 11 p11
  1406.  
  1407.  The poll-intervall is calculated according to the asy interface mtu and
  1408.  the speed, with some overhead. This is the frequency in wich the list of
  1409.  tnc's is polled. Thus the frequency for each tnc is the interval * number-
  1410.  of-tnc's...
  1411.  
  1412.     interval = 0.15 + ((10 * mtu) / speed ) seconds
  1413.     poll-time = interval * #-of-tnc's
  1414.  
  1415.  (Eg. for 9600bd with mtu=256 , interval = 0.416 sec; rounded up to the
  1416.   nearest system clock tick gives 440ms; thus poll-time for each tnc is
  1417.   about 1.5 seconds)
  1418.  
  1419.   From G8BPQ's 'PORTS.DOC' document, I conclude that polled mode and checksum
  1420.   addition always go together (unlike the Kantronics tnc's that can switch
  1421.   things on and off independently...) This is how JNOS and JNOS40 polled kiss
  1422.   is implemented.
  1423.  
  1424.   From G8BPQ's 'KISSROMS.DOC' is some information on how to connect the tncs:
  1425. -------------- insert ----------------
  1426.   The system uses polling to prevent contention on the link. Each TNC must
  1427.   run the BPQKISS program, and each must have a different 'address' byte
  1428.   patched in at location 20hex...
  1429.   In theory you can have up to 16, but in practice the maximum will depend
  1430.   on the power of the PC and the speed of the radio ports.
  1431.   
  1432.   Wiring.
  1433.  
  1434.           PC              TNC 1           TNC 2
  1435.  
  1436.    GROUND  7 ---------------7----------------7-----------  etc
  1437.  
  1438.        TXD 2 ---------------2----------------2-----------  etc
  1439.  
  1440.        RXD 3 --------------------------------------------  etc
  1441.                              |               |
  1442.                              -               -
  1443.                              ^               ^
  1444.                              |               |
  1445.                              3               3
  1446.  
  1447.     -
  1448.     ^   is a diode (1N914 or similar)
  1449.  
  1450.  
  1451.     With some TNCs and serial cards, a pulldown resistor may be required
  1452.     from pin 3 on the PC (10k to -12v is suggested). Thanks to G3ZFJ for this
  1453.     information.
  1454. ----------------end of insert--------------
  1455.  
  1456.    For more information see the G8BPQ documentation.
  1457.  
  1458.  
  1459. - 'convers tdisc' added. Set maximum inactivity time (in seconds)
  1460.   for users.
  1461.  
  1462. - 'ftptdisc' and 'mbox tdisc' commands were rewritten, and are no longer
  1463.   options in the config.h file.
  1464.  
  1465.  
  1466.  
  1467. 1.10x10 (930927)
  1468.  
  1469. - smtp server has configurable timeout. 'smtp tdisc' sets this. Server will
  1470.   close if client doesn't send any data for specified time (in seconds).
  1471.  
  1472. - indexing is changed; now variable lenght records are used, to keep complete
  1473.   header info. The create utility is now MAIL2IND.EXE
  1474.  
  1475. - log files are changed: they are now named 'ddmmmyy' and are kept in
  1476.   the /logs directory by default (Unless changed with nos.cfg option).
  1477.   Ie. each day automatically gets a new log !
  1478.   Logging can be turned on/off with 'log on|off' (ie this does not set
  1479.   the log filename anymore !)
  1480.  
  1481. - forwarding when bbs already connected is fixed.
  1482.  
  1483. - mailbox 'KA' command added to 'Kill All' messages
  1484.  
  1485. - 'index <mailbox>' command added to rebuild the index file for a mailbox
  1486.   text file.
  1487.  
  1488. - convers '/w' command now can show info for one user with '/who <user>'
  1489.  (as long as <user> doesn't start with 'q', since this is a quick /who')
  1490.  
  1491. - many more config.h switches added.
  1492.  
  1493. - 'netrom call' buffer problem fixed.
  1494.  
  1495. - 'message.ftp' file now also works when ftp users login to root dir.
  1496.  
  1497. - mailbox list works with display > 80 columns
  1498.  
  1499. - little bug in expire fixed.
  1500.  
  1501. - extended telnet option negotiation might work now...
  1502.   You should define TN_KK6JQ in telnet.h to activate it.
  1503.  
  1504. - G8BPQ driver include; #define BPQ in config.h . Here is the read.me :
  1505. 4-12-93
  1506.  
  1507. here is an addition to nos that allows it to attach interfaces directly
  1508. to bpqcode without having to use the packet driver interface and
  1509. nodedrv4.com TSR. nos will talk to bpqcode using the bpq_host interrupt
  1510. code in version 4.00 and up of bpqcode. this eliminates the extra
  1511. memory and processing time used by nodedrv4.com to send packets between
  1512. nos and bpqcode.
  1513.  
  1514. this code was developed with nos v 911229 wg7j v1.07b. it should be
  1515. easily ported to other versions. it consists of three files: bpq.c,
  1516. bpq.h, and nos2bpq.doc (this file). there are several changes to
  1517. other files in nos that are needed. these changes are described
  1518. below.
  1519.  
  1520. usual disclamer:
  1521. the code described herein is copyright 1993 by FazCom. it may be freely
  1522. used and distributed for non-commerical amateur radio use only, provided
  1523. this notice remains, all other rights reserved. FazCom is not responsible
  1524. for any liability, directly or indirectly, resulting from the use of this
  1525. code, nor for its suitability to any purpose, stated or otherwise.
  1526.  
  1527. now that that's over with; use and enjoy.
  1528. ... faz ...
  1529.  
  1530. paul h launspach n5faz
  1531. 7913 edgemere blvd
  1532. el paso, tx 79925-3836
  1533. packet: n5faz @ w5es.#wtx.tx.usa
  1534. amprnet: n5faz@n5faz.ampr.org 44.77.0.70
  1535. internet: none
  1536. cis: 71046,0076
  1537.  
  1538.  
  1539. *** Commands for using the bpq host to nos interface:
  1540.  
  1541. attach bpq init <vec> <stream>
  1542. Used to initilize the bpqhost interface.
  1543.         vec     interrupt vector in hex of the bpq_host code normally 0x7f.
  1544.                 must be the same as defined in bpqcfg.txt.
  1545.         stream  bpq_host stream number used by nos. must be between
  1546.                 1 and 64 and not used by any other program. nos uses
  1547.                 only one stream for all interfaces attached to bpq_host.
  1548.  
  1549. attach bpq <port> <label> [mtu [callsign]]
  1550. Used to attach an interface to the bpq node.
  1551.         port    bpq radio port number as defined in bpqcfg.txt
  1552.         label   name of this interface.
  1553.         mtu     paclen for this interface. if not given set to
  1554.                 AX25 Paclen.
  1555.         callsign call used for this interface. if not given set to
  1556.                 AX25 Mycall.
  1557.  
  1558. bpqstat
  1559.  
  1560. display the status of the bpq_host to nos code. values displayed are:
  1561. bpq_host interrupt vector, bpq_host stream number, number of bpq_host
  1562. ports in use, frames sent, frames recieved, transmit calls, recieve
  1563. calls, and control calls.
  1564.  
  1565.  
  1566.  
  1567. - SCC driver has support for Baycom modem. From Rene Stange, dg0ft
  1568.   Here is some info:
  1569.  
  1570. NOS-Version 920411.DG0FT.920508  for BayCom USCC - Slotcard.
  1571.  
  1572. With this version of PE1CHL`s SCC-Driver for KA9Q-NOS it is possible to use
  1573. the BayCom-USCC-Slotcard.
  1574. Special changes to the sources for the clocks were adapted, NRZ-mode for the DF9IC-
  1575. Modem was made possible and the CTS-external status interrupt was switched
  1576. off, because the feedback of /CTS to the Interrupt output might crash
  1577. the system.
  1578.  
  1579. The ATTACH-command for the USCC is to be used as following:
  1580.  
  1581. attach scc 2 init 300 2 4 5 -4 0 7 p4915200 10
  1582.            ^      ^   ^ ^ ^  ^ ^ ^ ^        ^
  1583.            1)     2)  3)4)5) 6)7)8)9)       10)
  1584.  
  1585. 1) number of SCC-controllers 8530
  1586. 2) address basis of 1st controller
  1587. 3) offset in address between the SCC-Chips
  1588. 4) offset from basis address to control-port of channel A
  1589. 5) offset from basis address to control-port of channel B
  1590. 6) offset between control-port to data port of channel
  1591. 7) always 0, because no INTACK
  1592. 8) used Interrupt
  1593. 9) Clock 4915200 Hz
  1594. 10 always 10, marks BayCom USCC
  1595.  
  1596. Because of the used port-address scheme only one slotcard can be used.
  1597. Personalize parameters 2) and 8) to your system
  1598.  
  1599. When you have given above command you have to initialize the SCC-ports to
  1600. be used as following:
  1601.  
  1602. attach scc 0 ax25 uscc0 256 1200  1024 mycall
  1603. attach scc 1 ax25 uscc1 256 1200  1024 mycall
  1604. attach scc 2 ax25 uscc2 256 d9600 1024 mycall
  1605. attach scc 3 ax25 uscc3 256 ext   1024 mycall
  1606.            1)      2)   3)   4)   5)    6)
  1607.  
  1608. 1) number of USCC-port
  1609. 2) name of this port
  1610. 3) maximum packet length (MTU)
  1611. 4) kind of modem and baudrate
  1612. 5) size of buffer
  1613. 6) optional call for this channel
  1614.  
  1615. Definition of paramter 4):
  1616.  
  1617. 1200   AFSK-modem using internal SCC-clock and 1200 Bd
  1618.        (e.g. TCM3105-modem), no fullduplex operation
  1619.  
  1620. d9600  modem with external TX-clock, internal RX-clock 9600 Bd,
  1621.        fullduplex operation possible.
  1622.  
  1623. ext    DF9IC-modem, NRZ-mode, external clock
  1624.  
  1625. Parameter 2-6 have to be personalized as required
  1626.  
  1627. I just want to state, that this version was not completely tested,
  1628. especially modems with external clock (DF9IC/G3RUH) were not tested
  1629. or only in loopback-mode.
  1630.  
  1631. The parameter-setting sometimes is a little bit unusual, because
  1632. some of the data have to be set up in  fractions of 1/18.2s.
  1633. The PC-Timer chip is the reason for that. A recalculation might have
  1634. been possible, but I didn`t enjoyed to do that.
  1635.  
  1636. 73`s from Rene, Strausberg (GERMANY).
  1637. DG0FT  at DB0KG
  1638.  
  1639.  
  1640.  
  1641.  
  1642. 1.10x9 (930728)
  1643.  
  1644. - dos environment variables can be set to allow a login without using
  1645.   the ftpusers file. (This is very handy when this file gets corrupted!)
  1646.   NOSSYSOP sets username, NOSPASSWD the password, and optional NOSPATH the
  1647.   path, and optional NOSPRIVS the priveledges. If NOSPATH is not set, it will
  1648.   be the root dir on the current drive. If NOSPRIVS is not set it will be
  1649.   FTP_READ + FTP_WRITE + FTP_CREATE + AX25_CMD + NETROM_CMD + TELNET_CMD +
  1650.   SYSOP_CMD + IS_EXPERT . NOSPRIVS accepts both decimal and hexadecimal if
  1651.   "0x" preceeds the value.
  1652.  
  1653.   Eg: before starting JNOS: 'set NOSSYSOP=johan' and 'set NOSPASSWD=password'
  1654.  
  1655. - mailbox closenotes() is less a cpu-hogg ;-)
  1656.  
  1657. - convers servers is a little more memory efficient by not allocating input
  1658.   buffers for users on other hosts (saves 256 bytes per user)
  1659.  
  1660. - telnet extended options and dos environment TERM deleted because of
  1661.   reported problems. (If you want it anyhow, define TN_KK6JQ in telnet.h)
  1662.  
  1663. - expire stack increased again to solve crashes
  1664.  
  1665. - little bug fix in arp.c that caused replies with wrong ip address sometimes.
  1666.   by Mike Gallaher, wa3hee
  1667.  
  1668. - 'domain addserver' has optional timeout value in seconds for this server.
  1669.   if not set, timeout defaults to 3 * tcp irtt.
  1670.   Eg: 'domain addserver wg7j.ece.orst.edu 30'
  1671.  
  1672. - cdigi digipeating now only works if BOTH interfaces involved have a cdigi
  1673.   callsign set.
  1674.  
  1675. - bug that caused 'you have new mail' to be send to bbs's fixed.
  1676.  
  1677. - attempt to handle convers servers with hostname or usernames > 10 .
  1678.  
  1679. - mailbox 'K' or 'KU' command nowm kills or unkills current message if no
  1680.   message list is given.
  1681.  
  1682. - expire process is prevented against mulltiple invocations.
  1683.  
  1684. - G8BPQ logging was logging destination node, instead of source; now fixed.
  1685.  
  1686.  
  1687.  
  1688. 1.10x8 (930721)
  1689.  
  1690. - a version of BM.EXE with support for Mail Index Files is now included
  1691.   (initial version is 4.0x1. Still needs more work, but is functional)
  1692.   See the BM.EXE and BM4.ZIP files.
  1693.  
  1694. - if MAILBOX is undefined in config.h, but ALLSERV or TTYCALL is defined,
  1695.   incoming connections to telnet-port, or netrom/ax25 calls go to the
  1696.   tty-link listener...
  1697.  
  1698. - ax.25 convers and tty call connection now go directly to their server,
  1699.   and bypass the mailbox completely...
  1700.  
  1701. - many process stack sizes have been decreased to better utilize memory
  1702.  
  1703. - ftp server has additional information possibilities:
  1704.   if a file 'message.ftp' exists in the initial directory (eg. /public, or
  1705.   whatever), it will be send right after the login.
  1706.   When CD-ing, if a file 'desc.ftp' exists in the new directory, the
  1707.   server will send the text in this file to the user...
  1708.   From Giancarlo, IW5CZT.
  1709.  
  1710. - mailbox problem with smtp_send process solved; should fix a few
  1711.   unexpected disconnects here and there. From Mark, ve3dte
  1712.  
  1713. - 'status' command now shows if system is 'loosing time' through missed
  1714.   hardware tick interrupts, or through DV or OS/2 DOS emulation problems.
  1715.   (If it doesn't show it, it didn't miss any :-)
  1716.  
  1717. - forwarding finally works correctly again with new index code.
  1718.  
  1719. - mailbox 'List' works again with indexfiles and userlog code.
  1720.  
  1721. - 'smtp list' fixed under DV ad OS/2 (with correct date/time)
  1722.  
  1723. - digipeat bug with crossband fixed
  1724.  
  1725. - included extended telnet option negotiations, and a DOS enviroment
  1726.   variable "TERM" can be set to the terminal type. From kk6jq
  1727.   ( This was Deleted in 1.10x9 because of reported problems; if you
  1728.     want it anyhow, define TN_KK6JQ in telnet.h )
  1729.  
  1730. - 'ip heard' now works on netrom by setting 'ip hport netrom on'
  1731.  
  1732. - memory leak in convers.c '/p' processing fixed (from Mark, ve3dte)
  1733.  
  1734. - ax.25 and netrom resets will send a disconnect to be polite.
  1735.  
  1736. - current msg pointer in mailbox fixed.
  1737.  
  1738. - smtp 'Apparently-To:' fixed.
  1739.  
  1740. - both jnos and mail2idx use 'Apparently-To' header if 'To:' doesn't exist.
  1741.  
  1742. - mailbox 'SF' works again.
  1743.  
  1744.  
  1745.  
  1746. 1.10x7 (930708)
  1747.  
  1748. - little fix in new private mail notification.
  1749.  
  1750. - fixed dir problem introduced in 1.10x6 .
  1751.  
  1752. - convers maxq code changed; you can now set limits for users and hosts with
  1753.   'convers umaxq' and 'convers hmaxq' . If set to 0, there is no limit,
  1754.   otherwise connections will be reset if there is more then the maxq value
  1755.   data outstanding on the connection. This should now also reset connections,
  1756.   instead of the previous graceful close...
  1757.  
  1758.  
  1759.  
  1760. 1.10x6 (930707)
  1761.  
  1762. - I've tested pop2/3 and they should now really be working with
  1763.   the index files. :-)
  1764.  
  1765. - mail2idx bugfix in -d option.
  1766.  
  1767. - additional permission bit in ftpusers: NO_LISTS = 131072  (0x10000)
  1768.   if set, user can not list mailbox IH, IP, P, N, and NR commands.
  1769.  
  1770. - fixed some '#define' areas
  1771.  
  1772.  
  1773.  
  1774. 1.10x5 (930630)
  1775.  
  1776. - fixed 'MM' and 'SR' mailbox commands.
  1777.  
  1778.  
  1779.  
  1780. 1.10x4 (930629)
  1781.  
  1782. - pop2 and pop3 should now be compatible with the mail index files.
  1783.   However: I do not use either pop2 or pop3 and thus the code has NOT
  1784.   been tested. I would appreciate feedback.
  1785.  
  1786. - Monitor Trace mode added. Gives a shorter, easier trace display.
  1787.   'trace <iface> 3xy' sets this, where x=1 sets input, y=1 sets output
  1788.   From Brandon Allbery, KF8NH
  1789.  
  1790. - bugfix in MAIL2IDX.EXE. Doesn't write a faulty index file anymore if
  1791.   mailfile is emty or contains data but no messages.
  1792.  
  1793. - new icmp source quence behaviour:
  1794.   if 'icmp quence off' is set, when a ip packet is received, and
  1795.   mem < threshold, it will be dropped (ie. no quench or anything.)
  1796.   This might help systems with ethernet controllers or other higher
  1797.   speed interfaces...
  1798.   (If 'icmp quench on', the default, behaviour is as before)
  1799.  
  1800.   From a message Barry McLarnon, ve3jf, forwarded to me :
  1801.   "From: heisen@numerik.uni-duesseldorf.de (Henner Eisen)
  1802.   Newsgroups: comp.protocols.tcp-ip.ibmpc
  1803.   Subject: Re: KA9Q as Gateway... how?
  1804.   Date: 8 Mar 1993 10:04:50 GMT
  1805.   ...Whenever KA9Q receives new packets faster than it can process them
  1806.   the internal buffer is likely to overflow. The way KA9Q deals with that
  1807.   situation is as follows:
  1808.   There is a high water mark for the dynamically allocatable storage (its value
  1809.   may be changed in autoexec.net with the "memory thresh #" command ). Whenever
  1810.   that hig water mark is exceeded KA9Q will submit an ICMP Source Quench to the
  1811.   originator of every additionally received packet. Unfortunately, this requires
  1812.   additional system resources (especially more storage). The result is that,
  1813.   before the originator will have reacted upon the ICMP Source Quench, KA9Q's
  1814.   dynamic storage will be exhausted. (Several TCP/IP implementations even won't
  1815.   react upon ICMP Source Quenches at all). I don't know what really happens
  1816.   after that, probably this causes a deadlock somewhere else and KA9Q hangs...
  1817.  
  1818.   ...Now, whenever the high water mark is exceeded and a new
  1819.   packet arrives that packet is dropped immediately and no further storage is
  1820.   needed. The higher protocoll layers will keep track of retransmitting the
  1821.   dropped packets and a well-implemented TCP will even automatically adjust to
  1822.   the maximum possible transmission speed..."
  1823.  
  1824. - 'ax25 ttycall' sets tty-link call for direct keyboard access. Remember to
  1825.   make sure you have both 'attended on' and 'mbox attend on'.
  1826.   From Brandon Allbery, KF8NH
  1827.  
  1828. - AX.25 ports can have a 'cross-band digipeater only' callsign. If this call
  1829.   is set, digipeating works independent of the 'ax25 digiport' setting !
  1830.   (Connections to this call do NOT work)
  1831.   'ifconfig <iface> cdigi <call>' sets this.
  1832.  
  1833. - open file problem in List fixed.
  1834.  
  1835. - AX.25 RNR frame bugfix in lapb.c, from Mark, ve3dte
  1836.  
  1837. - value given to g8bpq nodes for rtt corrected, from Mark, ve3dte
  1838.  
  1839. - more system information via finger server (modified from N7IPB). Valid
  1840.   are now:  iheard,mstat,info,ax25,netrom,tcpview,memstat,socket,asystat,
  1841.   ifconfig and rip
  1842.  
  1843. - from N7IPB:
  1844.  
  1845.   * Interface names are now case insensitive
  1846.  
  1847.   * Support for F11 and F12 (control,shift,alt) added
  1848.  
  1849.   * Delay added on startup before enabling 'more'.
  1850.  
  1851.   * domain ttl  - Select a default ttl value to be applied to server
  1852.                        responses that contain none.
  1853.  
  1854.   * domain dump - Clears the domain cache
  1855.  
  1856.   * domain update - Allows you to control whether or not your domain.txt file
  1857.                     is updated with server responses
  1858.  
  1859.   * domain subnet - Works in conjunction with 'domain translate' to allow or
  1860.                     disallow translation of any address ending in 0 or 255. 
  1861.                     On systems that have a lot of subnets this can result in
  1862.                     a considerable speedup when displaying routes with domain
  1863.                     translate on.
  1864.  
  1865.   * ipmerge now correctly merges routes of the form 'x.x.x.x ax0 x.x.x.x'
  1866.     where the two addresses are identical and a previous route exists for
  1867.     this address. This fixes a nasty routing problem on subnets that have
  1868.     multiple routers.
  1869.  
  1870. - mail system messages are now more verbose.
  1871.  
  1872. - bug with mailbox 'KM' command fixed.
  1873.  
  1874. - mailfor.c now also uses the mail index files.
  1875.  
  1876. - ax25 beacon text can now be set per interface with
  1877.   'ifconfig <iface> beacon [bctext]'
  1878.   If you set 'ax25 bctext' before interfaces are attached, all ax.25
  1879.   interfaces will have this bctext as default.
  1880.   If you set 'ax25 bctext' after one or more ax.25 interfaces have been
  1881.   attached, only those with no bctext will get the new bctext.
  1882.   (Remember, you still have to enable ID-ing with 'ax25 bcport' !)
  1883.  
  1884.  
  1885.  
  1886. 1.10x3 (930622)
  1887.  
  1888.  
  1889. - mailbox works with index files. Much faster ! Before you run this you
  1890.  should build index files by running MAIL2IDX.EXE. See the section above
  1891.  'MAIL INDEX FILES' for more. If JNOS doesn't find any index files in the
  1892.  mail directory at startup, it will warn you to run MAIL2IDX.EXE
  1893.  
  1894. - mailbox 'LS subject' lists messages in current mail area with 'subject'
  1895.   in the subject line.
  1896.  
  1897. - 'ax25 bbscall' now changes or sets all interfaces where bbscall is not set
  1898.   to the bbscall. 'ax25 mycall' will not override bbscall anymore, once it has
  1899.   been set. You should
  1900.   1 - set 'ax25 mycall xyz-#'
  1901.   2 - 'attach' all interfaces
  1902.   3 - set 'ax25 bbscall xyz-#' or 'iface <name> bbscall xyz-#'
  1903.  
  1904. - smtp server bid memory leak fixed (N5KNX).
  1905.  
  1906. - smtp server Ctrl-Z in lines now handled.
  1907.  
  1908. - pop2 and pop3 servers are now case insensitive for commands.
  1909.  
  1910.  
  1911.  
  1912. 1.10x2 (not released)
  1913.  
  1914.  
  1915. - mods to pop3 server to fix long line reboots. From Ross Patterson, N4YYH
  1916.  
  1917.  
  1918.  
  1919. 1.10x1 (930609)
  1920.  
  1921.  
  1922. - mailbox problem with remembering last read if a Ramdrive is used
  1923.   is fixed. From N5KNX
  1924.  
  1925. - mailbox fixed to allow for ^Z at end of line when sending mail.
  1926.   Allows FBB to forward better. From N5KNX .
  1927.  
  1928. - obscure bug in ax.25 bctext fixed, from Brandon Allbery, KF8NH
  1929.  
  1930. - pop3serv.c fixed for files > 32k
  1931.  
  1932. - G8BPQ NET/ROM Extension handshaking added to Connreq/Connack packets.
  1933.   G8BPQ nodes are now indicated in the netrom route displays.
  1934.   JNOS will reply to G8BPQ nodes in BPQ style if "netrom g8bpq" is on.
  1935.  
  1936. - 'convers maxq' should now work.
  1937.  
  1938. - drastic clean-up of prototyping in source modules. Most all warnings
  1939.   are gone (apart from a few in the gracilis drivers). Also fixed some .asm
  1940.   modules for 80186 and above.
  1941.  
  1942. - commented out net/rom raw sockets; saves 0.5k
  1943.  
  1944. - session screens when swapped out (ie. not the active session)
  1945.   can now be saved in 4 different modes. This can save conventional memory.
  1946.   Modes are:
  1947.   0 - in EMS (if available), this is now the default mode.
  1948.   1 - in XMS (if available and no EMS) (Note: NOT! functional yet)
  1949.   2 - in conventional memory, the previous method. Used if EMS/XMS doesn't exist.
  1950.   3 - in a temporary file. (Use only if you have a ramdisk for tmpfiles, or
  1951.       a fast harddisk with cache...)
  1952.  
  1953.   You can force options 1, 2 and 3 from the command line starting NOS with the
  1954.   -m# option, where # is 1, 2 or 3 ...
  1955.  
  1956.   The 'session' command display show the swap mode in use under the 'Sw'
  1957.   heading. E for EMS, X for XMS, M for Memory and F for File.
  1958.  
  1959.   You can show the current swap mode with 'session swap' or set it with
  1960.   'session swap E|X|M|F' for Ems, Xms, Memory, or File.
  1961.  
  1962. - user registration code from K5MG added (with mods)
  1963.   Mailbox "register" command registers users. The file /spool/mreg.txt will
  1964.   be shown to users attempting this...
  1965.  
  1966. - rewriting of the files-naming code (for -f option), saves 1.5k
  1967.  
  1968. - deleted POP option from config.h; it's functionality is duplicated
  1969.   in POP2XXXX
  1970.  
  1971. - PPP option negotiation bug fixed, from D. Myers.
  1972.  
  1973. - 'mbox jumpstart' is gone.
  1974.   You can now define a bbs call with 'ax25 bbscall'. Default is ax25 mycall
  1975.   value. The bbscall will be automatically set on appropriate interfaces
  1976.   and depending on whether the interface drivers call setencap() (not all do).
  1977.   Or you can set it with 'iface <iface> bbscall <bbscall>'
  1978.  
  1979.   Jumpstart now works as follows:
  1980.   NO connections to the interface hwaddress get jumpstarted.
  1981.   ALL connections to the bbscall for each interface, or ax25 alias
  1982.   get jumpstarted.
  1983.  
  1984.   This should solve all problems with wrong jumpstarts,
  1985.   as long as hwaddress is not equal to bbscall !
  1986.  
  1987.  
  1988. JNOS 1.09 (Never 'officially released')
  1989.  
  1990. - from Lars, sm6rpz:
  1991.   * 'mem efficient' command deleted, since it has been totally
  1992.   useless for "eons" :)
  1993.  
  1994.   * ax.25 dis-connected state transition memory overwrite problem fixed.
  1995.  
  1996.   * tcp_reset problem fixed.
  1997.  
  1998.   * iface detach routines clean out ax.25 routes.
  1999.  
  2000.   * makeroutes() in rspf.c bug fix.
  2001.  
  2002. - rewrite file now ignores additional spaces and tabs; from kd4cim
  2003.  
  2004. - kiss.c time-problem in interface-send fixed.
  2005.  
  2006. - "exit" command from the keyboard now asks if you want to do it.
  2007.   (if not from keyboard, this is skipped...)
  2008.  
  2009. - 'at' command is now a process, solves lots of problems...
  2010.  
  2011. - convers.c /p and memory problems fixed, from VE3DTE
  2012.  
  2013. - duplicate bid in smtpserv solved, from KD4CIM
  2014.  
  2015. - smtp looping 'hard' fix: if it occurs, message is dropped.
  2016.   (a '550' error code is sent, causing a 'hard-error')
  2017.  
  2018. - xspawn dropped from distribution because of many problems reported.
  2019.  
  2020.  
  2021. 1.08df (930404)
  2022.  
  2023. From WA3DSP:
  2024. This source code is JNOS108D with most all prototype errors corrected.
  2025. Those not corrected are in some drivers - in particuliar the twin drivers.
  2026. Also other nagging errors have been corrected.
  2027. A compile should show NO errors unless you are using a module I was not
  2028. when I went over this.
  2029. Also - 
  2030. - DOS 6.0 support added in MAIN
  2031. - ASM's are 386 compliant
  2032. - Makefile has 386 compile option
  2033. - Makefile uses strictly autodepend - no .h dependecies required - works
  2034.   good for borland c 3.1 - This makefile should be included as an option
  2035.   for those using it!! It is much more reliable and less subject to problems.
  2036. - Ifdef's added on modules - some may still be missing - decreases compile 
  2037.   time significantly when that module is not defined 
  2038. - Some other minor fixes.
  2039.  
  2040.  
  2041. 1.08d (930311)
  2042.  
  2043. - new tipmail.c from Doug, wa3dsp
  2044.  
  2045. - 'domain startdns' is gone. Domain Name Server can be turned on and off,
  2046.   with 'domain dns [on|off]'
  2047.   Also found a problem in getline.c where domain.txt is read...
  2048.  
  2049. - convers server has been optimized to send less multiple-packet responses.
  2050.  
  2051. - 'convers allow' is now replaced with 'convers filter'
  2052.   'convers filter mode [accept|refuse]' shows or sets the mode (default refuse)
  2053.   'convers filter [ipaddress|hostname]' add an ip address to the filter
  2054.   table.
  2055.   If filter mode is refuse, then convers links from hosts in the list will
  2056.   be refused. If filter mode is accept, then only links from hosts in the
  2057.   list will be accepted.
  2058.  
  2059.  
  2060. 1.08c (930305)
  2061.  
  2062. - several system errors and permission infringements will now send
  2063.   a message to the user 'sysop'.
  2064.   This is controlled with 'error [on|off]'. Default is on.
  2065.  
  2066. - BBS R:-line sends message BID as well
  2067.  
  2068. - local fingers now work. Eg 'finger johan'
  2069.  
  2070. - several Turbo-C 2.0 compile problems fixed; from Jim Dugal, N5KNX
  2071.  
  2072. - Mailbox R/V/K commands allow message ranges... Eg: 'R 1-4', from N5KNX
  2073.  
  2074. - problems with smtp BID checking should be fixed...
  2075.  
  2076.  
  2077. 1.08b (930224)
  2078.  
  2079. -smtp server bid problem fixed.
  2080.  
  2081. -finger server fixed
  2082.  
  2083.  
  2084. 1.08 (930222)
  2085.  
  2086. - all commands that effect interface flags have new syntax.
  2087.   They now need ON or OFF to set the state of the flag.
  2088.   If no interface is given, all interfaces with the flag set will be shown.
  2089.   If interface is given, but no on|off, then the state of the flag will
  2090.   be shown.
  2091.  
  2092.   Eg:
  2093.   ax25 bcport
  2094.         will show ALL active ax.25 beacon interfaces
  2095.   mbox hideport 2m
  2096.         will show the state of the interface '2m'
  2097.   convers interface 2m on
  2098.         will turn on convers call access on interface '2m'
  2099.   ax25 digipeat 2m off
  2100.         will turn off digipeating on interface '2m'
  2101.  
  2102.   The command affected are:
  2103.  
  2104.   mbox ax25only [iface] [on|off]
  2105.   mbox useronly [iface] [on|off]
  2106.   mbox sysoponly [iface] [on|off]
  2107.   mbox bbsonly [iface] [on|off]
  2108.   mbox mport [iface] [on|off]
  2109.   mbox hport [iface] [on|off]
  2110.   convers interface [iface] [on|off]
  2111.   ax25 digipeat [iface] [on|off]
  2112.   ax25 bcport [iface] [on|off]
  2113.   ax25 hport [iface] [on|off]
  2114.   ip hport [iface] [on|off]
  2115.   arp poll [iface] [on|off]
  2116.   arp eaves [iface] [on|off]
  2117.  
  2118.   NOTE that ax.25 ports now default to ON for:
  2119.   beacon, mail-id, digipeat, ax-heard and ip-heard !!!
  2120.  
  2121. - the BID checking in the SMTP server (from 1.05) now works !
  2122.   if a 'Message-Id: ' line is received with a valid BID format
  2123.   (ie. 'BID#@Bbscall.bbs' format), then the BID will be cross checked
  2124.   with the ax.25 bid file ('history' file). If a duplicate, response will be
  2125.   "452 Duplicate BID in Message-Id line\n";
  2126.  
  2127. - 'repeat [interval in ms] command (from new ka9q, ported by wa3dsp)
  2128.   Starts a new session screen with the output of the command updated
  2129.   every interval ms. If you hit F10 it ends the session.
  2130.   Eg: repeat 1000 t s
  2131.   (repeat every second 'tcp status' command)
  2132.  
  2133. - buckbook support driver updated; again, this is NOT tested !.
  2134.  
  2135. - for all AX.25 ports, you can now indicate what kind (if any) of mailbox
  2136.   connections are allowed.
  2137.  
  2138.   mbox noax25 [<iface>] [on|off]
  2139.         shows or setss the 'no ax25 maibox connections.
  2140.         This prohibits mailbox connects, but still allows IP in VC mode.
  2141.  
  2142.   mbox bbsonly [<iface>] [on|off]
  2143.         shows or toggles 'bbs only' per port. The IS_BBS bit
  2144.         in /ftpusers has to be set in order to be able to login to the bbs
  2145.  
  2146.   mbox usersonly [<iface>] [on|off]
  2147.         shows or toggles the 'users only' flag. Any call with the IS_BBS
  2148.         flag NOT set can login to the bbs via this port
  2149.  
  2150.   mbox sysoponly [<iface>] [on|off]
  2151.         shows or toggles the 'sysop only' flag. Any
  2152.         call with sysop permissions can login to the bbs via this port.
  2153.  
  2154.   NOTE: this does NOT work for NET/ROM and TCP connections, since for those
  2155.   protocols there is no real concept of incoming port...
  2156.  
  2157. - TIP MAILBOX improvements from Doug Crompton, WA3DSP
  2158.   CD is now detected and influences the login, and XMODEM transfers can
  2159.   be done with TIP logins. Here is what Doug writes about it:
  2160.  
  2161. NEW commands  -
  2162.  
  2163. 'start tip <interface> <terminal|modem> [timeout seconds]'
  2164. BBS added commands - 'dx <filename>' , 'ux <filename>'
  2165. Deleted command - 'mbox tiptimeout'
  2166.  
  2167. Tip code has been extensively modified. It now works with a terminal
  2168. (3 wire connect) or modem (CD)  Two tiers of timers, the first being
  2169. set on the 'start tip' command line and the second "grace" timer fixed
  2170. at 1 minute. CD loss is unconditionally detected. 
  2171.  
  2172. Tip timeout timers should not effect xmodem as long as they are not set
  2173. shorter than xmodem timeout - 120 seconds. Tip default is 180 seconds.
  2174. The 'mbox tiptimeout' command has been taken out - setting is in the
  2175. start tip command line.
  2176.  
  2177. Phone connects, and xmodem successful up/downloads are logged if logging
  2178. is turned on. xmodem BBS commands are only available with tip connects.
  2179. Only 128 byte xmodem packets are allowed at this time. This is the standard
  2180. original xmodem format that is supported on most all comm programs.
  2181.  
  2182. Note that most internal modems do not use a 16550. Therefore on heavily
  2183. loaded NOS systems it might be desireable to use an external modem with
  2184. a 16550 serial port. I have not run my system above 2400 baud using an
  2185. internal modem. Based on what I see on my system I would expect that
  2186. a 16550 interface would be a requirement for higher baud rates - I.E 9600.
  2187.  
  2188.  
  2189. - 'convers maxq' command sets or shows the maximum transmit data outstanding
  2190.   on convers links (permlink or other) before a hostlink is rudely reset.
  2191.   Default is 5kb (ie 5120 bytes)
  2192.  
  2193. - Bulletins with NO BID can be refused if 'mbox nobid off'
  2194.   off means refuse them, on means accept. Default is OFF, ie refuse !
  2195.  
  2196. - NOTE: the 'mbox haddress' now NEEDS THE CALLSIGN !!!
  2197.   eg:  mbox haddress WG7J.OR.USA.NA   !!
  2198.   The First part (ie WG7J) will be used to assign BID/MID's from our
  2199.   system, eg 1234_WG7J
  2200.  
  2201. - device files etc. can not be opened anymore; ie no more finger crashes
  2202.   to 'CON' 'AUX' etc...
  2203.  
  2204. - bug in 'route lookup' fixed
  2205.  
  2206. - Mbox forwarding now marks ALL messages that received the 'NO'
  2207.   reply as forwarded.
  2208.  
  2209. - Mbox forwarding now sends all mail in areas starting with 'nts'
  2210.   as traffic, ie. with 'ST'.
  2211.  
  2212. - a finger to 'links' will shows all convers links at the system.
  2213.  
  2214. - fixed 'ftp mput' command.
  2215.  
  2216. - 'convers maxwait' sets the maximum time to wait before trying to
  2217.   re-establish a link, after convers links have timed out.
  2218.  
  2219. - you can now undefine the mail commands (S,R,K,V etc) from the mailbox
  2220.   interface, do '#undef MAILCMDS' in config.h
  2221.  
  2222. - if the first chararcter of a function key definition is the '~' char,
  2223.   the following characters will be sent to the command session, and
  2224.   NOT the current session. Command sessions becomes the active one.
  2225.   Eg. fkey 63 "~ps\n"  allows you to do a ps from any session (output
  2226.   will go to command session, wich is made active immediately)
  2227.  
  2228. - small problem with non ampr.org. domain names in domain.c (resolve_a())
  2229.   fixed.
  2230.  
  2231. - there is no limit of 10 mbox/convers-call users anymore; now only limited
  2232.   by memory resources...
  2233.  
  2234. - mailbox gateway escape char defaults to ctrl-T, to accomodate tnc's (wich
  2235.   use the formerly used ctrl-X for line editing)
  2236.  
  2237. - mailbox disconnect when sending a message and it cannot create tempfiles
  2238.  
  2239. - message numbers are now in the range 1-99999 (in smtpserv.c)
  2240.  
  2241. - 'ax25 dest' is now same as 'ax25 hearddest'
  2242.  
  2243. - tip incoming sessions fixed, go to mailbox again.
  2244.  
  2245. - even when netrom is not active, you can still set an alias callsign
  2246.   for users to connect to.
  2247.   'ax25 alias' sets or displays it. Old 'netrom alias' modifies the same call!
  2248.  
  2249. - duplicate MID problem fixed in smtpserv.c, from KO4KS
  2250.  
  2251. - ftp server tells file size before transfer starts, from N1BEE
  2252.  
  2253. - 'mbox header off' also turns off 'mbox thirdparty' !
  2254.  
  2255. - xspawn shelling modified. Seems to fix most problems.
  2256.   Known to still lock up with some ethernet drivers.
  2257.   From Brian Lantz, KO4KS
  2258.  
  2259. - OS/2 multitasking now correctly recognized, from N1BEE
  2260.  
  2261. - added pop2serv.c and pop3serv.c from N1BEE's v0.85 release.
  2262.  
  2263. - small nr4 fix from N1BEE
  2264.  
  2265. - fix for pi driver, from Dave, ve3ifb
  2266.  
  2267. - stktrace added to buffer-overwrite in sockuser.c; to help trace this.
  2268.  
  2269.  
  2270. 1.07b (921217)
  2271.  
  2272. - 'mbox motd' is gone; instead, the contents of the file /spool/motd.txt
  2273.   will be shown when users login to the bbs.
  2274.  
  2275. - 'fmotd' is gone; instead, set the ftp message of the day in the file
  2276.   /spool/ftpmotd.txt . It will be shown before the ftp login sequence starts.
  2277.  
  2278.  
  2279. 1.07  (921215)
  2280.  
  2281. - smtp client has been modified.
  2282.   'smtp t4' sets a timeout limit (in seconds) for attempts to deliver mail.
  2283.   If t4 is 0 (default), behaviour is as before (direct delivery is attempted
  2284.   to the host or mx-host.)
  2285.   If t4 is set, behaviour changes as follows:
  2286.   If a connection has not been established in t4 seconds, the mail will
  2287.   be attempted to be delivered to the 'smtp gateway' (if one is defined)
  2288.  
  2289. - pop code has been modified to hopefully eliminate potential crashes.
  2290.   (from Mike Billow, N1BEE)
  2291.  
  2292. - socklen() fixed for netrom L4. From Paul Healy, EI9GL
  2293.  
  2294. - lower case only stuff in ftp login eliminated. It is now correctly case-
  2295.   sensitive.
  2296.  
  2297. - added 'tcp blimit' to limit backoff for tcp connections.
  2298.  
  2299. - 'rip kick' added to send an immediate rip update. From Dave, ve3ifb
  2300.  
  2301. - mailbox now supports MID's on receiving and forwarding of messages.
  2302.  
  2303. - 'ftpusers' permissions can be set in hexadecimal, ie '0x32', or '50'
  2304.  
  2305. - mailbox escape checking can now be set to off in ftpusers file. Add
  2306.   #define NO_ESCAPE 65536
  2307.   to the permission for a user to have it default to no escape checking while
  2308.   gatewaying out. User can change the default. The mailbox 'E' command now
  2309.   works as follows:
  2310.   'E' shows status (ie. on/off) and escape character.
  2311.   'E arg'
  2312.         -if arg is one character, it is interpreted as the new escape char
  2313.         -if arg starts with a number, it is interpreted as the ascii number
  2314.          for the new escape char
  2315.         -else if arg starts with 'off' or 'dis' (not case ssensitive)
  2316.          then scape checking is turned off
  2317.         -anything else will turn escape checking on.
  2318.  
  2319. - 'more' and 'dir' commands now work correctly from remote sysop.
  2320.    Note that there currently is NO -more-? prompting when executed from
  2321.    remote !
  2322.  
  2323. - Forward polling added. If there are no message to be sent to the bbs,
  2324.   the system will poll the remote bbs for messages when the forward timer
  2325.   expires.  Simply add a 'P' to the end of the first line in the forward.bbs
  2326.   script. Thus the format is now either
  2327.   <bbsname> P
  2328.   or
  2329.   <bbsname> <[time]...[time]> P
  2330.  
  2331. - Extended IP access code. (usefull for gateways only)  NOTE: this is
  2332.   NOT compatible with the old version. Ie. modify your autoexec.nos !!!
  2333.   Here is the new command format:
  2334.  
  2335.   access <state> <proto> <src>[/<bits>] <dest>[/<bits>] <if> [<low> [<high>]]
  2336.  
  2337.   where:
  2338.  
  2339.   proto = {any|tcp|udp|icmp|<number>} (<number> = decimal IP protocol number)
  2340.   dest  = Destination IP address (or "any"), just like <src>
  2341.  
  2342.   The rest of the parameters are the same as before.  The port parameters are
  2343.   used only if proto is "tcp" or "udp"; they are ignored otherwise.
  2344.  
  2345.   Here are some examples:
  2346.  
  2347.   ip access permit any  192.111.106/24  all             eth
  2348.   ip access permit tcp  all             all             eth     25
  2349.   ip access permit tcp  all             all             eth     53
  2350.   ip access permit udp  all             all             eth     53
  2351.   ip access deny   tcp  all             130.137/16      eth     1       1023
  2352.   ip access deny   udp  all             130.137/16      eth     1       1023
  2353.   ip access permit any  all             all             eth
  2354.  
  2355.   Note that the new "ip access" command format is incompatable with the old.  I
  2356.   guess I could have made it backward compatable, but I thought it would look
  2357.   ugly if I did.
  2358.  
  2359.   The "ip access" command code could probably stand some additional error
  2360.   checking on parameters.  For example, only the first letter of the protocol
  2361.   is used (e.g., "ijkl" == "icmp").  If the low port is set to zero, this
  2362.   means ignore the port numbers (the same as "all" or just leaving them out),
  2363.   whereas it probably ought to generate an error.
  2364.  
  2365.  
  2366. - automatic personal information for convers users.
  2367.   When a user log in, either from mbox, convers call, or convers server,
  2368.   the Cinfo file is searched for the user name. The Cinfo file defaults to
  2369.   /finger/dbase.dat. Name and text need to be separated with a space or tab.
  2370.   Everything that follows the name will be set as the personal info.
  2371.   Note that the default file is the SAME as the finger database file !!!
  2372.   However, this can be changed with the 'Cinfo' line in the filename config
  2373.   file described below. (-f command line option)
  2374.   Eg. if the Cinfo file contains the line
  2375.   'wg7j Johan, in Corvallis, OR, USA'
  2376.   then when wg7j logs in to your server, his /p info will be set to
  2377.   'Johan, in Corvallis, OR, USA'
  2378.  
  2379. - command recall feature.
  2380.   Command are saved in a circular buffer of a size that can be set with
  2381.   'history #', eg. 'history 10', which is the default.
  2382.   'history' will show the maximum set, and the history list kept.
  2383.   'history 0' disables the feature.
  2384.  
  2385.   The up-arrow and down-arrow will cycle through old commands when in the
  2386.   command session. No editing (yet), just recall.
  2387.  
  2388. - added case-insensitivity to convers loop detection code, to handle other
  2389.   convers systems better...
  2390.  
  2391. - fixed some defines to allow MAILBOX to be undefined in config.h
  2392.  
  2393. - sockuser() 'protected' against overwriting of output buffers. System will
  2394.   write a message to the log file, and then reboot :-(
  2395.  
  2396. - mailbox forwarding R: line needs to be explicitely turned on with
  2397.   'mbox header on'
  2398.  
  2399.   This is so that regular users can forward from jnos to another system
  2400.   designated as full-service bbs, without leaving a trace of their system.
  2401.   This avoids other bbs systems marking them as a fullservice bbs.
  2402.  
  2403.   (The elements of the R: header are now optional. If not set, they will
  2404.    not show in the line, instead of show as 0 or null-strings.)
  2405.  
  2406. - some more stuff from wa3dsp:
  2407.  
  2408.   * 'prompt on|off'  - defaults to off
  2409.     Turns ON or OFF the display of the current directory at the command prompt
  2410.  
  2411.   * Commands - rename, copy, dir, cd, pwd, more, tail, del, mkdir rmdir
  2412.   now use fully qualified names based on the command session current
  2413.   directory. This directory can be ANY valid drive/directory on the
  2414.   system.
  2415.  
  2416.   The command session current buffer assumes the current directory at
  2417.   NOS startup. When 'cd' is exercised at the net prompt the ACTUAL
  2418.   dos drive and or directory are never changed. Instead the path on a
  2419.   per drive basis is stored in a structure known to the command session.
  2420.   Filenames are built into fully qualified names using the path and supplied
  2421.   name.
  2422.  
  2423.   This is the same way it is done in the FTPCLI in my previous mods.
  2424.   PLEASE advise if there are any other commands that should use this method
  2425.   that I may have missed.
  2426.  
  2427.   * Option added to MORE  - more <filename> [searchstring]
  2428.     If searchstring is specified only lines containing the string are displayed.
  2429.  
  2430.     more /spool/log bbs           - display lines in logfile with the text "bbs"
  2431.     more /autoexec.nos netrom     - display lines with text netrom
  2432.     more myfile "text to display" - if text contains spaces use quotes!
  2433.  
  2434.    * Option added to domain - domain look <searchstring>
  2435.      This is just a call to the 'more' command with the '/domain.txt' file
  2436.      specified.
  2437.         domain look 44.80.8
  2438.         domain look wa3dsp
  2439.  
  2440. - All files in nos now can be on any drive and directory. A 'file-naming'
  2441.   configuration file can be named on the command line with the -ffilename
  2442.   option. (If filename is not given, the -f option will be ignored)
  2443.   Eg:  nos -fnos.cfg
  2444.  
  2445.   The format of the config files is as shown in the accompanying nos.cfg.
  2446.   Ie. filename = directory-or-file-path, where dir-or-file-path can be any
  2447.   valid path or filename.
  2448.  
  2449.   This now allows things to be in places that optimize the speed; ie; you
  2450.   can copy certain things to ramdrives etc before running nos, and then
  2451.   use the much faster access times to improve speed...
  2452.  
  2453.   You can still use the -d option to set a new 'root' directory for nos.exe,
  2454.   but it is only usefull if used before the -f option. If you use -d,
  2455.   then you can use the -f to move some files to non-standard directories
  2456.   by simply commenting out the files you don't want moved...
  2457.   eg.   nos -d/nos -fnos.cfg    is valid
  2458.   but   nos -fnos.cfg -d/nos    causes the -d to be ignored !!!
  2459.  
  2460. - XSPAWN library (c) Whitney Software used to allow swapping out of JNOS
  2461.   when shelling to dos. This allows shelling out at all times, with a full
  2462.   size dos memory available !! Ie. Full applications can be run; JNOS is
  2463.   INACTIVE at this point!. Compile time option is XSPAWN. (MULTITASK is NOT
  2464.   available when XSPAWN is used !)
  2465.  
  2466.   Swapping is to EMS, if available, or to disk. Disk swapping is to the
  2467.   current drive. You can set a directory path to try and store the disk image
  2468.   with the new command line switch -x. (if you have ems, this isn't usefull)
  2469.         eg. nos -xc:\;d:\
  2470.  
  2471.   From the manual.doc of the xspawn code:
  2472.  
  2473.         " Each separate path specifier in the _swappath string (separated by a
  2474.         ;) can contain a drive, a directory, or both.  If you do not specify
  2475.         a drive, XSPAWN will use the current drive.  If the directory is not
  2476.         specified, XSPAWN will use the directory that is current on the
  2477.         target drive.
  2478.  
  2479.         You may be wondering why you would ever want to specify multiple
  2480.         paths.  To illustrate one use of this feature, let us say your system
  2481.         has a ramdrive called D: and a hard drive called C:.  Since writing
  2482.         to a ramdrive is many times faster than writing to a hard drive, you
  2483.         would naturally prefer to write the swap file to the ramdrive.  The
  2484.         problem is that there may not be enough space on the ramdrive to hold
  2485.         the swap file.  The _swappath string shown above would cause XSPAWN
  2486.         to try the ramdrive first and if there is insufficient space, to try
  2487.         the C: drive next.
  2488.  
  2489.         If a path does not exist, XSPAWN will skip it.  If XSPAWN can't store
  2490.         the swap file on any of the specified paths, it will return -1 and
  2491.         set errno to EACCES.  "
  2492.  
  2493.  
  2494.   According to the user policy, the complete source for the code is in
  2495.   xspawn.zip, inside the jnos107.zip source zipfile... Please read
  2496.   license.doc in xspawn.zip for more details.
  2497.  
  2498. - 'bulletin check' protected against too many forward bbs's (from Jerry, kd4cim)
  2499.  
  2500.  
  2501. 1.06B (921124):
  2502.  
  2503. - forward bug fixed; netrom forwarding works again
  2504.  
  2505. - arp display fixed
  2506.  
  2507. - rip now allows advertizing of route to yourself with the '2' flag
  2508.   (ala KarnCode) Eg: rip add 44.26.1.255 600 2
  2509.  
  2510. 1.06A (921121):
  2511.  
  2512. - cmdparse fixed to accept both tabs and spaces correctly (debugged from code
  2513.   by Mike Gallagher)
  2514.  
  2515. - twinvec.asm fixed for BC++3.1, dirutil.c for TC2.0
  2516.  
  2517. - screen sizing is now a command line option: -c# for colums, -r# for rows
  2518.   the 'stat' display now shows this, instead of 'info'. 'col' and 'row'
  2519.   commands are gone.
  2520.   IE. If your screen size is not sensed correctly, use:
  2521.   Eg: to run with 43x132 screen: nos -r43 -c132
  2522.   (note: this does not SET the video mode; your system has to be in that mode
  2523.   already !)
  2524.  
  2525. - tcp stat bug fixed.
  2526.  
  2527. VERSION 1.06 (921119)
  2528.  
  2529. - all commands setting interface flags now TOGGLE! Ie. first time the flag is
  2530.   set and the feature turned on, next time it is turned off, ad infinitum :)
  2531.   They are:
  2532.   convers port                  ax25 bport
  2533.   mbox mport                    mbox hide
  2534.   ax25 digi                     ax25 hport
  2535.   arp eaves                     arp poll
  2536.   ip hport
  2537.  
  2538. - 'tcp access' command added. Good for internet gateways. Defined with
  2539.    TCPACCESS switch in config.h
  2540.  
  2541. - IP heard logging. Turn on per interface with
  2542.   'ip hport <iface>'
  2543.   For ax.25 interfaces, logs all ip packets heard on the channel.
  2544.   For other interface types, logs ip packets that the system routed.
  2545.  
  2546.   'ip hsize' sets size of table. 0 means no limit!  Default is 8.
  2547.  
  2548.   Shown with with mailbox 'IH)eard' command, or with
  2549.   'ip heard'
  2550.   or you can now finger 'iheard' to get the list.
  2551.  
  2552. - AX25 heard logging needs to be turned ON per interface !!!
  2553.   'ax25 hport <iface>' does this. Use 'ax25 filter' still to set
  2554.   options for source or destinations. (1=no source address, 2=no dest. address
  2555.   3=no logging at all !)
  2556.  
  2557.   'ax25 hsize' sets maximum number of call in the total list (ie. NOT per
  2558.   interface !). 0 means no limit, and is the default !
  2559.  
  2560. - security hole in mailbox telnet permissions fixed.
  2561.  
  2562. - screen handling now senses the screen size correctly. Ie. you can use
  2563.   80x25,80x43, etc modes. With help from Ron Henderson, WA7TAS
  2564.   I tried to assure this works even with vga drivers that
  2565.   do not report correct sizes to the gettextmode() call (due to the fact
  2566.   that I work on a system that did this faultily :-). It's been tested
  2567.   in 80x25,80x28,80x43,80x50,132x50,132x60 modes.
  2568.   'info' will show the detected tty size.
  2569.  
  2570.   On some systems this still doesn't detect the screen size correctly;
  2571.   if so, set the number of rows and columns on you screen in the autoexec.nos
  2572.   file with 'rows #' and 'columns #' commands (this does NOT work from
  2573.   the command line !!!)
  2574.  
  2575.  
  2576. - new arp subcommands:
  2577.   'arp eaves [<iface>]'
  2578.   Display or set the 'arp eaves drop' functionality per interface.
  2579.   If set, all arp replies overheard on the interface will be logged in the
  2580.   arp table. This builds a large table on ethernet interfaces, but speeds up
  2581.   arp discovery, and might be usefull on radio interfaces.
  2582.  
  2583.   'arp maxq'
  2584.   Display or set the max number of packets waiting for an arp resolution
  2585.   to finish. Default is 5 packets.
  2586.  
  2587.   'arp poll [<iface>]'
  2588.   Display or set the 'arp keepalive polling' functionality per interface.
  2589.   If set, when an arp entry expires, a query will be sent for the address; this
  2590.   keeps the arp table fresh, but possibly retains lots of unneeded entries.
  2591.  
  2592.   'arp sort y/n', defaults to yes, to sort the arp display.
  2593.   (from Doug Crompton, wa3dsp)
  2594.  
  2595. - Added the PACKETWIN driver, for the Gracilis Packetwin Card.
  2596.   To use, define the 'PACKETWIN' option in config.h
  2597.   (Disclaimer: I have NOT tested this, but others have used it with my code :-)
  2598.  
  2599. - Added Doug Crompton's (wa3dsp) mods:
  2600.   route sort y/n
  2601.   tcp view bytes  - t v b
  2602.   tcp view timers - t v t
  2603.   icmp trace 0|1|2
  2604.   rdate server <ipaddress>
  2605.   rdate offset +-n
  2606.   'ftp' client commands: ?,help,lcd,ldir, and lmkdir (See w7jmods.txt for more)
  2607.   'dir' allows for drive letters.
  2608.   'ftp resume/rput' (see wg7jmods.txt)
  2609.  
  2610. - mbox 'IP' command shows non-private routes only.
  2611.  
  2612. - morecore failures are only logged to disk when 'mem debug' is on
  2613.  
  2614. - added nntpserv.c from Doug Crompton, WA3DSP
  2615.  
  2616. - fixed fifo setup for 16550's
  2617.  
  2618. - increased stack size for finger and ttylink servers to fix overflow problems
  2619.  
  2620. - forward connects to unknown netrom nodes now fail.
  2621.  
  2622. - fixed arp-calls in ax25aar.c
  2623.  
  2624.  
  2625. VERSION 1.05 (921021)
  2626.  
  2627. - at command allows events to be killed, and rescheduled. From Ron Henderson,
  2628.   WA7TAS.
  2629.   'at k <#>' to kill event #, where # is the number shown in the 'at' command
  2630.   'at [time] command+' to indicate recursion. Ie. after the command has been
  2631.   executed, timed execution will be started again.
  2632.   EG: at now+0005 dir+   will show a directory listing every 5 minutes
  2633.  
  2634. - fixed mkname.c for compile with tc2.0
  2635.  
  2636. - added domain name server fix for CNAME queries, from Don Sandstrom, KG7CP.
  2637.  
  2638. - new and improved tipmail.c from Milton Miller and Ben Thornton.
  2639.  
  2640. - asy flow control bug fixed in asytimer() (file i8250.c)
  2641.   from Milton Miller and Ben Thornton
  2642.  
  2643. - made 'Tick' volatile, to avoid problems. From Milton and Ben.
  2644.  
  2645. - when netrom routes are dropped, either due to obsolesence counter becoming
  2646.   zero or by a manual route drop, netrom connections using that route will
  2647.   now be be purged if that route was the only route left to the netrom
  2648.   destination.
  2649.  
  2650. - 'netrom connect' and 'netrom split' don't accept unknown node destinations
  2651.   anymore.
  2652.  
  2653. - 'MS' display changed; now has
  2654.   Core: 76096                   -> coreleft value in bytes
  2655.   Up: 3:19:46:59                -> up 3 days, 19 hours
  2656.   Logins: 49                    -> 49 total logins
  2657.   Users: 2                      -> currently 2 users
  2658.   Count: 19                     -> 19 different users have logged in
  2659.   Sent: 43                      -> users sent 36 messages
  2660.   Read: 186                     -> users read 186 messages
  2661.   Rcvd: 171                     -> got 171 msg forwarded to us
  2662.   Fwd: 124                      -> forwarded 124 message to other bbs's
  2663.  
  2664. - added 'finger database server'; the finger server now will read info
  2665.   from the file '/finger/dbase.dat', if there is no '/finger/username' file.
  2666.   Ie. if you finger 'johan@wg7j', and the file '/finger/johan' exists,
  2667.   it will be sent; if the file '/finger/johan' does NOT exist, the
  2668.   '/finger/dbase.dat' file will be scanned (exists.)
  2669.   The first line found in this file that starts with the 'username' requested,
  2670.   ie here 'johan', will be sent...
  2671.   EG: the '/finger/dbase.dat' file can contain:
  2672.   johan: WG7J, Corvallis, OR USA, ph.xxx-xxxx. EXTRA CLASS
  2673.   ka7ehk is Jim Wagner, in Tangent, OR. Technician license since 1795 :)
  2674.   etc...
  2675.   NOTE:
  2676.   if you have a line starting with 'johannes', a finger to 'johan' will show
  2677.   this line if it's the first !
  2678.  
  2679. - added  'copy <file> <newfile>' command.
  2680.  
  2681. - added 'timed' support, from Brian K. Teravskis, WD0EFL
  2682.  
  2683. - fixed buf in send_ax25() and send_nr4(), not freeing buffer if control
  2684.   block is invalid.
  2685.  
  2686. - display flowmode doesn't start until after the autoexec.nos file has been
  2687.   executed. Avoids lockups on remote systems.
  2688.  
  2689. - fixed forwarding with empty subject line in msg; now subject is "none".
  2690.  
  2691. - fixed '*** done' interpretation in forward.c (looking for -2 instead of 2!)
  2692.  
  2693. - bbs forwarding now can be 'scripted'. Format of forward.bbs file is expanded:
  2694.  
  2695.   w0rli                 <- still the bbs to forward to
  2696.   ax25 ax0 w0rli        <- still how to forward to
  2697.   [ multiples of:
  2698.   .send this text
  2699.   +continue if this string is received
  2700.   @wait_this_long for a reply  ]
  2701.   w0rli                 <- the areas to forward...
  2702.   pnw
  2703.   north
  2704.   -----------           <- end of this entry
  2705.  
  2706.   Valid connect-script lines are:
  2707.  
  2708.   '.' lines are like before. The text following will be sent over the
  2709.         connection.  This line doesn't need to contain text. In that case,
  2710.         a <cr> only gets send.
  2711.         NOTE: This will also reset the '+'  reply search string to null!
  2712.  
  2713.   '+' lines set a reply string to search for when a line is being received
  2714.         with the @ command.
  2715.  
  2716.   '@' lines set a timeout in seconds in wich to receive a line over the
  2717.         connection. This is the maximum time the system will
  2718.         wait for a reply. At this point, an attempt is made to receive a line
  2719.         from the connection in the time specified.
  2720.         If nothing is received after the timeout time, forwarding for this
  2721.         entry is cancelled.
  2722.         If something is received, and a search string set with the + command,
  2723.         forwarding will be continued only if the search string appears
  2724.         somewhere in the line received.
  2725.         If the search string was not set, forwarding is continued.
  2726.  
  2727.         NOTE: if the value after @ can not be converted to a number, the
  2728.         default is 90 seconds.
  2729.         NOTE: the search string is reset if forwarding continues after the
  2730.         @ command.
  2731.  
  2732.  
  2733.    You can have as many of these lines to establish a connection. They need
  2734.    not be in any particular order.
  2735.  
  2736.    CAVEAT:
  2737.    Replies from the connection need to be full lines; ie they have to be
  2738.    terminated by a proper end-of-line sequence. This means you can not wait
  2739.    for the login prompt from a NOS system, since those are NOT terminated
  2740.    with a end-of-line sequence. (see the examples)
  2741.    You need to know the EXACT reply from systems you connect through.
  2742.    Each @ command reads only one line of data from the connection (if
  2743.    any, offcourse). This means that if a system replies multiple lines
  2744.    after a connection is made, you need multiple @ commands. (see the
  2745.    examples below). This makes it hard to connect via systems that can
  2746.    have varying replies, like NOS systems that do not have your system
  2747.    marked as a BBS, and thus will send welcome messages and varying
  2748.    message-of-the-day etc...
  2749.  
  2750.  
  2751. Some examples:
  2752.  
  2753. 1- a connection via a netrom neigbour:
  2754.         w0rli
  2755.         ax25 ax0 k7uyx-1        <- initial connection to netrom node
  2756.         .c rlimb                <- ask for a netrom connect from this node
  2757.         +Connected              <- if we don't get this, things went wrong
  2758.         @60                     <- maximum one minute wait !
  2759.         w0rli                   <- forward these areas...
  2760.         pnw
  2761.         allor
  2762.         ---------
  2763.  
  2764. 2- a connection via a JNOS system .
  2765.    This assumes that you are marked as a BBS at the JNOS system, so that
  2766.    you only get a '[JNOS...] and '>' prompt...
  2767.  
  2768.         n7dxt
  2769.         ax25 iposu              <- initial connection to the JNOS system
  2770.         +[JNOS                  <- wait for sign-on message from the JNOS box
  2771.         @15                     <- don't wait longer then 15 seconds
  2772.         +>                      <- wait for the prompt
  2773.         @15                     <- wait 15 seconds at the most
  2774.         .c ax0 n7dxt            <- next, request a gateway connect
  2775.         +Trying                 <- NOS replies it's trying...
  2776.         @15                     <- wait 15 secs max.
  2777.         +Connected              <- wait for 'IPOSU:WG7J-3} Connected to N7DXT'
  2778.         @60                     <- wait 60 secs max
  2779.         n7dxt                   <- send these following areas
  2780.         pnw
  2781.         allor
  2782.         ----------
  2783.  
  2784. 3- A connection to a JNOS system, and from there a telnet to a remote bbs
  2785.    (again, assumes your system is marked as a bbs !)
  2786.  
  2787.         wg7j
  2788.         ax25 con iposu          <- initial connection to JNOS
  2789.         +[JNOS                  <- sign-on from JNOS
  2790.         @15                     <- shouldn't take too long
  2791.         +>                      <- next is the prompt
  2792.         @15                     <- not too long either
  2793.         .t wg7j.ampr.org.       <- ask for a telnet connect
  2794.         +Trying                 <- JNOS is trying
  2795.         @15                     <- should come pretty soon
  2796.         +connected              <- wait for '*** connected to xxx'
  2797.         @45                     <- might take a while
  2798.         @30                     <- wait for another (blank) line
  2799.         +NOS                    <- now come the telnet sign-on message
  2800.         @30                     <- wait for this
  2801.         @30                     <- after this is a blank line, wait for it
  2802.         .w0rli                  <- now we get 'login:' and "Password:" prompts,
  2803.         .whomever               <- but they have no <cr>'s, so just answer
  2804.         sysop                   <- we're there, forward these areas.
  2805.         allor
  2806.         wg7j
  2807.         pnw
  2808.         nos
  2809.         ------
  2810.  
  2811. - '/sounds y|n' in convers added. This turns the bells on or off.
  2812.   Ie. if you don't want the bell if new users log on, do a '/s n' after
  2813.   you logon.
  2814.  
  2815. -'mbox hideport [<iface>]'
  2816.  Set or show the 'hide' flags on interfaces. If this flag is set, the mailbox
  2817.  'P' command will not list this interface for ax.25 connection, unless the user
  2818.  has sysop priviledges.  AX.25 gateway connections are also dis-allowed,
  2819.  unless the user has sysop privs. (This is good for stuff like forward-only
  2820.  ports, etc...)
  2821.  
  2822. - fixed scanning of the '/p' command in convers server.
  2823.  
  2824. - smtp server accepts messages to areas with sub-directories.
  2825.  Eg. you can now receive mail for rec.radio.packet, or
  2826.  test/toys, or rec\ham
  2827.  These messages will be placed in the right subdirectory under /spool/mail.
  2828.  CAVEAT: the subdirectory HAS TO EXIST when the mail is received!! It
  2829.  is not created.!!!
  2830.  (Ie. int the above, /spool/mail/rec/radio, /spool/mail/test have to exist!)
  2831.  
  2832. - mailbox keeps track of new mail in areas since user last logged out.
  2833.  If 'mbox newmail on', user will get notified on login wich areas have
  2834.  new mail. New mbox 'AN' command gives the same information.
  2835.  (default is on)
  2836.  
  2837. - the interface flag field, as shown in the 'ifconfig' command,
  2838.   has more use. It's bits have the following meanings:
  2839. #define CONNECT_MODE    1   /* Send datagrams in connected mode */
  2840. #define IS_NR_IFACE     2   /* Activated for NET/ROM */
  2841. #define NR_VERBOSE      4   /* NET/ROM broadcast is verbose */
  2842. #define IS_CONV_IFACE   8   /* Activated for conference call access */
  2843. #define AX25_BEACON     16  /* Send AX.25 beacons */
  2844. #define MAIL_BEACON     32  /* Send MAIL beacons */
  2845. #define HIDE_PORT       64  /* Don't show port in mbox P command */
  2846. #define AX25_DIGI       128 /* Allow digipeating */
  2847.  
  2848. - convers configuration is now done with commands, and not the convers.cfg
  2849.   file any more. New 'convers' command has subcommands :
  2850.  
  2851.   allow [ipaddres|hostname]
  2852.         - if set, only hosts in this list will be allowed to link to us
  2853.           This does NOT effect regular users.
  2854.           Host to allow can be set with multiple 'convers allow' commands
  2855.           Typing 'convers allow' shows the hosts to allow.
  2856.  
  2857.   hostname [name]
  2858.         - set or show the convers host name as announced to users and
  2859.           across links. 10 chars max. When the 'hostname' command is
  2860.           executed, the 'convers hostname' is automatically set to the
  2861.           10 first chars of it, and if '.' are found from the right,
  2862.           they terminate the string.
  2863.  
  2864.   interface [<iface>]
  2865.         - activate interface <iface> for ax.25 convers call connections.
  2866.          with no argument will show active interfaces.
  2867.  
  2868.   mycall [call]
  2869.         - set or show the ax.25 convers call.
  2870.  
  2871.   link  [<hostname|ip-address>] [linkname]
  2872.         - add a convers link to the system at hostname or ip-address.
  2873.           linkname is optional, and sets the name of the link.
  2874.           (It will be replaces once the remote systems announces it's
  2875.           true name...)
  2876.  
  2877.   t4 <seconds>
  2878.         - set or show the ax.25 t4 timeout value for conference call
  2879.           connections. Default is 7200, ie 2 hours.
  2880.  
  2881. - user permission bit to disallow convers access from mailbox or
  2882.   from convers call.
  2883.   #define NO_CONVERS 32768
  2884.   If set, user will not be allowed to give the 'C' command, or connect
  2885.   to the convers call.
  2886.  
  2887. - fixed double <cr> bug in convers personal data across links. Also fixed
  2888.   month display in links-listing.
  2889.  
  2890. - 'netrom verbose' is gone. 'netrom interface' now defaults to none-verbose
  2891.   and the additional 'v' makes it verbose. EG:
  2892.   netrom interface ax0 192      -> non-verbose broadcasting
  2893.   netrom interface ax0 192 v    -> verbose broadcasting
  2894.  
  2895. - 'ax25 confcall' and 'ax25 ct4' are gone. See above.
  2896.  
  2897. - 'ax25 digipeat [<iface>]' now shows or sets digipeating per interface.
  2898.   All interfaces default to no digipeating when first attached !
  2899.  
  2900. - new 'ax25 bcport [<iface>]' command. Sets or displays the ports that
  2901.   ax.25 beacons are sent out on. You need one for each interface you want
  2902.   to beacon on. Eg:
  2903.   ax25 bcport ax1
  2904.   ax25 bcport vhf
  2905.   (beacon interval and text are still set with 'ax25 bcinterval' and
  2906.    'ax25 bctext')
  2907.  
  2908. - new 'mbox mport [<iface>]' command. Sets or displays the ports that
  2909.   'Mail for:' beacons go out on. You need one for each interface you want the
  2910.   mail-beacon to be sent out. Eg:
  2911.   mbox mport ax1
  2912.   mbox mport vhf
  2913.  
  2914. - new 'mbox sendquery'. If set, the mailbox will send a query to ask users
  2915.   if they really want to send the mail after they've type the /ex
  2916.   A 'N' or 'n' response will abort the message at that point. The user will
  2917.   be notified the message was aborted by a 'Mgs aborted' message.
  2918.   (default is on)
  2919.  
  2920. - forwarding is now a server-process. Start with 'start forward'.
  2921.   Timer is still set with mbox timer command.
  2922.   (this and a few other things from Milton Miller, kb5tkf and
  2923.    Ben Thornton, wd5hls)
  2924.  
  2925. - fixed bug in forward.c that would forward with Mycall as the node call,
  2926.   instead of the netrom call. Caused problems if Mycall != Netromcall
  2927.   (with help from Milton Miller)
  2928.  
  2929. - AX.25 Paclen can now be set on a per-interface basis.
  2930.   'ifconfig <iface> paclen <num>' will do the trick.
  2931.   (this is good for HF, where you want a small paclen !)
  2932.   Default is the 'ax25 paclen' value (ie. 256)
  2933.  
  2934.   NOTE: If the interface is activated for NETROM, setting this will also
  2935.   effect the 'netrom mtu' value. It will be set to (smallest paclen) - 20.
  2936.   If this is > 236, the netrom mtu will be 236 (the protocol maximum!).
  2937.   Eg: if you have a HF port with paclen of 64 and active with netrom,
  2938.   and another VHF port active with netrom and with paclenof 256, then
  2939.   netrom mtu is 44 and 'ifconfig netrom' will show this !
  2940.   You can override this automatic assignment with 'ifc netrom mtu <num>',
  2941.   but BE AWARE of fragmentation problems that will occur if you run this
  2942.   over an interface with a smaller paclen then netrom-mtu + 20 !!!
  2943.   (You get ax.25 V2.1 fragmentation, and Thenet, BPQ. MSYS etc can NOT handle
  2944.    this! NOS and it's derivatives are the only one that can handle this !!!! )
  2945.  
  2946. - Setting the netrom mtu now also works for netrom data! (it was originally
  2947.   intended for IP over NETROM use; however, both user data and IP packets are
  2948.   just data for the netrom protocol, so who cares :) Previously, everything
  2949.   pertaining to NR4 data was hardcoded to 236 bytes max, and would result in
  2950.   AX25 V2.1 fragmentation if paclen < 256, NO MATTER what.
  2951.   In NR4.C, send_nr4() now chops packets larger then netrom mtu into
  2952.   multiple smaller ones, thus preventing ax.25 V2.1 fragmantation.
  2953.   (see also 'ifconfig iface paclen' above !)
  2954.  
  2955. - AX.25 connection calls are now on a per-interface basis. Ie. you can have
  2956.   the same two calls with connection on two different interfaces:
  2957.   wg7j-3  <->  ka7ehk  on ax0 , and  wg7j-3  <-> ka7ehk  on ax1 now works.
  2958.  
  2959. - 16550 fifo trigger level can be set from attach command. Valid values are
  2960.   1,4,8 or 14. If you use this, the 'f' option is now mandatory !
  2961.   Add the trigger level following the 'f' or as an additional argument. EG:
  2962.   'attach asy 3f8 4 ax25 ax0 1024 256 9600 f8' or
  2963.   'attach asy 3f8 4 ax25 ax0 1024 256 9600 f 8'
  2964.  
  2965. - bbs forward loop detection added. Ie. when you receive a message that you've
  2966.   forwarded already, there is a forward loop. New 'bulletin loophold' command
  2967.   shows or sets the number of loops after wich to hold a message. 0 disables
  2968.   it, and is the default. Eg. 'bul loop 2' will hold any message that has 2 of
  2969.   your R: headers in the message when it is received. Loop-held messages get
  2970.   an additional header, 'X-BBS-Hold: Loop'.
  2971.   Currently, the sysop is NOT notified of the held message. However, they show
  2972.   up with the common 'H' as the type of the message in the List display.
  2973.   Messages marked 'H' can only be read by users with sysop priviledges, wether
  2974.   that message is in a user's private mail area or not. (This is jumping ahead
  2975.   of possible message contents scanning and holding)
  2976.  
  2977. - stktrace() from the new KA9Q sources added. This is currently only used
  2978.   for invalid free() calls. For each invalid free, it will show a trace of
  2979.   where the call came from. This should facilitate debugging.
  2980.   The 'test' command demonstrates it. Output is in the file stktrace.out.
  2981.   -> You need to have the map-file (nos.map) in the current directory !
  2982.   If you have invalid frees showing in the 'mem stat' command, and you have
  2983.   stktrace.out output, please send me a copy of that file. That will allow
  2984.   me to try and figure out what happened.
  2985.  
  2986. - netrom default round-trip-time increased to 45 seconds.
  2987.   (15 seconds is pretty unrealistic for a loaded 1200bd network :-)
  2988.  
  2989. - minor delinting and convers bug fix by Mike Gallaher, wa3hee
  2990.  
  2991. - incoming ttylinks do not create a session if system is unattended
  2992.  
  2993. - smtp server checks Message-Id's for possible duplicate BID's
  2994.   If found, message is accepted, but not delivered.
  2995.  
  2996. - mailbox disconnects on any '***' command, except '*** linked to' (bug fix)
  2997.   '*** linked to' should now work with any format, including texnet.
  2998.  
  2999. - conference connection sockets are put into no-block mode, this solves
  3000.   the data backlog problem that bogs the system down.
  3001.   (it will still fill up the tx buffer (even beyond the window size),
  3002.   but the send_mbuf() call will not block anymore).
  3003.  
  3004. - fixed conference access via mailbox inactivity timeout problem.
  3005.   Same with mailbox 'D', and 'W' commands.
  3006.  
  3007. - All tcp connections allow verbose ip ports. Currently allowed are
  3008.   "convers","telnet", and "ttylink". This is case sensitive, but you don't
  3009.   need the whole name. First lettter (for convers and telnet), or first
  3010.   two (ie. tt for the ttylink port) is enough.
  3011.   Eg. to telnet to the conference server with a split screen, do
  3012.   "ttylink <hostname> convers" (this is the same as "ttylink <hostname> 3600").
  3013.   This also work from the mailbox: 'T wg7j.ampr.org. convers'
  3014.  
  3015. - added split screen options for ax.25 and netrom connects (if compiled in)
  3016.   New command "split <iface> <call>" is same as "connect", but with S.S.
  3017.   New command "netrom split <node>" is same as "netrom connect" but with S.S.
  3018.   (Remember: you can do S.S. telnet's with the 'ttylink' command, by adding
  3019.    the telnet port number! (see also above))
  3020.  
  3021. - ax25 route commands now takes interface. This allows different digi paths
  3022.   per interface ! Eg. MAIL beaconing:
  3023.   if you want to digi via different nodes on different interfaces...
  3024.   'ax25 route add mail ax0 kf7dq-1'
  3025.   'ax25 route add mail ax1 wg7j-3'
  3026.  
  3027. - arp add/drop/publish now take interface.
  3028.   'arp add wg7j.ampr.org. ax25 wg7j-3 ax0'
  3029.   'arp drop 44.26.0.162 ax25 ax2'
  3030.   'arp publish gw.wg7j.ampr.org. ax25 wg7j-2 ax1'
  3031.  
  3032. - timer process is modified, fixes some timing with PI, SCC and other things.
  3033.  
  3034. - mailbox accepts and handles <del> chars (0x08) (from wa7tas).
  3035.  
  3036. - mailbox areas with more then maxmsg messages now allow reading of first
  3037.   maxmsg messages.
  3038.  
  3039. - fingers to the system now show the 'last connected' info for the requeste
  3040.   user, if exists. After this, the finger file (if exists) will be shown,
  3041.   as usual.
  3042.  
  3043. - remote sysop 'dir' and 'more' commands work, but without more-prompting.
  3044.  
  3045. - 'netrom hidden [on|off]' enables or disables showing of hidden nodes in
  3046.   the N display
  3047.  
  3048. - 'netrom interface' allows changing parameters for already active interfaces
  3049.  
  3050. - Tracing on AXIP interfaces now also works on receive (ie. input)
  3051.  
  3052. - fixed command line expression passing in .asm files for BC++3.1
  3053.  
  3054. - new mkname.c and other stuff for BC++3.1 from n1bee.
  3055.  
  3056. - nr4 ack bug, kiss-ioctl bug fixes per n1bee.
  3057.  
  3058. - netrom bcpoll <ifname>, will poll other systems running jnos1.05(or later)
  3059.   or dataengine's running jnos40 to send a routes broadcast. Speeds up route
  3060.   discovery...
  3061.   Eg. add this to the autoexec file for each activated netrom interface.
  3062.   This was primarily written for the DataEngine code, that doesn't have the
  3063.   'netrom load' from disk capability.
  3064.  
  3065. - tcp retries 0, resets to original KA9Q behaviour, ie no retry max.
  3066.  
  3067.  
  3068. VERSION 1.04 (920805)
  3069.  
  3070. - at command now takes minutes only too; format 'at mm <cmd>'
  3071.  
  3072. - format of /convers.cfg has changed:
  3073.   localname             -> still the local convers name
  3074.   name moot hostname
  3075.   name2 moot hostname2
  3076.   etc.
  3077.   where 'name' and 'name2' are the names of the convers links to put in.
  3078.   'moot' can be anything, but needs to be there for compatibility reasons
  3079.   (previously it had to be 'telnet' but that is the only thing accepted and
  3080.    is now hard coded (saved code))
  3081.   'hostname' is optional, and if defined, it is the hostname that will be used
  3082.   first to resolve the ip address of the host to link to. If 'hostname' can
  3083.   not be resolved, then 'name' will be used as previously.
  3084.   Eg:
  3085.   Corvallis whatever jnos.wg7j.ampr.org.
  3086.   This will try to link to jnos.wg7j.ampr.org. first, if that isn't a valid
  3087.   address, then it will try to link to 'Corvallis'
  3088.  
  3089. - added convers '/personal' command to show some info. Up to 30 chars will
  3090.   be shown in the users display (/w command).  This info also travels across
  3091.   links to compatible servers (ie servers running jnos1.04 or later).
  3092.   eg '/p Johan in Corvallis, OR'
  3093.  
  3094. - convers hostname can be 10 chars now (instead of 8 previously).
  3095.   Be carefull if you link with other server running older, noncompatible
  3096.   code; it is wize to keep it down to 8 chars in that case...
  3097.  
  3098. - added convers loop detection code, from dl9sau
  3099.  
  3100. - bug in convers code that didn't free the socket of a failed link
  3101.   attempt is fixed.
  3102.  
  3103. - separate ax.25 conference call added, with separate t4 timer.
  3104.   If set, connections to this call dump the user directly into the
  3105.   conference bridge. New 'ax25 confcall' and 'ax25 ct4' commands.
  3106.  
  3107. - new commands 'write' and 'writeall' to send message to users.
  3108.   'write' takes either socket # or mailbox username, and message
  3109.   and 'writeall' takes message and sends it to all mailbox users
  3110.   Eg: 'write 131 test'  'write wg7j "testing messages"' or
  3111.   'writeall test'  'writeall "testing messages"'
  3112.  
  3113. - socket display (eg. 'so 131') now shows socket creation time
  3114.  
  3115. - Added tcp retry timeout from iw0cnb. New 'tcp retries' command.
  3116.   Will reset tcp connections after too many retries.
  3117.  
  3118. - commented out some non-used code in the socket interface (AX25_UI sockets)
  3119.   (saves 1.5k :-) )
  3120.  
  3121. - New mailbox rewrite rule:
  3122.   mail rewritten to 'refuse' is refused from the mailbox with a 'NO' or
  3123.   'Bad host' reply.
  3124.  
  3125. - Upped the maximum number of netrom and axip interfaces to 16
  3126.  
  3127. - 'netrom interface' shows active netrom interfaces
  3128.   (verbose flags: v - yes, n - no, and f - according the verbose setting)
  3129.  
  3130. - tcp connect requests (Syncs) are refused if low memory, and
  3131.   socket() call will fail if memory low.
  3132.  
  3133. - AX.25 source call logging now correctly logs outgoing call, instead
  3134.   of interface call. (ie. gateway users will show up in list!)
  3135.  
  3136. - conference bridge access from mailbox is not via telnet connection
  3137.   anymore, but direct. Is faster and saves 2 sockets, 1 process and
  3138.   lots of system overhead. Convers.c has been cleaned up a bit too.
  3139.  
  3140. - added check in telnet login procedure for valid (Dos-filename) login name
  3141.  
  3142. - all memory address displays have dropped the '0008'. All commands involving
  3143.   memory  addresses do not accept the '0008' anymore.
  3144.  
  3145.  
  3146. VERSION 1.03 (920701)
  3147.  
  3148. - 'mbox tmsg' command. Shows or sets the 'telnet msg', that is
  3149.   shown to incoming telnet users before the login: prompt
  3150.   eg. mbox tmsg "Please use your call to login. Thank you"
  3151.  
  3152. - Domain Name Server code added. Start with 'domain startdns'
  3153.   Does not support multiple queries per frame, does not support
  3154.   authority and additional rr's in the reply.
  3155.   Always gives non-authoritative replies.  Has been tested to
  3156.   work with A,CNAME,MX,PTR,HINFO,SOA,NS queries. If other remote servers
  3157.   have been configured, if needed they will be used to resolve queries.
  3158.  
  3159. - 'netrom interface' changed:
  3160.   syntax is now 'netrom interface ifname ### [n|v]'
  3161.   where ifname is the interface name to attach
  3162.   ### is the route quality, 0-255
  3163.   and 'n' or 'v' is optional overriding of the verbose setting.
  3164.   If 'n' is given, the route broadcasts on the interface are none-verbose
  3165.   if 'v' is given, they are verbose.
  3166.   These 2 override the verbose flag !! Ie. if verbose is off, but the
  3167.   interface flag is verbose, all routes are broadcast.
  3168.   If no option is given, the verbose flag is used...
  3169.  
  3170.   This allows verbose broadcasts on axip interfaces, but keeps all the remote
  3171.   nodes off the local lan by disabling verbose broadcasts on that interface.
  3172.  
  3173. - users don't need telnet-permissions anymore for C,CA, and O
  3174.  
  3175. - KU will undelete messages marked for deletion
  3176.  
  3177. - 'L<' searches the 'From:' field
  3178.  
  3179. - a finger to 'conf' will show the conference bridge users (if configured)
  3180.  
  3181. VERSION 1.02 (920615)
  3182.  
  3183. - bugfix for recording of telnet session by Ron, vk6zjm added
  3184.  
  3185. - POP2 and POP3 from was0206 and gri-2.0j was added.
  3186.  
  3187. - userlogging works now also for any mailbox starting with "sys",
  3188.   even if not an area; this allows sysops to read sysop-mail from
  3189.   private areas, and have the system keep track of last read msg.
  3190.  
  3191. - the mailbox 'A' command will show the area names only, NOT
  3192.   the descriptions. To show descriptions, type AF
  3193.   Comments in /spool/areas now NEED TO START with a '#' char...
  3194.   and are only shown in the AF form of the command
  3195.  
  3196. - code to restore 16550 fifo status added (from Bill Simpson)
  3197.  
  3198. - ftp message of the day, modified from Max (iw0cnb).
  3199.   Set/show with 'fmotd' command
  3200.  
  3201. - mailbox (L)ist display has been changed a bit to show the To: field
  3202.   of messages.
  3203.  
  3204. - new mailbox 'L>' command allows searches in the To: field of messages
  3205.   (NOT case sensitive!)
  3206.   eg: 'L> test' will show messages with To: fields of:
  3207.   test@allusa, TEST@somewhere, all@testing.usa, ...
  3208.  
  3209. - expanded mailbox 'ML' command :
  3210.   'ML'       -  lists all past logins since startup
  3211.   'ML n'     -  lists last n logins since startup
  3212.   'ML call'  -  gives last login date/time for call
  3213.  
  3214. - new mailbox 'Move Message' command for sysops:
  3215.   'MM name' moves the current message to mailbox file 'name'
  3216.   'MM n[...] name' moves message n to mailobx file 'name'
  3217.   eg:
  3218.   MM 1 3 4 newarea
  3219.   (Moves messages are deleted in current mailbox file)
  3220.  
  3221. - 'New mail' messages only print to the command screen
  3222.  
  3223. - userlog code now also works during 'R' command
  3224.  
  3225. - mailbox 'SR' doesn't generate a Cc: to the original message To: addressee
  3226.  
  3227. - user default logging added; keeps track of last time logged-in/out,
  3228.   state of XM,XA and XN commands, and how last connection was made.
  3229.   gets read at login and restores values that existed at last logoff.
  3230.  
  3231. - in mailbox send, the rewrite result 'To:' is only shown to sysops
  3232.  
  3233. - new command XN to toggle the netrom id prompt.
  3234.  
  3235. - deleted the masking of chars with 0x7f, to allow international
  3236.   character sets to pass correctly (in ttydriv.c and telnet.c)
  3237.  
  3238. - disallow attaching of axip interfaces with names longer then 6 chars
  3239.   This is needed for the gateway code to work correctly (inherent to the
  3240.   socket internals)
  3241.  
  3242. - fixed bug in the Bye command that would reset the last read message
  3243.   to 0, if nothing was Listed in the last area
  3244.  
  3245. - netrom inactivity timeout disconnection was not working properly in 1.01
  3246.   (wrong timer configured). This is now fixed...
  3247.  
  3248. - refusing of new connections when memory is low is now done
  3249.   in the protocol modules for netrom (nr4.c) and AX.25 (lapb.c)
  3250.  
  3251. - when a nodes-broadcast from a previously unknown netrom
  3252.   neighbour is heard, the system send a nodes broadcast too.
  3253.  
  3254. - new mailbox 'XA' command; toggles showing of the current area
  3255.   with the mailbox prompt. Defaults to on.
  3256.  
  3257. - fixed bug that prevented areas in subdirectories from being accessed
  3258.   (in mlock() and rmlock() functions). This affected systems using nntp
  3259.  
  3260. - modified the nntp client in nntpcli.c to be compatible with my userlog code
  3261.   (added a "Received:" line to articles)
  3262.  
  3263. - message expiry code can now handle both the 'mailbox' style
  3264.   (ie. "Tue, 14 Apr 92 15:11:07") and the 'nntp' style date
  3265.   line (ie. "14 Apr 92 15:11:07").
  3266.   (so it *should* now work with the nntp client; still NOT tested though!)
  3267.  
  3268. - mailbox forwarding: anything that came in with a bid goes out with a bid.
  3269.   Thus now 'SP sysop@blah $bid' goes out with $bid unlike before.
  3270.  
  3271. - when 'bulletin date' is on, "Date: " now only shows the date,
  3272.   no more the  "BBS, ".
  3273.  
  3274. - added st_garbage() fix in sockutil.c
  3275.  
  3276.  
  3277. VERSION 1.01 (920408)
  3278. ************
  3279.  
  3280. - any user can delete messages in any area that starts with "nts".
  3281.   Thus users can delete nts traffic, without having to give them
  3282.   permission to delete everything.
  3283.   Eg: I rewrite all nts stuff i can deliver to the area 'ntslocal'
  3284.   User's can now delete these messages after delivery.
  3285.   All other traffic (ie. not for my area) i rewrite to 'nts' to
  3286.   be forwarded elsewhere. However, 'nts' is NOT an area, so regular
  3287.   users can't touch it (You could also use 'traffic' or whatever
  3288.   else suits you...)
  3289.  
  3290. - plain 'netrom route info' gives info for all routes
  3291.   mailbox 'N *' does the same; from Doug Crompton.
  3292.  
  3293. - telnet login's get 3 tries max to be validated; ctrl-d as the first
  3294.   char will exit the login-procedure.
  3295.  
  3296. - support for the BuckMaster CDRom ham-call database has been added;
  3297.   it compiles just fine, but this has NOT been tested !!
  3298.   (check the compile switches in config.h; not in the standard
  3299.   distribution)
  3300.   The commands for this are 'callbook','callserver2','cdrom',
  3301.   'start callbook' and 'stop callbook'
  3302.   This code comes from KB7YW, taken out of SS_NOS sourcecode,
  3303.   and is provided as is...
  3304.  
  3305. - fixed memory leak with mailbox finger, and overwrite problem
  3306.   with the 'whereto' variable.
  3307.  
  3308. - mkname.c now works with tc2.0, bc2.0 and bc3.0, from Ron Henderson, wa7tas
  3309.  
  3310. - smtp lzw is a more robust; from pa0gri 2.0f
  3311.  
  3312. - tipmail.c timer problem fixed; from ke9yq
  3313.  
  3314. - Function key session switching ! (modified a bit from WNOS3 sources)
  3315.   If the function keys F1-F8 are not defined, they will switch you to
  3316.   the session of that number; eg F3 will switch to session 3 !
  3317.  
  3318. - tracing to a session. Function key F-9, if not re-defined with an fkey
  3319.   command, switches to it from any other session. (it actually toggles;
  3320.   ie you can switch between trace and current session by pressing F9)
  3321.   Session tracing defaults to on.
  3322.   Trace output is only printed in this session when it is the active one.
  3323.   Tracing to file currently disables output to the session.
  3324.   Tracing can be set to go to the command screen with 'strace off' command.
  3325.   (Sometimes you want to see what's going on while you're typing some
  3326.   commands at the console)
  3327.  
  3328.   To save memory (about 4 kb.) session tracing can be disabled with a
  3329.   commandline option. Invoking nos with '-n' will not setup tracing
  3330.   to session, but always trace to the command window.
  3331.   (the 'strace' command is disabled aswell)
  3332.   (eg 'nos -n -s40' will give 40 socket and tracing to the command window)
  3333.  
  3334. - the bid's in history file now have a timestamp with them to allow
  3335.   for automatic expiry. Format is "%s %ld\n", where %s is the bidstring,
  3336.   and %ld is the number of seconds since 1970 (ie. standard time long-integer)
  3337.  
  3338. - BID and MESSAGE expiry built in.
  3339.   command 'oldbids <timer> [age]' or 'oldbids now'
  3340.     <timer> is in hours and sets the interval that the bid file ('history')
  3341.     will be scanned for old ones to delete. Old file is renamed to
  3342.     'history.bak' and a new one created. This will also transform old style
  3343.     bid's (without timestamp) to new style with timestamp.
  3344.     [age] is the optional age in days, and defaults to 30 days.
  3345.     'oldbids' will show current values, 'oldbids now' will expire old bids
  3346.     immediately, with previously set age value (or default if not set)
  3347.  
  3348.   command 'expire <timer>' or 'expire now'
  3349.     <timer> again is in hours, to set the interval to check for expired
  3350.     messages. The expiration in controlled by the file '/spool/expire.dat'
  3351.     This file is a list of fields like
  3352.     area age
  3353.     where area is the area-name WITHOUT the '.txt' extension. Area CAN
  3354.     have subdirs denoted by either '.', '/' or '\' . Thus is *should*
  3355.     work with NNTP articles as well (see note 2). Age is the age in
  3356.     days of the message. If age is omitted, default is 21 days
  3357.     Area and age are separated by one space character !
  3358.     On expiry, any area.txt file is renamed to area.bak, and then all
  3359.     messages are checked for their age. Age comes from the 'Date: ' header.
  3360.     Thus with the 'bulletin date yes' command, BBS style messages can
  3361.     be properly expired.
  3362.     Some valid formats of the '/spool/expire.dat' file:
  3363.  
  3364.     #This is a comment
  3365.     #expire the allusa bulletins after 7 days
  3366.     allusa 7
  3367.     #assume the default for allor (ie 21)
  3368.     allor
  3369.     rec.radio/amateur\packet 10
  3370.  
  3371.     NOTE 1: the use of the mktime() function in the age calculations
  3372.     now forces the use of BCC instead of TCC. There is a sort-of working
  3373.     replacement of mktime() in expire.c for those that want to keep using
  3374.     tcc
  3375.  
  3376.     NOTE 2: I have tested the subdir expiration with mail files; NOT with
  3377.     NNTP originated messages. If this doesn't work, please let me know !
  3378.  
  3379. - mbox mailfor exclude. You can set a list of private mail areas to exclude
  3380.   from the mail-beacon. Same syntax as 'mb jumpstart exclude'.
  3381.   (mailfor code has been rewritten to be more efficient, less hd access)
  3382.  
  3383. - a user does NOT need TELNET_CMD permissions anymore to do the 'CALL'
  3384.   command. This is so that we can disallow telnet's and still allow
  3385.   connections to the call-server.
  3386.  
  3387. - included the latest PI driver in the sources (dated 920329)
  3388.  
  3389. - mailbox.c is now split into mailbox.c and mboxcmd.c
  3390.  
  3391. - mailbox subcommand 'mbox tdisc' sets the inactivity timeout value.
  3392.   If not zero, if mailbox user has not given any input for the timeout
  3393.   period, the mailbox connection is closed. This prevents idle users.
  3394.   Default is 0 seconds, ie off.
  3395.   (can be compiled out with MBXTDISC switch in config.h)
  3396.  
  3397. - ftp server inactivity timeout. Command 'ftptdisc'. Again, if not zero
  3398.   ftp connection will be closed after no data has flown for the timeout
  3399.   period. Defaults to 0 seconds, ie. off.
  3400.   This gets deactivated during file transfers in either direction;
  3401.   this is to avoid looong slooow transfers to cause a timeout.
  3402.   (can be compiled out with FTPTDISC switch in config.h)
  3403.  
  3404. - netrom subcommand 'netrom tdisc'. Sets a timer similar to the 'ax25 t4'
  3405.   timer. If there has been no incoming data over a level 4 circuit for the
  3406.   timeout period, the circuit is reset.
  3407.   Default is 0 seconds, ie. no timeout.
  3408.   This is usefull with idle forward sessions etc.
  3409.   (can be compiled out with NR4TDISC switch in config.h)
  3410.  
  3411. - mailbox 'SR' command works again (sending replies...)
  3412.  
  3413. - 'LL' command was broke since addition of 'LA'. Fixed again.
  3414.  
  3415. - mailbox 'RH' command, to read with all headers (same as 'V')
  3416.  
  3417. - R: header interpretation now allows both '@:bbs' and '@bbs' format
  3418.   as well as '?:bbs' and '?bbs' (for aplink etc.)
  3419.  
  3420. - mailbox 'SC' command to send one message to multiple people
  3421.   'Send Carboncopy'; it asks for a list of Cc:-addresses. A user can
  3422.   answer with one or more addresses, separated by comma's
  3423.   eg: 'Cc: johan@ece.orst.edu, ka7ehk@wg7j.ampr.org,test@nowhere.usa'
  3424.  
  3425. - mailbox 'XM n' to show or set (XM n) the number of lines for
  3426.   more-prompting. Telnet default is 23, others 0 (same as previously)
  3427.   MORE now works for ALL connection types, instead of only for telnets.
  3428.   MORE also works with all the 'L' commands (as well as R/V commands)
  3429.   (this is NOT logged(yet), so at each login, the defaults are set)
  3430.  
  3431. - smtp bactch processing fixed ala VK6RJM
  3432.  
  3433. - 'info' command now shows compile date/time.
  3434.  
  3435.  
  3436. VERSION 1.00 (920318)
  3437. ************
  3438.  
  3439. - New commands 'bulletin <check|date|return>'
  3440.   (Can be compiled out by undefining 'MAILFOR' in config.h)
  3441.  
  3442.   'bulletin date on/off' (DEFAULT: OFF)
  3443.   if on, the original message date from the last R: line will be
  3444.   used in the message 'Date:' line. Off acts as plain ka9q code.
  3445.   This allows a more correctly indication of the age of the message
  3446.   and improves automatic expiry of messages
  3447.   (with the 'at hhmm "shell expire..." ' command !)
  3448.   (NOTE: due to the lack of the mktime() routine in the TC2.0 libraries,
  3449.    the weekday field in the ARPA-date header is set to "BBS"; as soon
  3450.    as i get around rewriting that routine (it is in BC2.0 and above)
  3451.    that will be fixed. This causes no grief :-), just shows something like
  3452.    'Date: BBS, 12 Mar 92 11:21:00 UTC'
  3453.    the presence and length of this field are imperative, since at several
  3454.    places the string is scanned for the ',' (smtp) or the lenght (forward) )
  3455.  
  3456.   'bulletin return on/off' (DEFAULT: OFF)
  3457.   if set, when a message is received via bbs-forwarding
  3458.   a 'valid bbs-style return address' will be taken from the
  3459.   last R:-line, if one is present. This works with any message
  3460.   type that starts with R:-headers (so personal mail as well).
  3461.  
  3462.   the 'true from-address' is made as 'user@last-R:line-bbs'
  3463.   ie. the from-address is set to come from the user, as send
  3464.      with the 'S bla@blah < USER' line, and the 'home' bbs will
  3465.      be extracted from the last R: line found
  3466.      This allows a correct 'from' the be shown, and allows
  3467.      the SR (Send Reply) to work normal, however....
  3468.      eg. If the message is forwarded as 'SP W7ABC < W6XYZ'
  3469.      and the last R:-header is
  3470.      R:920312/1200z @:N7PQR.AB.CD.EF [TEST] #:0 Z:1
  3471.      then the 'From:' line will read:
  3472.      'From: w6xyz@n7pqr.ab.cd.ef'
  3473.  
  3474.      NOTE !!!!
  3475.      Since in most of these occasions, the from-hosts will NOT
  3476.      be tcp/ip hostnames (eg. wg7j.ampr.org) but rather
  3477.      bbs H-addresses (eg. WG7J.OR.USA.NA)
  3478.      YOU (ie. the sysop) HAVE TO MAKE SURE your system can handle
  3479.      these new addresses by setting up the ALIAS and REWRITE files
  3480.      to handle these, and then setup bbs-forwarding (if needed)
  3481.      as well with FORWARD.BBS
  3482.  
  3483.   'bulletin check on/off'
  3484.   When turned on, the forward.bbs file is scanned to build a list
  3485.   of bbs's we forward to. If on, 'bulletin check' will give this list.
  3486.   When a bbs connects, each time a bulletin or any message send with BID
  3487.   is forwarded the R: trail (if present) will be read for comparison
  3488.   to the list. If an R: line from a BBS we forward to is found,
  3489.   an 'X-Forwarded-To' header is added to the smtp headers of the messages.
  3490.   (They are written as the very first thing, to speed up the scanning
  3491.    of the headers during forwarding...)
  3492.   This 'X-Forwarded-To' header is lateron used by the
  3493.   forward code to realize that those bbs-es already have the
  3494.   message, and we don't have to try to send it,
  3495.   only to get a 'NO' reply. Thus not as much time and network
  3496.   bandwith is wasted...
  3497.  
  3498. - mailbox 'read' only sets the 'READ' flag when the area is the
  3499.   users private mail area. This prevents users with sysop privs
  3500.   that read other private areas to mark stuff as read.
  3501.   eg. I rewrite lots of private mail into two private mailboxes,
  3502.   north.txt and south.txt, to be forwarded in those directions.
  3503.   I don't want regular users to be able to read this, so they can't be areas.
  3504.   I want to be able to read them myself (sysop privs), but doing so would
  3505.   previously set the 'READ' status and cause a message not to be forwarded!
  3506.   Thus the fix...
  3507. - When a message originates here, and goes out over bbs-forwarding,
  3508.   after our R: header, a blank line is inserted followed by the message text.
  3509.   (previously the text followed immediately)
  3510. - when forwarding a message out of a private area, when the message is a
  3511.   bulletin, the message does not get deleted (previously it would). Reason:
  3512.   i rewrite certain buls to a private area, so that regular users can't read
  3513.   them (eg. 'sb sysop@allor'). I also forward these, and thus might miss the
  3514.   message if it gets killed after forwarding... (now 'sp sysop@allor' still
  3515.   get killed after forwarding :-( )
  3516. - by changing the subject-prompt G3ZZC's LANLINK's auto-upload
  3517.   is supported (some of my users run this).
  3518. - mailbox 'MS' shows mail-status; number of received,forwarded msgs. etc.
  3519.   also shown with 'mbox mailstat' command
  3520. - userlogging does NOT work for area names 'help' This allows new users
  3521.   to list help messages over and over with a simple L command, without
  3522.   having to know the 'internals' of the L-subcommands. Suggested by
  3523.   my local users
  3524. - user is only notified of new received private mail if user is currently
  3525.   in his own mail area. Prevent users from doing RM upon new mail nofication
  3526.   and getting the new messages in a different area. Suggested by my local
  3527.   users
  3528.  
  3529. - remote-sysops 1-packet pings are allowed.
  3530.  
  3531.  
  3532. VERSION 0.99 (920310)
  3533. ************
  3534.  
  3535. - Mailbox command 'RM','VM' and 'KM' to read-mine, verbose-mine and kill-mine
  3536.   This will read at the most the first 19 unread messages, or
  3537.   kill (ie. delete) the first 19 read messages IN THE CURRENT AREA.
  3538.   (19 is inherent to the cmdparser routine)
  3539.   Also 'LA' to list all messages, and LM same as L for compatibility
  3540.   (ie. list unread messages)
  3541. - A commandfile, ~/onexit.nos, if present, will be parsed when the 'exit'
  3542.   command is given, and after this the system exits. (from iw0cnb)
  3543. - When the remote-listener receives a valid 'exit' or 'reset' command,
  3544.   the same stuff is done as when 'exit' is typed on the keyboard
  3545.   ie. processes are notified, onexit.nos parsed etc...
  3546.   then if 'reset' a system reset occurs, otherwize a regular exit()
  3547. - Mailbox user display ('M' or 'mbox') is enhanced, showing
  3548.   detailed state of all users
  3549.   (users in sysop mode will only show to others with sysop privs,
  3550.    regular users will see that user to be 'Idle')
  3551. - New mbox command 'mbox mailfor <interval>'
  3552.   (Can be compiled out by undefining 'MAILFOR' in config.h)
  3553.   <interval> is in seconds. A 'Mail for:' beacon will be send
  3554.   every <interval> seconds to the address 'MAIL'.
  3555.   It contains a list of all private mailfiles
  3556.   (ie. none-areas) that have unread mail.
  3557.   The beacon is also send when the timer is set,
  3558.   and can be forced (ie. kicked) with 'mbox mailfor now'
  3559.   Simple 'mbox mailfor' will show the timer value and the current
  3560.   users that have mail waiting...
  3561. - 'netrom load' now works !
  3562.  
  3563. VERSION 0.98 (920303)
  3564. ************
  3565. - LZW compression in smtp now works (thanks Gerard!(pa0gri))
  3566. - Mailbox minimal tcp negotiation added (thanks Bob!)
  3567. - (hopefully) fixed the last incompatibilities with BID's when
  3568.   forwarding.
  3569. - Made the 'R:' line "bulletproof" for certain fields not set (from iw0cnb).
  3570. - fixed bug that reset number of new messages when new mail was received
  3571.   in current public area
  3572. - made 'domain translate' work correctly again (from g1emm)
  3573. - fixed jumpstart problem (actually ax.25 spec 'problem') when a second
  3574.   SABM frame is received. (from Ron Murray, vk6zjm)
  3575. - trace only outputs to command session or files; ie. doesn't garble
  3576.   other sessions anymore (from iw0cnb)
  3577. - added a 'call' command to mailbox.
  3578.   (code is optional via the CALLBOOK switch in config.h)
  3579.   This is an automatic telnet connect
  3580.   to a host and port set with the 'callserver' command.
  3581.   Format is 'callserver <host> <port>' where the callbook server
  3582.   resides on tcp-port <port> on <host>
  3583.   This is mainly useful for gateway systems on Internet.
  3584.   It allows users to use the callbook-server at buffalo.edu in an easy way.
  3585.   Note: User needs to have telnet permissions
  3586.   eg: 'callserver marvin.cs.buffalo.edu 2000'
  3587.   then the mailbox 'call' command will try to telnet to this host/port
  3588. - added the 'at' timed command execution, from IW0CNB's code
  3589.   (this can be compiled optionally with the ATCMD switch in config.h)
  3590.   The "at" command with no arguments shows the list of events that are to
  3591.   be executed.
  3592.   at yymmddhhmm <command>
  3593.     Executes <command> at specified date,expressed in Year-Month-Day-Hour-Min.
  3594.     If specified date is past, the command is not executed.
  3595.   at hhmm <command>
  3596.     Executes <command> at specified hour and minute of the current day, or of
  3597.     the next day if the specified time is past.
  3598.   at now+hhmm <command>
  3599.     Executes <command> hh hours and mm minutes from now. hh and mm can be up
  3600.     to 99.
  3601.  
  3602.   Notes and examples:
  3603.   <command> may be any valid NOS command, possibly enclosed in quotes,
  3604.   as well as a DOS shell command.
  3605.   If you want multiple commands to be executed, use the "source <filename>"
  3606.   command.
  3607.   The third mode of operation requires the exact writing "now+" in lower case
  3608.   and without spaces between hhmm.
  3609.  
  3610.   Single command execution examples:
  3611.   at 9202150900 exit   /* Shuts off on 15 Feb 92 at 9:00am */
  3612.   at 2245 "! /c pkzip oldmail \spool\mail\*.*"
  3613.   at now+0500 "smtp kick"
  3614.  
  3615.   Multiple command execution examples:
  3616.   at now+0859 "source cleanup.net"
  3617.  
  3618. (VERSION 0.97b)
  3619. - fixed little incompatibility with texnet '*** linked' stuff
  3620. - added check for console on all session-invoking commands.
  3621.   (ie. you can not do 'dir',etc. from remote sysop anymore!)
  3622.  
  3623. VERSION 0.97 (920220)
  3624. ************
  3625.  
  3626. - User status keeping.
  3627.   The mailbox now keeps track of the last listed message
  3628.   in each area for each user. Next time the area is listed, by default
  3629.   only newer messages are listed. 'L start# stop#' and 'LL #' will
  3630.   still list all messages.
  3631.   This info is kept in a file 'areaname.USR' in \spool\mail .
  3632.   eg. the area 'amsat' has it's info in \spool\mail\amsat.usr
  3633.   The content is simply a list of user names, followed by the id-number
  3634.   of the last message listed in this area.
  3635.   The content is updated when the user switches areas, or logs out.
  3636.   The .usr files are build completely automatically, there is nothing
  3637.   you need to do to get things started.
  3638.   This feature can be turned of by undefining USERLOG in config.h
  3639.   It currently DOES NOT work in areas in subdirectories under ~spool/mail .
  3640.  
  3641. - The expanded bbs-forward R: line gets only send if all of
  3642.   mbox haddress, fwdinfo, qth and zip are set. Otherwize a simplified
  3643.   R: line gets send with only time, @-bbs and message-#
  3644.  
  3645. - the mailbox '*** linked to' handling is a bit more robust.
  3646.   Every user has permission to do this now, but if sysop-password is not
  3647.   set, SYSOP_CMD priviledges are reset.
  3648.   It will not allow some one to reset the NO_SENDCMD, NO_READCMD or
  3649.   NO_3PARTY protection, if they were disallowed in the original login.
  3650.   It now also sets the new call for outgoing gateway connects.
  3651.   Handles the TEXNET 'linked to' message, but doesn't use the ssid
  3652.   from this (i see no need for this)
  3653.   If 'linked to' is done, this logged to the logfile
  3654.  
  3655. VERSION 0.96
  3656. ************
  3657.  
  3658. - requested by wb5bbw: logging of mailbox telnet/netrom/ax25 gateway connects
  3659.  
  3660. - 'mbox expert' command is gone. Instead default state can be set for each
  3661.   user in ftpusers database. Use value of 16384 to set user as expert.
  3662.   X command from mailbox will still toggle, but NOT update the default in
  3663.   ftpusers.
  3664.  
  3665. - hidden ML mailbox command to show previous users,
  3666.   also shown with 'mbox past'
  3667.  
  3668. - lzw compression in smtp (same as in gri2.0d)
  3669.   (disabled in the distribution .exe, since there are reportedly bugs!)
  3670.  
  3671. VERSION 0.95
  3672. ************
  3673.  
  3674. - jumpstart has been ruggidized. Lapb now sets a flag in the ax.25 control
  3675.   block to indicate wether jumpstart was used. If not used, the first line
  3676.   to trigger the mailbox is eaten again.
  3677.   Also, a list of calls to excluded from jumpstart can be set (or shown) with:
  3678.   mbox jumpstart exclude <one or more call>
  3679.   eg:
  3680.   'mbox jumpstart exclude wg7j-4 kb7bhf-5 pa3dis'
  3681.   Now when either one of those connects, jumpstart will not be used.
  3682.   You can show the list of excluded calls with 'mbox jumstart exclude'
  3683.   or add more with additional 'mbox jumpstart exclude call call call...'
  3684.   lines
  3685.  
  3686. - added Jerzy Taraziuk's ksubr mods  (main-process stack checking)
  3687.  
  3688. - added code in lapb.c to drop non-local ax.25 routes when a connection closes
  3689.   (ie. routes coming from gateway users using digis etc.) Inspired by K4TQL
  3690.   Changed routes added in the mailbox gateway and in doconnect() from AX_LOCAL
  3691.   to AX_AUTO, such that these routes are only temporary.
  3692.   The only permanent ax.25 route entries are now those entered with the
  3693.   'ax25 route add' command.
  3694.  
  3695. - added Mike Billow, N1BEE's minheap trick in pc.c to (hopefully) resolve
  3696.   memory problems when shelled out with the multitasking shell on
  3697.  
  3698. - additional config.h switches to undefine multitasking shell code,
  3699.   ax.25 ip autoroute, shell-command and some unneeded sessions
  3700.   (for switch setup)
  3701.  
  3702. - dropped autoroute in the distribution because it causes problems
  3703.   when using vc for ip links. It still can be added by changing config.h
  3704.   and recompiling
  3705.  
  3706.  
  3707. VERSION 0.94
  3708. ************
  3709.  
  3710. - bbs flag in ftpuser:
  3711.   IS_BBS     -    the user should be treated as a bbs
  3712.   (#define IS_BBS      8192    /*This user is a bbs*/)
  3713.  
  3714. - node list in mailbox 'N' command is sorted, per Doug Crompton's code
  3715.   Sort can be done by alias or call, set by 'netrom route sort' command
  3716.   default: by ALIAS
  3717.  
  3718. - netrom neighbours can be listed with 'NR' from mailbox
  3719.   this also shows if a route has been used in the last 60 seconds
  3720.   (an '>' shows up in front)
  3721.  
  3722. - better protection for mbox password and lock commands
  3723.   (only access via keyboard, suggested by Gerard, pa0gri)
  3724.  
  3725. - fixed a longtime bug with loosing the BID when forwarding bbs mail
  3726.   that was received with a bid from someone else
  3727.  
  3728. - little bug fixed that would show multiple paths in the ftpserver pwd command
  3729.  
  3730. - when jumpstart is off, the line that triggers the mailbox (ie. the CR)
  3731.   will be eaten again, like in plain KA9Q (instead of being taken as a
  3732.   command, as in previous versions)
  3733.  
  3734. - ala PA0GRI:
  3735.   mailbox chat is now 'operator'
  3736.   mailbox users is now 'mboxusers'
  3737.   mailbox upload is back !
  3738.  
  3739. VERSION 0.93 (920126)
  3740. ************
  3741.  
  3742. - anonymous permission ala pa0gri's 'univperm'
  3743.  
  3744. - Additional mailbox user permissions:
  3745. NO_SENDCMD -  disallow all mail, except to 'sysop' or 'SYSOP'
  3746. NO_READCMD -  disallow reading of any mail
  3747. NO_3PARTY  -  disallow 3rd-party mail to be send
  3748. These bits need to be set in order to disallow those actions,
  3749. such that ftpusers need not be modified if you don't want to mess
  3750. with them
  3751.  
  3752. Thus permissions are now:
  3753. #define AX25_CMD        8       /* AX.25 gateway operation allowed */
  3754. #define TELNET_CMD    16    /* Telnet gateway operation allowed */
  3755. #define NETROM_CMD    32    /* NET/ROM gateway operation allowed */
  3756. #define SYSOP_CMD    64    /* Remote sysop access allowed */
  3757. #define EXCLUDED_CMD    128    /* This user is banned from the BBS */
  3758. /* 256 and 512 are used in PPP*/
  3759. #define NO_SENDCMD  1024    /*Disallow send command*/
  3760. #define NO_READCMD  2048    /*Disallow read command*/
  3761. #define NO_3PARTY   4096    /*Disallow third-party mail*/
  3762.  
  3763. - additional 'cls' command to clear the command-session screen
  3764.  
  3765. - mailbox command to set offset between computer's time and UTC.
  3766.   this is used with forwarding ax.25 bbs mail such that the R: line
  3767.   indicates correct UTC time with the 'z'.
  3768.   ie. if you don't have your computer running with UTC time,
  3769.   set this parameter.
  3770.  
  3771.   eg: on the west coast, local time is UTC - 8 hours.
  3772.       if your computer runs with local time, issue the following
  3773.       command:
  3774.       'mbox utc -8'
  3775.       The default value is 0, ie computer time = UTC .
  3776.  
  3777.       Both positive and negative offsets (for those outside the US :-))
  3778.       are supported. The code will automatically account for jumps into
  3779.       the next or previous day, or year and checks for leap-years on
  3780.       february 28/29
  3781.  
  3782. - Netrom Level 4 problem (not sending data queueud up)
  3783.   is fixed (ala Dave Perry, VE3IFB)
  3784.  
  3785. - Remote Sysop password protection
  3786.     Set the password with 'mbox password your_password'
  3787.     Maximum password lenght is 30 chars.
  3788.     NOTE: Users still need sysop premission in the ftpusers file !
  3789.     (this is easy to change in the soures)
  3790.     If the password is not set, users with sysop priviledges don't get to
  3791.     pass the query, but jump into sysop-mode right away. (the old way!)
  3792.     If it is set, 5 numbers are prompted. The user then needs to answer
  3793.     with the correct 5 characters from the password. The first char is number
  3794.     zero !
  3795.     You can give as many lines answering the query, to mislead people
  3796.     listening in :-). End with a blank line, and if one of the answers you
  3797.     gave was correct, sysop permission is granted!
  3798.  
  3799.     eg: 'mbox password *12345abCDE'
  3800.     you give the '@' command:
  3801.     system prompts: '3 7 2 9 0'
  3802.     you answer:     agk4e
  3803.                     thier
  3804.                     3b2D*           <--- the right answer !
  3805.                     9qPr&
  3806.                     <blank line>    <--- just hit <CR>
  3807.  
  3808.     Sysop permission is now granted !
  3809.  
  3810. -Forced NS16550 attaching
  3811.     optional 'f' parameter in 'attach asy' forces the presence of the 16550.
  3812.     eg: attach asy 0x3f8 4 slip sl0 2012 1006 2400 vf
  3813.     sets VJHeader compression ( the 'v') and forces the 16550 ('f')
  3814.  
  3815. VERSION 0.92 (920114)
  3816. ************
  3817.  
  3818. -Some additional configuration switches in config.h
  3819. These save lots of memory (MBFWD and ALLCMD undef'd save about 50k!)
  3820. MBFWD  - if not defined, excludes mailbox forwarding code
  3821.          and related commands
  3822. ALLCMD - if not defined, excludes a bunch of rarely used commands
  3823.          (I this did for the internet-slip server we run here)
  3824.     Excluded are:
  3825.     delete,rename,more,tail,dump,status,motd,cd,dir,finger,fkey,info,mail,mkdir
  3826.     pwd,record,rmdir,watch,test,upload,bbs
  3827. ALLSERV - if not defined, only the basic servers are included
  3828.     Excluded are:
  3829.     discard,echo,tip,ttylink servers,
  3830.     the ttylink command and the split screen code
  3831. Along with these are some fixes regarding NRS and TRACE. Main.c and scc.c
  3832. had a few things not properly ifdef'd such that modules needlesly were pulled
  3833. in at link-time.
  3834.  
  3835. -Kicking or stats of sockets made easier :
  3836. 1-'tcp|ax25|netrom kick' or 'tcp|ax25|netrom stat' commands
  3837.     can be given just the first 4 numbers.
  3838.     The '0008' is automatically appended when a lenght of 4 is detected.
  3839.     eg: 'tcp kick 76ea' is the same as 'tcp kick 76ea0008'
  3840.     (this is ala N1BEE)
  3841.  
  3842. 2- New command 'skick <socket#>' to automatically kick whatever type the
  3843.     socket is. This kicks valid sockets of type TCP, AX25 and NETROM.
  3844.     Use 'socket' command to get a list of used sockets.
  3845.  
  3846. -AX.25 forwarding is changed.
  3847. 1) the R: line is ALWAYS sent.
  3848.  
  3849. 2) some additional R: line fields can be set with
  3850.     -mbox zip <your zip>           : sets zip code to be used
  3851.         eg. 'mbox zip 97330'             will show 'Z:97330' in R: line
  3852.     -mbox haddress <your Haddress> : sets Hierarchical address
  3853.         eg. 'mbox haddress #CRV.OR.USA' (note NO leading period!)
  3854.                 will show '@WG7J.#CRV.OR.USA' in R: line (assuming Mycall
  3855.                 is set to WG7J)
  3856.     -mbox fwdinfo <your info>      : sets [info]
  3857.         eg. 'mbox fwdinfo "BCARES BBS"'  will show '[BCARES BBS]' in R: line
  3858.         eg. 'mbox fwdinfo Testing        will show '[Testing]' in R: line
  3859.     -mbox qth <"qth, St">          : sets your qth (and state)
  3860.         eg. 'mbox qth "Corvallis, OR"'   will show 'Corvallis, OR' in R: line
  3861.         eg. 'mbox qth Corvallis          will show 'Corvallis' in R: line
  3862.  
  3863. 3) A message number is sent.
  3864.    The message number sent in the '#:' segment comes from the 'id AA####'
  3865.    part of the smtp header.
  3866.  
  3867.     The R: line looks as follows:
  3868. R:date/time @:MYCALL.HADDRESS [your info] your-qth-st #:IDNUM Z:your-zip
  3869.  
  3870. 4) Optionally sending of the smtp headers.
  3871.     Sometimes a message will come in over SMTP and go out via AX.25 forwarding.
  3872. Normally the SMTP headers of the message are NOT sent. Thus there is no trace-
  3873. back trail beyond your system, since the only trace is your R: line.
  3874. If you want to include most of the SMTP headers from all previous
  3875. delivery hops, then use the command :
  3876.  
  3877. 'mbox smtptoo on|yes|1'     (default: OFF)
  3878.  
  3879. (This does not send some duplicate line line Subject: etc. that already have
  3880. been sent)
  3881.  
  3882. VERSION 0.91 (920103)
  3883. ************
  3884. These mods originated in my work on the V25/V40 port of NOS. Version number
  3885. is taken from that code-version.
  3886.  
  3887. Several NET/ROM changes:
  3888.  
  3889. One netrom call, different from any other interface call can be set with
  3890. 'netrom mycall <nrcall>'   (or 'ifconfig netrom linkaddress yourcall')
  3891. This is the call used in netrom route broadcasts !
  3892.  
  3893. Netrom alias setting:
  3894. Either the 'old' way can be used:
  3895. netrom interface <label> <alias> <pathqualilty>
  3896. or the alias can be set with 'netrom alias <myalias>'.
  3897.  
  3898. If 'netrom alias' has not been set when the old 'netrom interface' command
  3899. is given, the alias will be taken from this.
  3900. If 'netrom alias' has been set, the 'netrom interface' alias is ignored.
  3901. If the alias is set with the 'netrom interface' command, later
  3902. 'netrom alias' commands will override the alias !
  3903.  
  3904. Thus there is only ONE alias for the system
  3905. This alias is used for ALL active netrom interfaces, wether you set
  3906. different aliases in the 'netrom interface' commands or not !
  3907.  
  3908. This alias is also used in netrom route broadcasts.
  3909. (
  3910. The 'netrom interface' commands doesn't need the alias in it anymore
  3911. You can use a simlified version of the netrom interface command:
  3912. 'netrom interface <ifname> <quality>'
  3913. )
  3914.  
  3915. Connects (and digi's) to this netrom call and to the alias (with ANY ssid)
  3916. are accepted.
  3917.  
  3918. If not running netrom, you can still set the netrom alias, and thus
  3919. allow connections to the alias...
  3920. (digipeating also works then, with any ssid)
  3921.  
  3922. SOME EXAMPLES:
  3923. ******
  3924. eg. 1
  3925. if you have the following configured :
  3926.  
  3927. netrom mycall WG7J-11
  3928. netrom alias WGJBOX
  3929. netrom interface ax0 192     #assuming ax0 and ax1 are valid interfaces
  3930. netrom interface ax1 191
  3931.  
  3932. then netrom broadcasts on both ax0 and ax1 will announce you as WGJBOX:WG7J-11
  3933. users can connect (or digi's via (if enabled)) WG7J-11, WGJBOX-x, where x=0-15
  3934. Connects to the regular ax25 mycall, or other valid interface calls
  3935. set with ifconfig are accepted as well.
  3936. ******
  3937. eg. 2
  3938. if you don't run netrom but still want an alias for your system
  3939. (and netrom-support is compiled in your executable :-))
  3940. then simply set the alias:
  3941.  
  3942. netrom alias WGJBOX
  3943.  
  3944. This allows connections and digi's (if enabled) to WGJBOX-x, where x=0-15
  3945. Connects to the regular ax25 mycall, or other valid interface calls
  3946. set with ifconfig are accepted as well.
  3947. ******
  3948.  
  3949. -LOTS of MAILBOX changes:
  3950.  
  3951. - mailbox outgoing connects use the user call !
  3952.   If a user logs in over telnet, the login name will be used as call,
  3953.   if:
  3954.   A -  there is at least 1 digit (0-9) in the name
  3955.   B -  the name can successfully be set to a call
  3956.     (ie, 'anonymous' won't work !)
  3957.   If the above 2 rules don't work, ax.25 and netrom permission are
  3958.   denied, no matter what they we're set to in ftpusers
  3959.   Be careful, this still allow someone with '4us' as login and
  3960.   permissions set, to go out on ax.25 or netrom with call '4us-15' !!
  3961.  
  3962.  
  3963. JUMPSTART:
  3964. The mailbox is jump-started when:
  3965. the remote address connecting to us is not a known netrom neighbour and
  3966. the interface mode is not VC. If both these are true, it is assume to be
  3967. a user connecting to the mailbox, and the mailbox is jump-started
  3968. upon the SABM frame is received and answered. Thus NO ADDITIONAL cr or whatever
  3969. is needed to trigger the mailbox...
  3970.  
  3971. In Yeoman's terms: regular users get the prompt IMMEDIATELY upon connecting!!
  3972.  
  3973. The above is on by default, but can be changed (ie. turned off) with
  3974. 'mbox jumpstart on/off' (default: ON)
  3975.  
  3976. MAILBOX PROMPT:
  3977. 'mbox expert on/off'  (default: OFF)
  3978. Start user in Expert mode; ie short prompt. This can be toggled from
  3979. the mailbox with the (X)pert command.
  3980.  
  3981. 'mbox nrid on/off'    (default: OFF)
  3982. If on, the prompt is 'ALIAS:CALL} ' followed by the whole list of
  3983. commands when not in expert mode.
  3984. If off, the prompt is as normal in none-expert mode, and '> ' in
  3985. expert mode. BBS prompt is unchanged.
  3986.  
  3987. Thus,
  3988. With nrid OFF and expert OFF, the system looks like 'normal':
  3989. Msg #0: A,B,.....,Z,?>
  3990.  
  3991. With nrid OFF and expert ON, you get a short prompt :
  3992. >
  3993.  
  3994. With nrid ON and expert ON, it looks like a 'standard netrom' switch:
  3995. WGJBOX:WG7J-11}
  3996.  
  3997. With nrid ON and expert OFF, it looks like :
  3998. WGJBOX:WG7J-11} Msg #0: A,B,.....,Z,?>
  3999.  
  4000. USER COMMAND-CHANGES
  4001. No separate pseudo-netrom interface (the old N command) exists anymore.
  4002. (N)odes has taken its place, giving the regular list of nodes
  4003.  
  4004. New mailbox user commands are:
  4005. (X)pert: toggle expert status
  4006. (P)orts: gives port/interface description
  4007. (N) nodename : gives more descriptive information
  4008. (U)sers: shows all users and outbound link with type (ie. telnet,netrom,ax25)
  4009.     (the Upload command has been sarificed for this, since no-one around here
  4010.      uses that)
  4011. (C)onnect:
  4012. 'c' is the old chat with sysop.
  4013. 'c name' is a netrom connect, accepting BOTH ALIAS and CALL. Gives error
  4014.          and help if name isn't either one.
  4015. 'c port call' is an ax25 connect. Uses the USER's call with inverted SSID !
  4016.         gives help on error.
  4017.  
  4018.  
  4019. -KEYBOARD LOCKING
  4020. 'lock password <your unlock password>' sets the password
  4021. typing this DOES NOT clear the screen, so set it in the autoexec file
  4022. or type lots of CR's to clear the screen after this
  4023. then typing 'lock' will disable any command from being executed
  4024. until the password is type. During this input echoing is disabled,
  4025. so that your password will not be echoed to the console.
  4026. This only works form the keyboard, so that remote sysops cannot lock you
  4027. out !
  4028.  
  4029. -MINOR COSMETIC CHANGES:
  4030.  
  4031. -'ifconfig <iface> description "your description"'
  4032. This shows up in the new (P)orts command in the mailbox,
  4033. as well as the ifconfig list
  4034.  
  4035. - G4JEC's ax.25 ip autoroute code is added.
  4036.   This code automatically adds a temporary ip route to the target
  4037.   (if none exists) when ip packets are received.
  4038.   Configurable with:
  4039.   'autoroute on/off'. (default: OFF)
  4040.  
  4041.   As suggested by Mike Billow, this only works when RSPF is not active.
  4042.   Attaching the first rspf interface automatically turns it off, and
  4043.   autoroute can not be turned on anymore after that.
  4044.  
  4045. -mailbox sysop (@) is protected against 'exit'. This now simply returns
  4046.  you to the mailbox, instead of exiting net.exe!
  4047.  
  4048. -kiss attach checks for asy interface type (such that you cannot attach
  4049.  kiss ontop of the netrom interface etc.)
  4050.  
  4051. -mbuf.c interrupt allocation fixed per hb9rwm
  4052.  
  4053.  
  4054.