]> git.ipfire.org Git - thirdparty/shairport-sync.git/log
thirdparty/shairport-sync.git
7 years agotinysvcmdns: fix CVE-2017-12087 620/head
Chris Boot [Thu, 23 Nov 2017 14:27:27 +0000 (14:27 +0000)] 
tinysvcmdns: fix CVE-2017-12087

This patch incorporates upstream's fixes for a remotely exploitable
buffer overflow bug in the bundled tinysvcmdns library. The following
upstream commits are included:

https://bitbucket.org/geekman/tinysvcmdns/commits/48c73fbb36b7a5584b00538d89c89dd8b15ab2a7
https://bitbucket.org/geekman/tinysvcmdns/commits/29ea1b9fca94dc42d16109e050d2967231b1e341

The changes have been incorporated preserving local changes such as the
check for malloc() returning NULL.

Reported against shairport-sync in Ubuntu Launchpad:
https://bugs.launchpad.net/ubuntu/+source/shairport-sync/+bug/1729668

This commit closes GitHub issue #619.

7 years agoUpdate RELEASENOTES.md
Mike Brady [Mon, 20 Nov 2017 19:15:01 +0000 (19:15 +0000)] 
Update RELEASENOTES.md

7 years agoAdd previous and next controls
Mike Brady [Mon, 20 Nov 2017 13:16:17 +0000 (13:16 +0000)] 
Add previous and next controls

7 years agoSend playing status as soon as the first packet is received
Mike Brady [Mon, 20 Nov 2017 11:45:49 +0000 (11:45 +0000)] 
Send playing status as soon as the first packet is received

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sun, 19 Nov 2017 21:47:32 +0000 (21:47 +0000)] 
Update RELEASENOTES.md

7 years agoClang-format
Mike Brady [Sun, 19 Nov 2017 21:41:11 +0000 (21:41 +0000)] 
Clang-format

7 years agoHandle play / pause / play-pause / stop but primitively
Mike Brady [Sun, 19 Nov 2017 21:40:09 +0000 (21:40 +0000)] 
Handle play / pause / play-pause / stop but primitively

7 years agoClean up naming of some files, get the 'stop' command working
Mike Brady [Sun, 19 Nov 2017 21:16:36 +0000 (21:16 +0000)] 
Clean up naming of some files, get the 'stop' command working

7 years agoReorganise D-BUS interface code and introduce an MPRIS interface.
Mike Brady [Sun, 19 Nov 2017 16:14:53 +0000 (16:14 +0000)] 
Reorganise D-BUS interface code and introduce an MPRIS interface.

7 years agoReorganise D-BUS interface code and introduce an MPRIS interface.
Mike Brady [Sun, 19 Nov 2017 16:08:39 +0000 (16:08 +0000)] 
Reorganise D-BUS interface code and introduce an MPRIS interface.

7 years agoIt turns out you don't need to add an interface file or a service file for a dbus...
Mike Brady [Sun, 12 Nov 2017 22:32:02 +0000 (22:32 +0000)] 
It turns out you don't need to add an interface file or a service file for a dbus app that doesn't need to be autostarted, or something.

7 years agoForgot documentation updates, again!
Mike Brady [Sun, 12 Nov 2017 15:54:08 +0000 (16:54 +0100)] 
Forgot documentation updates, again!
Merge branch 'development' of github.com:mikebrady/shairport-sync into development

7 years agoFix a variable substitution. Might be problematic for BSD
Mike Brady [Sun, 12 Nov 2017 15:53:55 +0000 (16:53 +0100)] 
Fix a variable substitution. Might be problematic for BSD

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sun, 12 Nov 2017 14:54:19 +0000 (14:54 +0000)] 
Update RELEASENOTES.md

7 years agodbus-related files taken from directories and renamed
Mike Brady [Sun, 12 Nov 2017 14:45:29 +0000 (15:45 +0100)] 
dbus-related files taken from directories and renamed

7 years agoChange the names of some of the files.
Mike Brady [Sun, 12 Nov 2017 13:49:53 +0000 (14:49 +0100)] 
Change the names of some of the files.

7 years agoMerge branch 'development' of github.com:mikebrady/shairport-sync into development
Mike Brady [Sun, 12 Nov 2017 13:28:02 +0000 (14:28 +0100)] 
Merge branch 'development' of github.com:mikebrady/shairport-sync into development

Forgot the typo fix.

7 years agoImprove dbus and add some dacp services
Mike Brady [Sun, 12 Nov 2017 13:26:10 +0000 (14:26 +0100)] 
Improve dbus and add some dacp services

7 years agoclang-format only
Mike Brady [Sun, 12 Nov 2017 13:25:09 +0000 (14:25 +0100)] 
clang-format only

7 years agoMerge pull request #614 from corbinsantin/development
Mike Brady [Thu, 9 Nov 2017 09:19:59 +0000 (09:19 +0000)] 
Merge pull request #614 from corbinsantin/development

Fix typo in README.md

7 years agoUpdate README.md 614/head
Corbin Santin [Thu, 9 Nov 2017 08:15:36 +0000 (00:15 -0800)] 
Update README.md

small typo

7 years agoClean up rtp_send_client_command a little
Mike Brady [Mon, 6 Nov 2017 09:05:22 +0000 (09:05 +0000)] 
Clean up rtp_send_client_command a little

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sat, 4 Nov 2017 12:02:39 +0000 (12:02 +0000)] 
Update RELEASENOTES.md

7 years agoMerge pull request #612 from belboj/signal-race
Mike Brady [Sat, 4 Nov 2017 11:43:35 +0000 (11:43 +0000)] 
Merge pull request #612 from belboj/signal-race

Fixed race condition when stopping other threads with SIGUSR1

7 years agoFixed race condition when stopping other threads with SIGUSR1 612/head
Belbo [Tue, 15 Aug 2017 20:00:57 +0000 (22:00 +0200)] 
Fixed race condition when stopping other threads with SIGUSR1

Many threads have a main loop that checks some exit variable in the loop condition. To stop a thread, another thread sets that exit variable, sends a SIGUSR1 to that thread to get it out of blocking calls like read(), write() or select(), and finally joins it.

There was a race condition though: if the signal arrived after the loop condition was checked but before the blocking system function was entered, the target thread essentially ignored the signal, made the blocking call anyway, and could get stuck forever there.

The only way around this race condition is to block SIGUSR1 in the destination thread during the critical time interval. This requires that the blocking system call and the call to unblock SIGUSR1 be an atomic unit. There is only one system call that makes this possible: pselect(), which takes a signal mask to replace the current signal mask with, but only while pselect() runs. Other functions like read(), recv(), write() and sendto() may only be called if we can be sure that they don't block. For this purpose, the file descriptors must be set to non-blocking mode and we must prepend the call to them with a call to pselect() to block until the socket becomes readable/writable.

7 years agoUpdate RELEASENOTES.md
Mike Brady [Wed, 1 Nov 2017 15:56:59 +0000 (15:56 +0000)] 
Update RELEASENOTES.md

7 years agoMerge pull request #611 from belboj/some-fixes
Mike Brady [Wed, 1 Nov 2017 15:49:37 +0000 (15:49 +0000)] 
Merge pull request #611 from belboj/some-fixes

Some issues found during the development of a DLNA backend.

Many thanks for these.

7 years agoFixed loop condition in non_blocking_write() 611/head
Belbo [Tue, 15 Aug 2017 19:51:47 +0000 (21:51 +0200)] 
Fixed loop condition in non_blocking_write()

The while loop should be repeated, if the last write attempt was a partial write only. In this case, however, rc is greater than 0 (should be 1), not equal to 0.

7 years agoFixed EINTR handling in rtsp_read_request()
Belbo [Tue, 15 Aug 2017 19:48:13 +0000 (21:48 +0200)] 
Fixed EINTR handling in rtsp_read_request()

EINTR is an error code written to errno, not returned by read().

7 years agoFixed dangling pointer to random state array
Belbo [Mon, 7 Aug 2017 21:49:19 +0000 (23:49 +0200)] 
Fixed dangling pointer to random state array

The C library function initstate(), at least in macOS El Capitan, not only sets the state array given to it as the second argument, but also accesses the state array given to it in a previous call! (I don't know why, or if that behaviour is correct, but macOS seems to do that anyhow).
Therefore, we cannot pass a local variable to it. As soon as the player thread stops, it will be a dangling pointer, and when a new player thread is started afterwards, initstate() will dereference that dangling pointer with unforeseeable consequences.

7 years agohandle_announce() waits for playing_conn to stop if it's already shutting down
Belbo [Mon, 7 Aug 2017 21:42:51 +0000 (23:42 +0200)] 
handle_announce() waits for playing_conn to stop if it's already shutting down

- If playing_conn is already stopping, handle_announce() waits one second for it to stop. This gives the current RTSP connection a better chance to get the player, if it has been started very quickly after the previous RTSP connection had decided to stop. iTunes can sometimes be very quick in starting a new RTSP connection after tearing down the previous one, but shairport_sync unfortunately needs at least 100ms to shut down the old connection.
- cleanup_threads() sets playing_conn to NULL if it points to the removed thread, otherwise playing_conn would be a dangling pointer, which is bad, because handle_announce() dereferences it unless it is NULL.

7 years agoPrevent buffer overflow in log functions
Belbo [Sun, 16 Jul 2017 16:31:24 +0000 (18:31 +0200)] 
Prevent buffer overflow in log functions

die(), warn(), debug() and inform() write the string into a limited internal buffer first. They now use vsnprintf() instead of vsprintf() to prevent an overflow of that buffer.

7 years agoUpdate RELEASENOTES.md
Mike Brady [Mon, 30 Oct 2017 09:49:20 +0000 (09:49 +0000)] 
Update RELEASENOTES.md

7 years agoDon't disable PulseAudio autospawn
Mike Brady [Mon, 30 Oct 2017 09:45:38 +0000 (10:45 +0100)] 
Don't disable PulseAudio autospawn

7 years agoAdd an exit diagnostic, clean up a dbus flag
Mike Brady [Mon, 30 Oct 2017 09:37:34 +0000 (10:37 +0100)] 
Add an exit diagnostic, clean up a dbus flag

7 years agoAddress a warning about a buffer being too short.
Mike Brady [Wed, 25 Oct 2017 18:31:10 +0000 (19:31 +0100)] 
Address a warning about a buffer being too short.

7 years agoCorrect a few warnings that show upo in Clang but not in GCC
Mike Brady [Tue, 24 Oct 2017 09:30:20 +0000 (10:30 +0100)] 
Correct a few warnings that show upo in Clang but not in GCC

7 years agoCorrect a Makefile bug that was silent in Linux but caused problems in FreeBSD
Mike Brady [Tue, 24 Oct 2017 09:29:43 +0000 (10:29 +0100)] 
Correct a Makefile bug that was silent in Linux but caused problems in FreeBSD

7 years agoUpdate RELEASENOTES.md 3.2d10
Mike Brady [Sun, 22 Oct 2017 09:23:48 +0000 (10:23 +0100)] 
Update RELEASENOTES.md

7 years agoAdjust the debug level of buffers exhausted and network condition messages.
Mike Brady [Sun, 22 Oct 2017 09:20:21 +0000 (11:20 +0200)] 
Adjust the debug level of buffers exhausted and network condition messages.

7 years agoOops -- a little typo.
Mike Brady [Sun, 15 Oct 2017 13:38:52 +0000 (14:38 +0100)] 
Oops -- a little typo.

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sun, 15 Oct 2017 13:29:33 +0000 (14:29 +0100)] 
Update RELEASENOTES.md

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sun, 15 Oct 2017 13:29:04 +0000 (14:29 +0100)] 
Update RELEASENOTES.md

7 years agoMerge branch 'development' of https://github.com/mikebrady/shairport-sync into develo...
Mike Brady [Sun, 15 Oct 2017 13:24:14 +0000 (14:24 +0100)] 
Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development

Oops.

7 years agoAdd the 'dapo' metadata message, giving the DACP port number when found
Mike Brady [Sun, 15 Oct 2017 13:23:09 +0000 (14:23 +0100)] 
Add the 'dapo' metadata message, giving the DACP port number when found

7 years agoGeneralise volumeup to any command.
Mike Brady [Sun, 15 Oct 2017 12:08:21 +0000 (13:08 +0100)] 
Generalise volumeup to any command.

7 years agoUpdate RELEASENOTES.md
Mike Brady [Fri, 13 Oct 2017 21:24:06 +0000 (22:24 +0100)] 
Update RELEASENOTES.md

7 years agoMake the volumeup command work with IPv6 -- use the scope_id
Mike Brady [Fri, 13 Oct 2017 21:16:50 +0000 (22:16 +0100)] 
Make the volumeup command work with IPv6 -- use the scope_id

7 years agoHook up "volumeup" remote control command -- doesn't work on ipv6, it seems
Mike Brady [Mon, 9 Oct 2017 21:14:34 +0000 (22:14 +0100)] 
Hook up "volumeup" remote control command -- doesn't work on ipv6, it seems

7 years agoChecnk the order of the commands a little
Mike Brady [Mon, 9 Oct 2017 10:02:54 +0000 (11:02 +0100)] 
Checnk the order of the commands a little

7 years agoUse the DESTDIR variable to make packaging easier
Mike Brady [Mon, 9 Oct 2017 10:02:25 +0000 (11:02 +0100)] 
Use the DESTDIR variable to make packaging easier

7 years agoBump to indicate cleanup of configuration files and fixup of installation for dbus...
Mike Brady [Mon, 9 Oct 2017 09:47:17 +0000 (10:47 +0100)] 
Bump to indicate cleanup of configuration files and fixup of installation for dbus stuff.

7 years agoDon't need it any more.
Mike Brady [Mon, 9 Oct 2017 09:46:10 +0000 (10:46 +0100)] 
Don't need it any more.

7 years agoAdd in code to install the xml file in the local interfaces directory
Mike Brady [Mon, 9 Oct 2017 09:44:47 +0000 (10:44 +0100)] 
Add in code to install the xml file in the local interfaces directory

7 years agoStop using the DBUS_SERVICES_DIR stuff
Mike Brady [Mon, 9 Oct 2017 09:43:48 +0000 (10:43 +0100)] 
Stop using the DBUS_SERVICES_DIR stuff

7 years agoRemove the need for the AS_AC_EXPAND macro and remove the m4 subdirectory containing it
Mike Brady [Mon, 9 Oct 2017 09:40:12 +0000 (10:40 +0100)] 
Remove the need for the AS_AC_EXPAND macro and remove the m4 subdirectory containing it

7 years agoTighten up the ownership policy
Mike Brady [Mon, 9 Oct 2017 09:38:47 +0000 (10:38 +0100)] 
Tighten up the ownership policy

7 years agoTidy up configure.ac and drop old pulseaudio back end
Mike Brady [Mon, 9 Oct 2017 08:38:35 +0000 (09:38 +0100)] 
Tidy up configure.ac and drop old pulseaudio back end

7 years agoA little experimentation with dbus
Mike Brady [Sat, 7 Oct 2017 19:49:32 +0000 (20:49 +0100)] 
A little experimentation with dbus

7 years agoSome spring cleaning using clang-format
Mike Brady [Thu, 5 Oct 2017 16:48:24 +0000 (17:48 +0100)] 
Some spring cleaning using clang-format

7 years agoAdd avahi code to look for the rmeote control information for the client and get...
Mike Brady [Thu, 5 Oct 2017 16:40:51 +0000 (17:40 +0100)] 
Add avahi code to look for the rmeote control information for the client and get the port number from it.

7 years agoAdd avahi code to look for the rmeote control information for the client and get...
Mike Brady [Thu, 5 Oct 2017 16:39:32 +0000 (17:39 +0100)] 
Add avahi code to look for the rmeote control information for the client and get the port number from it.

7 years agoUpdate README.md
Mike Brady [Mon, 2 Oct 2017 10:22:04 +0000 (11:22 +0100)] 
Update README.md

7 years agoUpdate README.md
Mike Brady [Tue, 26 Sep 2017 15:14:50 +0000 (16:14 +0100)] 
Update README.md

7 years agoUpdate RELEASENOTES.md
Mike Brady [Tue, 26 Sep 2017 15:10:43 +0000 (16:10 +0100)] 
Update RELEASENOTES.md

7 years agoMerge pull request #594 from nbgl/dev-linear-volume
Mike Brady [Tue, 26 Sep 2017 15:03:07 +0000 (16:03 +0100)] 
Merge pull request #594 from nbgl/dev-linear-volume

Fix volume bug.

Many thanks for this. I think that in the past the program used to terminate in this case and I changed it to simply continuing and, inadvertently, to failing silently!

7 years agoMinor cleanup 594/head
Jakub Nabaglo [Tue, 26 Sep 2017 11:37:01 +0000 (21:37 +1000)] 
Minor cleanup

7 years agoAttempt to fix hardware volume bug on devices without a linear scale
Jakub Nabaglo [Tue, 26 Sep 2017 07:24:55 +0000 (17:24 +1000)] 
Attempt to fix hardware volume bug on devices without a linear scale

7 years ago3.2d8 3.2d8
Mike Brady [Mon, 25 Sep 2017 17:12:05 +0000 (18:12 +0100)] 
3.2d8

7 years agoTry to regenerate the PID directory if it doesn't exist
Mike Brady [Mon, 25 Sep 2017 17:10:07 +0000 (18:10 +0100)] 
Try to regenerate the PID directory if it doesn't exist

7 years agoTry to regenerate the PID directory if it doesn't exist
Mike Brady [Mon, 25 Sep 2017 17:09:29 +0000 (18:09 +0100)] 
Try to regenerate the PID directory if it doesn't exist

7 years agoMerge branch 'master' into piddircreate
Mike Brady [Mon, 25 Sep 2017 16:17:52 +0000 (17:17 +0100)] 
Merge branch 'master' into piddircreate

Add documentation updates.

7 years agoUpdate README.md
Mike Brady [Mon, 25 Sep 2017 16:10:46 +0000 (17:10 +0100)] 
Update README.md

7 years agoUpdate README.md
Mike Brady [Mon, 25 Sep 2017 16:10:41 +0000 (17:10 +0100)] 
Update README.md

7 years agoUpdate README.md
Mike Brady [Mon, 25 Sep 2017 16:09:04 +0000 (17:09 +0100)] 
Update README.md

7 years agoUpdate README.md
Mike Brady [Mon, 25 Sep 2017 16:08:57 +0000 (17:08 +0100)] 
Update README.md

7 years agoMake PID directory path creation recursive and tidy up some code formatting.
Mike Brady [Sun, 24 Sep 2017 14:52:26 +0000 (15:52 +0100)] 
Make PID directory path creation recursive and tidy up some code formatting.

7 years agoCreate the directory for the PID file, if necessary
Mike Brady [Sat, 23 Sep 2017 12:26:37 +0000 (05:26 -0700)] 
Create the directory for the PID file, if necessary

7 years agoCreate the directory for the PID file, if necessary
Mike Brady [Sat, 23 Sep 2017 12:25:48 +0000 (05:25 -0700)] 
Create the directory for the PID file, if necessary

7 years ago3.1.2
Mike Brady [Fri, 22 Sep 2017 09:11:45 +0000 (10:11 +0100)] 
3.1.2

Remove the "rc0" tag, duh.

7 years agoUpdate README.md
Mike Brady [Fri, 15 Sep 2017 23:28:42 +0000 (00:28 +0100)] 
Update README.md

7 years agoMerge pull request #587 from p3ck/development
Mike Brady [Thu, 14 Sep 2017 06:00:59 +0000 (07:00 +0100)] 
Merge pull request #587 from p3ck/development

Development

7 years agoUpdate spec file for new upstream release 587/head
Bill Peck [Wed, 13 Sep 2017 19:23:20 +0000 (15:23 -0400)] 
Update spec file for new upstream release

7 years agoMerge branch 'upstream-development' into development
Bill Peck [Wed, 13 Sep 2017 19:22:43 +0000 (15:22 -0400)] 
Merge branch 'upstream-development' into development

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sun, 10 Sep 2017 13:25:33 +0000 (14:25 +0100)] 
Update RELEASENOTES.md

7 years agoAdd a hint about where to find glib libraries
Mike Brady [Sun, 10 Sep 2017 13:14:32 +0000 (14:14 +0100)] 
Add a hint about where to find glib libraries

7 years agoAdd a few "get" examples.
Mike Brady [Sun, 10 Sep 2017 12:39:20 +0000 (13:39 +0100)] 
Add a few "get" examples.

7 years agotidying up a few little thing
Mike Brady [Sun, 10 Sep 2017 12:32:27 +0000 (13:32 +0100)] 
tidying up a few little thing

7 years agoAdd very very experimental and exploratory systembus dbus support -- subject to chang...
Mike Brady [Sun, 10 Sep 2017 12:20:32 +0000 (13:20 +0100)] 
Add very very experimental and exploratory systembus dbus support -- subject to change or removal

7 years agoAdd very very experimental and exploratory systembus dbus support -- subject to chang...
Mike Brady [Sun, 10 Sep 2017 12:19:56 +0000 (13:19 +0100)] 
Add very very experimental and exploratory systembus dbus support -- subject to change or removal

7 years ago3.1.2 becomes 3.2d6
Mike Brady [Sat, 9 Sep 2017 14:59:27 +0000 (15:59 +0100)] 
3.1.2 becomes 3.2d6

7 years ago3.1.2 becomes 3.2d6
Mike Brady [Sat, 9 Sep 2017 14:59:17 +0000 (15:59 +0100)] 
3.1.2 becomes 3.2d6

7 years ago3.1.2
Mike Brady [Sat, 9 Sep 2017 14:47:23 +0000 (15:47 +0100)] 
3.1.2

7 years agoUpdate RELEASENOTES.md 3.1.2
Mike Brady [Sat, 9 Sep 2017 14:41:37 +0000 (15:41 +0100)] 
Update RELEASENOTES.md

7 years agoUpdate RELEASENOTES.md
Mike Brady [Sat, 9 Sep 2017 14:37:16 +0000 (15:37 +0100)] 
Update RELEASENOTES.md

7 years ago3.1.2 pretty-print using clang-format
Mike Brady [Thu, 7 Sep 2017 11:02:00 +0000 (12:02 +0100)] 
3.1.2 pretty-print using clang-format

8 years ago3.1.2rc0 3.1.2rc0
Mike Brady [Tue, 5 Sep 2017 16:34:36 +0000 (17:34 +0100)] 
3.1.2rc0

8 years agoMove 3.2d5 to 3.1.2
Mike Brady [Tue, 5 Sep 2017 16:32:37 +0000 (17:32 +0100)] 
Move 3.2d5 to 3.1.2

8 years agoMove 3.2d5 to 3.1.2
Mike Brady [Tue, 5 Sep 2017 16:32:19 +0000 (17:32 +0100)] 
Move 3.2d5 to 3.1.2

8 years agoMerge branch 'master' into development
Mike Brady [Tue, 5 Sep 2017 13:45:41 +0000 (14:45 +0100)] 
Merge branch 'master' into development

Merge any updates made to master