summaryrefslogtreecommitdiff
path: root/src/storage
AgeCommit message (Collapse)Author
2019-02-15nfs: work around assertion failure on exception during program initMax Kellermann
Closes #477
2018-12-09Add boost_dep in subdir meson.build filesJacob Vosmaer
2018-11-19db/Interface: remove IsPlugin(), use `dynamic_cast` insteadMax Kellermann
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-10-31*: copyright year 2018Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-20storage/nfs: implement followThomas Guillem
2018-08-20Merge branch 'v0.20.x'Max Kellermann
2018-08-20lib/nfs/Connection: use nfs_stat64_asyncThomas Guillem
Since nfs_stat_async is deprecated.
2018-08-20Merge branch 'v0.20.x'Max Kellermann
2018-08-17storage/plugins/CurlStorage: URL-encode paths in CurlStorage::MapUTF8Joshua Wise
When using a database that was not created with a WebDAV music_directory (i.e., if using a remote database, on which updates happen locally) and using the Curl storage plugin, MPD would previously send GET requests that had unescaped spaces in them. This change uses Curl's URL-encode API to solve this.
2018-08-02Merge branch 'v0.20.x'Max Kellermann
2018-08-02case-insensitive URI scheme comparisonMax Kellermann
Required according to RFC 3986: > An implementation should accept uppercase letters as equivalent to > lowercase in scheme names Closes #330
2018-07-18fs/Path: add method ToUTF8Throw()Max Kellermann
2018-07-17storage/Configured: use struct ConfigDataMax Kellermann
2018-07-17fs/Path: add operator/(Path,Path)Max Kellermann
Modeled after std::filesystem::operator/() from C++17.
2018-07-16config/Config*: rename files, drop "Config" prefixMax Kellermann
2018-07-06util/StringFormat: new utility libraryMax Kellermann
2018-06-05storage/udisks: return file path in MapUTF8()Max Kellermann
The absolute udisks:// URI is not usable with InputStream::Open(), and thus we need to return the LocalStorage::MapUTF8() return value instead.
2018-06-05storage/udisks: add missing MountWait() call to MapFS()Max Kellermann
2018-06-05storage/udisks: implement MapFS()Max Kellermann
2018-06-04storage/udisks: new pluginMax Kellermann
Documentation will follow soon.
2018-02-24Merge tag 'v0.20.18'Max Kellermann
release v0.20.18
2018-02-24storage/nfs: use PathTraitsFS::const_pointer_typeMax Kellermann
2018-02-24storage/nfs: assume UTF-8 when accessing NFS from WindowsMax Kellermann
Fixes two build failures with libnfs on Windows.
2018-01-24util/StringFormat: new utility libraryMax Kellermann
2018-01-21lib/expat/Parser: make the "is_final" argument optionalMax Kellermann
2018-01-21lib/expat/Parser: add method CompleteParse()Max Kellermann
2018-01-21storage/Interface: wrap StorageDirectoryReader in std::unique_ptrMax Kellermann
2018-01-17fs/AllocatedPath: make the nullptr_t constructor publicMax Kellermann
2018-01-02storage/Composite: use std::unique_ptr<Storage>Max Kellermann
2018-01-02storage/Plugin: return std::unique_ptr<Storage>Max Kellermann
2018-01-02Merge branch 'v0.20.x'Max Kellermann
2018-01-02storage/State: check if a CompositeStorage exists; fixes nullptr dereferenceMax Kellermann
Fixes another crash bug caused by commit 64d141f71e690a4258ba9ee8712140bc9d961883
2018-01-02storage/State: make mount errors non-fatalMax Kellermann
Fixes crash bug caused by commit 64d141f71e690a4258ba9ee8712140bc9d961883
2018-01-02storage/State: fix memory leak after database mount failureMax Kellermann
Caused by commit 64d141f71e690a4258ba9ee8712140bc9d961883 This wasn't a serious memory leak, because after a mount failure, MPD would abort anyway, which is subject to the next commit.
2018-01-02storage/State: remove useless #ifdef ENABLE_DATABASEMax Kellermann
This source file isn't compiled when the database is disabled.
2017-12-21storage/State: use std::set instead of sorting a std::listMax Kellermann
2017-12-19Main, ...: catch any exception, not just std::runtime_errorMax Kellermann
2017-12-18storage/Interface: add "noexcept"Max Kellermann
2017-12-18storage/State: use std::set instead of sorting a std::listMax Kellermann
2017-12-18Merge tag 'v0.20.13'Max Kellermann
release v0.20.13
2017-12-18Save and restore mountpoints within the state file.FlashSystems
Signed-off-by: FlashSystems <developer@flashsystems.de>
2017-12-16Merge branch 'v0.20.x'Max Kellermann
2017-12-12*: check defined(_WIN32) instead of defined(WIN32)Max Kellermann
Only _WIN32 is defined by the compiler, and WIN32 is not standardized and may be missing. Closes #169
2017-11-14lib/{curl,upnp}: add more exception handlersMax Kellermann
Bugs found by Coverity.
2017-11-12lib/nfs: add "noexcept"Max Kellermann
2017-11-12lib/curl: add "noexcept"Max Kellermann
2017-11-10storage/curl: migrate from DeferredMonitor to DeferEventMax Kellermann