* common/globals.cpp: Modify the way socket paths are handled
and allow them to be specified as absolute paths.
* client/ClientConnection.cpp, server/CommUnixListener.cpp,
tools/cyaddrules.cpp, tools/cycmd.cpp: Don't build the complete
socket path here, as it is now determined in the config.
* common/Database.cpp, common/globals.cpp, common/id.cpp,
common/log.cpp, modules/DateTime.cpp, rulesets/Container.h,
rulesets/Statistics.h, server/CommListener.cpp,
server/CommServer.cpp, tools/cyconfig.cpp, tools/cyconvertrules.cpp:
Add includes required for recent compilers which include less
stuff implicitly in standard headers.
* common/globals.cpp: Add usage information for --help and --version
so that the checker does not warn about them.
* configure.ac: Increment version.
* NEWS: Update NEWS announcement for release.
* Release 0.5.15
* server/Persistance.cpp: Add an information message when attempting
to create a new instance database.
* server/server.cpp: Store a new value for the start of the dynamic
port range, if one is allocated.
* common/globals.cpp: Force the instance name into lower case
alphanumeric, and underscore only. Reject it if it can't easily
be forced.
* common/globals.h, common/globals.cpp: Provide a separate function
for saving user settings back to the home directory. When
configuring a new instance, store the ruleset in user settings,
and log an informational message rather than a warning.
* server/server.cpp: When dynamically assigning a port to a new
instance, store the port in user settings, and log an informational
message. Save the user configuration once the validity has been
completely verified and applied.
* common/globals.cpp, common/globals.h: Add a new config setting for
the instance short name, and support per-instance configuration.
Add config settings for a dynamic port range.
* server/server.cpp: Support per-instance configuration and use a
dynamic port for non-default instances.
* common/globals.cpp, common/globals.h: Modify the loadConfig
function so it takes usage hints, and checks the options in known
sections against those in the usage help.
* client/client.cpp, server/server.cpp, tools/cyaddrules.cpp,
tools/cycmd.cpp, tools/cydumprules.cpp, tools/cyloadrules.cpp,
tools/cypasswd.cpp: Convert all calls to loadConfig to provide
the right hints.
* common/globals.cpp: Add a template function that ensures config
values are read without having to repeat the section and key.
Much less verbose and more obvious. Set the default ruleset in a
more sane way.
* common/globals.cpp: Make a missing config file no longer fatal,
as the default are now sane, and do work.
* server/server.cpp: Fix up some error and status messages.
* common/globals.cpp: Make the default ruleset "mason" as basic
no longer exists in the default install. Remove some error
messages which no longer apply.
* common/log.cpp, common/log.h: Switch to taking a C++ string reference
rather than a char *, as it is not really an optimisation, and it
makes the code simpler to read and write.
* client/BaseClient.cpp, client/ClientConnection.cpp,
common/AtlasFileLoader.cpp, common/BaseEntity.cpp,
common/Database.cpp, common/globals.cpp, common/id.cpp,
common/inheritance.cpp, common/log.cpp, common/log.h,
rulesets/Character.cpp, rulesets/Creator.cpp, rulesets/Entity.cpp,
rulesets/MemMap.cpp, rulesets/Motion.cpp, rulesets/Pedestrian.cpp,
rulesets/Py_Object.cpp, rulesets/Py_RootEntity.cpp,
rulesets/PythonMindScript.cpp, rulesets/PythonThingScript.cpp,
rulesets/Python_API.cpp, rulesets/Thing.cpp, server/Account.cpp,
server/Admin.cpp, server/ArithmeticFactory.cpp,
server/CommClient.cpp, server/CommListener.cpp,
server/CommMDNSPublisher.cpp, server/CommServer.cpp,
server/Connection.cpp, server/EntityFactory.cpp,
server/Persistance.cpp, server/Restoration.cpp,
server/ScriptFactory.cpp, server/TaskFactory.cpp,
server/WorldRouter.cpp, server/server.cpp: Convert over to using
new API correctly.
* data/mason.xml: Add biomass and transient to fircone, making its
script obsolete:
* common/globals.cpp, common/globals.h: Change the type and name
of the ruleset list to a string.
* rulesets/Python_API.cpp, server/EntityFactory.cpp,
server/server.cpp, tools/cyaddrules.cpp, tools/cydumprules.cpp,
tools/cyloadrules.cpp: Switch to using single ruleset config
variable.
* common/globals.cpp: Remove loading config data for inherited
rulesets.
* rulesets/Python_API.cpp: Add the python path for mind code
manually, and only add one path for the ruleset.
* common/globals.cpp: Fix the check_tmp_path() function, so it is
actually checking the path it has been given, add an access check
so we detect a temporary directory that exists but does not have
right permissions. Fix the error reporting when both paths fail.
* common/globals.h, common/globals.cpp: Flag the usage data for
cycmd and database tools. Add an additional argument to the
usage function for programs which take additional non-varconf
arguments.
* tools/cyaddrules.cpp, tools/cycmd.cpp, tools/cydumprules.cpp,
tools/cyloadrules.cpp: Add usage to the rest of the tools.
* client/client.cpp: Add additional argument usage information.