Package Free

Class Summary
AuthKey AuthKey calculates and communicates the FREE authorisation key which helps to secure the system against attacks through reverse engineering the client program.
ClientProtocol Processes data from TCPClient to formulate the correct resonses.
Comms Comms is the key class for launching communications with servers.
CryptFrame Asks user to enter database encryption password
DBase DBase creates databases, tables and interacts with these through JDBC and SQL.
DBFrame Simple database console for executing SQL queries.
Intro Asks user to choose mode to run RTServer in.
RTFrame The main RTServer status screen.
RTServer This is the main class which launches the RTServer program, splash screen and preloads some objects.
ScreenAppender Implements the org.apache.log4j.Appender interface to provide screen display of logging output.
SecureAppender Implements the org.apache.log4j.Appender interface to provide a secure addition to GNU.FREE logging.

This class creates a chain of Message Digests, so that the every log entry creates a digest of itself with the previous entry.
ServerProtocol Processes the Strings passed to it by TCPServer but throws all errors back up to TCPServer which can better handle problems by elegantly closing connections.
TCPClient TCPClient allows RTServer to connect as a client to a totaller server when the ballot has closed.
TCPServer The TCPServer Class opens a socket to listen for client connections which, when received, are spun out into new threads to keep the listening socket free to accept new clients.
TimeOutThread A simple thread which waits a certain time in milliseconds defined by RTServer.timeOutTime before closing communications.