Commit Graph

17506 Commits

Author SHA1 Message Date
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