Max Kellermann
cf797657ed
AllCommands: close connection after syntax error
...
Stop HTTP clients from exploiting MPD via forged POST requests.
2014-08-12 15:33:45 +02:00
Max Kellermann
c597538b40
util/HugeAllocator: implement on Windows
2014-08-11 23:06:45 +02:00
Max Kellermann
43f964e28d
db/simple: check for I/O errors in Load()
2014-08-11 22:54:46 +02:00
Max Kellermann
8283f23651
fs/io/TextFile: add method Check()
2014-08-11 22:53:48 +02:00
Max Kellermann
7cc25f91ff
fs/io/Reader: add "nonnull" attribute
2014-08-11 22:49:08 +02:00
Max Kellermann
5d2506e697
SongFilter: new filter "modified-since"
2014-08-11 22:38:58 +02:00
Max Kellermann
14908b7f28
doc/protocol: reformat the "find" types
2014-08-11 22:38:58 +02:00
Max Kellermann
2e122e1509
db/simple: compress the database file using gzip
2014-08-11 21:48:25 +02:00
Max Kellermann
486b5b6bfc
fs/io/TextFile: use AutoGunzipReader
...
Several MPD subsystems can now read gzipped files; for example, the
database file can be gzipped.
2014-08-11 21:48:25 +02:00
Max Kellermann
88a2f128ec
fs/io/AutoGunzipReader: new class
2014-08-11 21:48:25 +02:00
Max Kellermann
45c139cfb3
fs/io/PeekReader: new utility class
2014-08-11 21:48:25 +02:00
Max Kellermann
3a111e5d74
fs/io/GzipOutputStream,GunzipReader: move zlib_domain to src/lib/zlib/Domain.cxx
2014-08-11 21:48:25 +02:00
Max Kellermann
fc0c5e7359
configure.ac: fix typo, remove spaces
2014-08-11 21:20:27 +02:00
Max Kellermann
2ccfb71d12
util/CharUtil: add ToLowerASCII()
2014-08-11 18:42:05 +02:00
Max Kellermann
e8a5a9b1e8
Merge branch 'mp4v2' of github.com:ekroth/mpd
2014-08-09 00:10:04 +02:00
Andrée Ekroth
ec3568bd97
decoder/Mp4v2: fix crash with undefined error
...
When no track is found the error is now properly set.
Previously the calling function tried to log an undefined
error, which resulted in a crash. MPD falls back to
ffmpeg for unsupported tracks, such as ALAC.
This should fix issue 4051.
2014-08-08 23:24:26 +02:00
Max Kellermann
a67a881715
input/GunzipInputStream: new class
2014-08-08 20:11:29 +02:00
Max Kellermann
7a048f004d
Merge branch 'id-3919' of git://github.com/ekroth/mpd
2014-08-07 22:52:46 +02:00
Andrée Ekroth
330b6a0482
decoder/Mp4v2: add MP4v2 decoder plugin
...
This plugin uses the MP4v2 library to play mp4/m4a files.
It is limited to file_decode.
2014-08-07 21:01:38 +02:00
Max Kellermann
aa2e4d92e0
fs/io/BufferedReader: new class to replace class TextFile
...
The new class is pluggable, to prepare for gzipped database files.
For now, the TextFile class remains, and will be refactored away
later.
2014-08-07 19:38:25 +02:00
Max Kellermann
0ea66a1275
fs/io/Reader: new interface
2014-08-07 19:38:25 +02:00
Max Kellermann
aafff8fd5c
fs/output, fs/TextFile: move to fs/io/
2014-08-07 19:38:25 +02:00
Max Kellermann
5ac2a69940
input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxx
2014-08-07 19:38:25 +02:00
Max Kellermann
8278a12af9
Makefile.am: link libfs.a before libsystem.a
...
libfs.a depends on libsystem.a.
2014-08-07 19:38:25 +02:00
Max Kellermann
e88dd9b08b
util/DynamicFifoBuffer: make GetCapacity() and Clear() public
2014-08-07 19:21:09 +02:00
Max Kellermann
bbea6564fc
fs/output/FileOutputStream: use open_cloexec()
...
Support operating systems that don't have O_CLOEXEC.
2014-08-07 18:16:11 +02:00
Max Kellermann
1ca8d7ad45
TextInputStream: don't strip
...
Let the caller decide whether to strip. Only remove \n and \r
(end-of-line markers).
2014-08-07 16:45:43 +02:00
Max Kellermann
67958f7fa7
util/{Static,Foreign}FifoBuffer: lazy shift
...
Reduce the number of unnecessary memmove() calls.
2014-08-07 16:11:00 +02:00
Max Kellermann
ab9c527274
util/StaticFifoBuffer: fix indent
2014-08-07 16:08:55 +02:00
Max Kellermann
36ff991960
TextInputStream: move code to ReadBufferedLine()
...
Look at the buffer first, before trying to read from the file. This
reduces overhead because we don't refill the buffer after every line.
2014-08-07 16:08:02 +02:00
Max Kellermann
59d38f876a
util/StringUtil: add StripRight() overload with "end" argument
2014-08-07 16:08:02 +02:00
Max Kellermann
5c5c6a965c
LogBackend: use StripRight()
...
Eliminate duplicate code.
2014-08-07 16:08:02 +02:00
Max Kellermann
74aafe6a10
util/StringUtil: use IsWhitespaceOrNull() in StripRight()
...
The null byte is whitespace, too.
2014-08-07 16:08:02 +02:00
Max Kellermann
f860a2fbd6
util/StringUtil: move code to StripRight()
2014-08-07 16:08:02 +02:00
Max Kellermann
87bcf739ee
util/StringUtil: rename strchug_fast() to StripLeft()
2014-08-07 16:08:02 +02:00
Max Kellermann
db6db51742
util/CharUtil: add IsWhitespaceFast()
2014-08-07 16:08:02 +02:00
Max Kellermann
981be7956b
util/CharUtil: make IsWhitespace*() "constexpr"
2014-08-07 16:08:02 +02:00
Max Kellermann
8c10aa575c
util/CharUtil: fix indent
2014-08-07 16:08:02 +02:00
Max Kellermann
17b316b94b
fs/StandardDirectory: pass writable string to ParseConfigLine()
...
Eliminate the std::string overhead.
2014-08-07 16:07:52 +02:00
Max Kellermann
8921b4f9d1
event/BufferedSocket: fix inversed buffer check
...
This was broken by commit 84d20d9e
, which deleted the "!" from the
check.
2014-08-07 16:07:48 +02:00
Max Kellermann
cf16d81fa4
util/ForeignFifoBuffer: add method Swap()
2014-08-07 09:02:24 +02:00
Max Kellermann
2beb763b4f
util/ForeignFifoBuffer: add method MoveFrom()
2014-08-07 08:53:02 +02:00
Max Kellermann
69ae879c58
input/TextInputStream: return char*
...
Revert to the old API before commit e9e55b08
, removing unnecessary
bloat.
2014-08-07 00:06:02 +02:00
Max Kellermann
08fee9a284
util/ForeignFifoBuffer: add method GetAvailable()
2014-08-06 22:55:59 +02:00
Max Kellermann
f89da17827
util/DynamicFifoBuffer: move code to new base class ForeignFifoBuffer
2014-08-06 17:39:07 +02:00
Max Kellermann
ea26da0be7
util/FifoBuffer: rename to StaticFifoBuffer
2014-08-06 17:29:05 +02:00
Max Kellermann
1f3d3970f6
db/update/InotifySource: remove FifoBuffer
...
Eliminate support for partial reads. The Linux kernel will never
return partial results, so this buffering was unnecessary.
2014-08-06 17:20:03 +02:00
Max Kellermann
c9a71a7176
fs/GzipOutputStream: new class wrapping zlib
2014-08-06 16:35:10 +02:00
Max Kellermann
7ed8833fd5
Makefile.am: add variable FS_LIBS
2014-08-06 16:35:10 +02:00
Max Kellermann
9fb351a139
*Save, *State: use the OutputStream API instead of FILE*
2014-07-30 22:17:01 +02:00