feat(core): Add SOGoDisableSharingAnyAuthUser option to disable sharing to any user authenticated for mail, contacts and calendar

This commit is contained in:
Hivert Quentin committed 2023-11-03 17:01:49 +01:00
1 parent 6e60b10755
commit e0ef59d5f2
5 files changed
+67 -1

No files matched your search

+26
View File
@@ -292,6 +292,32 @@
while ((currentUser = [usersList nextObject]))
{
currentUid = [currentUser objectForKey: @"uid"];
//Check if we disable the fact to set rights for defaultsUser
if (!defaultUserID)
ASSIGN (defaultUserID, [[self clientObject] defaultUserID]);
if([currentUid isEqualToString: defaultUserID])
{
if (NSNotFound != [reqPathArray indexOfObject: kDisableSharingMail]
&& nil != [sd disableSharingAnyAuthUser]
&& NSNotFound != [[sd disableSharingAnyAuthUser] indexOfObject: kDisableSharingMail]) {
response = [self responseWithStatus: 403];
return response;
}
if (NSNotFound != [reqPathArray indexOfObject: kDisableSharingContacts]
&& nil != [sd disableSharingAnyAuthUser]
&& NSNotFound != [[sd disableSharingAnyAuthUser] indexOfObject: kDisableSharingContacts]) {
response = [self responseWithStatus: 403];
return response;
}
if (NSNotFound != [reqPathArray indexOfObject: kDisableSharingCalendar]
&& nil != [sd disableSharingAnyAuthUser]
&& NSNotFound != [[sd disableSharingAnyAuthUser] indexOfObject: kDisableSharingCalendar]) {
response = [self responseWithStatus: 403];
return response;
}
}
if (!([self _initRightsForUserID: currentUid]))
{
jsonResponse = [NSDictionary dictionaryWithObject: [self labelForKey: @"No such user."]