05dcac55f9
lib/fmt: add meson.build
2022-11-28 22:18:46 +01:00
2aa42d2647
lib/fmt/ToBuffer: new library
2022-11-28 22:18:46 +01:00
dc8e0c9c5c
archive/zzip: add missing include
2022-11-28 22:18:45 +01:00
96ae659fdf
system/FmtError: new library
...
Replaces the Format*() functions in system/Error.hxx.
2022-11-28 21:56:12 +01:00
124e75c286
thread/Thread, fs: add missing WIN32 includes
2022-11-28 21:56:11 +01:00
25da798e7a
system/Clock: compile only on Windows
2022-11-28 21:16:49 +01:00
88d5347d94
Log, client/Response, io/BufferedOutputStream: remove unnecessary libfmt include
2022-11-28 20:44:48 +01:00
7f3868727b
Log, client/Response, io/BufferedOutputStream: drop support for libfmt < 7
...
Remove some compatibility code.
2022-11-28 20:17:16 +01:00
b09a776a26
.travis.yml: remove obsolete file
...
We've migrated to GitHub actions in commit
c13911b171
a year ago
2022-11-28 20:17:16 +01:00
3103e8d719
fs/StandardDirectory: update #ifdef for GetEnvPath()
...
Fixes regression from a38eabc8bc
2022-11-28 20:17:16 +01:00
cfbd751742
fs/StandardDirectory: pass Path to IsValidDir()
2022-11-28 18:48:10 +01:00
a38eabc8bc
fs/StandardDirectory: move code to GetExistingEnvDirectory()
2022-11-28 18:43:45 +01:00
9669ea6a12
fs/StandardDirectory: add noexcept
2022-11-28 18:27:06 +01:00
863a28daa3
fs/StandardDirectory: eliminate global variable "home_prefix"
2022-11-28 18:27:06 +01:00
ea5bcfed8b
fs/StandardDirectory: pass std::string_view to ParseConfigLine()
2022-11-28 17:11:17 +01:00
f6f3c4c25b
fs/StandardDirectory: pass const string to ParseConfigLine()
2022-11-28 17:07:29 +01:00
8fe29f5728
Merge tag 'v0.23.11'
...
release v0.23.11
2022-11-28 17:00:38 +01:00
9866adff95
release v0.23.11
v0.23.11
2022-11-28 16:55:46 +01:00
a8b0c55818
input/curl: make proxy verify setting optional
...
These settings do not work if CURL was compiled with
CURL_DISABLE_PROXY, and cause error "An unknown option was passed in
to libcurl".
Fixes regression by commit 7ab0dfc8ce
2022-11-28 16:14:01 +01:00
cac88e8be5
python/build/libs.py: re-enable verbose error strings
...
This compile-time option is not about debug logging, but about
curl_easy_strerror().
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1670
2022-11-28 16:12:17 +01:00
e9f6a3482c
db/Configured: add default "cache_directory" setting
2022-11-28 14:24:52 +01:00
5d2e80f188
db/Configured: use GetAppCacheDir() instead of GetUserCacheDir()
2022-11-28 14:20:15 +01:00
cfd4d5b13e
StateFileConfig: use GetAppCacheDir() instead of GetUserCacheDir()
2022-11-28 14:20:14 +01:00
06514aec63
fs/StandardDirectory: add GetAppCacheDir()
2022-11-28 14:19:30 +01:00
4ded1ae67b
fs/FileSystem: add CreateDirectoryNoThrow()
2022-11-28 14:19:08 +01:00
1da974e3fa
fs/StandardDirectory: use PACKAGE_NAME from version.h
2022-11-28 14:05:34 +01:00
94f06f0946
fs/StandardDirectory: use mode=0777 in mkdir() call
...
Of course, mode=0700 is more secure, but allowing other users access
to new directories is a choice the user should make via umask(). If
the user-chosen umask allows everybody access, MPD should probably
respect that.
2022-11-28 14:04:47 +01:00
d9eec8a455
fs/StandardDirectory: do not use $RUNTIME_DIRECTORY on Android
...
This is systemd specific, and Android doesn't have systemd.
2022-11-28 10:44:50 +01:00
eaecbcafb2
PlaylistFile: disallow backslash in playlist names on Windows
...
The function spl_valid_name() should verify playlist names and prevent
path traversal, but it failed to do so on Windows, because it forgot
to check for backslashes.
This buggy piece of code was already present when stored playlists
were initially implemented in 2006 by commit 08003904d7
, and
even during the many rounds of code refactoring, nobody ever bothered
to verify it. D'oh!
(Thanks, Paul Arzelier)
2022-11-28 09:53:49 +01:00
73b5d0a9b9
system/Error: truncate the snprintf() return value
...
snprintf() does not return the (truncated) length actually written,
but the length that would be needed if the buffer were large enough.
This API usage mistake in FormatLastError() can lead to overflow of
the stack buffer, crashing the process (Windows only).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1676
2022-11-28 09:42:37 +01:00
a3b32819b1
event/Loop: split InjectBreak() from Break()
2022-11-22 22:30:12 +01:00
a57cf443ed
event/Loop: set "again" in AddDefer() only if HAVE_THREADED_EVENT_LOOP
...
Only AddDefer()/AddIdle() calls from within DeferEvents are relevant.
2022-11-22 21:40:52 +01:00
d0d095cbcd
util/IntrusiveHashSet: rename "slot" to "bucket"
2022-11-22 21:40:52 +01:00
3239fce5c1
util/IntrusiveHashSet: add remove_and_dispose_if()
2022-11-22 21:40:11 +01:00
200b770104
util/IntrusiveHashSet: add for_each()
2022-11-22 21:40:04 +01:00
3aa959eda7
util/IntrusiveHashSet: add erase_and_dispose()
2022-11-22 21:39:40 +01:00
72c047f4f0
util/IntrusiveHashSet: add hash_function(), key_eq()
2022-11-21 09:10:44 +01:00
c71958af4b
input/async: pass std::span to AppendToBuffer()
2022-11-17 06:15:58 +01:00
ce13d82657
input/async: use std::byte instead of uint8_t
2022-11-17 06:15:19 +01:00
73dc8ff6bd
lib/nfs/FileReader: pass std::span to OnNfsFileRead()
2022-11-17 06:15:16 +01:00
3278ad2ed8
storage/State: remove obsolete Boost compiler warning workaround
2022-11-17 05:32:29 +01:00
2e453ef58a
storage/State: use std::hash() instead of boost::crc
...
Also eliminate the useless std::set.
2022-11-17 05:28:53 +01:00
a5d04be21f
storage/State: add noexcept
2022-11-17 05:19:11 +01:00
9467df526c
song/StringFilter: add enum Position
...
Replaces two conflicting bools.
2022-11-15 21:55:55 +01:00
9ca75589c0
song/StringFilter: simplify GetOperator()
2022-11-15 21:55:55 +01:00
c158abe87c
lib/icu/Compare: use StringIsEqualIgnoreCase()
2022-11-15 21:13:01 +01:00
53530bd1d5
lib/icu/Canonicalize: convert all punctuation to ASCII
...
To make tag matching easier.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1669
2022-11-15 21:04:16 +01:00
d7f545721b
lib/icu/Canonicalize: use unorm2_normalize() instead of u_strFoldCase()
...
unorm2_normalize() can case-fold as well, plus it applies Unicode
normalization which MPD should do for proper string comparisons.
2022-11-15 20:53:29 +01:00
8b72cb64b2
lib/icu/CaseFold: rename to IcuCanonicalize() and add flag parameter
...
Prepare for adding more transformations.
2022-11-15 20:53:04 +01:00
852df2239e
lib/icu/Transliterator: pass std::basic_string_view<UChar> to constructor
2022-11-15 20:53:03 +01:00