@@ -370,7 +370,7 @@ void webserver::unregister_resource(const string& resource) {
370370}
371371
372372void 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 );
374374 ip_representation t_ip (ip);
375375 set<ip_representation>::iterator it = bans.find (t_ip);
376376 if (it != bans.end () && (t_ip.weight () < (*it).weight ())) {
@@ -382,7 +382,7 @@ void webserver::ban_ip(const string& ip) {
382382}
383383
384384void 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 );
386386 ip_representation t_ip (ip);
387387 set<ip_representation>::iterator it = allowances.find (t_ip);
388388 if (it != allowances.end () && (t_ip.weight () < (*it).weight ())) {
@@ -394,12 +394,12 @@ void webserver::allow_ip(const string& ip) {
394394}
395395
396396void 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 );
398398 bans.erase (ip_representation (ip));
399399}
400400
401401void 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 );
403403 allowances.erase (ip_representation (ip));
404404}
405405
@@ -409,7 +409,8 @@ MHD_Result policy_callback(void *cls, const struct sockaddr* addr, socklen_t add
409409
410410 if (!(static_cast <webserver*>(cls))->ban_system_enabled ) return MHD_YES;
411411
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);
413414 if ((((static_cast <webserver*>(cls))->default_policy == http_utils::ACCEPT) &&
414415 ((static_cast <webserver*>(cls))->bans .count (ip_representation (addr))) &&
415416 (!(static_cast <webserver*>(cls))->allowances .count (ip_representation (addr)))) ||
0 commit comments