1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-06-02 06:01:10 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Stephan Jauernick
abe090a634 DNU - hint at docu change regarding CI and submodules 2024-01-06 03:07:34 +01:00
Stephan Jauernick
5aa41b8133 DNU WIP ci changes 2024-01-05 19:17:20 +01:00
Stephan Jauernick
022d2ab655 WIP ci changes 2024-01-05 19:17:20 +01:00
Philipp Schafft
7f6abb6ca8 Fix: Typo SROUCE_HIDDEN -> SOURCE_HIDDEN
Thanks to Jordan Erickson for finding this.
2023-08-02 00:19:15 +00:00
Philipp Schafft
70067b12be Fix: Fixed clients in body queue running in undetected EOFs
Thanks to Jordan Erickson
2023-08-02 00:19:12 +00:00
9 changed files with 33 additions and 13 deletions

View File

@ -1,6 +1,8 @@
Icecast 2 - README Icecast 2 - README
--------------------------------------------------------------------- ---------------------------------------------------------------------
TODO: add info regarding forks and expected repo layout in gitlab/*blub*
[![Build Status](https://travis-ci.org/xiph/Icecast-Server.svg?branch=master)](https://travis-ci.org/xiph/Icecast-Server) [![Build Status](https://travis-ci.org/xiph/Icecast-Server.svg?branch=master)](https://travis-ci.org/xiph/Icecast-Server)
Icecast is a streaming media server which currently supports _WebM_ and Icecast is a streaming media server which currently supports _WebM_ and

View File

@ -7,6 +7,6 @@ Maintainer: Thomas B. Ruecker <thomas@ruecker.fi>
Uploaders: Thomas B. Ruecker <thomas@ruecker.fi> Uploaders: Thomas B. Ruecker <thomas@ruecker.fi>
Homepage: http://www.icecast.org/ Homepage: http://www.icecast.org/
Standards-Version: 3.9.5 Standards-Version: 3.9.5
Build-Depends: cdbs, autotools-dev, devscripts, libtool, automake1.11, autoconf, debhelper, dh-buildinfo, libogg-dev (>> 1.0.0), libvorbis-dev (>> 1.0.0), libxslt1-dev | libxslt-dev, libxml2-dev, libcurl4-gnutls-dev, libtheora-dev (>= 0.0.0.alpha7), libspeex-dev, libssl-dev, po-debconf, pkg-config, dh-autoreconf, automake Build-Depends: cdbs, autotools-dev, devscripts, libtool, automake1.11, autoconf, debhelper, dh-buildinfo, libogg-dev (>> 1.0.0), libvorbis-dev (>> 1.0.0), libxslt1-dev | libxslt-dev, libxml2-dev, libcurl4-gnutls-dev, libtheora-dev (>= 0.0.0.alpha7), libspeex-dev, libssl-dev, po-debconf, pkg-config, dh-autoreconf, automake, librhash-dev, libigloo-dev
Package-List: Package-List:
icecast2 deb sound optional arch=any icecast2 deb sound optional arch=any

View File

@ -41,7 +41,7 @@ BuildRequires: automake, pkgconfig
BuildRequires: libvorbis-devel >= 1.0, libogg-devel >= 1.0, curl-devel >= 7.10.0 BuildRequires: libvorbis-devel >= 1.0, libogg-devel >= 1.0, curl-devel >= 7.10.0
BuildRequires: libxml2-devel, libxslt-devel, speex-devel BuildRequires: libxml2-devel, libxslt-devel, speex-devel
# To be enabled as soon as Fedora's libtheora supports ogg_stream_init # To be enabled as soon as Fedora's libtheora supports ogg_stream_init
BuildRequires: libtheora-devel >= 1.0, openssl-devel BuildRequires: libtheora-devel >= 1.0, openssl-devel >= 1.1, rhash-devel, libigloo-devel >= 0.9.2
# From suse packaging # From suse packaging
BuildRequires: libtool, BuildRequires: libtool,

View File

@ -56,19 +56,23 @@ cp /etc/mime.types installer/
find installer/ find installer/
%build %build
cd installer cd installer
cp icecast.nsis icecast.nsis.orig
sed -i "s/\(\"DisplayVersion\" \"\).*\(\"\)$/\1%{version}\2/" icecast.nsis
sed -i 's/\(OutFile "icecast_win32_\).*\(.exe"\)$/\1%{version}\2/' icecast.nsis
diff -u icecast.nsis.orig icecast.nsis || true
export -n MALLOC_CHECK_ export -n MALLOC_CHECK_
export -n MALLOC_PERTURB_ export -n MALLOC_PERTURB_
makensis icecast.nsis -V4 makensis icecast.nsis -V4
%install %install
mkdir -p "%{buildroot}/%{_mingw32_bindir}" mkdir -p "%{buildroot}/%{_mingw32_bindir}"
cp %_builddir/installer/icecast_win32_2.5-beta3.exe "%{buildroot}/%{_mingw32_bindir}" cp %_builddir/installer/icecast_win32_%{version}.exe "%{buildroot}/%{_mingw32_bindir}"
%clean %clean
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%{_mingw32_bindir}/icecast_win32_2.5-beta3.exe %{_mingw32_bindir}/icecast_win32_%{version}.exe
%changelog %changelog
* Sun Mar 13 2022 Philipp Schafft <lion@lion.leolix.org> - 2.4.99.3-1 * Sun Mar 13 2022 Philipp Schafft <lion@lion.leolix.org> - 2.4.99.3-1

View File

@ -26,7 +26,9 @@ BuildRequires: mingw32-libxml2-devel
BuildRequires: mingw32-libxslt-devel BuildRequires: mingw32-libxslt-devel
BuildRequires: mingw32-libspeex-devel BuildRequires: mingw32-libspeex-devel
BuildRequires: mingw32-libtheora-devel >= 1.0 BuildRequires: mingw32-libtheora-devel >= 1.0
BuildRequires: mingw32-libopenssl-devel BuildRequires: mingw32-libopenssl-1_1-devel
BuildRequires: mingw32-libigloo-devel >= 0.9.0
BuildRequires: mingw32-librhash-devel >= 0.9.0
%_mingw32_package_header_debug %_mingw32_package_header_debug
BuildArch: noarch BuildArch: noarch
@ -57,12 +59,13 @@ MINGW32_CFLAGS="%{_mingw32_cflags}" \
PATH="%{_mingw32_bindir}:$PATH" \ PATH="%{_mingw32_bindir}:$PATH" \
%{_mingw32_configure} \ %{_mingw32_configure} \
--with-curl=%{_mingw32_prefix} \ --with-curl=%{_mingw32_prefix} \
--disable-static --enable-shared #\ --disable-static --enable-shared
%{__make} %{?_smp_mflags}
%{_mingw32_make} %{?_smp_mflags}
%install %install
make DESTDIR=%{buildroot} install %{?_smp_mflags} %{_mingw32_makeinstall} %{?_smp_mflags}
find %{buildroot}
rm %{buildroot}%{_mingw32_sysconfdir}/icecast.xml rm %{buildroot}%{_mingw32_sysconfdir}/icecast.xml
cp -rfvp win32 %{buildroot}%{_mingw32_datadir}/icecast/win32 cp -rfvp win32 %{buildroot}%{_mingw32_datadir}/icecast/win32

View File

@ -1019,6 +1019,7 @@ client_slurp_result_t client_body_skip(client_t *client)
{ {
char buf[2048]; char buf[2048];
int ret; int ret;
ssize_t got;
ICECAST_LOG_DEBUG("Slurping client %p", client); ICECAST_LOG_DEBUG("Slurping client %p", client);
@ -1038,8 +1039,17 @@ client_slurp_result_t client_body_skip(client_t *client)
if (left > sizeof(buf)) if (left > sizeof(buf))
left = sizeof(buf); left = sizeof(buf);
client_body_read(client, buf, left); got = client_body_read(client, buf, left);
} else {
got = client_body_read(client, buf, sizeof(buf));
}
if (got < 1) {
ICECAST_LOG_DEBUG("Slurping client %p ... got no data EOF or needs more data", client);
return CLIENT_SLURP_ERROR;
}
if (client->request_body_length != -1) {
if ((size_t)client->request_body_length == client->request_body_read) { if ((size_t)client->request_body_length == client->request_body_read) {
ICECAST_LOG_DEBUG("Slurping client %p ... was a success", client); ICECAST_LOG_DEBUG("Slurping client %p ... was a success", client);
return CLIENT_SLURP_SUCCESS; return CLIENT_SLURP_SUCCESS;
@ -1047,8 +1057,6 @@ client_slurp_result_t client_body_skip(client_t *client)
ICECAST_LOG_DEBUG("Slurping client %p ... needs more data", client); ICECAST_LOG_DEBUG("Slurping client %p ... needs more data", client);
return CLIENT_SLURP_NEEDS_MORE_DATA; return CLIENT_SLURP_NEEDS_MORE_DATA;
} }
} else {
client_body_read(client, buf, sizeof(buf));
} }
ret = client_body_eof(client); ret = client_body_eof(client);

View File

@ -737,6 +737,8 @@ static client_slurp_result_t process_request_body_queue_one(client_queue_entry_t
client_t *client = node->client; client_t *client = node->client;
client_slurp_result_t res; client_slurp_result_t res;
node->ready = false;
if (client->parser->req_type == httpp_req_post) { if (client->parser->req_type == httpp_req_post) {
if (node->bodybuffer == NULL && client->request_body_read == 0) { if (node->bodybuffer == NULL && client->request_body_read == 0) {
if (client->request_body_length < 0) { if (client->request_body_length < 0) {

View File

@ -182,7 +182,8 @@ static inline void __setup_environ(ice_config_t *config, event_exec_t *self, eve
if (source) { if (source) {
__update_environ("SOURCE_MOUNTPOINT", source->mount); __update_environ("SOURCE_MOUNTPOINT", source->mount);
__update_environ("SOURCE_PUBLIC", source->yp_public ? "true" : "false"); __update_environ("SOURCE_PUBLIC", source->yp_public ? "true" : "false");
__update_environ("SROUCE_HIDDEN", source->hidden ? "true" : "false"); __update_environ("SOURCE_HIDDEN", source->hidden ? "true" : "false");
__update_environ("SROUCE_HIDDEN", source->hidden ? "true" : "false"); /* Typo, kept for compatibility */
} }
avl_tree_unlock(global.source_tree); avl_tree_unlock(global.source_tree);
} }

View File

@ -9,4 +9,4 @@ echo Please open http://localhost:8000/ in your web browser to see the web inter
echo. echo.
echo. echo.
echo Leave this window open to keep Icecast running and, if necessary, minimize it. echo Leave this window open to keep Icecast running and, if necessary, minimize it.
.\bin\icecast.exe -c .\etc\icecast.xml .\bin\icecast.exe -c icecast.xml