From 1f99e961e37e6455119032cfe8d4411d7df37cb3 Mon Sep 17 00:00:00 2001 From: Karl Heyes Date: Thu, 2 Feb 2023 12:25:13 +0000 Subject: [PATCH] cut kh18 --- NEWS | 22 ++++++++++++++++++++-- configure | 20 ++++++++++---------- configure.ac | 2 +- win32/icecast.nsis | 6 +++--- win32/icecast64.nsis | 6 +++--- 5 files changed, 37 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index 30fe7eeb..c06238b7 100644 --- a/NEWS +++ b/NEWS @@ -7,8 +7,8 @@ Feature differences from Xiph release . can drop new listeners if server-wide bitrate is above a limit . server xml reload, and reopen logging available via admin url . When max-listeners reached, a HTTP 302 code can be sent to redirect - clients to alternative slave hosts. -. authenticated relays, those that match the relay user/pass, bypass the + clients to alternative slave hosts. +. authenticated relays, those that match the relay user/pass, bypass the max-listener/bandwidth check. slaves can use a different auth to listeners . mount can filter out theora content, useful for defining a local relay of a theora+vorbis stream to have a vorbis only stream from the same source. @@ -18,6 +18,24 @@ Feature differences from Xiph release any extra tags are shown in the conf/icecast.xml.dist file +2.4.0.kh18 +. Extend http headers work from previous release. + Can now be used to create POST data. This improves code readability and also + allows for more flexability. + Make global http headers work as expected. +- Switchover updates. + Cleaner handling when switching over the client for a relay or source. + Interacts with inactive on-demand relays. +. Introduce the linger-on mount setting. On stream exit, the stream goes into a + state where it stays around running but no feed comes in. This allows for a + delayed termination if you have relays or sources that drop but reconnect + but you do not want to keep dropping to fallbacks. During this state, you can + connect another source so can be used as a switch over between sources. +. Various libcurl interaction updates. tigher control on callback handling + Handle server shutdown interrupting libcurl requests quicker. +. Trap for HTTP request on shoutcast port and treat it as such. +. Various code cleanups that have been reported. + 2.4.0.kh17 . HTTP handling update. A lot of this is internal but the mechanism allows for updating http headers from the XML using the http-headers block at the global diff --git a/configure b/configure index 16af86c7..088d48ae 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Icecast 2.4.0-kh17.2. +# Generated by GNU Autoconf 2.71 for Icecast 2.4.0-kh18. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Icecast' PACKAGE_TARNAME='icecast' -PACKAGE_VERSION='2.4.0-kh17.2' -PACKAGE_STRING='Icecast 2.4.0-kh17.2' +PACKAGE_VERSION='2.4.0-kh18' +PACKAGE_STRING='Icecast 2.4.0-kh18' PACKAGE_BUGREPORT='karl@kheyes.plus.com' PACKAGE_URL='' @@ -1423,7 +1423,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Icecast 2.4.0-kh17.2 to adapt to many kinds of systems. +\`configure' configures Icecast 2.4.0-kh18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1494,7 +1494,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Icecast 2.4.0-kh17.2:";; + short | recursive ) echo "Configuration of Icecast 2.4.0-kh18:";; esac cat <<\_ACEOF @@ -1628,7 +1628,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Icecast configure 2.4.0-kh17.2 +Icecast configure 2.4.0-kh18 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2182,7 +2182,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Icecast $as_me 2.4.0-kh17.2, which was +It was created by Icecast $as_me 2.4.0-kh18, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3669,7 +3669,7 @@ fi # Define the identity of the package. PACKAGE='icecast' - VERSION='2.4.0-kh17.2' + VERSION='2.4.0-kh18' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -21560,7 +21560,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Icecast $as_me 2.4.0-kh17.2, which was +This file was extended by Icecast $as_me 2.4.0-kh18, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21628,7 +21628,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Icecast config.status 2.4.0-kh17.2 +Icecast config.status 2.4.0-kh18 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 49a6981a..42f6a3bd 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([Icecast], [2.4.0-kh17.2], [karl@kheyes.plus.com]) +AC_INIT([Icecast], [2.4.0-kh18], [karl@kheyes.plus.com]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign]) diff --git a/win32/icecast.nsis b/win32/icecast.nsis index 97009e39..eef276f2 100644 --- a/win32/icecast.nsis +++ b/win32/icecast.nsis @@ -13,7 +13,7 @@ # installer containing your program. Name "Icecast KH" -OutFile "icecast-2.4.0-kh17_win32_setup.exe" +OutFile "icecast-2.4.0-kh18_win32_setup.exe" InstallDir "$ProgramFiles\Icecast KH" InstallDirRegKey HKLM SOFTWARE\Icecast "Install_Dir" @@ -31,12 +31,12 @@ XPStyle on ;Version Information -VIProductVersion "2.4.0.17" +VIProductVersion "2.4.0.18" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Icecast KH" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "2.4.0" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Karl Heyes @2000-2023" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Icecast KH streaming media server installer" -VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH17" +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH18" Page components Page directory diff --git a/win32/icecast64.nsis b/win32/icecast64.nsis index 88036b8f..c5608725 100644 --- a/win32/icecast64.nsis +++ b/win32/icecast64.nsis @@ -13,7 +13,7 @@ # installer containing your program. Name "Icecast KH" -OutFile "icecast-2.4.0-kh17_win64_setup.exe" +OutFile "icecast-2.4.0-kh18_win64_setup.exe" InstallDir "$ProgramFiles64\Icecast KH" InstallDirRegKey HKLM SOFTWARE\Icecast "Install_Dir" @@ -31,12 +31,12 @@ XPStyle on ;Version Information -VIProductVersion "2.4.0.17" +VIProductVersion "2.4.0.18" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Icecast KH" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "2.4.0" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Karl Heyes @2000-2023" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Icecast KH streaming media server installer" -VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH17" +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH18" Page components Page directory