Commit Graph
2336 Commits
Author SHA1 Message Date
Mike Brady ea46a09aea More comprhensive saving and restoring of hardware and software level when a session is stopped and started. Does hardware as well as software. 2017-12-11 16:32:37 +00:00
Mike Brady 808c2e647a Improve the sync between AirPlay and movies like YouTube. Not sure we understand the negotiation for syncing. 2017-12-10 22:27:31 +00:00
Mike Brady 86f76ad6ce Improve the sync between AirPlay and movies like YouTube. Not sure we understand the negotiation for syncing. 2017-12-10 22:26:19 +00:00
Mike BradyandGitHub c803a96f24 Update RELEASENOTES.md 2017-12-09 20:47:43 +00:00
Mike Brady 65f2592129 Store the last software volume setting so that it can become the default when the next play sessions starts. This is important if a starting volume is not always given, a new phenomenon in iOS 11.2 and macOS 10.13.2 2017-12-09 20:15:19 +00:00
Mike Brady 6089007bc4 Store the last software volume setting so that it can become the default when the next play sessions starts. This is important if a starting volume is not always given, a new phenomenon in iOS 11.2 and macOS 10.13.2 2017-12-09 20:14:39 +00:00
Mike BradyandGitHub 8cbfaec759 Update RELEASENOTES.md 2017-12-06 21:16:24 +00:00
Mike Brady 047df480c8 Make some additions to audio_pa to emit error messages before it dies 2017-12-06 21:00:08 +00:00
Mike Brady 8ab46494fa Make some additions to audio_pa to emit erro messages before it dies 2017-12-06 20:59:36 +00:00
Mike Brady 492f365ab5 Fix a small conflict in mdns_avahi.c 2017-12-04 08:48:04 +00:00
Mike Brady 2c74e7d0bc Fiel small metadat bug, make more intermediate progress with d-bus stuff 2017-12-04 08:42:35 +00:00
Mike Brady 42b2a8c597 Fix bug in ooutput of 'flsr' metadata item -- remove the leading equals sign. 2017-12-04 08:36:11 +00:00
Mike Brady 0f68ff0c9a Started implementing a scanner with just playstatusupdate message 2017-12-03 20:11:23 +00:00
Mike Brady 88c550663c hooking up a dacp scanner 2017-12-02 19:52:39 +00:00
Mike Brady af50e91232 Intermediate 2017-12-02 16:21:46 +00:00
Mike Brady e0ecdac91a Fix compilation bug if dbus or mpris not selected 2017-11-27 11:26:23 +00:00
Mike Brady fe3b70b4b2 Begin a DACP monitor. Very incomplete -- work in progress only 2017-11-27 09:39:40 +00:00
Mike Brady 455d93485d Quieten a warning from clang on FreeBSD 2017-11-25 20:46:37 +00:00
Mike Brady 9c0db1d426 Don't need to make Shairport Sync an activatable D-Bus service, so don't need this file 2017-11-25 09:30:32 +00:00
Mike Brady da3366a2a6 Remember to install a dbus system bus access rule for mpris, separate dbus and mpris access rules, move them to scripts folder 2017-11-25 09:25:50 +00:00
Mike BradyandGitHub 30dd9ca10f Update RELEASENOTES.md 2017-11-23 15:48:57 +00:00
Mike BradyandGitHub 3108fae08a Update RELEASENOTES.md 2017-11-23 15:48:14 +00:00
Mike BradyandGitHub 15198a499d Update configure.ac 2017-11-23 15:38:58 +00:00
Mike BradyandGitHub 1073a6e98c Update RELEASENOTES.md 2017-11-23 15:38:29 +00:00
Mike BradyandGitHub 1368fa09d8 Merge pull request #620 from bootc/cve-2017-12087
Fix CVE-2017-12087 in bundled tinysvcmdns (development branch)
2017-11-23 15:20:36 +00:00
Chris Boot 5dc4c9ca14 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.
2017-11-23 14:36:04 +00:00
Mike BradyandGitHub 0ea60e7587 Update RELEASENOTES.md 2017-11-20 19:15:01 +00:00
Mike Brady 03321799fb Add previous and next controls 2017-11-20 13:16:17 +00:00
Mike Brady dc111c8d1d Send playing status as soon as the first packet is received 2017-11-20 11:45:49 +00:00
Mike BradyandGitHub 677ced12ae Update RELEASENOTES.md 2017-11-19 21:47:32 +00:00
Mike Brady bafdd94e33 Clang-format 2017-11-19 21:41:11 +00:00
Mike Brady b98e2a0854 Handle play / pause / play-pause / stop but primitively 2017-11-19 21:40:09 +00:00
Mike Brady df7c48f0f3 Clean up naming of some files, get the 'stop' command working 2017-11-19 21:16:36 +00:00
Mike Brady 67dfe591d0 Reorganise D-BUS interface code and introduce an MPRIS interface. 2017-11-19 16:14:53 +00:00
Mike Brady 74f41a1769 Reorganise D-BUS interface code and introduce an MPRIS interface. 2017-11-19 16:08:39 +00:00
Mike Brady 79e610fa81 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. 2017-11-12 22:32:02 +00:00
Mike Brady b606c5a2a8 Forgot documentation updates, again!
Merge branch 'development' of github.com:mikebrady/shairport-sync into development
2017-11-12 16:54:08 +01:00
Mike Brady 9d2eb511cd Fix a variable substitution. Might be problematic for BSD 2017-11-12 16:53:55 +01:00
Mike BradyandGitHub e61ee0d4d5 Update RELEASENOTES.md 2017-11-12 14:54:19 +00:00
Mike Brady d4eae76f33 dbus-related files taken from directories and renamed 2017-11-12 15:45:29 +01:00
Mike Brady f5248a20e1 Change the names of some of the files. 2017-11-12 14:49:53 +01:00
Mike Brady e50e39a3f9 Merge branch 'development' of github.com:mikebrady/shairport-sync into development
Forgot the typo fix.
2017-11-12 14:28:02 +01:00
Mike Brady 3198ec4265 Improve dbus and add some dacp services 2017-11-12 14:26:10 +01:00
Mike Brady 532c77eb23 clang-format only 2017-11-12 14:25:09 +01:00
Mike BradyandGitHub 5e6b3382b0 Merge pull request #614 from corbinsantin/development
Fix typo in README.md
2017-11-09 09:19:59 +00:00
Corbin Santin df603dc8bc Update README.md
small typo
2017-11-09 00:15:36 -08:00
Mike Brady 827fa5a5b0 Clean up rtp_send_client_command a little 2017-11-06 09:05:22 +00:00
Mike BradyandGitHub 00dbf5aa3d Update RELEASENOTES.md 2017-11-04 12:02:39 +00:00
Mike BradyandGitHub 177992fb58 Merge pull request #612 from belboj/signal-race
Fixed race condition when stopping other threads with SIGUSR1
2017-11-04 11:43:35 +00:00
Belbo b98e6a9ac0 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.
2017-11-01 20:46:05 +01:00