- 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.
-
- 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
-
- 06 Nov, 2020 1 commit
-
-
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
-
- 27 Sep, 2020 1 commit
-
-
Rosen Penev authored
Found with performance-move-const-arg 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
-
- 06 Jul, 2020 2 commits
-
-
Max Kellermann authored
Mounting one storage URI twice on different mount points can lead to conflicts with the database cache file, and it doesn't make a lot of sense. But most importantly, our udisks storage plugin will unmount the disk from the kernel VFS, and if two exist, they will compete with each others. We could (and should) fix this in the udisks storage plugin, but for now, this workaround is good enough (and useful).
-
Max Kellermann authored
When mounting something over a directory that is already a mount point, CompositeStorage::Mount() silently overwrites the previously mounted storage, disposing it. After that, SimpleDatabase::Mount() will fail and handle_mount() will roll back the CompositeStorage::Mount() command, effectively unmounting what was there before (and also leaking memory). Closes https://github.com/MusicPlayerDaemon/MPD/issues/918
-
- 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>
-
- 28 May, 2020 1 commit
-
-
Max Kellermann authored
-
- 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 6 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 02 Apr, 2020 1 commit
-
-
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 2 commits
-
-
Rosen Penev authored
Found with clang's -Winconsistent-missing-destructor-override Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
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 2 commits
-
-
Max Kellermann authored
-
Rosen Penev authored
The former is deprecated by C++14. The standard says they are the same: The header defines all types and macros the same as the C standard library header<stdint.h>. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 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.
-
- 20 Feb, 2020 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-