* common/system.cpp: Return 0 on security check fail, as -1 is
signed.
* server/Connection.cpp: Re-order logging messages so that messages
reflect the fact the a broken connection occurs before the
subscriptions associated with that connection can be dropped.
Implement logging out just specific objects without closing the
connection.
* common/system.cpp, common/system.h: Add a function to increment nice
value for the server. Change security check to return unsigned, as
the magic number is in fact unsigned.
* server/server.cpp: Call system function to increment nice, thus
reducing priority once setup is complete.
* common/system.h, common/system.cpp: Add security check function
which for now just ensures cyphesis is not run as root.
* server/server.cpp: Use security check function when starting
the server.
* common/system.cpp: Make sure cassert is included before assert
macro is used.
* common/Makefile.am: Add missing header.
* data/Makefile.am: Install copies of the config files in
the documentation directory for reference.
* common/system.cpp, common/system.h: Add new functions for handling
encrypted password hashes with a salt, based on gcrypt rather
than openssl. Include legacy support for hashes without a salt.
* common/const.cpp: Add a salt to the default admin password.
* tests/systemtest.cpp: Modify the password tests to use the new
functions.
* server/Connection.cpp, server/Connection.h,
server/TrustedConnection.cpp, server/TrustedConnection.h:
Update the login code to use the new password functions.
* server/server.cpp, common/globals.cpp, client/client.cpp:
Workaround C++s nasty implicit conversion behavoir.
* common/system.cpp: Be smarted about POSIX signal handling for
segfaults and aborts.
* Update TODO.
* common/system.h, common/system.cpp: Add code to md5 hash
strings, like passwords.
* server/Connection.cpp: Use md5 hash code for storing and
verifying passwords.
* Use " instead of < when including application headers.
* Re-work the interface between server and worldrouter objects
so that the are less tied together, and more flexible.
* init script fixes.
* common/system.cpp: Ensure that parent of daemon exit status indicates
whether the daemon has started properlly.
* server/Connection.cpp: Clarify error reporting.
* common/system.h, common/system.cpp, server/server.cpp: Moved all
the system dependant signal handling and background handling
code into system module, and implemented propper handling of
going into the background, including reporting error status
back to the waiting parent using exit status and user signals.