This moves all the listen socket code into a nice and abstracting file.
Notes:
* Altering listen socket setup does not yet work on config reload.
(Did it ever work?)
* Server will start with no listen sockets. (There are unconfirmed
rumours it sometimes(?) did before.) This is to be re-implemented
in another commit. It can also be improved to work allow checking
on reload or other config changes.
* For slave connections the server address is now checked against
the allow/deny-IP list.
This sets the on_demand parameter of the source correctly on
creation of a on-demand relay.
Thanks to Marvin Scholz <epirat07@gmail.com>.
Closes: #2054
Renamed event_config_read() into config_reread_config() and moved
it into cfgfile.c. This allowed to delete event.[ch].
event.[ch] will later be used to implement <event>.
The default mount is a block in the config file that contains settings for
all mount points that do not have a block in configfile themself.
This is implemented by a <mount type="default">-block.
In this case the <mount>-block MUST NOT contain a <mount-name>-subblock.
svn path=/icecast/trunk/icecast/; revision=18902
connect and be waiting a while before receiving stream content.
When retrieving streamlist, don't wait too long for connection to master
schedule a full stats rebuild on source disconnect.
Minor build fix for certain platforms with missing defines
svn path=/icecast/trunk/icecast/; revision=15276
We prevent a failed relay from restarting too quickly but don't prevent
connecting listeners from getting to the source_t during that time. Drop the
on-demand status in the source_t during this period so listeners are rejected.
The setting is reset from relay eventually.
Relays without matching mount sections had no stats initially.
svn path=/icecast/trunk/icecast/; revision=15122
need updating. Fixes a few unusual cases, if a mount was removed (with xml reload)
whilst no source was reserved then those stats were left behind.
svn path=/icecast/trunk/icecast/; revision=13538
process them better. This simplifies various checks and sits better with
relay startup and relay cleanup in certain error cases.
svn path=/icecast/trunk/icecast/; revision=11008
I've taken out the client_create out of the connection_complete_source and put
it in slave, that way we can control the cleanup of the memory/socket better, the
change also meant fallback to file tests were slghtly different.
svn path=/icecast/trunk/icecast/; revision=9847
on incoming connections. Now we get the accept thread to create a client_t
and mark it as a shoutcast client if need be. Then use a single connection
thread to poll the non-blocking sockets for the headers. When complete they
get handled as usual.
svn path=/icecast/trunk/icecast/; revision=9733
it is at the right point. kick off the YP 'add' 5 seconds after source startup
so that any stats are processed.
svn path=/icecast/trunk/icecast/; revision=9314