remove rules class
This commit is contained in:
parent
1e87f21334
commit
3e664dd408
2 changed files with 0 additions and 149 deletions
|
@ -1,123 +0,0 @@
|
|||
#include "Rules.hpp"
|
||||
|
||||
namespace fw
|
||||
{
|
||||
Rules::Rules()
|
||||
{
|
||||
this->amount_of_rules = retrieve_settings_value("amount_of_rules");
|
||||
Serial.print("Available Firewall Rules: ");
|
||||
Serial.println(amount_of_rules);
|
||||
for (uint8_t i = 1; i <= this->amount_of_rules; i++)
|
||||
{
|
||||
firewall_rule_t *rule_ptr = retrieve_firewall_rule(i);
|
||||
add_rule_to_firewall(rule_ptr);
|
||||
}
|
||||
}
|
||||
|
||||
Rules::~Rules()
|
||||
{
|
||||
}
|
||||
|
||||
void Rules::add_rule_to_firewall(firewall_rule_t *rule_ptr)
|
||||
{
|
||||
store_settings_value("amount_of_rules", this->amount_of_rules);
|
||||
store_firewall_rule(rule_ptr);
|
||||
firewall_rule_t *temp;
|
||||
if (this->rule_head == NULL)
|
||||
{
|
||||
this->rule_head = rule_ptr;
|
||||
rule_ptr->next = NULL;
|
||||
return;
|
||||
}
|
||||
temp = this->rule_head;
|
||||
while (temp->next != NULL)
|
||||
{
|
||||
temp = temp->next;
|
||||
}
|
||||
temp->next = rule_ptr;
|
||||
rule_ptr->next = NULL;
|
||||
}
|
||||
|
||||
firewall_rule_t *Rules::add_rule_to_firewall(
|
||||
String source,
|
||||
String destination,
|
||||
String port_from,
|
||||
String port_to,
|
||||
String protocol,
|
||||
String target)
|
||||
{
|
||||
firewall_rule_t *rule_ptr = (firewall_rule_t *)malloc(sizeof(firewall_rule_t));
|
||||
rule_ptr->key = ++amount_of_rules;
|
||||
|
||||
strncpy(rule_ptr->source, source.c_str(), sizeof(rule_ptr->source));
|
||||
strncpy(rule_ptr->destination, destination.c_str(), sizeof(rule_ptr->destination));
|
||||
rule_ptr->port_from = port_from.toInt();
|
||||
rule_ptr->port_to = port_to.toInt();
|
||||
rule_ptr->protocol = string_to_protocol(protocol);
|
||||
rule_ptr->target = string_to_target(target);
|
||||
|
||||
add_rule_to_firewall(rule_ptr);
|
||||
return rule_ptr;
|
||||
}
|
||||
|
||||
firewall_rule_t *Rules::get_rule_from_firewall(uint8_t key)
|
||||
{
|
||||
firewall_rule_t *rule_ptr = this->rule_head;
|
||||
if (this->rule_head == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
while (rule_ptr->key != key)
|
||||
{
|
||||
if (rule_ptr->next == NULL)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
rule_ptr = rule_ptr->next;
|
||||
}
|
||||
}
|
||||
return rule_ptr;
|
||||
}
|
||||
|
||||
ok_t Rules::delete_rule_from_firewall(uint8_t key)
|
||||
{
|
||||
if (this->rule_head == NULL)
|
||||
return NO_ACTION;
|
||||
firewall_rule_t *current_rule_ptr = this->rule_head;
|
||||
firewall_rule_t *previous_rule_ptr = NULL;
|
||||
firewall_rule_t *temp = NULL;
|
||||
while (current_rule_ptr->key != key)
|
||||
{
|
||||
if (current_rule_ptr->next == NULL)
|
||||
return NO_ACTION;
|
||||
else
|
||||
{
|
||||
previous_rule_ptr = current_rule_ptr;
|
||||
current_rule_ptr = current_rule_ptr->next;
|
||||
}
|
||||
}
|
||||
if (current_rule_ptr == this->rule_head)
|
||||
{
|
||||
this->rule_head = rule_head->next;
|
||||
temp = this->rule_head;
|
||||
}
|
||||
else
|
||||
{
|
||||
previous_rule_ptr->next = current_rule_ptr->next;
|
||||
temp = previous_rule_ptr->next;
|
||||
}
|
||||
while (temp != NULL)
|
||||
{
|
||||
temp->key--;
|
||||
temp = temp->next;
|
||||
}
|
||||
free(current_rule_ptr);
|
||||
this->amount_of_rules--;
|
||||
store_settings_value("amount_of_rules", this->amount_of_rules);
|
||||
if (this->amount_of_rules != 0)
|
||||
store_all_firewall_rules(rule_head);
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
#ifndef ESP32_FIREWALL_HPP
|
||||
#define ESP32_FIREWALL_HPP
|
||||
|
||||
#include "Utils.hpp"
|
||||
#include "Storage.hpp"
|
||||
|
||||
namespace fw
|
||||
{
|
||||
class Rules : public Storage
|
||||
{
|
||||
protected:
|
||||
uint8_t amount_of_rules = 0;
|
||||
firewall_rule_t *rule_head = NULL;
|
||||
|
||||
void add_rule_to_firewall(firewall_rule_t *);
|
||||
firewall_rule_t *add_rule_to_firewall(String, String, String, String, String, String);
|
||||
firewall_rule_t *get_rule_from_firewall(uint8_t);
|
||||
ok_t delete_rule_from_firewall(uint8_t);
|
||||
|
||||
public:
|
||||
Rules();
|
||||
~Rules();
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
Reference in a new issue