- 12 Nov, 2021 1 commit
-
-
Rosen Penev authored
SonarLint reports the latter to be better: std::scoped_lock basically provides the same feature as std::lock_guard, but is more generic: It can lock several mutexes at the same time, with a deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code to perform simultaneous locking with std::lock_guard is significantly more complex. Therefore, it is simpler to use std::scoped_lock all the time, even when locking only one mutex (there will be no performance impact). Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 15 Oct, 2021 2 commits
-
-
Max Kellermann authored
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1281 The problem occurred when there was libfmt-dev installed, but it was too old (e.g. on Debian Buster), and Meson used the wrap fallback. Those internal MPD libraries where the libfmt dependency was not declared were still using the old system libfmt headers, which are not ABI-compatible with MPD's own libfmt build.
-
Max Kellermann authored
Should have been part of commit ef24cfa5 Closes https://github.com/MusicPlayerDaemon/MPD/issues/1279
-
- 13 Oct, 2021 1 commit
-
-
Max Kellermann authored
-
- 06 Oct, 2021 1 commit
-
-
Max Kellermann authored
-
- 31 May, 2021 1 commit
-
-
Rosen Penev authored
Found with cppcoreguidelines-special-member-functions Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 17 May, 2021 1 commit
-
-
Max Kellermann authored
With the default value CURLAUTH_ANY, libcurl needs to probe for authentication methods first, and only the second request will have an Authorization header. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1155
-
- 04 Mar, 2021 1 commit
-
-
Érico Rolim authored
ParseTimePoint. %Z is a glibc extension to strptime, and is a no-op there, due to the mapping between timezone names and their definition (especially when the name comes from a different machine) being ambiguous / impossible. Time in HTTP headers is guaranteed to be UTC. Passing an unknown format to strptime() implementations that don't support it will generally cause them to return NULL, which will lead to ParseTimePoint throwing an exception and ParseTimeStamp using an unnecessary fallback. Since the timezone name goes at the end of the string, we don't need to use %Z to skip it (could be an issue in a different time stamp format), so simply removing %Z works best.
-
- 05 Feb, 2021 1 commit
-
-
Max Kellermann authored
Preparing for a variant of TimerEvent with coarse 1-second granularity, but cheaper (with a timer wheel).
-
- 17 Jan, 2021 1 commit
-
-
Rosen Penev authored
Found with cppcoreguidelines-interfaces-global-init Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 08 Jan, 2021 1 commit
-
-
Vincent Petry authored
The original base relative path was introduced due to an erroneous test where the URL started with three slashes: "https:///" instead of two, which led to implementing handling for such cases but broke the two slashes case. This fix removes the base relative path handling because with two slashes the path is anyway always relative to the host (aka absolute URI, without host). This reverts 216f62ea and part of 74b2fc7fSigned-off-by:
Vincent Petry <PVince81@yahoo.fr>
-
- 05 Jan, 2021 1 commit
-
-
Vincent Petry authored
Use uri_has_scheme to find out if the href in Webdav responses is absolute to use the matching base path extraction. Signed-off-by:
Vincent Petry <PVince81@yahoo.fr>
-
- 04 Jan, 2021 3 commits
-
-
Vincent Petry authored
Fixed Webdav base path stripping in cases where href is a relative path. Signed-off-by:
Vincent Petry <PVince81@yahoo.fr>
-
Vincent Petry authored
There can be more than one propstat block each with their own status code. We're only interested in the one with the 200 status, the found properties. This fixes parsing to make sure we process all propstat blocks instead of just the last one, which might have a 404 status for not-found properties. Signed-off-by:
Vincent Petry <PVince81@yahoo.fr>
-
Vincent Petry authored
Remove additional "a:prop" in PROPFIND request to match RFC 4918 section 9.1.3. Added Content-Type header as the body is not a true multipart POST. Signed-off-by:
Vincent Petry <PVince81@yahoo.fr>
-
- 01 Jan, 2021 1 commit
-
-
Max Kellermann authored
-
- 01 Dec, 2020 1 commit
-
-
Max Kellermann authored
-
- 06 Nov, 2020 2 commits
-
-
Max Kellermann authored
Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting it to std::string_view. This selects the right overload which returns std::string_view instead of `const char *`; the latter could return `nullptr` which would cause the implicit conversion of the return value to std::string_view to crash. Regression caused by commits ead20898 and a98d627c. Closes https://github.com/MusicPlayerDaemon/MPD/issues/995
-
Rosen Penev authored
Found with modernize-avoid-bind Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 16 Sep, 2020 1 commit
-
-
Max Kellermann authored
Eliminate some duplicate code.
-
- 20 Jul, 2020 4 commits
-
-
Max Kellermann authored
This per-object Mutex replaces the global `smbclient_mutex`.
-
Max Kellermann authored
-
Max Kellermann authored
As a side effect, the input plugin closes the SMB/CIFS connection after closing the file. This solves one part of https://github.com/MusicPlayerDaemon/MPD/issues/916
-
Max Kellermann authored
-
- 30 May, 2020 1 commit
-
-
Rosen Penev authored
The ones in std have overloads for const char/char. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 22 Apr, 2020 1 commit
-
-
Rosen Penev authored
Found with modernize-use-nodiscard Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 15 Apr, 2020 2 commits
-
-
Thomas Guillem authored
Unescape the base path and the path coming from the server (href) to fix the comparison when the server uses different escaped characters. The outputted name need to be unescaped. Doing that before or after the HrefToEscapedName() call should not change the current behavior.
-
Thomas Guillem authored
If the file name is "Hello & bye", 3 CharacterData events will be sent with the State::HREF state: - "Hello%20" - "&" - "%20bye" Reproduced with files hosted on an apache2 DAV server: 2.4.38-3+deb10u3.
-
- 06 Apr, 2020 1 commit
-
-
Max Kellermann authored
-
- 03 Apr, 2020 4 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 26 Mar, 2020 2 commits
-
-
Rosen Penev authored
Found with readability-uppercase-literal-suffix Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
Max Kellermann authored
-
- 16 Mar, 2020 1 commit
-
-
Rosen Penev authored
[[maybe_unused]] (introduced in C++17) is standard C++. https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused says that this is equivalent to the GNU unused attribute. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 13 Mar, 2020 1 commit
-
-
Max Kellermann authored
-
- 12 Mar, 2020 2 commits
-
-
Rosen Penev authored
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
Rosen Penev authored
Introduced in C++17. It replaces gcc's warn_unused_result. Found with modernize-use-nodiscard. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 07 Mar, 2020 1 commit
-
-
Max Kellermann authored
Merge some duplicate code in a central library.
-