Check the return value of write() to satisfy GCC's unused-result checks.
frontend, client: Properly support IPv6 when handling address strings.
frontend: Support custom SSL options for each listener.
frontend: Log an INFO message about which listener sockets are in use.
frontend, sysdbd: Let all TCP connections use SSL. Client certificate checks are enforced and the client cert's common name (CN) is used as the peer name.
frontend: Trigger the main thread after putting a connection back in the list. Else, we'd have pauses of up to a second (select timeout) between processing subsequent requests from a client because the main thread didn't notice that an open connection was put back into the waiting queue.
connection: Let sdb_connection_accept() handle all connection setup. … rather than having it split up between the caller and accept().
frontend: Add support for TCP connections. This is the new default listener type (unless the listen address starts with a slash in which case a UNIXSOCK connection is used). This does not support any kind of peer lookup yet. Instead, it'll fully trust the client for now and accept any username. In the future, this will be configurable and multiple mechanisms (e.g. ident, SSL cert) will be supported.
frontend: Make peer detection more flexible. It's now a property of a listener implementation. Moved the unixsock implementation over from frontend/connection to frontend/sock.
frontend/sock: Simplified internal address handling. Strip the <type>: prefix early. Else, we'd have to strip it off over and over again when working with the address string.
frontend: Make connection I/O handling more flexible. That'll allow to create connection objects which require special I/O operations.
connection: Renamed sdb_connection_read to sdb_connection_handle. The function does more than read from the connection, so the old name was a bad choice.
Added __attribute__((format(printf, ...))) where appropriate. Also, fixed various (mostly minor) issues identified this way.
Don't free dirname()'s return value. It may point to static memory.
frontend: Ensure that the base directory of a UNIX socket exists.
frontend: Make UNIX sockets the default listener implementation.
frontend: Added sdb_fe_sock_clear_listeners(). This function may be used to shut down and clear all listeners associated with a socket object without affecting any open connections.
frontend: Be more robust in case of failed connections. Make sure not to write to a failed connection, most notably, don't try to log to a failed connection.
frontend: Close a connection when receiving an exception of the fd.
Include config.h in source files. Else, we don't get any definitions required for enforcing standard compliance.