* server/CommClientFactory.cpp, server/CommClientFactory.h: Add a
new factory for http client objects.
* server/CommStreamListener.cpp, server/CommStreamListener.h:
Move the client factory behavior into this base class
as all listners will now be using it.
* server/CommTCPListener.cpp, server/CommTCPListener.h,
server/CommUnixListener.cpp, server/CommUnixListener.h:
Require a client factory reference and pass to the base class
which uses it.
* server/Makefile.am: Remove obsolete special purpose listeners.
* server/server.cpp: Use straight TCP listeners for everything
as no special purpose listener functionality is required any more.
* server/CommPeer.h, server/CommPeer.cpp: Re-factor CommPeer to
only be used for initiating peer connections.
* server/Admin.cpp: Use the modified CommPeer constructor.
* server/CommClient.h, server/CommClient.cpp: Make the connection
a pointer rather than a reference, and pass it in during setup.
* server/CommClientFactory.h, server/CommClientFactory.cpp: Re-factor
the commclient factory to take connection type as a template param,
and create the client and connection objects separately.
* server/server.cpp: Use the modified CommClientFactory parameter.
* server/Makefile.am: Remove the different kinds of client class
from the build.
* server/CommLocalClient.cpp, server/CommLocalClient.h: Fix the
constructor interface to match that used by the factory.
* server/CommClientFactory.cpp: Add support for CommLocalClient.
* server/CommUnixListener.cpp, server/CommUnixListener.h:
Convert the unix listener to use the CommClientFactory to remove
duplicated code.
* server/server.cpp: Use the new style of listener API on the unix
socket.
* server/CommListener.cpp, server/CommListener.h: Refactor from
a template to a regular class that uses the factories.
* server/server.cpp: Fix usage of CommListener.
* server/CommListener.h, server/CommListener.cpp: Make the
Atlas listener a template for handling the various types
of socket to use.
* server/server.cpp: Use the CommListener template correctly.
* server/CommPeerListener.cpp, server/CommPeerListener.h,
server/Makefile.am: Remove the obsolete explicit peer listener
from the build.
* common/system.cpp, common/system.h: Add security_init(), a
function to initialise any security or crypto related libraries
used. This is required by recent version of libgcrypt when
using hash functions.
* server/server.cpp, tests/systemtest.cpp, tools/cypasswd.cpp:
Call security_init() in all programs that use security related
functions.
* configure.ac: Add a check for res_init().
* server/CommMetaClient.cpp, server/CommMetaClient.h: Refactor
the metaserver related code so it retries resolving the address
of the metaserver, and then uses the address established later
than init time. This provisionally fixes bug #283763 which was
that cyphesis would never talk to the metaserver if the name
resolution at startup failed.
* server/server.cpp: Modify the way MetaClient is set up as it
is now not an open socket after initial setup.
* server/CommHttpListener.cpp, server/CommHttpListener.h: New
class to listen for http connections.
* server/CommHttpClient.cpp, server/CommHttpClient.h: New class to
handle http requests.
* server/server.cpp: Hack in a http listen socket on 6780.
* server/IdleConnector.cpp, server/IdleConnector.h: A generic sigc++
based class for functions which need to be called regularly.
* server/StorageManager.cpp, server/StorageManager.h: Add a method
to be called once a second from the idler.
* server/server.cpp: Hook the idler up to storage manager.