diff --git a/Makefile.am b/Makefile.am index 906ead71..2de9d190 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,6 +26,10 @@ FORCE: debug: $(MAKE) all CFLAGS="-Wno-unused-parameter @DEBUG@" +win64: + $(MAKE) all CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" +win32: + $(MAKE) all CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" profile: $(MAKE) all CFLAGS="@PROFILE@" diff --git a/Makefile.in b/Makefile.in index 2b3c8ed1..3e5367d4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -952,6 +952,10 @@ FORCE: debug: $(MAKE) all CFLAGS="-Wno-unused-parameter @DEBUG@" +win64: + $(MAKE) all CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" +win32: + $(MAKE) all CFLAGS="-O2 -s" CXXFLAGS="-O2 -s" profile: $(MAKE) all CFLAGS="@PROFILE@" diff --git a/NEWS b/NEWS index ca772c04..30fe7eeb 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,54 @@ Feature differences from Xiph release any extra tags are shown in the conf/icecast.xml.dist file +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 + level or per mount point. The same sort of block can be used within the relay + for specifying any headers sent to a relay. + +. XML parsing updates. This allows for simple tags to be embedded into the parent + tag. examples include + + + + ... + + + + + + +. Relay hijack capability. Two possible use cases + + - In the multiple host relay situation, every relay-delay seconds, the previously + failed but higher priority hosts are re-tried and if one works then switches in + to provide the feed for the stream. listeners are not moved. + + - source client can override relay without moving listeners. This effectively + shuts down the pulling part of the relay but stays around until the source + client exits, at which point the relay restarts. This can be seen as another + type of fallback, one without the issue of shared fallback mounts causing + listeners to end up on unexpected mount points. As the listeners stay in one + place then things like stats are more consistent. + +. SSL can be used on relay feed. Use boolean tag ssl or tls on the above host. The + relay can redirect to https to achieve the same thing. + +. priority tag on relay to allow for order host startup different to the order in + the XML. 1 is highest order, unspecified implies ordered per XML. + +. add ignore case for user agent matching. + +. priority tag on mount to allow for search order when you can match multiple mount + blocks (due to wildcard). + +. Small update to CORS handling, interaction with http work. +. fnmatch (wildcard handling was broken in windows now fixed) and can use extended + settings like @ etc +. Minor web page update +. Document updates. + 2.4.0.kh16 . Locking updates. Mostly for the config, mount lookup and client processing. . Add redirect_limit to auth URL options, default 1 but 0-10 allowed. diff --git a/configure b/configure index e03cc3f8..c5a3a3f2 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-pre5. +# Generated by GNU Autoconf 2.71 for Icecast 2.4.0-kh17. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Icecast' PACKAGE_TARNAME='icecast' -PACKAGE_VERSION='2.4.0-kh17-pre5' -PACKAGE_STRING='Icecast 2.4.0-kh17-pre5' +PACKAGE_VERSION='2.4.0-kh17' +PACKAGE_STRING='Icecast 2.4.0-kh17' 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-pre5 to adapt to many kinds of systems. +\`configure' configures Icecast 2.4.0-kh17 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-pre5:";; + short | recursive ) echo "Configuration of Icecast 2.4.0-kh17:";; 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-pre5 +Icecast configure 2.4.0-kh17 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-pre5, which was +It was created by Icecast $as_me 2.4.0-kh17, 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-pre5' + VERSION='2.4.0-kh17' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -21561,7 +21561,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-pre5, which was +This file was extended by Icecast $as_me 2.4.0-kh17, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21629,7 +21629,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-pre5 +Icecast config.status 2.4.0-kh17 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 064668a2..b8b09a11 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-pre5], [karl@kheyes.plus.com]) +AC_INIT([Icecast], [2.4.0-kh17], [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 249fcfa3..97009e39 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-kh17pre5_win32_setup.exe" +OutFile "icecast-2.4.0-kh17_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.16" +VIProductVersion "2.4.0.17" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Icecast KH" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "2.4.0" -VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Karl Heyes @2000-2022" +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-KH17pre5" +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH17" Page components Page directory diff --git a/win32/icecast64.nsis b/win32/icecast64.nsis index e9db64cb..88036b8f 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-kh17pre5_win64_setup.exe" +OutFile "icecast-2.4.0-kh17_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.16" +VIProductVersion "2.4.0.17" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Icecast KH" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "2.4.0" -VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Karl Heyes @2000-2022" +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-KH17pre5" +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "2.4.0-KH17" Page components Page directory