Move ggo files to a separate directory.
Move color logging code to daemon.c and use it also for para_audiod. This patch also introduces the para_log() function of daemon.c so that both para_server and para_audiod can use it.
Implement colored logging for para_server.
Loglevel adjustments.
udp sender: Make ttl configurable.
Replace the ortp sender/receiver by the generic udp sender/receiver. The ortp code was broken for quite some time. The new code is smaller and we drop the dependency on libortp.
para_server: Reformat help text of the --afs_database_dir option. This caused help2man to create a badly formated man page.
Add documentation for the loglevel argument of para_server.
Let the daemon option depend on the logfile option. This allows to remove the check in server.c.
More detailed and much nicer para_server man page.
Sender code consolidation, on/off commands for the dccp sender. This patch moves a bunch of code from the http sender to send_common.c to make it available also for the dccp sender. To this aim a new structure sender_status is introduced which holds the configuration and the current status of the http/dccp sender. Most of the new functions in send_common.c take a pointer to such a structure. This allows to implement the off/on/allow/deny/info commands as a one-liner for both the dccp and the http sender. The new server config option dccp_max_clients allows to restrict the number of simultaneous connections to the dccp sender.
Implement access control for the dccp sender. Introduce new acl functions to avoid duplicate code in the http/dccp sender.
[DCCP]: Use 8000 as port. From: Gerrit Renker As TCP and DCCP are different transport protocols, it is possible to let both the dccp and the http sender listen on port 8000.
server.ggo: Remove unused selector option.
Change syntax for selecting moods or playlists. Use m/foo, p/bar instead of m:foo and p:bar. This is much friendlier to bash completion.
Implement com_select().
Remove old audio file selector code.
Replace struct table_info by struct afs_table. This is a much cleaner approach and it simplifies afs.c a bit.
Add command line options --mood and --playlist. And replace the temporary strings which were hardcoded in afs.c.
afs: Replace DATABASE_DIR by a runtime config option. Also, split afs_init() into two parts: The new open_afs_tables() that does what its name suggests and the remaining part that initializes the scheduler.