Max Kellermann
0acc398c52
Merge branch 'v0.21.x' into master
2020-09-17 14:44:20 +02:00
Max Kellermann
e907ff43ae
command/file, storage/{nfs,smbclient}: use PathTraitsFS::IsSpecialFilename()
...
Eliminate some duplicate code.
2020-09-16 20:57:46 +02:00
Max Kellermann
a74140842c
storage/smbclient: add Mutex attribute
...
This per-object Mutex replaces the global `smbclient_mutex`.
2020-07-20 22:39:59 +02:00
Max Kellermann
f5a85a816c
storage/smbclient: store SmbclientStorage reference
2020-07-20 22:37:11 +02:00
Max Kellermann
f6dc9bcad6
*/smbclient: use the new API with SMBCCTX parameter
...
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
2020-07-20 22:05:05 +02:00
Max Kellermann
697531a948
lib/smbclient/Context: new wrapper for SMBCCTX
2020-07-20 22:01:10 +02:00
Rosen Penev
3c145c0f49
[clang-tidy] add nodiscard
...
Found with modernize-use-nodiscard
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-22 18:20:51 +02:00
Max Kellermann
a98d627c0b
storage/Interface: convert URI parameters to std::string_view
2020-04-03 19:45:10 +02:00
Max Kellermann
2429cc8778
fs/Traits: convert first Relative() parameter to std::string_view
2020-04-03 19:29:29 +02:00
Max Kellermann
747436b17e
db,storage: pass std::string_view to PathTraits::Build()
2020-04-03 16:25:09 +02:00
Rosen Penev
97425d56e7
remove gcc_unused
...
[[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>
2020-03-16 00:08:21 -07:00
Max Kellermann
d072b3cb17
storage/smbclient: remove misplaced .c_str() call
2020-02-20 16:47:32 +01:00
Rosen Penev
b64fdae938
[clang-tidy] use override instead of virtual
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-31 21:27:26 -08:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
2c0a968735
storage/smbclient: use std::lock_guard
2019-04-25 19:23:37 +02:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, 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-11-19 16:33:49 +01:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
cf471e830f
Merge branch 'v0.20.x'
2018-08-02 11:07:40 +02:00
Max Kellermann
906972973e
case-insensitive URI scheme comparison
...
Required according to RFC 3986:
> An implementation should accept uppercase letters as equivalent to
> lowercase in scheme names
Closes #330
2018-08-02 11:01:45 +02:00
Max Kellermann
61eb2aa328
storage/Interface: wrap StorageDirectoryReader in std::unique_ptr
2018-01-21 11:04:30 +01:00
Max Kellermann
3c5e4e2788
storage/Plugin: return std::unique_ptr<Storage>
2018-01-02 16:11:17 +01:00
Max Kellermann
093ca5d492
storage/Interface: add "noexcept"
2017-12-18 23:54:21 +01:00
Max Kellermann
4faef28cc5
release v0.20.7
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkaFL0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEr4ID/9iAQC+7fFv06uLOm48Ufu+PgoD8uJkAwF5
QuLQkc85g9urn+bu9N7Qs7Vypp7aLyGcJKY0jyA8wxkOj24pUC3GYk80daUt561V
5s20FnoS/Uoman3CSJL94IfCUBxejizE6vgIIHTc5bb6U0qIsPub/8JTTE2Ih7uP
nvFZ5uBQ+YTc7at+iIH9123eUMKkitkh8osNblovqQT9v42++Tm4ztAytRHBjwUA
Itew5HhlvahbLKqFs/7vmICh/YX1FcOV7cV+erEWYfkH0KCI2bhSle4u2d0CBOvD
VJlDnBCo9bM7WKcPYqJiFFFXA0CRk06wbkkkAtwF4zjp8xos7aQcq4FyQnYL8KXo
5lijIhRwBURBd+nt8oA9kuEhBt/T75otcemJkzVaYappHTJCLjhxSGcPt8mw+nE9
9WQzsp/MIVzg9l5g3D9S/43xM7uhvn98Tn1Qf2s8YRd2o8CZeOhW+X3RvbCvVPv2
mOlx4sFAv8DOJ3KxMdqiJT+PmylPyJluQdqH+tMc8BdPg/kpSpYIPTuSjjRqK1yh
ld5do0HtAAwiHtvXfk5YVFjJSpO0c8yVn6xci2Cl4k/5ZHj2UE1ln+N5vCea2BRF
2J3HAjROwtcwY3lU1jFnEAogf24KWiFJqhhC0EqBGUdlrM8Dn37P5cEWWjROIMNK
lPEdovokNw==
=CdDy
-----END PGP SIGNATURE-----
Merge tag 'v0.20.7'
release v0.20.7
2017-05-15 23:01:49 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
6636c69a11
storage/FileInfo: convert mtime to std::chrono::system_clock::time_point
2017-02-11 23:45:15 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
31d77ec580
input/curl, ...: use strncmp() instead of memcmp() to avoid crash
2017-01-03 13:17:02 +01:00
Max Kellermann
2e182e84c3
thread/Mutex: remove ScopeLock, use std::lock_guard directly
2017-01-03 07:11:57 +01:00
Max Kellermann
c598686bd9
storage: migrate from class Error to C++ exceptions
2016-10-27 21:35:19 +02:00
Max Kellermann
135662d6b0
lib/smbclient/Init: throw std::runtime_error on error
2016-09-05 11:32:20 +02:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
c880099deb
util/StringCompare: add StringIsEmpty()
2015-11-06 09:37:07 +01:00
Max Kellermann
2d06a8e880
storage/FileInfo: rename to StorageFileInfo
2015-02-28 23:00:26 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
3d2558bde6
StoragePlugin: pass EventLoop to constructor
2014-10-09 07:45:25 +02:00
Max Kellermann
19dd59f38c
storage: remove redundant "virtual" keywords
...
"override" implies "virtual".
2014-10-02 19:17:46 +02:00
Max Kellermann
89f9561d10
storage/Interface: include cleanup
2014-10-01 23:38:17 +02:00
Max Kellermann
a0088ccce1
storage: add struct StoragePlugin and a plugin registry
2014-02-07 23:46:15 +01:00
Max Kellermann
ffd16b55a6
StoragePlugin: add method MapToRelativeUTF8()
...
Replaces map_to_relative_path() from Mapper.cxx.
2014-02-07 19:09:28 +01:00
Max Kellermann
c8f0c7e9ed
*/smbclient: protect all libsmbclient calls with a mutex
...
libsmbclient is not thread-safe nor reentrant. We must protect all
function calls with a global mutex, unfortunately.
2014-02-06 22:19:59 +01:00
Max Kellermann
957beeb0e9
storage/smbclient: Storage implementation using libsmbclient
2014-02-06 07:19:14 +01:00