			 G1NNA BBS V3.0.x bug fixes and new features
			 -------------------------------------------

V3.0.1
------

* Fixed problems associated with messages being held in conventional
  memory.

* The numeric keypad now works.


V3.0.2
------

* EM didn't remove a callsign from the mail beacon if the To field of a
  message was edited. This has been fixed.

* Fixed the trace option ($ - used to crashed the BBS).

* Allows logon text longer than 520 characters.

* The logon text is read from the file as and when it is needed. This means
  that a server can change the logon text just by changing the contents of the
  file.

* The K$ command now works. There is also an R$ command with the same
  syntax (e.g. R$ 100 120 reads all messages between 100 and 120 inclusive).

* A CTRL-Z in the subject used to crash the BBS. This has been fixed.

* The F7 and F8 keys didn't work after another function key had been pressed.
  They now work after any key press.

* The currently selected port is now highlighted in the top status bar.

* There was a problem when forwarding to some TNC based PMS. That has been 
  fixed.


V3.0.3
------

* ?3 crashed the BBS. This has been fixed. Copy over new HELP.HLP file.

* Import now works properly. It also shows the text of the messages being
  imported. Importing can be aborted in the usual way (i.e. pressing F10 when
  the appropriate window is selected).

* Allows a CTRL-Z at the end of a line of text as the end of message marker.
  Previously, only a CTRL-Z on a line on its own was acceptable, but PK232
  TNCs put the CTRL-Z on the end of the last line of text.

* When sending a message from the console, the editor is used for entry of
  the message text. If replying to a message, the text of the original message
  is copied into the editor with '>' quoting down the left-hand side. Note:
  You MUST have memory allocated for the editor in the CONFIG.BBS file, around
  10k is recommended.

* The text editor now allows files to be inserted. ALT-i will prompt for a
  file name and then insert the contents of the file at the current cursor
  position. When sending a message from the console and using the editor, the
  SysOp is no longer able to append a file to the message - the file insert
  facility of the editor should be used instead. You MUST have sufficient
  memory allocated in the CONFIG.BBS file for the size of file + text you
  wish to import.

* There is now a new command, ET msgnum, which allows the text of a message to
  be edited. Be careful not to edit any of the header information (up to and
  including the line of 'blobs').

* The problem which prevented LBBS from forwarding to NNA in FBB mode has
  been fixed.

* TIDYWP was deleting every other entry. This has been fixed, and the program
  now creates a log of deletions. Copy new TIDYWP.EXE to user directory.

* The problem of not deleting first old bulletins properly once maximum set
  message limit had been reached has been fixed.


V3.0.4
------
To update from version V3.0.3 copy the new REQFIL.EXE and REQDIR.EXE to
the server directory. Copy the new DELBIDS.EXE to the BBS root directory.


* K0 would kill all messages - it's now illegal.

* Personal messages were getting auto-killed at the same time as bulletins.
  This has been fixed.

* A manual export option has been added, similar to the manual import facility.
  Syntax is E fwdfilename outputfilename, e.g.

  E GB7XXX.PER EXPORT.EXP

  will force a manual export of the messages in GB7XXX.PER into the file
  EXPORT.EXP.

* The console window didn't work while a manually-initiated import (using the
  I command) was taking place. This has been fixed.

* The *COPY command now checks to see whether the destination file already
  exists and asks before overwriting it.

* Saving a file or message (using ALT-S in the editor) sometimes turned
  spooling on. This no longer happens.

* If a message was added to a forward distribution file after the BBS had
  finished forwarding everything in that file then the message would not be
  sent until the next fowarding session. The BBS nows checks all distribution
  files each time it offers a block of messages.

* The editor has been re-written and is now more stable.

* The cursor has been changed to a flashing 'block' instead of the diamond.

* There is a new DELBIDS.EXE which copes with very big BIDs files. COPY TO BBS
  ROOT DIRECTORY.

* If a message was killed while someone else was reading it, the message file
  was renamed (with a .ZAP extension) and put in the main MAIL directory until
  nobody was accessing it, at which point it was deleted. This method doesn't
  work in a DOS window under Windows 95, so a new system has been implemented.

* You can now run servers from the forwarding file. Format for the entry in
  the forwarding file is:

S
TIME
SERVER1
SERVER2
SERVERn
------

e.g.

S
00-23[30]
BULL
FWDSRVR
------

	Valid servers are listed in a file named FWDSRVRS.BBS in the servers
	directory. Forward servers are processed in exactly the same way as OSPROGS.
   You can force a server to run with the command BI SERVER.

* The parameters supplied to a message-triggered server have been extended,
  as follows:

 Name of the server directory
 From field
 @ field
 Name of the files directory
 Message subject (with any @ field stripped off)
 Name of the mail directory
 Message number that triggered this request

* Two new return values are now accepted from all servers. If a server returns
  the value 4 then it will be called again with the level incremented without
  waiting for any input from the user. If it returns the value 5 then it will
  be called again without the level being incremented and without waiting
  for any input from the user. These are useful for servers that take a long
  time to run, as they allow the BBS to service other users.

* There are new REQFIL and REQDIR servers - you MUST run these instead of the
  old ones on V3.0.4 onwards. COPY TO SERVER DIRECTORY.

* LISTBUL and REQBUL servers are now provided. See separate documentation.

* The password system has been enhanced. A 16x16 character matrix can now be
  generated for a user or (compatible) BBS by using the command

  P callsign L

  where 'callsign' is the callsign of the user. The 'L' is for 'Large'. You
  can still generate the smaller matrices by using the command

  P callsign S

  or just

  P callsign

  If a large matrix is being used, the user will be prompted with 6 coordinate
  pairs (with the rows and columns being numbered 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
  A, B, C, D, E, F) instead of 3 as before. The user should then respond
  with 6 characters, but only 3 of the 6 need to be correct - the other 3 (and
  it can be any 3 of the 6) can be anything. This, combined with the larger
  matrix, makes it very difficult to 'crack' the password matrix, as anyone
  monitoring never knows which characters are right and which are wrong.

  The BBS SID now includes V2 (instead of V) to indicate that it supports the
  new password system. When forwarding to a compatible system and being
  prompted to enter a new-style password, the BBS will only send 3 correct
  characters - the other 3 will be rubbish.

  Note that you don't have to change all your users' and BBS' passwords - the
  BBS will automatically use the old password system if the user or other BBS
  has a small password matrix.

* Support has also been added for a third password system using "one-off"
  passwords, in much the same way as the C_FILTER produced for FBB BBSs by
  G4WPT. A list of 1000 5-character password keys is generated for a user by
  the BBS using the command

  P callsign O

  (the O is for One-off). When a user wishes to enter a password, they enter
  the command

  @ password

  where "password" is the next block of 5 characters from their list. Once they
  have entered that password they should cross it off their list, because it
  can never be used again. Note that, with this system, the user enters the
  password straight after the @ command without waiting for a prompt - this is
  because they always have to enter the next unused password from their list.
  If they enter the password incorrectly then it is not "crossed off" the
  BBS' copy of the list, so the second time the user tries to enter the password
  they should use the same password as on the first attempt (only this time
  they should try to get it right!). The password will be "crossed off" the
  BBS' copy of the list if the user enters the password incorrectly three times.

  When a user gets towards the end of their list of passwords then they should
  ask for a new one to be generated and sent to them. Note that the last
  password on the list will last "forever" - it is not crossed off, and so
  isn't very secure, but does allow the user to carry on using the BBS until
  their new password list is sent to them.

  The SysOp's @ command, which shows a user's password matrix, will list the
  next 50 password keys if a user has a one-shot password list.

  This system can be used with compatible BBSs and PMSs (indicated by the
  string L3 in the SID). In this case, the connecting BBS must send the next
  password key from the list immediately after sending its SID. The receiving
  BBS should then check the password and either continue as normal (if the
  password is OK) or disconnect if the password is not valid.

  A BBS or PMS supporting L3 passwords MUST also support L2 and L passwords -
  it must detect which type of password matrix or list is in use and use
  the appropriate system. For example, if GB7AAA (using L3 compatible software)
  connects to GB7NNA, and an 8x8 matrix is in use between those two BBSs, then
  the original L password system must be used between them. If there is a
  16x16 matrix in use, then the L2 system must be used. Similarly, if there is
  a password list in use, then the L3 system must be used.


V3.0.5
------

* The I command now lists all available servers and OS programs.

* When listing messages with Pause turned on, the user is given the option of
  reading specified messages at the end of each page full of listed messages.

* After reading a message, the user is given the option of replying to it,
  killing it (if the user has the appropriate permissions) or freeing it (if
  the message is held and the user is a SysOp).

* Messages within a forwarding group can now forwarded in size order. For
  example, if you normally forward all messages in the GB7NNA.PER group, then
  all those in the GB7NNA.BUL group, then the messages in the GB7NNA.PER group
  will be sent in order of size (smallest first), followed by those in the
  GB7NNA.BUL group in order of size. This facility is optional, and is turned
  on or off by a new entry in the CONFIG.BBS file (at the end of the General
  section).

* The console screen can be scrolled back using the PAGE UP and PAGE DOWN keys.
  Scrolling is turned off by hitting the END key.

* The editor now supports automatic word-wrap. This is on by default, but
  can be turned off (or on again) using ALT-W.

* Text notes can now be added to the files indices. Each line of text should
  start with a semi-colon. If you use this option, then you MUST use the
  new REQDIR server supplied with this release onwards. The older version of
  this server won't cope with notes in the files indices.

* Uploads can now be terminated at the "Enter a description" prompt, simply
  by entering * as the description. You should update the prompt in your
  LANG.ENG file to reflect this.

* CTRL-Z did not terminate a text upload. This has been fixed.

* The 'T'alk command operated even if there were other characters after the 'T'
  (e.g. TSWEQ, T1234 and T 23EW would all page the SysOp). This is no longer
  the case.

* When EU asked whether you wanted to create a new user record (or delete
  an existing one). If the SysOp entered Y then backspace then N, the
  original Y was still taken (or vice versa). This has been fixed.

* If someone whose White Pages entry showed them as using a remote BBS logged
  on and sent a message, then their home BBS in their WP entry was changed.
  This has been fixed.

* If a carbon copy message was sent and the maximum number of messages had
  been reached, the @ and From fiels of the carbon copy messages were
  corrupted. This has been fixed.

* The bottom (monitor) window can now be used to show the activity on any
  port. To switch this window to monitoring another port, hold down the
  SHIFT key while hitting the normal key sequence for switching to another
  port. So, to show the activity for port 3, hit SHIFT-ALT-F3, and to show
  the activity for port 10, hit SHIFT-CTRL-F2. To swith the bottom window
  back to normal monitoring mode, hit SHIFT-F9.

* The trace facility ($ command) has been removed as it was of little use and
  took up a lot of memory.

* The software now allows servers to specify a from field other than that of
  the BBS, i.e. a server can now send a message in the format
  SP to_callsign @ BBS < from_callsign

* A locator conversion OS program is provided. LOC will convert between IARU
  locators, NGR and latitude/longitude.

* A FNDFIL server is provided. This works in much the same way as the W!
  command, and allows a remote user to search for files on the BBS.

* The REQDIR, REQFIL and FNDFIL servers all now have a help option - sending
  a message addressed to any of these with a subject of HELP results in the
  REQDIR.HLP, REQFIL.HLP or FNDFIL.HLP (as appropriate) file being sent back
  to the user. The help files are stored in the server directory.

* The REQDIR, REQFIL and FNDFIL servers all have the option of an "append" file
  which will be appended to the end of all successful requests. The "append"
  files are named REQDIR.APP, REQFIL.APP and FNDFIL.APP and are stored in the
  server directory. These files are not essential and can be removed if not
  needed.

* REQBUL didn't work if the originating BBS/PMS inserted text after the R:
  lines and before the message body. This has been fixed in the new version
  of REQBUL included with this release.

* The REQBUL server now has the option to include the full path of the
  original message or send the abbreviated version, or to just include the
  first R: line, and the option to use the BBS callsign or that of the person
  who sent the original message as the from field of the message generated by
  the server. These options are specified in the REQBUL.CFG file which is
  stored in the server directory.
  NOTE: This version of the REQBUL server will not work with versions of the
  BBS software prior to 3.0.5.

* The POSTMSG server now has an option to copy 7+ messages to a specified
  directory. This option is controlled by an entry in the new POSTMSG.CFG
  file.
  NOTE: This version of the POSTMSG server should not be used with versions of
  the BBS software prior to 3.0.5.

* A REQSVR server is available. This returns a list of available servers.


V3.0.6
------

* The problem with the text of Carbon Copy messages being deleted has been
  fixed.

* There is now an option to prevent the forwarding of 7+ messages to specified
  BBSs. This is done by putting an entry like this in the DIST.BBS file:

GB7XXX.PER
B @ !7+

  This will prevent 7+ bulletins from being sent to GB7XXX. If you want to
  stop 7+ personal messages from being sent as well, then you will need to
  add a "P @ !7+" entry.

* The SR command now has an option for the reply to be a bulletin instead of
  a personal message. SRB 1234 will generate a reply bulletin to message 1234.
  This only works if the message being replied to is a bulletin.

* After reading a bulletin, there is now an option to reply to it as a bulletin.


V3.0.7
------

* If the option to not forward 7+ messages was used, then files were left open.
  This has been fixed.

* The Import option was only showing the first word of a message subject, and
  was also clashing with forwarding taking place at the same time. Both of
  these have been fixed.

* Export did not remove messages from forwarding lists once they had been
  exported. This caused particular problems when the option to forward shortest
  messages first was turned on. This has been fixed.

* There is now an option to allow "illegal" callsigns (turned on or off by
  a new entry at the end of the "Miscellaneous" section of the CONFIG.BBS file).
  This is to allow people such as the Air Training Corps, who use packet but
  whose callsigns do not conform to those of radio amateurs, to use the
  software.

* The SR command now warns that a password is required to send a message BEFORE
  confirming that the subject is OK, rather than afterwards.


V3.0.8
------

* When in Terminal mode, resizing the screen or changing to another port and
  back prevented any incoming text being displayed until the return key had been
  hit. This is no longer the case (unless you have started to type something,
  in which case incoming text will be queued up until return is hit, as usual).

* The 'A'ccept command did not cope with subdirectories properly. This now
  works properly.

* The BBS sometimes went into a loop during the autokill process. This has
  been fixed.

* The POSTMSG filter now copies 7+ .COR messages, if the 7+ option is turned
  on.

* EW was not updating the BBS details. This now works.

* The 'R'eply option at the end of reading an old message now works.

* The BBS no longer asks whether you wish to reply etc. to a message if PAUSE
  is turned off. This was causing problems with autoread on Winpac.

* The Remote SysOp flag in the user file was being turned off for the BBS
  SysOp's callsign when the BBS was shut down, making it impossible for the
  SysOp to operate the BBS remotely. This has been fixed.

* When reading a Carbon Copy message, the text of the second line was
  appended onto the text of the first line. This has been fixed for NEW CC
  messages (i.e. existing CC messages will still have the problem).

* Carbon Copy messages which had been forwarded in had a blank line after
  the first R: line. This has been fixed.

* Export and *COPY were not properly detecting when the destination disk was
  full. They now cope with this and stop cleanly when the disk is full.

* A simple screen-saver has been included. This cuts in when there has been
  no keyboard activity for approximately 5 minutes, and shows the BBS callsign,
  the callsigns of any users connected and, if there is mail for the SysOp, the
  MAIL flag. The screen-saver can be disabled (and re-enabled) by hitting the
  F9 key.

* *COPY now checks whether you want to overwrite the destination file when
  wildcards are used (e.g. *COPY *.BBS A:).

* Remote SysOps can now use the RF command to download any messages (including
  held messages, personal messages not to or from them, and bulletins) in
  compressed format.

* The LG command now lists in alphabetical order.


V3.0.9
------

* Export was reporting the disk to be full if there was a lot of free disk
  space (it worked OK if there wasn't a lot!). This is now working properly.


V3.1
----
V3.1 contains two major new facilities (automatic 7+ decoding and unproto
message broadcasts), as well as some bug fixes. It tidies up some of the new
features added since V3.0.

* V3.1 needs three additional entry in the CONFIG.BBS file. Add the following
  lines (or equivalent for your installation) to tell the BBS where the
  POSTMSG filter stores 7+ files:

; 7+ directory
7PLUS

  These lines should go directly after the server directory entry in the
  CONFIG.BBS file. Also, add the following (or equivalent) after the
  "Allow illegal callsigns" entry at the end of the "General info" section of
  the CONFIG.BBS file:

; Unproto lists
YES                     ; Send unproto message lists
1 2                     ; Ports to send unproto lists on (* if none)

* V3.0.10 also needs an additional entry in the LANG.BBS file. Add the following
  after the "Restricted access" prompt in the "User related messages" section:

; Unproto support?
(U)nproto     <CR> to retain :
;

* The Held flag did not always keep sync with the number of held messages.
  This has been fixed.

* The block copy and block move facilities in the editor sometimes caused
  a crash. This has been fixed.

* The BBS now supports unproto message broadcasts. If this option is enabled
  (as above, in the config.bbs file) then every time a new message is received,
  its details will be sent out as an unproto broadcast on each radio port
  specified in the config.bbs file. These broadcasts can be picked up by
  users with appropriate PMS software (e.g. NPFPMS, Sally, Winpack, etc.).
  Users with the appropriate permissions set can also request a "resync",
  asking the BBS to send out details of messages which the PMS has missed. This
  permission is enabled by a new option in the EU (edit user) command.

* Servers can now return 3 new commands (by writing to the SERVER.OUT file)
  for the BBS to execute. They are:

  RUN <PROGRAM/BATCH FILE NAME>
		(runs the specified program or batch file)
  DELETE <FILE NAME>
		(deletes the specified file)
  DECODE <FILE NAME>
		(decodes the specified 7+ file - assumes the 7plus decoder is in the
		server directory. The resulting file is placed in the UPLOAD directory or,
		if the decode fails, the contents of the 7plus.out file are sent to the
		SysOp as a message.)

* A new POSTMSG.EXE is provided. This will now trigger the BBS to attempt
  to decode a 7+ file when all parts have been received. Successfully decoded
  files are placed in the UPLOAD directory. If the file cannot be decoded,
  a message is sent to the SysOp with the contents of the 7plus.out file to
  explain the problem.

* There is a new DELBIDS.EXE program. The old one could cause the bids file
  to become corrupted.

V3.1.1
------
V3.1.1 needs two extra entries in the CONFIG.BBS file, at the end of the
unproto lists section, as follows:

YES                     ; Include local SPs in unproto broadcasts?
50                      ; Maximum number of messages for resync

* If a remote SysOp downloaded a personal message using the RF command, then
  the message was killed. This no longer happens (unless the message is to
  the SysOp).

* If the first BBS in a CC list did not exist, then all subsequent messages
  generated would be marked as held. This has been fixed.

* A message with the entry "@:012345678901234567890123" in the R: line caused
  the BBS to crash. V3.1.1 handles this kind of corruption.

* It was not possible to set a maximum number of messages to be listed / read
  higher than 255. The maximum limit is now 32767.

* Unproto message broadcasts were not working for carbon copy messages. This
  has been fixed.

* 7plus files that are auto-decoded are no longer copied into the upload
  directory if they are already there (e.g. if the same file is received
  twice). 

* There is now an option to include local personal messages in unproto
  broadcasts.

* It is now possible to define the maximum number of messages to be included
  in an unproto message resync.

* A new command, KU (Kill Undo), has been added. This will convert an old
  message back into a current one. Note that this obviously only works for
  messages in the old list, not for ones that have been deleted.

* Support has been added for servers which are only executable by SysOps.
  These servers work in the same way as normal ones, but are listed in the
  file SYSUTILS.BBS instead of SERVERS.BBS.

* A server is now available to help tidy up 7+ files captured by the POSTMSG
  server. TIDY7 lists the files which have been captured, how many parts you
  have, how many there should be, the number of correction files, and the date
  of the last part received. You can then delete any of the files. This server
  should only be run by those with SysOp privileges, so should be listed in
  SYSUTILS.BBS.


V3.1.2
------
V3.1.2 requires two additional entries in the CONFIG.BBS file, at the end of
the "General Info" section (after "Allow illegal callsigns" and before the
"Unproto" section), as follows:

5                      ; Minutes before screen saver cuts in (0 to turn off)
NO                     ; Start up in "silent" mode?

These values can, of course, be changed. Setting the time before the screen
saver cuts in to 0 turns of the saver.

* The format of the UI broadcasts (although exactly as defined in F6FBB's
  documentation) was not recognised by WinPack. The format has now been changed
  so that WinPack will recognise it.

* Unproto permission was removed from users if they logged on to the BBS using
  a PMS which requested forwarding. This has been fixed.

* The RF command killed personal messages after sending them, even if the
  user hadn't entered a password. It will now only kill personal messages if
  a password has been entered.

* Using the 'A'ccept command to move an uploaded file to a directory which
  did not exist caused the uploaded file to be deleted. This no longer happens.

* A simple BBS usage statistics utility is available. This can be set up to
  be run by anyone (by including it in the OSPROGS.BBS file) or the SysOP
  only (by including it in the SYSUTILS.BBS file). The utility shows the
  numbers of connects in and out, messages sent and read by each user,
  messages forwarded to them, and files uploaded and downloaded by each user
  over the past seven days.
  NOTE: Versions of NNA BBS prior to V3.1.2 recorded a log entry for a file
  download every time a user used help, logged on, etc. as the download
  routine was used to display the help file, logon file, info file, etc. This
  means that the STATS utility shows a lot of downloads for earlier versions
  of the BBS. V3.1.2 onwards only records a log entry for real downloads, so
  the statistics will be correct from the time you start using this version.
  Versions prior to V3.1.2 were not recording messages forwarded out either.
V3.1.3
------
* V3.1.3 now generates the number for a message AFTER it has been received,
  instead of BEFORE. This is to avoid potential problems for Unproto message
  broadcasts where, for example, user A starts sending a message, then user
  B starts sending a message, but user B finishes before user A. In versions
  prior to V3.1.2 this would mean that user A's message is never included in
  an Unproto broadcast.
  This change means that the message number is not available when the user is
  asked for the subject, so the prompt asking for the message subject needs
  changing in LANG.ENG to remove the message number, e.g.

Enter subject (or * to cancel):

* Held messages are renumbered when released, so that they can be included
  in Unproto message broadcasts. The relevant message in LANG.ENG can now
  include the new message number, e.g.

; Message freed ($1 = message number, $2 = new message number)
Message $1 freed and renumbered to $2.

* The word wrap feature on the editor did not insert a carriage return if
  a space was entered as the 80th character on a line. Whilst this didn't
  cause a problem for 80 character wide displays, it did look like a long
  line on displays of other widths. The word wrap now triggers at the 75th
  character of a line and will replace a space with a carriage return if
  necessary. This should make messages neater to read for people running
  Windows based terminal programs. Word wrap also now works if text is
  inserted at the beginning of an existing line.

* If the Sysop sends or replies to a message from the console and quits
  the editor without saving any changes, the message is not sent.

* You can now insert a "signature" file from the editor by hitting CTRL-S.
  This will insert the contents of a file called SIG.TXT in the main BBS
  directory (if it exists!) at the current cursor location.

* The cite facility on the SR command now also assumes a 75 character wide
  display.

* The "+" command (to add messages to a forwarding distribution list) was
  including personal messages as well as bulletins when used with a range of
  messages (e.g. + GB7XXX.FWD 100 - 150 should add all bulletins numbered
  from 100 to 150 to the GB7XXX.FWD file, but was including personal messages
  as well). This has been fixed.

* The "EM" command was not updating the mail beacon if the "To:" field was
  edited. It now updates the beacon correctly.

* If a message that did not exist was listed in a forwarding file, the BBS
  would loop trying to find it. This has been fixed.

* If a held message was re-addressed then the original message was killed
  without creating a new one. This now works correctly.

* Re-addressing a bulletin to an individual callsign now results in the
  re-addressed message becoming a personal message.

* Multiple exports and imports from the forwarding file are now supported.
