]> git.ipfire.org Git - thirdparty/shairport-sync.git/log
thirdparty/shairport-sync.git
12 months agoCompile docker image with pipewire and add example in docker-compose 1880/head
Maxim [Thu, 18 Jul 2024 19:23:13 +0000 (22:23 +0300)] 
Compile docker image with pipewire and add example in docker-compose

12 months agoadd a diagnostic function debug_print_buffer, which might be useful in the future.
Mike Brady [Thu, 18 Jul 2024 14:26:55 +0000 (15:26 +0100)] 
add a diagnostic function debug_print_buffer, which might be useful in the future.

12 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Tue, 16 Jul 2024 12:02:44 +0000 (13:02 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

12 months agoRemove the avcodec_free_context(&codec_context) -- seems to cause a double free.
Mike Brady [Tue, 16 Jul 2024 11:58:37 +0000 (12:58 +0100)] 
Remove the avcodec_free_context(&codec_context) -- seems to cause a double free.

12 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Tue, 16 Jul 2024 11:32:23 +0000 (12:32 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

12 months agoUse (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO now in place of bit-mapped AV_CH_LAYOUT...
Mike Brady [Tue, 16 Jul 2024 11:25:15 +0000 (12:25 +0100)] 
Use (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO now in place of bit-mapped AV_CH_LAYOUT_STEREO -- possible from FFmpeg 5.1, mandatory in FFmpeg 7. Also remove deprecated avcodec_close.

13 months ago4.3.5 starting point 4.3.5-dev
Mike Brady [Sat, 6 Jul 2024 11:09:08 +0000 (12:09 +0100)] 
4.3.5 starting point

13 months agoUpdate CAR INSTALL.md
Mike Brady [Wed, 3 Jul 2024 21:35:07 +0000 (22:35 +0100)] 
Update CAR INSTALL.md

13 months agoUpdate CAR INSTALL.md
Mike Brady [Wed, 3 Jul 2024 19:13:30 +0000 (20:13 +0100)] 
Update CAR INSTALL.md

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sun, 30 Jun 2024 09:08:01 +0000 (10:08 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoFix a bug that blocked a fatal error exit if the player thread couldn't be terminated...
Mike Brady [Sun, 30 Jun 2024 08:56:29 +0000 (09:56 +0100)] 
Fix a bug that blocked a fatal error exit if the player thread couldn't be terminated. Revert the session timeout from one minute back to two minutes (120 seconds).

13 months agoRevert the session timeout from one munite back to two minutes (120 seconds)
Mike Brady [Sun, 30 Jun 2024 08:53:41 +0000 (09:53 +0100)] 
Revert the session timeout from one munite back to two minutes (120 seconds)

13 months agoDon't automatically disable the session timeout on AirPlay 2.
Mike Brady [Sat, 29 Jun 2024 19:38:43 +0000 (20:38 +0100)] 
Don't automatically disable the session timeout on AirPlay 2.

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sat, 29 Jun 2024 19:24:35 +0000 (20:24 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoRemove watchdog stuff. Move the pthreadtestcancel into the loop inside buffergetframe...
Mike Brady [Sat, 29 Jun 2024 19:06:27 +0000 (20:06 +0100)] 
Remove watchdog stuff. Move the pthreadtestcancel into the loop inside buffergetframe() -- somethime the player can stay inside that loop indefinitely.

13 months agoremove watchdog stuff
Mike Brady [Sat, 29 Jun 2024 19:05:15 +0000 (20:05 +0100)] 
remove watchdog stuff

13 months agoRemove watchdog stuff. USe the session timeout to set the TCP keep intervals and...
Mike Brady [Sat, 29 Jun 2024 19:04:29 +0000 (20:04 +0100)] 
Remove watchdog stuff. USe the session timeout to set the TCP keep intervals and stuff. Change response to ETIMEDOUT to rtsp_read_request_response_immediate_shutdown_requested.

13 months agoset the session timeout to one minute by default.
Mike Brady [Sat, 29 Jun 2024 19:02:09 +0000 (20:02 +0100)] 
set the session timeout to one minute by default.

13 months agoset the session timeout to one minute by default.
Mike Brady [Sat, 29 Jun 2024 19:01:39 +0000 (20:01 +0100)] 
set the session timeout to one minute by default.

13 months agoprevent cancellation while performing ao-related operations.
Mike Brady [Sat, 29 Jun 2024 18:59:28 +0000 (19:59 +0100)] 
prevent cancellation while performing ao-related operations.

13 months agoBB -- change the order of includes as mentioned in version 4.3.4-dev-13-gc064b8ba
Mike Brady [Sat, 15 Jun 2024 15:18:29 +0000 (16:18 +0100)] 
BB -- change the order of includes as mentioned in version 4.3.4-dev-13-gc064b8ba

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sat, 15 Jun 2024 13:50:01 +0000 (14:50 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoChange order of some include file to facilitiate old Mac OS X builds. Check existence...
Mike Brady [Sat, 15 Jun 2024 13:31:14 +0000 (14:31 +0100)] 
Change order of some include file to facilitiate old Mac OS X builds. Check existence of TCP_KEEPINTVL before trying to use it. Fix a race condition with initial messages to the metadata queues. The race was that the queues and mutexes were definied in a thread, so could be delayed to after when the main process was using them.

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 10 Jun 2024 08:13:46 +0000 (09:13 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 10 Jun 2024 08:13:23 +0000 (09:13 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoMove the ulimit -n call from 01-startup/script.sh to the 02-dbus/run
Mike Brady [Sun, 9 Jun 2024 17:41:02 +0000 (18:41 +0100)] 
Move the ulimit -n call from 01-startup/script.sh to the 02-dbus/run

13 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sat, 8 Jun 2024 13:35:10 +0000 (14:35 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

13 months agoLimit maximum open file handles in Docker images. Increase the level of optimisation...
Mike Brady [Sat, 8 Jun 2024 13:05:26 +0000 (14:05 +0100)] 
Limit maximum open file handles in Docker images. Increase the level of optimisation while building the Shairport Sync image.

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 3 Jun 2024 08:44:40 +0000 (09:44 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months agoMerge branch 'development' of github.com:mikebrady/shairport-sync into development
Mike Brady [Mon, 3 Jun 2024 08:37:11 +0000 (09:37 +0100)] 
Merge branch 'development' of github.com:mikebrady/shairport-sync into development

forgot online update

14 months agoGive access to mixers in a HDMI device by attaching the mixer to the device's name...
Mike Brady [Mon, 3 Jun 2024 08:36:37 +0000 (09:36 +0100)] 
Give access to mixers in a HDMI device by attaching the mixer to the device's name but replacing the header hdmi: with hw:

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sat, 1 Jun 2024 21:30:50 +0000 (22:30 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months agoModify the alsa help to use the hdmi: prefix for the HDMI devices it finds.
Mike Brady [Sat, 1 Jun 2024 21:08:41 +0000 (22:08 +0100)] 
Modify the alsa help to use the hdmi: prefix for the HDMI devices it finds.

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Wed, 29 May 2024 15:37:09 +0000 (16:37 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months ago4.3.4-dev start
Mike Brady [Wed, 29 May 2024 14:29:22 +0000 (15:29 +0100)] 
4.3.4-dev start

14 months agoUpdate CAR INSTALL.md 4.3.4-dev
Mike Brady [Wed, 29 May 2024 11:31:42 +0000 (12:31 +0100)] 
Update CAR INSTALL.md

14 months agoUpdate CAR INSTALL.md
Mike Brady [Wed, 29 May 2024 11:28:37 +0000 (12:28 +0100)] 
Update CAR INSTALL.md

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 23 May 2024 13:30:57 +0000 (14:30 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months agoReverse changes made in PR 1831 (https://github.com/mikebrady/shairport-sync/pull...
Mike Brady [Thu, 23 May 2024 13:24:30 +0000 (14:24 +0100)] 
Reverse changes made in PR 1831 (https://github.com/mikebrady/shairport-sync/pull/1831/files) -- issue identified in Issue 1856 (https://github.com/mikebrady/shairport-sync/issues/1856).

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Wed, 15 May 2024 12:19:59 +0000 (13:19 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months agoMerge pull request #1851 from acli/patch_20240513a
Mike Brady [Wed, 15 May 2024 12:15:07 +0000 (13:15 +0100)] 
Merge pull request #1851 from acli/patch_20240513a

Various minor fixes. Many thanks.

14 months agominor typo 1851/head
Ambrose Li [Tue, 14 May 2024 08:44:58 +0000 (04:44 -0400)] 
minor typo

14 months agovarious minor typos
Ambrose Li [Tue, 14 May 2024 08:25:25 +0000 (04:25 -0400)] 
various minor typos

14 months agouse constant RATE for clarity
Ambrose Li [Tue, 14 May 2024 08:25:10 +0000 (04:25 -0400)] 
use constant RATE for clarity

14 months agoMake sure "all" is the default target. Try to not clobber existing man page and html...
Ambrose Li [Tue, 14 May 2024 08:24:53 +0000 (04:24 -0400)] 
Make sure "all" is the default target. Try to not clobber existing man page and html file if xmltoman/xsltproc fails/does not exist

14 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 13 May 2024 12:03:01 +0000 (13:03 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

14 months agoMerge pull request #1846 from orangepizza/mbedtls3fix
Mike Brady [Mon, 13 May 2024 11:52:47 +0000 (12:52 +0100)] 
Merge pull request #1846 from orangepizza/mbedtls3fix

Add support for mbedtls3. Many thanks!

14 months agombedtls: add support to mbedtls3 1846/head
Seo Suchan [Thu, 9 May 2024 10:10:59 +0000 (19:10 +0900)] 
mbedtls: add support to mbedtls3

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
15 months agoUpdate BUILD.md
Mike Brady [Mon, 6 May 2024 17:29:20 +0000 (18:29 +0100)] 
Update BUILD.md

15 months agoUpdate BUILD.md
Mike Brady [Mon, 6 May 2024 15:49:35 +0000 (16:49 +0100)] 
Update BUILD.md

15 months agofix inversion of number and size arguments in a calloc
= [Fri, 26 Apr 2024 10:20:03 +0000 (11:20 +0100)] 
fix inversion of number and size arguments in a calloc

15 months agoUpdate check_classic_mac_basic.yml
Mike Brady [Fri, 26 Apr 2024 08:58:22 +0000 (09:58 +0100)] 
Update check_classic_mac_basic.yml

No need to explicitly install openssl -- it's already there.

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 25 Apr 2024 14:25:38 +0000 (15:25 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate check_classic_mac_basic.yml
Mike Brady [Thu, 25 Apr 2024 14:13:17 +0000 (15:13 +0100)] 
Update check_classic_mac_basic.yml

back to macOS-13

15 months agoSimplify basic macOS check build.
Mike Brady [Thu, 25 Apr 2024 14:10:47 +0000 (15:10 +0100)] 
Simplify basic macOS check build.

15 months agoAdd some extra CFLAG settings to configure.ac for libconfig libpopt and openssl/libcr...
Mike Brady [Thu, 25 Apr 2024 14:08:50 +0000 (15:08 +0100)] 
Add some extra CFLAG settings to configure.ac for libconfig libpopt and openssl/libcrypto to enable compilation on macOS without extra flag settings.

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 25 Apr 2024 10:15:55 +0000 (11:15 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 25 Apr 2024 10:15:39 +0000 (11:15 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate check_classic_mac_basic.yml
Mike Brady [Thu, 25 Apr 2024 10:05:13 +0000 (11:05 +0100)] 
Update check_classic_mac_basic.yml

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 25 Apr 2024 10:00:45 +0000 (11:00 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Thu, 25 Apr 2024 09:59:24 +0000 (10:59 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUse PKG_CHECK_MODULES to find the ao lib if possible.
Mike Brady [Thu, 25 Apr 2024 09:27:26 +0000 (10:27 +0100)] 
Use PKG_CHECK_MODULES to find the ao lib if possible.

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Wed, 24 Apr 2024 15:33:03 +0000 (16:33 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate check_classic_mac_basic.yml
Mike Brady [Wed, 24 Apr 2024 09:50:29 +0000 (10:50 +0100)] 
Update check_classic_mac_basic.yml

15 months agoUpdate check_classic_mac_basic.yml
Mike Brady [Wed, 24 Apr 2024 09:48:02 +0000 (10:48 +0100)] 
Update check_classic_mac_basic.yml

Move to Node.20 version of actions/checkout

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Wed, 24 Apr 2024 09:37:32 +0000 (10:37 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoRemove some almost-never-used and therefore untested code, and remove a potentially...
Mike Brady [Wed, 24 Apr 2024 09:31:10 +0000 (10:31 +0100)] 
Remove some almost-never-used and therefore untested code, and remove a potentially misleading comment from the ALSA backend.

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sun, 7 Apr 2024 08:05:51 +0000 (09:05 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sun, 7 Apr 2024 08:04:57 +0000 (09:04 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sun, 7 Apr 2024 08:03:35 +0000 (09:03 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

15 months agoMerge pull request #1838 from 1ockwood/mqtt-documentation-updates
Mike Brady [Sun, 7 Apr 2024 07:54:13 +0000 (08:54 +0100)] 
Merge pull request #1838 from 1ockwood/mqtt-documentation-updates

Update MQTT.md. Thanks!

15 months agoUpdate MQTT Home Assistant example, plus some other MQTT documentation tweaks. 1838/head
Craig Lockwood [Sat, 6 Apr 2024 20:25:00 +0000 (16:25 -0400)] 
Update MQTT Home Assistant example, plus some other MQTT documentation tweaks.

16 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 1 Apr 2024 12:21:59 +0000 (13:21 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

16 months agoMerge pull request #1831 from kuzhylol/master
Mike Brady [Mon, 1 Apr 2024 12:02:20 +0000 (13:02 +0100)] 
Merge pull request #1831 from kuzhylol/master

This patch introduces modification to AirPlay attributes allowing AirPlay clients seeing only appropriate Endpoints of specific version of AirPlay protocol.

[Test]
Run two instances of shairport-sync - built for version 1 and for version 2.

TuneBlade recognizes only AirPlay version 1 instance running.
MacOS/iOS recognizes only AirPlay version 2 instance running.

Without that patch, both MacOS/iOS detect two endpoints at the same time. The TuneBlade detects only AirPlay version 1 since it doesn't support AirPlay version 2.

16 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 1 Apr 2024 10:20:19 +0000 (11:20 +0100)] 
Update RELEASENOTES-DEVELOPMENT.md

16 months agoMerge pull request #1813 from rmounce/fix-ptp-net-iface
Mike Brady [Mon, 1 Apr 2024 09:38:58 +0000 (10:38 +0100)] 
Merge pull request #1813 from rmounce/fix-ptp-net-iface

Limit PTP addresses to configured network interface.

16 months agoAdd version-based visibility of shairport-sync endpoints 1831/head
Oleh Kuzhylnyi [Sun, 24 Mar 2024 16:05:40 +0000 (13:05 -0300)] 
Add version-based visibility of shairport-sync endpoints

This patch introduces modification to AirPlay attributes allowing AirPlay clients
seeing only appropriate Endpoints of specific version of AirPlay protocol.

[Test]
Run two instances of shairport-sync - built for version 1 and for version 2.

TuneBlade recognizes only AirPlay version 1 instance running.
MacOS/iOS recognizes only AirPlay version 2 instance running.

Without that patch, both MacOS/iOS detect two endpoints at the same time.
The TuneBlade detects only AirPlay version 1 since it doesn't support AirPlay version 2.

16 months agoLook for DACP-ID and Active-Remote in the GET /info request, where it sometimes appea...
Mike Brady [Mon, 25 Mar 2024 20:28:11 +0000 (20:28 +0000)] 
Look for DACP-ID and Active-Remote in the GET /info request, where it sometimes appears from AirPlay from an intel Mac.

16 months agoMerge pull request #1820 from hvilleneuve29/development_yocto
Mike Brady [Fri, 8 Mar 2024 09:32:39 +0000 (09:32 +0000)] 
Merge pull request #1820 from hvilleneuve29/development_yocto

Add configure option to enable/disable creation of user/group

16 months agoMerge pull request #1812 from HNKNTA/master
Mike Brady [Fri, 8 Mar 2024 09:19:30 +0000 (09:19 +0000)] 
Merge pull request #1812 from HNKNTA/master

Update docker compose file

16 months agoMerge pull request #1821 from porg/patch-2
Mike Brady [Thu, 7 Mar 2024 09:55:10 +0000 (09:55 +0000)] 
Merge pull request #1821 from porg/patch-2

Update AIRPLAY2.md - Version introduced + Supported devices

16 months agoUpdate AIRPLAY2.md - Version introduced + Supported devices 1821/head
porg [Thu, 7 Mar 2024 09:31:27 +0000 (10:31 +0100)] 
Update AIRPLAY2.md - Version introduced + Supported devices

The introduction paragraph now more clearly mentions the hard facts/requirements with "as of v4.1 and newer" and the supported devices are displayed in bullet list format for better readabilty.

16 months agoAdd configure option to enable/disable creation of user/group 1820/head
Hugo Villeneuve [Thu, 7 Mar 2024 04:37:37 +0000 (23:37 -0500)] 
Add configure option to enable/disable creation of user/group

Useful for Yocto, for example, where groupadd or getenv is not available.

Enabled by default, to keep same behavior as before.

17 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Mon, 4 Mar 2024 11:18:39 +0000 (11:18 +0000)] 
Update RELEASENOTES-DEVELOPMENT.md

17 months agoBuild scripts/shairport-sync.service, scripts/shairport-sync.service-avahi and script...
Mike Brady [Mon, 4 Mar 2024 11:13:56 +0000 (11:13 +0000)] 
Build scripts/shairport-sync.service, scripts/shairport-sync.service-avahi and scripts/shairport-sync unconditionally for Linux to facilitate different installation methods.

17 months agoLimit PTP addresses to configured network interface 1813/head
Ryan Mounce [Tue, 27 Feb 2024 11:28:06 +0000 (21:58 +1030)] 
Limit PTP addresses to configured network interface

Otherwise every address on the system is advertised and AirPlay 2
sources will send PTP announce + signalling messages to all of them in
parallel.

17 months agoUpdate docker compose file 1812/head
HNKNTA [Mon, 26 Feb 2024 18:29:15 +0000 (20:29 +0200)] 
Update docker compose file

Added S6_KEEP_ENV to example, without it pulse connection won't happen

17 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Sun, 25 Feb 2024 17:38:37 +0000 (17:38 +0000)] 
Update RELEASENOTES-DEVELOPMENT.md

17 months agoMerge pull request #1811 from klemensn/keep-password-private
Mike Brady [Sun, 25 Feb 2024 17:24:43 +0000 (17:24 +0000)] 
Merge pull request #1811 from klemensn/keep-password-private

Omit password in debug (syslog) output

17 months agoMerge pull request #1810 from klemensn/printf-null-string
Mike Brady [Sun, 25 Feb 2024 17:23:59 +0000 (17:23 +0000)] 
Merge pull request #1810 from klemensn/printf-null-string

Avoid passing NULL pointer to printf(3) %s

17 months agoMerge pull request #1803 from klemensn/initial-pledge
Mike Brady [Sun, 25 Feb 2024 17:14:29 +0000 (17:14 +0000)] 
Merge pull request #1803 from klemensn/initial-pledge

initial pledge(2) on OpenBSD

17 months agoOmit password in debug (syslog) output 1811/head
Klemens Nanni [Sat, 24 Feb 2024 13:41:02 +0000 (14:41 +0100)] 
Omit password in debug (syslog) output

Configuration files may contain it, but those can be protected with
filesystem permissions.

Debug log, however, may end up in syslog(3) which is usually accessible
by all users on a system.

Avoid disclosing user secrets by simply not printing the password.

17 months agoAvoid passing NULL pointer to printf(3) %s 1810/head
Klemens Nanni [Sat, 24 Feb 2024 13:12:25 +0000 (14:12 +0100)] 
Avoid passing NULL pointer to printf(3) %s

OpenBSD issues syslog(3) warnings about these as they may hint at bugs:
shairport-sync: vfprintf %s NULL in "metadata socket address is "%s" port %d."

Metadata listener socket is empty by default so use the existing `strnull`.

17 months agoinitial pledge(2) on OpenBSD 1803/head
Klemens Nanni [Mon, 12 Feb 2024 11:23:46 +0000 (12:23 +0100)] 
initial pledge(2) on OpenBSD

Limit the set of system calls shairport-sync is allowed to make,
most importantly fork(2)/execve(2) if and only if user defined commands
are run.

OpenBSD's official audio/shairport-sync port already ships with this
patch.

https://man.openbsd.org/pledge.2

17 months agoMerge pull request #1800 from klemensn/rtsp-listener-exit-segfault
Mike Brady [Tue, 6 Feb 2024 10:04:33 +0000 (10:04 +0000)] 
Merge pull request #1800 from klemensn/rtsp-listener-exit-segfault

Fix crash on double pthread_cancel(3) on exit (detected on OpenBSD).

18 months agoFix crash on double pthread_cancel(3) on exit 1800/head
Klemens Nanni [Wed, 31 Jan 2024 04:01:55 +0000 (05:01 +0100)] 
Fix crash on double pthread_cancel(3) on exit

On OpenBSD 7.4-current, failure to listen on the RTSP socket(s) results
the `rtsp_listener_thread` being pthread_cancel(3)'ed twice, once through
`rtsp_listen_loop()` and again via atexit(3) handler `exit_rtsp_listener()`:

```
$ nc -4l 5000 &
$ nc -6l 5000 &
$ shairport-sync -c/dev/null
warning: could not establish a service on port 5000 -- program terminating. Is another instance of Shairport Sync running on this device?
Segmentation fault (core dumped)
```
```
Program terminated with signal SIGSEGV, Segmentation fault.
433             if (tib->tib_canceled == 0 && tid != 0 &&
[Current thread is 1 (process 290061)]
```

`die()` -> `exit(EXIT_FAILURE)` normally in this case, thus forgoing the
first cancel and relying on the atexit handler alone.

With Mike Brady.

18 months agoUpdate RELEASENOTES-DEVELOPMENT.md
Mike Brady [Tue, 30 Jan 2024 16:17:06 +0000 (16:17 +0000)] 
Update RELEASENOTES-DEVELOPMENT.md

18 months agoMerge pull request #1797 from klemensn/openbsd-doc-nits
Mike Brady [Tue, 30 Jan 2024 15:56:00 +0000 (15:56 +0000)] 
Merge pull request #1797 from klemensn/openbsd-doc-nits

OpenBSD doc nits

18 months agoMerge pull request #1798 from klemensn/config-perm-segfault
Mike Brady [Tue, 30 Jan 2024 14:05:48 +0000 (14:05 +0000)] 
Merge pull request #1798 from klemensn/config-perm-segfault

Exit on config read error to avoid crash on EACCES

18 months agoExit on config read error to avoid crash on EACCES 1798/head
Klemens Nanni [Tue, 30 Jan 2024 02:43:44 +0000 (03:43 +0100)] 
Exit on config read error to avoid crash on EACCES

Failure to read does not exit despite
`    /* Read the file. If there is an error, report it and exit. */`

EACCES (e.g. insufficient filesystem permissions) is enough to crash
on access through later `config_*()` such as those when either of
either of D-Bus, MPRIS or MQTT is used.

Seen `--with-mpris-interface` and
```
$ ls -l /etc/shairport-sync.conf
-rw-r-----  1 root  _shairport  28114 Jan 25 01:53 /etc/shairport-sync.conf
$ shairport-sync
Segmentation fault (core dumped)
```