Clusse 0.31, released 20.8.1997
- New setup program SETUP.EXE. Sings and dances in full color.
Makes the following configuration files obsolete: clusse.ini
expiry.ini password.ini. You can delete them. SETUP.EXE creates a
binary configuration file clusse.cfg WHICH CANNOT BE EDITED BY HAND.
I did this primarily because i wanted to get into object oriented
programming. Additional benefits:
- I'm able to remove some code in clusse.exe. Clusse.exe doesn't
need to read & parse & range check the ascii files. setup.exe can
do extensive checks for the values, preventing you from entering
illegal values (most of the error reports i get are configuration
problems).
- Clusse.exe can easily modify the configuration in the file using
remote sysop commands etc.
- Using autobin transfers (bput/bget) it's very fast to move the
whole configuration home for remote configuration.
- Includes a cross-referenced on-line help system. Just press F1.
The help file is not very complete, yet. But it helps.
- When new configuration options are added, there's no need to add
the new things to the configuration files by hand. Just run
setup.exe (it converts clusse.cfg to the new format) and modify
the new parameters to suit your needs.
- Includes a 64k ascii editor. With clipboard and most of the usual
Wordstar-style keyboard commands. Beats DOS EDIT. 8-)
- New user privilege group system. In the setup program you configure
up to 20 groups, what the users in each group can do, what's the
default user group for new users, etc etc. Then you can use EUser
sysop command to move users from group to another. Now, when you want
to change the access policy, or i introduce new access features, you
just edit the group information (no need to edit each user individually).
Group 20 is reserved for the SuperUser (ie. can do everything). After a
successful SU command the user is moved to group 20 (for the duration
of the session). You can control which groups are allowed to use the
SU command to give the operator password (reserve it for the operator
group). Read the related parts in clusse.doc !!
- A lot of new access control features (new things which can be
enabled/disabled per user group).
- The new options above changed the format of the user file. A conversion
program 030-031.exe is included for converting the user and dx files
to the new format.
- New logging features.
- New user command TIMEReset, toggles the sending of inactivity timer
reset frame. (It's a 1-byte frame sent when the user's link has been
inactive for a pre-defined amount of time. Used to keep inactivity
timers in nodes from disconnecting users.)
- You can now use 28- and 43-line text modes on a VGA monitor.
- The talk command accepts an abbreviation as a recipient callsign, if
it's unique (eg. matches only *one* user in the network). Only works for
talking to other users (not nodes). You can even do a "t b Hi there!"
if there's only one user, whose callsign includes the letter B!
- New directories: clu\user\ (public file directory for users),
clu\user\incoming\ (public directory for user uploaded files),
clu\userdata\ (per-user data files maintained by Clusse) and
clu\pg\ (for PG "Plugin" binaries).
Clusse.exe creates these automatically.
- New commands for handling files and directories: dir, cd, md, rd, del,
copy, move. The new access control features include the possibility
to restrict read/write access per group. The commands are not very
featured, for example they don't take wildcards at all (with the
exception of DIR, which understands them to some degree).
PLEASE BE CAREFUL WHEN ALLOWING YOUR USERS TO USE THESE COMMANDS. THEY
MIGHT HAVE SECURITY LEAKS AT FIRST - YOU ARE THE BETA TESTERS! REPORT
ANY PROBLEMS.
- New command "RUn" for executing DOS programs. The output of the
program is captured and sent to the user after the program finishes.
Redirection only works for programs which don't use direct video I/O.
The only way to feed input for the program at runtime is to put the
input to a file and then redirect it for the program (eg.
"RUn program.exe < input.txt") so be careful. If the program gets stuck,
or asks for input, you must be at the console to get it running again
(you can give the program some input from the console keyboard).
Does not search the PATH for the executable, you must specify the
full pathname to the program if it's not in the current directory.
Clusse swaps to disk while executing the programs to give them as much
free base memory as possible. Clusse also swaps the screen, so the
console doesn't get messed up in case of direct video I/O.
PLEASE BE CAREFUL WHEN ALLOWING YOUR USERS TO USE THIS COMMAND.
- New command "DOs" for executing dos commands. This effectively does
a "command.com /c run_this_command" (the COMSPEC environment variable
must be present and point to a valid command.com or a replacement like
4dos.com). Don't let your users use this command, since they can do
anything they like on your disk if they get to feed commands to
command.com... and use a good secret number! command.com searches the
PATH if you use this command to run executables.
- New command "PG" for executing F6FBB-style PG "plugin" programs, which
can implement interactive extensions for Clusse.
- Forgot to close the fortune database file after startup, if it was
not reindexed. Fixed.
- If possible, the MID table is stored in XMS.
- The node and link lists can also be sent automatically at login.
- The EUser command has changed so that all the new user file stuff
can be configured. EGroup command will come, too.
- Reorganized the code a bit. Changed the linking order of the modules,
resulting in only under 3 kb of resident code during a DOS shell. Also
managed to optimize the code by about 10 kb.
- A new, proper command parser. At last. Compares the whole command:
"saari" is no more interpreted as "say".
- The length of away reason strings is limited to 80 characters. Saves
memory and prevents a crash in a certain situation.
- The conference user list is now sorted. Fixed a couple of bugs, too.
Removed some unused code.
- A completely rewritten List command. Replaces LPrefix, LSuffix, LBand
etc commands. Does fancy things like "List 20 From oh* Call dx?a*"...
- Added some decoding of ICMP and TCP frames and NET/ROM flags (nack,
fragment, choke) in the band monitor.
- The bands.ini file (which has been in the distribution for a while)
has changed it's format and is now really used! DX spots entered by
users are checked against this table, effectively preventing
out-of-band spots. The band names are used in the List Band and FILter
commands.
- A new command "LOCator" to set the mainhead QTH locator of the user.
- A *very* flexible DX spot filtering system. The command "FILter" is
used to view and modify the per-user filters, and the filters are
stored in the file clu\userdata\.fl.
- In case of a crash, the string in the parser buffer (the last user
command etc) is writed in the error log. Helps a lot when trying to
figure out what happened...
- The AWay command cannot be used to remove the away mark any more,
the HERe command must be used. You can still change your away string
without marking yourself as being here first. The old behaviour
was somewhat confusing.
- Making the console nicer part 1: The window sizes can be adjusted
using ctrl-pgup/pgdown. Monitoring works in 25-line screen mode.
- Incoming PC links work. See links.ini for changes! You can link
two Clusse systems.
- New BPUT and BGET commands. Used for up/downloading binary files
using the autobin protocol found in most modern packet terminals.
NB: While transferring a file the user can not receive DX spots,
talks or any other messages!
- Doesn't send PC16's with no users when linking.
- The DX spot frequency accuracy is now limited to one decimal. Also
removed some rounding problems with the frequencies. The frequency
format in the dx.clu file changed, so the converter program 030-031.exe
has to used to convert the file to the new format.
- The UNetwork, UList and NList commands accept a parameter of a
wildcard key to be matched against the list (un oh* shows only
users with the OH prefix).
- New variation of NList: NLVersion also shows the version number of
each node. (Faster way to check the Clusse vs PacketCluster ratio
in Finland: nlv oh* 8-)
- The Prefix command now shows the coordinates like it should. Delete
db\dxcc.* to force a re-read of cty.dat, it'll fix the inverted
longitude.
- New command "PRIvileges" shows the privilege group the user is in,
and the privilege flags for that group. Another new command "Group"
shows a list of groups, or, with a parameter of a group's number,
shows the privilege flags for that group.
- Fixed the DIsconnect command under PC/Flexnet.
- In the users list, if the user count (as distributed in the PC50
messages and shown on user and node lists) does not match the amount of
known users (as distributed in the PC16 messages), the user count is
shown as "<13>" (normally "(13)"). This indicates, that the user list
cannot be trusted and is not updated properly. The user count is
most probably correct. The problem is caused by a networking bug in
the PacketCluster v5 protocol, which causes user and node lists to be
distributed farther than they should. See tech.doc section 4 for details.
- Fixed a bug in the Prefix search. For example, "Prefix XX9X" now
correctly returns Macao instead Madrid.
- New command O in links.ini: used to change the local AX.25 callsign per
link. With the G8BPQ switch it equals sending a line "*** LINKED TO
callsign" to the node in the beginning of a .CON script. Which obviously
didn't work with PC/FlexNet...
- Widened the user and node counter fields on the first status line. It
can now show 99999 users, 999 local users and 9999 nodes. (Okay, Clusse's
local user limit is 64. Let me know if it's a problem for someone, since
it's easy to support more on PC/FlexNet.)
- If a PacketCluster node tries to forward mail to Clusse, the recipient
user is notified of new mail on that node (using a talk message).
- Changed the link list from static (10 entries) to dynamic, removing
the stupid 10-link limit! The amount of simultaenous links is now
limited only by the available heap memory (about 150 bytes/link 8-).
- The P command can now take more than 2 parameters at a time, for
example, "p pc in hold". Also added some more nice warnings in the
links.ini parser.
- If started with the new command line parameter -i and DPMI detected,
releases the timeslice using the DPMI call. Makes clusse load the
multitasking system less. Works at least in Windows and OS/2.
- Increased the limit of maximum DX/WWV messages merged on linkup to 255
(the M command in links.ini).
- New sysop command MERge for manually requesting DX/WWV merges.
- New commands PUt and GEt for ASCII file transfers with CR <=> CR/LF
EOL translation.
- The away time is correctly reset to the current time when a new
network user is added
- As always: a bunch of smaller bug fixes. And probably a LOT of new bugs!

© Heikki Hannikainen <hessu@pspt.fi>