Mike Brady
c454867a04
Merge branch 'development'
2026-06-22 11:54:59 +01:00
Mike Brady
8846e27cf0
Update copyright notice in the man source file.
2026-06-22 11:43:17 +01:00
Mike Brady and GitHub
77efa15d16
Merge pull request #2220 from mikebrady/dependabot/github_actions/development/actions/checkout-7.0.0 [skip ci]
...
Bump actions/checkout from 6.0.3 to 7.0.0
2026-06-22 11:34:06 +01:00
dependabot[bot] and GitHub
aadcb4370a
Bump actions/checkout from 6.0.3 to 7.0.0
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v6.0.3...v7.0.0 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-21 10:02:16 +00:00
Mike Brady and GitHub
486f0d7eb2
Update release notes with security bug fixes [skip ci]
...
Documented fixes for two security issues in pair_ap/pair-tlv.c and rtsp.c, including bounds checks and validation improvements. Acknowledged contributions from TristanInSec for reporting and fixing the issues.
2026-06-18 09:36:44 +01:00
Mike Brady and GitHub
3780b504a4
Merge pull request #2218 from TristanInSec/fix-tlv-dmap-oob-reads-v2
...
Fix Out-Of-Bounds reads and infinite loop in TLV and DMAP parsers.
2026-06-18 09:27:43 +01:00
TristanInSec
476677b0f0
Fix OOB reads and infinite loop in TLV and DMAP parsers
...
pair_ap/pair-tlv.c (pair_tlv_parse):
- Add bounds check before reading type and length bytes (i + 2 > length)
- Fix off-by-one in chunked TLV scan loop (j + 1 < length)
- Add bounds checks inside data copy loop to prevent OOB memcpy
- Add else branch to advance index when size == 0 (prevents infinite loop)
rtsp.c (handle_set_parameter_metadata):
- Require 8 bytes remaining for tag + length fields (off + 8 <= cl)
- Validate value length against remaining buffer before read
Reported-by: Tristan Madani <tristan@talencesecurity.com >
Signed-off-by: Tristan Madani <tristan@talencesecurity.com >
2026-06-16 10:33:18 -04:00
Mike Brady and GitHub
b4751a09ef
Correct grammar in bug fix note for Classic operation [skip ci]
2026-06-14 15:28:12 +01:00
Mike Brady and GitHub
2ae38f797f
Update release notes with new bug fix details [skip ci]
...
Added a new bug fix related to immediate flush and PTP clock anchor reset.
2026-06-14 15:27:29 +01:00
Mike Brady
0e6ca7b7b2
When an immediate flush is requested, reset the PTP clock anchor information immediately to disable clocking until play is resumed.
2026-06-14 15:21:11 +01:00
Mike Brady and GitHub
1e583f0a1e
Merge pull request #2212 from mikebrady/dependabot/github_actions/development/actions/checkout-6.0.3 [skip ci]
...
Bump actions/checkout from 6.0.2 to 6.0.3
2026-06-13 13:18:52 +01:00
Mike Brady and GitHub
b90af5ddeb
Merge pull request #2209 from mikebrady/dependabot/github_actions/development/docker/setup-qemu-action-4.1.0 [skip ci]
...
Bump docker/setup-qemu-action from 4.0.0 to 4.1.0
2026-06-13 13:17:50 +01:00
Mike Brady and GitHub
e7965bf3fa
Merge pull request #2207 from mikebrady/dependabot/github_actions/development/docker/setup-buildx-action-4.1.0 [skip ci]
...
Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
2026-06-13 13:17:17 +01:00
dependabot[bot] and GitHub
4fa4c861b4
Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/v4.0.0...v4.1.0 )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-version: 4.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-13 08:57:47 +00:00
Mike Brady and GitHub
082f0f1db6
Merge pull request #2206 from mikebrady/dependabot/github_actions/development/actions/stale-10.3.0 [skip ci]
...
Bump actions/stale from 10.2.0 to 10.3.0
2026-06-13 09:57:16 +01:00
Mike Brady and GitHub
246d29d323
Merge pull request #2205 from mikebrady/dependabot/github_actions/development/docker/build-push-action-7.2.0 [skip ci]
...
Bump docker/build-push-action from 7.1.0 to 7.2.0
2026-06-13 09:56:52 +01:00
Mike Brady and GitHub
25ab1efb54
Merge pull request #2204 from mikebrady/dependabot/github_actions/development/docker/login-action-4.2.0
...
Bump docker/login-action from 4.1.0 to 4.2.0 [skip ci]
2026-06-13 09:55:51 +01:00
dependabot[bot] and GitHub
026d99884f
Bump actions/checkout from 6.0.2 to 6.0.3
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v6.0.2...v6.0.3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-07 10:02:24 +00:00
Mike Brady and GitHub
39da3d3cf2
Update AirPlay 2 service options in release notes [skip ci]
...
Enhanced AirPlay 2 build options and improved input format change delivery.
2026-06-03 14:55:28 +01:00
Mike Brady and GitHub
7b63cd1a14
Small wording changes [skip ci]
2026-06-03 14:52:34 +01:00
Mike Brady and GitHub
b010314590
Small wording update [skip ci]
...
Clarified the description of the AirPlay 2 build enhancements, including command-line options and service types.
2026-06-03 14:47:42 +01:00
Mike Brady and GitHub
2c964e2f55
Update release notes for version 5.1-dev-17 [skip ci]
...
Added details about locale fixes in test clients for handling non-ASCII characters.
2026-06-03 14:46:49 +01:00
Mike Brady
9b16ff929e
set locales in the test clients so that they can deal with non-ASCII characters, e.g. accented characters, properly.[skip ci]
2026-06-03 14:42:36 +01:00
dependabot[bot] and GitHub
63cf237472
Bump docker/setup-qemu-action from 4.0.0 to 4.1.0
...
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action ) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases )
- [Commits](https://github.com/docker/setup-qemu-action/compare/v4.0.0...v4.1.0 )
---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
dependency-version: 4.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-31 10:02:31 +00:00
Mike Brady and GitHub
1cbbeec584
Update release notes for version 5.1-dev-15 [skip ci]
...
Added bug fixes for race condition and compilation issue.
2026-05-30 23:24:13 +01:00
Mike Brady
2d89d2bff2
Fix a compilation bug in Classic build.
2026-05-30 23:21:55 +01:00
Mike Brady
191f06e7f7
Fix temporary patch.
2026-05-30 23:01:35 +01:00
Mike Brady
3e46eec634
In TEARDOWN, if it has a plist with a streams item in it, jist clost the player thread. If the plist exists but is empty, close the connection.
2026-05-30 22:58:36 +01:00
Mike Brady
d6093b74b7
Enhance a debug message.
2026-05-30 22:55:03 +01:00
Mike Brady
d9d3be5db5
Record unavailable even socket as -1.
2026-05-30 22:42:55 +01:00
Mike Brady
e6c39aaefa
Check for valid time information more completely.
2026-05-30 22:41:57 +01:00
Mike Brady
6003f8f978
Handle input_rate of 0 more correctly.
2026-05-30 22:40:52 +01:00
Mike Brady
090b609fe8
Undo a change that exposes a race condition. The race condition needs to be fixed first!
2026-05-30 16:59:23 +01:00
Mike Brady and GitHub
b3c9e76023
Enhance AirPlay 2 service options in release notes [skip ci]
...
Updated the AirPlay 2 service options and clarified systemd service dependencies in the release notes.
2026-05-29 17:20:34 +01:00
Mike Brady
e472cee76c
After a teardown, ask the RTSP thread to terminate... and thus close everything down.
2026-05-29 17:13:17 +01:00
Mike Brady and GitHub
f2ee95a3b7
Update user service script to check for non-root use and for PipeWire or PulseAudio services/ [skip ci]
2026-05-25 17:35:16 +01:00
dependabot[bot] and GitHub
4c2babce2f
Bump actions/stale from 10.2.0 to 10.3.0
...
Bumps [actions/stale](https://github.com/actions/stale ) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v10.2.0...v10.3.0 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: 10.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-24 10:02:46 +00:00
dependabot[bot] and GitHub
c59b8dd893
Bump docker/build-push-action from 7.1.0 to 7.2.0
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v7.1.0...v7.2.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 7.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-24 10:02:41 +00:00
dependabot[bot] and GitHub
ea2cc373d4
Bump docker/login-action from 4.1.0 to 4.2.0
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/v4.1.0...v4.2.0 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-24 10:02:37 +00:00
Mike Brady
e081e4a511
Fix compilation error when using older FFmpeg libraries. [skip ci]
2026-05-18 20:32:11 +01:00
Mike Brady
70245ad343
Another small update to the man page. [skip ci]
2026-05-18 14:35:30 +01:00
Mike Brady
b7d23f622d
Slight update of man page. [skip ci]
2026-05-18 14:29:35 +01:00
Mike Brady and GitHub
cb7c1a0894
Update release notes for version 5.1-dev [skip ci]
...
Added enhancements for AirPlay 2 service options, Docker changes, and stability improvements.
2026-05-18 11:02:37 +01:00
Mike Brady
efd93c5a54
5.1-dev
2026-05-18 10:29:08 +01:00
Mike Brady
157fe94d7d
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
...
include an online commit.
2026-05-18 10:26:18 +01:00
Mike Brady
f30dd7aee6
Enhancements
...
Enable the AirPlay 2 build to operate an optional classic-AirPlay-only service or to gracefully degrade to classic AirPlay, as follows:
1. Add a new command-line option '-—service-type=<type>' and an equivalent configuration entry 'service_type = "<type>"' in the 'general' section of the configuration file,
where <type> can be "auto", "classic" or "airplay2":
1. "auto" (default) means that the service will be AirPlay 2 if NQPTP is running. If NQPTP is not running, classic AirPlay service will be provided instead, and in that case,
"(Classic)" will be appended to the default AirPlay service name visible to AirPlay clients like Apple Music, for example "RaspberryPi3B (Classic)".
2. "classic" means the service will be classic AirPlay (aka AirPlay 1).
3. "airplay2" means the service will be the modern AirPlay 2. In this case, as distinct from "auto", if NQPTP is not running, Shairport Sync will log an error and terminate.
2. In the systemd service file, NQPTP is now a "Want" rather than a "Require". If it's present, then it will be launched before Shairport Sync. If it's absent, Shairport Sync will launch anyway.
3. Improve the delivery of input format changes and emit 'sdsc' metadata when changes occur.
4. Emit new format information in the log if statistics is enabled.
Docker Changes
1. Support for linux/arm/v6 has been dropped, as Docker is no longer supported.
2. NQPTP is not started in the AirPlay 2 Docker image if '--service-type=classic' or '--service-type=airplay1' is in the command line options at the end of the docker run command.
The purpose is to ensure that ports 319 and 320 are left alone when the AirPlay 2 image is set to provide Classic service only.
Note that setting the configuration file 'service_type' to 'classic' will not prevent NQPTP from starting up -- you must use the command line option.
3. A new "dev" target has been added. It is a large image containing the custom-built FFmpeg library, NQPTP, Avahi and D-Bus along with the Shairport Sync source and
all necessary development tools. When started, Avahi, D-Bus and NQPTP are all installed and running. The bash shell has also been added and is entered.
Stability Improvements
Reorganise session preemption to fully terminate the existing session before starting a new one.
Don't delay closing the event port to wait for it to be closed at the client end.
Add a safe_socket_close() function to ensure sockets are fully closed. Use -1 to designate closed rather than 0, to prevent attempts to reclose sockets, causing mayhem.
Re-order FFmpeg decommissioning during teardown.
2026-05-18 09:57:12 +01:00
Mike Brady and GitHub
0965077c0e
Update PulseAudio and PipeWire documentation [skip ci]
...
Removed redundant information about user services and automatic startup of Shairport Sync. Added a link to the relevant section for starting Shairport Sync as a user service.
2026-05-13 15:12:28 +01:00
Mike Brady and GitHub
0bd9271ea9
Update MQTT and remote control features in README [skip ci]
2026-05-10 09:02:07 +01:00
Mike Brady and GitHub
f0d40ee2a8
Clarify MPRIS and D-Bus interface descriptions [skip ci]
...
Updated descriptions for MPRIS and D-Bus interfaces to clarify functionality.
2026-05-10 08:53:12 +01:00
Mike Brady and GitHub
48559c45df
Clarify D-Bus interface usage in Shairport Sync [skip ci]
...
Reorganize content for clarity regarding the D-Bus interface.
2026-05-10 08:25:44 +01:00