Commit Graph
2282 Commits
Author SHA1 Message Date
Belbo 39e122a4ff 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.
2017-10-31 23:19:22 +01:00
Belbo a704b2fe0b 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.
2017-10-31 23:19:22 +01:00
Belbo 19ff6042cf 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.
2017-10-31 23:19:21 +01:00
Mike Brady 9f2acec154 Update RELEASENOTES.md 2017-10-30 09:49:20 +00:00
Mike Brady d46172e2eb Don't disable PulseAudio autospawn 2017-10-30 10:45:38 +01:00
Mike Brady 5fba88cd60 Add an exit diagnostic, clean up a dbus flag 2017-10-30 10:37:34 +01:00
Mike Brady 91c6587d78 Address a warning about a buffer being too short. 2017-10-25 19:31:10 +01:00
Mike Brady d406514966 Correct a few warnings that show upo in Clang but not in GCC 2017-10-24 10:30:20 +01:00
Mike Brady 588c551bae Correct a Makefile bug that was silent in Linux but caused problems in FreeBSD 2017-10-24 10:29:43 +01:00
Mike Brady 7389ea8099 Update RELEASENOTES.md 2017-10-22 10:23:48 +01:00
Mike Brady 6467803858 Adjust the debug level of buffers exhausted and network condition messages. 2017-10-22 11:20:21 +02:00
Mike Brady 338831455b Oops -- a little typo. 2017-10-15 14:38:52 +01:00
Mike Brady d3241cfeaf Update RELEASENOTES.md 2017-10-15 14:29:33 +01:00
Mike Brady f27f4db9b6 Update RELEASENOTES.md 2017-10-15 14:29:04 +01:00
Mike Brady 90874ea6f8 Merge branch 'development' of https://github.com/mikebrady/shairport-sync into development
Oops.
2017-10-15 14:24:14 +01:00
Mike Brady 3cb86f400b Add the 'dapo' metadata message, giving the DACP port number when found 2017-10-15 14:23:09 +01:00
Mike Brady 415b3f4ba9 Generalise volumeup to any command. 2017-10-15 13:08:21 +01:00
Mike Brady ca29610722 Update RELEASENOTES.md 2017-10-13 22:24:06 +01:00
Mike Brady b3a90f9d6d Make the volumeup command work with IPv6 -- use the scope_id 2017-10-13 22:16:50 +01:00
Mike Brady ce06d45033 Hook up "volumeup" remote control command -- doesn't work on ipv6, it seems 2017-10-09 22:14:34 +01:00
Mike Brady c3bfb048ca Checnk the order of the commands a little 2017-10-09 11:02:54 +01:00
Mike Brady 687213e1f0 Use the DESTDIR variable to make packaging easier 2017-10-09 11:02:25 +01:00
Mike Brady 6f8bd1a6e5 Bump to indicate cleanup of configuration files and fixup of installation for dbus stuff. 2017-10-09 10:47:17 +01:00
Mike Brady 7f1b06ae16 Don't need it any more. 2017-10-09 10:46:10 +01:00
Mike Brady c81ec87dc5 Add in code to install the xml file in the local interfaces directory 2017-10-09 10:44:47 +01:00
Mike Brady fe51dce110 Stop using the DBUS_SERVICES_DIR stuff 2017-10-09 10:43:48 +01:00
Mike Brady 3da6f449d1 Remove the need for the AS_AC_EXPAND macro and remove the m4 subdirectory containing it 2017-10-09 10:40:12 +01:00
Mike Brady eec0420a27 Tighten up the ownership policy 2017-10-09 10:38:47 +01:00
Mike Brady 1e0d0944c0 Tidy up configure.ac and drop old pulseaudio back end 2017-10-09 09:38:35 +01:00
Mike Brady 578981887e A little experimentation with dbus 2017-10-07 20:49:32 +01:00
Mike Brady d343a851c0 Some spring cleaning using clang-format 2017-10-05 17:48:24 +01:00
Mike Brady 87bf5e87ac Add avahi code to look for the rmeote control information for the client and get the port number from it. 2017-10-05 17:40:51 +01:00
Mike Brady 139c18bf3e Add avahi code to look for the rmeote control information for the client and get the port number from it. 2017-10-05 17:39:32 +01:00
Mike Brady 44c39fee6a Update README.md 2017-10-02 11:22:04 +01:00
Mike Brady 7e233671e1 Update README.md 2017-09-26 16:14:50 +01:00
Mike Brady d63768908a Update RELEASENOTES.md 2017-09-26 16:10:43 +01:00
Mike Brady 10b51b965e 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!
2017-09-26 16:03:07 +01:00
Jakub Nabaglo 90f779dc74 Minor cleanup 2017-09-26 21:37:01 +10:00
Jakub Nabaglo 2915e6672c Attempt to fix hardware volume bug on devices without a linear scale 2017-09-26 17:24:55 +10:00
Mike Brady 2a4062fdc4 3.2d8 2017-09-25 18:12:05 +01:00
Mike Brady 3d3dc6ba68 Try to regenerate the PID directory if it doesn't exist 2017-09-25 18:10:07 +01:00
Mike Brady d4129f4b36 Try to regenerate the PID directory if it doesn't exist 2017-09-25 18:09:29 +01:00
Mike Brady c1043a4080 Merge branch 'master' into piddircreate
Add documentation updates.
2017-09-25 17:17:52 +01:00
Mike Brady e2d37dbe34 Update README.md 2017-09-25 17:10:46 +01:00
Mike Brady 76fd8a545a Update README.md 2017-09-25 17:10:41 +01:00
Mike Brady 60ead5a3cd Update README.md 2017-09-25 17:09:04 +01:00
Mike Brady d5ba8b7511 Update README.md 2017-09-25 17:08:57 +01:00
Mike Brady 825b418b94 Make PID directory path creation recursive and tidy up some code formatting. 2017-09-24 15:52:26 +01:00
Mike Brady a9b6c85ada Create the directory for the PID file, if necessary 2017-09-23 05:26:37 -07:00
Mike Brady 5d5802db92 Create the directory for the PID file, if necessary 2017-09-23 05:25:48 -07:00