@@ -370,7 +370,7 @@ void webserver::unregister_resource(const string& resource) {
370
370
}
371
371
372
372
void webserver::ban_ip (const string& ip) {
373
- std::unique_lock bans_and_allowances_lock (bans_and_allowances_mutex );
373
+ std::unique_lock bans_lock (bans_mutex );
374
374
ip_representation t_ip (ip);
375
375
set<ip_representation>::iterator it = bans.find (t_ip);
376
376
if (it != bans.end () && (t_ip.weight () < (*it).weight ())) {
@@ -382,7 +382,7 @@ void webserver::ban_ip(const string& ip) {
382
382
}
383
383
384
384
void webserver::allow_ip (const string& ip) {
385
- std::unique_lock bans_and_allowances_lock (bans_and_allowances_mutex );
385
+ std::unique_lock allowances_lock (allowances_mutex );
386
386
ip_representation t_ip (ip);
387
387
set<ip_representation>::iterator it = allowances.find (t_ip);
388
388
if (it != allowances.end () && (t_ip.weight () < (*it).weight ())) {
@@ -394,12 +394,12 @@ void webserver::allow_ip(const string& ip) {
394
394
}
395
395
396
396
void webserver::unban_ip (const string& ip) {
397
- std::unique_lock bans_and_allowances_lock (bans_and_allowances_mutex );
397
+ std::unique_lock bans_lock (bans_mutex );
398
398
bans.erase (ip_representation (ip));
399
399
}
400
400
401
401
void webserver::disallow_ip (const string& ip) {
402
- std::unique_lock bans_and_allowances_lock (bans_and_allowances_mutex );
402
+ std::unique_lock allowances_lock (allowances_mutex );
403
403
allowances.erase (ip_representation (ip));
404
404
}
405
405
@@ -409,7 +409,8 @@ MHD_Result policy_callback(void *cls, const struct sockaddr* addr, socklen_t add
409
409
410
410
if (!(static_cast <webserver*>(cls))->ban_system_enabled ) return MHD_YES;
411
411
412
- std::shared_lock bans_and_allowances_lock ((static_cast <webserver*>(cls))->bans_and_allowances_mutex );
412
+ std::shared_lock bans_lock (bans_mutex);
413
+ std::shared_lock allowances_lock (allowances_mutex);
413
414
if ((((static_cast <webserver*>(cls))->default_policy == http_utils::ACCEPT) &&
414
415
((static_cast <webserver*>(cls))->bans .count (ip_representation (addr))) &&
415
416
(!(static_cast <webserver*>(cls))->allowances .count (ip_representation (addr)))) ||
0 commit comments