- 31 Oct, 2008 26 commits
-
-
Max Kellermann authored
Make map_directory_child_fs() refuse the names "." and "..". This is currently the interface where an attacker may inject a manipulated path (through the "update" command).
-
Max Kellermann authored
Nearly all mapper functions can fail and will then return NULL. Add checks to all callers.
-
Max Kellermann authored
Added the function map_spl_utf8_to_fs() which replaces utf8_to_fs_playlist_path().
-
Max Kellermann authored
g_error() is fatal by default. Use g_warning() for non-fatal initialization errors.
-
Max Kellermann authored
http://xkcd.com/292/
-
Max Kellermann authored
If nobody sent a command, the player isn't waiting for the decoder. Don't wake it up.
-
Max Kellermann authored
The player should always be woken up when the decoder quits.
-
Max Kellermann authored
Eliminate one goto in decodeStart() by moving some cleanup to decoder_task().
-
Max Kellermann authored
switch looks much nicer than if/elseif/... and gcc generates nice warnings when a new command is added to the enum.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Return bool instead of int.
-
Max Kellermann authored
Removed duplicated code.
-
Alam Arias authored
-
Alam Arias authored
removed unneed check for protocol in shout plugin, will assume icecast2 protocol if not exist in config
-
Alam Arias authored
-
Max Kellermann authored
g_error_free() was missing in case g_convert() failed.
-
Max Kellermann authored
directory_free() should free all of its children (subdirectories and songs). This way, db_finish() properly frees all allocated memory.
-
Max Kellermann authored
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
-
Max Kellermann authored
After a partial write, chances are vanishing that another write() will succeed. Don't try immediately.
-
Max Kellermann authored
The "simple singly-linked-list" library has been replaced with GLib's GList and GQueue.
-
Max Kellermann authored
Another custom data structore converted to GLib.
-
Max Kellermann authored
Replace a custom data structure with a GLib one.
-
Max Kellermann authored
The list cache aims to save memory allocations, and complicates the code a bit. We should rather use GLib slices later, which are easy to use.
-
Max Kellermann authored
The source _ogg_common.c does not need any symbols from _flac_common.h, but including it leads to compiler errors when libflac isn't available.
-
Max Kellermann authored
Again, I forgot to adapt oggflac to the new API (struct input_stream, bool return values).
-
- 30 Oct, 2008 14 commits
-
-
Max Kellermann authored
decoder_data() uses wait times to let the input stream continue its transfer.
-
Max Kellermann authored
decoder_data() always returns the current command. If we use this, we can save a lot of decoder_get_command() calls.
-
Max Kellermann authored
Converted the runtime check to an assertion.
-
Max Kellermann authored
Remove one indent level.
-
Max Kellermann authored
Move code from ffmpeg_decode_internal() to make it smaller and more readable.
-
Max Kellermann authored
The decoder API provides the function decoder_seek_error() to report seek errors. Use this function instead of logging the error.
-
Max Kellermann authored
The function mpdurl_read() is too complicated, and uses the wrong data types.
-
Max Kellermann authored
tag objects must be freed with tag_free() to ensure that all resources are freed.
-
Max Kellermann authored
The function ffmpeg_tag() already has the variable base.tag, which can be used for this.
-
Max Kellermann authored
ffmpeg_try_decode() did not interpret ffmpeg_helper()'s return value properly; migrate everything to bool to make it consistent.
-
Max Kellermann authored
We don't need those anymore, they just fill the log.
-
Max Kellermann authored
ffmpeg_tag() did not initialize base.decoder, which made valgrind unhappy, and can lead to a egmentation fault.
-
Max Kellermann authored
Depending on MPD's umask, the file permissions of the unix socket were too restrictive, and many clients were not able to connect. Do a chmod(0666) on the socket, to allow everybody to connect.
-
Max Kellermann authored
Commit d692e9 broke configurations without explicit server or sink configuration. Check for getBlockParam()==NULL.
-