Improved the logic behind refusing too-many submitted mails.

This commit is contained in:
Ludovic Marcotte
2013-12-16 17:48:23 -05:00
parent 7d0a9aa1b7
commit 08ab36244c
+4 -5
View File
@@ -714,25 +714,24 @@ static NSArray *infoKeys = nil;
recipients_count = [[messageSubmissions objectForKey: @"RecipientsCount"] intValue];
if ((messages_count >= [dd maximumMessageSubmissionCount] || recipients_count >= [dd maximumRecipientCount]) &&
delta >= [dd maximumSubmissionInterval] &&
delta <= block_time )
delta <= block_time)
{
jsonResponse = [NSDictionary dictionaryWithObjectsAndKeys:
@"failure", @"status",
[self labelForKey: @"Tried to send too many mails. Please wait."],
[self labelForKey: @"Tried to send too many mails. Please wait."],
@"message",
nil];
return [self responseWithStatus: 200
andString: [jsonResponse jsonRepresentation]];
}
if (delta > block_time)
if (delta > block_time ||
(delta >= [dd maximumSubmissionInterval] && messages_count < [dd maximumMessageSubmissionCount] && recipients_count < [dd maximumRecipientCount]))
{
[[SOGoCache sharedCache] setMessageSubmissionsCount: 0
recipientsCount: 0
forLogin: [[context activeUser] login]];
}
}
co = [self clientObject];