aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fix strtok() related segmentation faultMax Kellermann2008-06-141-1/+4
| | | | | | | strtok() may return NULL if the input is an empty string. The playlist parser did not check for that. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7378 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* jack: initialize audioOutput->dataMax Kellermann2008-06-141-1/+3
| | | | | | | | | | | | | | Initialize audioOutput->data with NULL in jack_initDriver(). Previously, this was never initialized, although the other functions relied on it being NULL prior to jack_openDevice(). This patch addresses bug 0001641[1]. In contrast to the patch provided by the bug reporter, it moves the initialization before the "!param" check. [1] - http://musicpd.org/mantis/view.php?id=1641 git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7377 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* mod: fix crashing on modtracker filesHans de Goede2008-06-141-1/+1
| | | | | | | | | | This patch was taken from http://bugzilla.livna.org/show_bug.cgi?id=1987 and addresses bug 0001693[1] [1] - http://musicpd.org/mantis/view.php?id=1693 git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7376 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* storedPlaylist: faster, but less accurate check for maximum sizesEric Wong2008-01-291-7/+7
| | | | | | | There are still other ways to run the mpd server out of disk-space, so permissions are still recommended to protect against malicious users. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7178 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* mpd 0.13.1Eric Wong2008-01-281-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7176 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* interface: abort if we expire while processing linesEric Wong2008-01-271-0/+2
| | | | | | | If we keep processing expired interfaces in a loop, we'll eventually close it and get fd < 0, causing assertions to fail. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7175 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Redirect stdin *before* we establish a listen socketEric Wong2008-01-272-15/+29
| | | | | | | This way we'll avoid listening on fd=0 and have a better chance of having fd=0 as /dev/null git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7174 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Fix Sun C 5.9 / C99 compatiblityEric Wong2008-01-271-1/+1
| | | | | From sbh, r7041 and r7042 from trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7173 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Use POSIX compatible tr arguments in autogen.shEric Wong2008-01-271-1/+1
| | | | | From sbh, r7038 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7172 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* autogen.sh: support for newer autoconf versions (2.60, 2.61)Eric Wong2008-01-271-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7171 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* pcm_utils: remove redundant semi-colon (breaks compilation with some compilers)Eric Wong2008-01-271-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7170 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Know about SND_PCM_STATE_RUNNING, might fix some bugsEric Wong2008-01-271-0/+4
| | | | | From qball, r7077 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7169 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* storedPlaylist: prevent potential DoS from stored playlist commandsEric Wong2008-01-263-2/+19
| | | | | | | | | | | | | | | | | | | | | | While mpd has always protected against the infinite expansion of the main playlist by limiting its size in memory, however the new storedPlaylist code has never checked for this limit. Malicious (or clumsy) users could repeatedly append songs to stored playlists, causing files to grow increasingly large on disk. Attempting to load extremely large files into memory will require mpd to slurp that all into memory, and ultimately the file would be unusable by mpd because of the configurable playlist size limit. Now we limit stored playlists to the max_playlist_length configuration variable set by the user (default is 16384). We will refuse to append to playlist files if they hit that limit; and also refuse to load more than the specified amount of songs into memory. r7154 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7165 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fix builds that only have FLAC >= 1.1.3 but not Ogg-VorbisEric Wong2008-01-263-9/+9
| | | | | r7108 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7164 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* If clearing stored playlist fails, don't return error + OK. but only the ↵Eric Wong2008-01-261-2/+1
| | | | | | | error. this was caused by always having the handleStoredPlaylist function return 0. From qball, r7105 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7163 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* conf.c: remove extra semi-colon here, tooEric Wong2008-01-261-1/+1
| | | | | r6874 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7162 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* dmix fix, don't call snd_pcm_drain unless we're already in the RUNNING state ↵Eric Wong2008-01-261-1/+3
| | | | | | | (when users press stop, previous snd_pcm_drop(), then snd_pcm_drain() was called. this would lockup dmix) From shank, r6517 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7161 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* removing debug messages from signal handlersEric Wong2008-01-264-10/+18
| | | | | | | | | | | As unfortunate as it is to remove such useful debugging messages, it's necessary to fix a potential deadlock with signal handling. A bunch of functions the debug functions call aren't safe to call from a signal handler. There are some alternate solutions, but they're neither pretty nor simple. So just remove them entirely for now. From: jat, r6828 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7160 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Fix endless loop when mpd is launched from a non-interactive shell.Eric Wong2008-01-261-1/+5
| | | | | | | | | | | | | | | | | | | | Thanks to _noth_ for the patch, this fixes Mantis bug #1534 _noth_ wrote: > When MPD is launched from a non-interactive shell, it enters an endless > loop, filling up its error log file with "error accept()'ing" messages. > This is caused by the fact that stdin is already closed when mpd starts > up. listenOnPort() opens up the first of its sockets as fd 0 (the first > empty fd table position). Then, setup_log_output()->redirect_stdin() > overwrites fd0 (fd=open("/dev/null",...); dup2(fd, STDIN_FILENO);) > without checking if it corresponds to the actual standard input (or if > it is open in the first place). This means that listenSockets[0].fd now > is a fd for /dev/null, thus doIOForInterfaces()->getConnections() can't > accept(2) on it and fails with the above error. The attached patch fixes > this for me. r6843 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7159 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* zeroconf: avoid passing NULLs to Avahi *_free() routinesEric Wong2008-01-261-4/+6
| | | | | | | | This should fix Debian bug #428551 (mpd crashes when restarting the dbus daemon) r6844 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7158 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* mpc_plugin: break out if a missed error branchEric Wong2008-01-261-0/+2
| | | | | | | We shouldn't try to continue if mpc_decoder_initialize() fails. r7113 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7157 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* storedPlaylist: avoid segfaulting with "/" in the pathEric Wong2008-01-261-2/+10
| | | | | A different, cleaner fix was used in trunk. git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7156 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* fixup includes for new (1.1.4+ FLAC) (thx normalperson)Avuton Olrich2007-09-171-1/+3
| | | git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@6897 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Making branch for 0.13.0 fixes.J. Alexander Treuman2007-05-28161-37854/+0
| | | git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@6330 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Properly re-tagging 0.13.0 release.release-0.13.0J. Alexander Treuman2007-05-282-18/+9
|\ | | | | git-svn-id: https://svn.musicpd.org/mpd/tags/release-0.13.0@6328 09075e82-0dd4-0310-85a5-a0d7c8717e4f
| * Updating libFLAC.m4 so that -L isn't erroneously specified without anJ. Alexander Treuman2007-05-281-18/+8
| | | | | | | | | | argument. git-svn-id: https://svn.musicpd.org/mpd/trunk@6324 09075e82-0dd4-0310-85a5-a0d7c8717e4f
| * Adding ioops.h to mpd_headers so that it gets included in the tarball.J. Alexander Treuman2007-05-281-0/+1
| | | | | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6323 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* | Re-tagging 0.13.0 release to fix a couple of bugs with the tarball.J. Alexander Treuman2007-05-28161-0/+37854
| | | | | | git-svn-id: https://svn.musicpd.org/mpd/tags/release-0.13.0@6325 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* | Tagging 0.13.0 release.J. Alexander Treuman2007-05-280-0/+0
|/ | | git-svn-id: https://svn.musicpd.org/mpd/tags/release-0.13.0@6321 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Setting release date in ChangeLog.J. Alexander Treuman2007-05-281-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6320 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Updating INSTALL.J. Alexander Treuman2007-05-271-1/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6293 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Updating UPGRADING.J. Alexander Treuman2007-05-271-1/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6292 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Moving 0.13 tasks to 0.14 in TODO.J. Alexander Treuman2007-05-271-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6291 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Increasing default buffer_before_play from 0% to 10%.J. Alexander Treuman2007-05-274-4/+6
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6290 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Fix compilation error (missing ,)Avuton Olrich2007-05-271-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6289 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* "unable open" -> "unable to open"J. Alexander Treuman2007-05-261-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6278 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* After changing ERROR();exit() to FATAL(), gcc incorrectly detects someJ. Alexander Treuman2007-05-263-6/+6
| | | | | | uninitialized variables and non-returning functions that return. Let's tell it to stfu. git-svn-id: https://svn.musicpd.org/mpd/trunk@6277 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Changing all calls to ERROR() followed by exit(EXIT_FAILURE) with a singleJ. Alexander Treuman2007-05-2621-273/+135
| | | | | call to FATAL(). git-svn-id: https://svn.musicpd.org/mpd/trunk@6276 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Cleaning up pcm_getSampleRateConverter.J. Alexander Treuman2007-05-261-23/+27
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6275 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Exit with an error if channel count isn't 1 or 2.J. Alexander Treuman2007-05-261-0/+4
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6274 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Make pcm_convertAudioFormat return the buffer size. This is necessaryJ. Alexander Treuman2007-05-264-31/+32
| | | | | | | | because lsr may return less than the input buffer size, and the rest of the audio code needs to know the new size. This fixes the clicking that was introduced with recent changes to the lsr code. A huge thanks to remiss for figuring this out. git-svn-id: https://svn.musicpd.org/mpd/trunk@6273 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Adding format conversion and stored playlists to my AUTHORS entry. IJ. Alexander Treuman2007-05-261-1/+1
| | | | | | heavily modified both sets of code, and I think it's useful for people to know who's responsible/familiar with what. git-svn-id: https://svn.musicpd.org/mpd/trunk@6272 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* weather -> whetherJ. Alexander Treuman2007-05-261-1/+1
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6271 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Changing calls to strdup to xstrdup.J. Alexander Treuman2007-05-261-2/+2
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6270 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Cleaning up addToStoredPlaylist. Now we call freeJustSong if adding a URL.J. Alexander Treuman2007-05-261-9/+18
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6269 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Make sure StoredPlaylists always contain UTF-8 paths that are eitherJ. Alexander Treuman2007-05-262-23/+38
| | | | | | | | | | | | | | | | | | | | | | relative paths in the DB or URLs. The main functional difference is that playlistmove and playlistdelete will rewrite playlists in the correct encoding and remove invalid lines instead of potentially modifying them. The specific changes are: appendSongToStoredPlaylist: * Don't convert to FS charset * Don't prepend music_directory if saving absolute paths writeStoredPlaylistToPath: * Convert to FS charset * Prepend music_directory if saving absolute paths loadStoredPlaylist: * Make sure each line is either in the DB or a URL loadPlaylist: * Don't bother checking paths, since it's done in loadStoredPlaylist now git-svn-id: https://svn.musicpd.org/mpd/trunk@6266 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* More formatting/error message cleanups in storedPlaylist.c.J. Alexander Treuman2007-05-261-50/+18
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6265 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Don't call freeStoredPlaylist(sp) inside an if (!sp) block. It causesJ. Alexander Treuman2007-05-261-2/+0
| | | | | segfaults. git-svn-id: https://svn.musicpd.org/mpd/trunk@6264 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Cleaning up formatting and error messages in storedPlaylist.c.J. Alexander Treuman2007-05-251-63/+25
| | | git-svn-id: https://svn.musicpd.org/mpd/trunk@6263 09075e82-0dd4-0310-85a5-a0d7c8717e4f
* Reverting to the full lsr API. Turns out the simple API needs all of theJ. Alexander Treuman2007-05-247-36/+85
| | | | | | | | audio at once, so it won't work for us. The old full API code was still heavily broken, as each call to pcm_convertSampleRate() used the same state, even if it was processing two streams of audio. The new code keeps a separate state for each audio stream that's being converted. git-svn-id: https://svn.musicpd.org/mpd/trunk@6255 09075e82-0dd4-0310-85a5-a0d7c8717e4f