Merge branch 'v0.23.x'

This commit is contained in:
Max Kellermann
2025-01-29 12:09:18 +01:00
4 changed files with 15 additions and 3 deletions

4
NEWS
View File

@@ -71,6 +71,10 @@ ver 0.24 (not yet released)
* require Meson 1.0
ver 0.23.17 (not yet released)
* storage
- nfs: require libnfs 4.0 or later
* database
- inotify: trigger update after symlink was created
* support libfmt 11.1
ver 0.23.16 (2024/12/03)

View File

@@ -12,7 +12,7 @@ Client::AllowFile(Path path_fs) const
#ifdef _WIN32
(void)path_fs;
throw ProtocolError(ACK_ERROR_PERMISSION, "Access denied");
throw ProtocolError(ACK_ERROR_PERMISSION, "Access to local files not implemented on Windows");
#else
if (uid >= 0 && (uid_t)uid == geteuid())
/* always allow access if user runs his own MPD
@@ -21,12 +21,12 @@ Client::AllowFile(Path path_fs) const
if (uid < 0)
/* unauthenticated client */
throw ProtocolError(ACK_ERROR_PERMISSION, "Access denied");
throw ProtocolError(ACK_ERROR_PERMISSION, "Access to local files via TCP is not allowed");
const FileInfo fi(path_fs);
if (fi.GetUid() != (uid_t)uid && (fi.GetMode() & 0444) != 0444)
/* client is not owner */
throw ProtocolError(ACK_ERROR_PERMISSION, "Access denied");
throw ProtocolError(ACK_ERROR_PERMISSION, "Access to this local file denied due to file permissions");
#endif
}

View File

@@ -279,6 +279,10 @@ InotifyUpdate::OnInotify(int wd, unsigned mask, const char *)
}
if ((mask & (IN_CLOSE_WRITE|IN_MOVE|IN_DELETE)) != 0 ||
/* regular file or symlink was created; this check is only
interesting for symlinks because regular files have
usable content only after IN_CLOSE_WRITE */
(mask & (IN_CREATE|IN_ISDIR)) == IN_CREATE ||
/* at the maximum depth, we watch out for newly created
directories */
(directory.GetDepth() == max_depth &&

View File

@@ -84,6 +84,7 @@ if zeroconf_dep.found()
include_directories: inc,
dependencies: [
zeroconf_dep,
event_dep,
util_dep,
],
)
@@ -202,6 +203,7 @@ if neighbor_glue_dep.found()
include_directories: inc,
dependencies: [
neighbor_glue_dep,
event_dep,
],
)
endif
@@ -271,6 +273,7 @@ if enable_database
'../src/LocateUri.cxx',
include_directories: inc,
dependencies: [
event_dep,
log_dep,
tag_dep,
fs_dep,
@@ -307,6 +310,7 @@ if curl_dep.found()
include_directories: inc,
dependencies: [
curl_dep,
event_dep,
],
)