client/File: improve error message
Users are confused by "Access denied". Let's write an error message that is more clear. Closes https://github.com/MusicPlayerDaemon/MPD/issues/2184
This commit is contained in:
parent
83c2d9c964
commit
cdcee16738
@ -28,7 +28,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
|
||||
@ -37,12 +37,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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user