#3120: prevent webcalendar to reveal endpoint nature

This commit is contained in:
Hivert Quentin committed 2026-11-11 20:33:09 +01:00
1 parent 15101a7e78
commit 8cb9d7b79c
2 files changed
+15 -10

No files matched your search

+11 -9
View File
@@ -155,19 +155,21 @@
httpCode = 200;
results = [[self clientObject] loadWebCalendar];
if ([results objectForKey: @"status"])
{
if ([results objectForKey: @"error"])
// Don't reveal how the remote host answered (connection error, HTTP error
// or non-calendar content): all failures except a required authentication
// return the same response. Details are kept in the server log.
error = [results objectForKey: @"error"];
if (error)
{
error = [results objectForKey: @"error"];
if ([error isEqualToString: @"need-auth"])
httpCode = 401;
if ([error isEqualToString: @"invalid-calendar-content"] || [error isEqualToString: @"http-error"])
httpCode = 500;
else
{
httpCode = 500;
[results setObject: @"bad-url" forKey: @"error"];
}
}
[results removeObjectForKey:@"status"];
}
[results removeObjectForKey: @"status"];
return [self responseWithStatus: httpCode andJSONRepresentation: results];
}