From 9fea71ff774eb03dc7920201b0fa95467ef40e6e Mon Sep 17 00:00:00 2001 From: Karl Heyes Date: Thu, 5 Nov 2009 05:32:02 +0000 Subject: [PATCH] kh18 update. The important/visible stuff . memory corruption fix in stats/threading. . fix for the excessive page flush bug leading to higher bandwidth than expected with vorbis streams from certain source clients. . avoid the ::ffff: part from IPv6 within an IP. The other main change is the YP thread which is started from a dummy client handle instead of the slave thread. it should now only startup from the worker if there is work scheduled. Whether the slave thread can reduce wakeups would need to be investigated. command auth was updated but the performance results are similar to URL auth. Other some internal code cleanups are also done. stats seems to be working much better now. karl. svn path=/icecast/branches/kh/icecast/; revision=16691 --- NEWS | 17 +++ conf/icecast.xml.in | 10 +- config.h.vc6 | 2 +- configure.in | 7 +- src/admin.c | 6 +- src/auth.c | 31 +++--- src/auth.h | 1 - src/auth_cmd.c | 244 +++++++++++++++++++++++++++++++++------- src/auth_url.c | 9 +- src/client.h | 2 +- src/connection.c | 85 ++++++++++---- src/format_vorbis.c | 4 +- src/fserve.c | 14 +-- src/fserve.h | 5 +- src/main.c | 12 +- src/slave.c | 10 +- src/source.c | 24 ++-- src/stats.c | 263 ++++++++++++++++++++++++++------------------ src/stats.h | 5 +- src/yp.c | 154 +++++++++++++++++++------- src/yp.h | 6 +- win32/icecast2.iss | 6 +- 22 files changed, 636 insertions(+), 281 deletions(-) diff --git a/NEWS b/NEWS index f0bab249..47965e8c 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,23 @@ Feature differences from SVN trunk any extra tags are show in the conf/icecast.xml.dist file +2.3.2-kh18 +. for people who use ICE_MUTEX_ABORT (environment var) to trap for long held + locks, change the name to ICE_LOCK_ABORT +. fix possible memory corruption case in stats and threading +. fix vorbis stream bandwidth increase when certain source clients connect +. avoid any ::ffff: in IPs +. YP thread now started from worker as required instead of once per second +. shutdown order and other internal code cleanups +. use signalfd if available for processing signals in connection thread, saves + waking up the thread. +. make sure the auth mountpoint returned is used instead of the listener + supplied one. Allows for redirecting listeners to alternative mounts +. update command auth, works in a similar way to url auth now. +. stats clients work better under much heavier load. stats notifications + are grouped together if possible before sending, this reduces writes in the + many streams case + 2.3.2-kh17 . fix possible memory corruption when using multiple workers . a few minor timing changes, nothing major. diff --git a/conf/icecast.xml.in b/conf/icecast.xml.in index 5dde92a8..100eaca3 100644 --- a/conf/icecast.xml.in +++ b/conf/icecast.xml.in @@ -127,7 +127,7 @@ 1 1000k 0 - /tmp/dump-example1.ogg + /backup/live-%d-%b.ogg 65536 /example2.ogg 1 @@ -150,15 +150,13 @@ .... - or - for url auth, the add url needs to return a "icecast-auth-user: 1" http - header for a user to authenicate. Both urls are sent params via POST, - add is sent id, mount, user, pass, ip, useragent - remove is passed id, mount, user, pass, duration + for url auth, the add url needs to return a "icecast-auth-user:" http + header for a user to authenicate. URLs are sent params via POST.