Imported from archive.
* lib/menus/login (disconnecting duplicates), lib/menus/miscellaneous
(disconnecting), lib/muff/muffcmds.py (handler_checking_password):
Messages are now colored in ANSI red.
* lib/muff/muffcmds.py (command_halt): Added a reason message
parameter which gets logged and broadcast to all connected users.
(command_reload): Now gets logged when run.
(command_say): Disallowed replacement macro sequences and refactored
the correction routines, abstracting the punctuation and typo maps
out into configuration.
(command_time): New admin command to report current world time in
elapsed increments.
(handle_user_input): Switched to a generic caller based dynamically
based on the user state names.
(handler_disconnecting, handler_disconnecting_duplicates): Added
code to handle disconnecting an existing socket for a user who
successfully authenticates on a new socket.
(handler_entering_account_name): Now adds a log entry when a user
logs into an account.
(handler_fallthrough): Removed.
* lib/muff/muffconf.py: Refactored the initial config file finding
routines to be more robust.
(get, getfloat, getint, set): New convenience
functions for calling the corresponding Data class methods.
* lib/muff/muffmain.py (main): Ammended the loop to continue, giving
the next pulse an opportunity to more courteously disconnect active
user sockets.
* lib/muff/muffmain.py (main), lib/muff/muffmisc.py (on_pulse):
Relocated more loop content.
* lib/muff/muffmisc.py (broadcast): For aesthetics, an additional
blank line is now prepended to output.
(getlong, repr_long, setlong): Additional functions implemented to
deal with Python's long integer representation format.
(reload_data): New function allowing the admin reload command to
refreshe already instantiated objects by migrating their contents to
new ones and deleting the originals.
* lib/muff/muffuser.py (User.save): The account file is now
unconditionally set to 0600 permissions for additional protection of
the MD5 password hashes.
14 files changed: