The following optimizations and improvements have occurred.
- Finally found a way to mutex protect the timer list
Prior to release of 2.30, many methods were tried to mutex protect the
timer list, with the thought that contention for the timer list by two
or more processes is one of the remaining gremlins. Due to not finding
a working combination, this was not complete before 2.30 was released.
Now the timer list is properly protected with a mutex. We will see if
a gremlin dies...
- Optimized FBB/XFWD forwarding proposals - removed area restrictions
Previously a proposal for FBB or X-FWD forwarding was restricted in TNOS
to not spanning an area. That is, if (using FBB as the example) there were
five or more messages in a USA area, then a full negotiation of five
messages could be sent in a proposal. If, though, the USA area only had
2 messages, then only 2 messages would be sent in that proposal, regardless
of whether or not there were other messages in other areas.
This 'area' restriction is now removed. A proposal is no longer 'flushed'
at the end of an area.
- Added ability to get 'forward summary' on a single PBBS
Added an optional parameter (a PBBS name) to the 'forward summary' Command
Session command and the PBBS 'if' command. If this parameter is NOT
given, then the command lists all PBBSs in the forward.bbs file, as it
previously did. If the PBBS name parameter IS given, then only that PBBS
will be listed, with no output if that PBBS is NOT in the forward.bbs
file.
- Removed error messages generated by smtp duplication of 'bid's
Now, if 'smtp bidcheck' is on, it will prevent (silently) any 'duplicates'
from being processed, but without a reject error message to the smtp
remote station, or a bounced message. Those duplicates WILL be dropped,
though. Unless there is a need, the 'smtp bidcheck' command should be
left 'off', the default value.
- Added a new command, 'profile userremovepasswd'
This command (which defaults to 'off') can be used to restrict whether
or not a user can remove their own password or not. If this command is
set to on, then a user can remove password protection from their own
login name.
- Added code to the 'passwd' command to allow removing passwords
If both of the password prompts in the passwd command are answered with
only a <CR>, then the password will be removed for that user. If
this is not being done by a sysop, then the above
mentioned 'profile userremovepasswd' command can deny the removal of the
password.
- Added a 'security sysoponlyauth' command
This command (if on, which is the default value) removes sysop permissions
during a session, if the connection was made without the benefit of a
password authentication. If this command is on and a user normally with
sysop permissions is connecting via ax25 or netrom, then their sysop
benefits will be removed for that session, unless you have either one
of these commands on; 'security mbsecure' or 'security sysopmustauth',
which is described next.
- Added a 'security sysopmustauth' command
This command (if on, which is the default value) forces all users with
sysop permissions to authenticate with a password, if connecting via
ax25 or netrom. This is a separate command from the 'security mbsecure'
command, which requires ALL users to authenticate.