mirror of
https://github.com/opnsense/core.git
synced 2026-10-12 02:20:36 +00:00
Guard if migrations fail and users already set new values, they should precede values the migration might set on a rerun
This commit is contained in:
@@ -37,15 +37,31 @@ class MFP1_0_9 extends BaseModelMigration
|
||||
public function run($model)
|
||||
{
|
||||
if ($model instanceof Filter) {
|
||||
$legacy = Config::getInstance()->object()->system;
|
||||
/* Copy only so the legacy values remain available if migration recovery is needed. */
|
||||
$model->settings->filter->setNodes([
|
||||
'scrub_enabled' => empty($legacy->scrub_interface_disable) ? '1' : '0',
|
||||
'scrub_no_df' => !empty($legacy->scrubnodf) ? '1' : '0',
|
||||
'scrub_random_id' => !empty($legacy->scrubrnid) ? '1' : '0',
|
||||
]);
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy = $config->system;
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->scrub_enabled)) {
|
||||
$model->settings->filter->scrub_enabled = empty($legacy->scrub_interface_disable) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->scrub_no_df)) {
|
||||
$model->settings->filter->scrub_no_df = !empty($legacy->scrubnodf) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->scrub_random_id)) {
|
||||
$model->settings->filter->scrub_random_id = !empty($legacy->scrubrnid) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
}
|
||||
|
||||
public function post($model)
|
||||
{
|
||||
if ($model instanceof Filter) {
|
||||
$legacy = Config::getInstance()->object()->system;
|
||||
unset(
|
||||
$legacy->scrub_interface_disable,
|
||||
$legacy->scrubnodf,
|
||||
$legacy->scrubrnid,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,11 +39,15 @@ class MFP1_1_0 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->nat->setNodes([
|
||||
'reflection_dnat' => empty($legacy_system->disablenatreflection) ? '1' : '0',
|
||||
'reflection_binat' => !empty($legacy_system->enablebinatreflection) ? '1' : '0',
|
||||
'reflection_snat' => !empty($legacy_system->enablenatreflectionhelper) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->nat->reflection_dnat)) {
|
||||
$model->settings->nat->reflection_dnat = empty($legacy_system->disablenatreflection) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->nat->reflection_binat)) {
|
||||
$model->settings->nat->reflection_binat = !empty($legacy_system->enablebinatreflection) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->nat->reflection_snat)) {
|
||||
$model->settings->nat->reflection_snat = !empty($legacy_system->enablenatreflectionhelper) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,9 +39,9 @@ class MFP1_1_1 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->alias->setNodes([
|
||||
'bogons_interval' => !empty($legacy_system->bogons->interval) ? (string)$legacy_system->bogons->interval : 'monthly',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->alias->bogons_interval)) {
|
||||
$model->settings->alias->bogons_interval = !empty($legacy_system->bogons->interval) ? (string)$legacy_system->bogons->interval : 'monthly';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,9 +39,9 @@ class MFP1_1_2 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->filter->setNodes([
|
||||
'skip_rules_gw_down' => !empty($legacy_system->skip_rules_gw_down) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->skip_rules_gw_down)) {
|
||||
$model->settings->filter->skip_rules_gw_down = !empty($legacy_system->skip_rules_gw_down) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,12 +39,18 @@ class MFP1_1_3 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->filter->setNodes([
|
||||
'lb_use_sticky' => !empty($legacy_system->lb_use_sticky) ? '1' : '0',
|
||||
'source_tracking_timeout' => (string)$legacy_system->srctrack,
|
||||
'pf_share_forward' => !empty($legacy_system->pf_share_forward) ? '1' : '0',
|
||||
'pf_disable_force_gw' => !empty($legacy_system->pf_disable_force_gw) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->lb_use_sticky)) {
|
||||
$model->settings->filter->lb_use_sticky = !empty($legacy_system->lb_use_sticky) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->source_tracking_timeout)) {
|
||||
$model->settings->filter->source_tracking_timeout = (string)$legacy_system->srctrack;
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->pf_share_forward)) {
|
||||
$model->settings->filter->pf_share_forward = !empty($legacy_system->pf_share_forward) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->pf_disable_force_gw)) {
|
||||
$model->settings->filter->pf_disable_force_gw = !empty($legacy_system->pf_disable_force_gw) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,9 +39,9 @@ class MFP1_1_4 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->filter->setNodes([
|
||||
'schedule_states' => !empty($legacy_system->schedule_states) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->schedule_states)) {
|
||||
$model->settings->filter->schedule_states = !empty($legacy_system->schedule_states) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,13 +39,21 @@ class MFP1_1_5 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_syslog = $config->syslog;
|
||||
$model->settings->logging->setNodes([
|
||||
'default_block' => empty($legacy_syslog->nologdefaultblock) ? '1' : '0',
|
||||
'default_pass' => empty($legacy_syslog->nologdefaultpass) ? '1' : '0',
|
||||
'source_nat' => !empty($legacy_syslog->logoutboundnat) ? '1' : '0',
|
||||
'bogons' => empty($legacy_syslog->nologbogons) ? '1' : '0',
|
||||
'private_networks' => empty($legacy_syslog->nologprivatenets) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->default_block)) {
|
||||
$model->settings->logging->default_block = empty($legacy_syslog->nologdefaultblock) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->default_pass)) {
|
||||
$model->settings->logging->default_pass = empty($legacy_syslog->nologdefaultpass) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->source_nat)) {
|
||||
$model->settings->logging->source_nat = !empty($legacy_syslog->logoutboundnat) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->bogons)) {
|
||||
$model->settings->logging->bogons = empty($legacy_syslog->nologbogons) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->private_networks)) {
|
||||
$model->settings->logging->private_networks = empty($legacy_syslog->nologprivatenets) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -39,14 +39,24 @@ class MFP1_1_6 extends BaseModelMigration
|
||||
if ($model instanceof Filter) {
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$model->settings->filter->setNodes([
|
||||
'disable_reply_to' => !empty($legacy_system->disablereplyto) ? '1' : '0',
|
||||
'no_antilockout' => !empty($legacy_system->webgui->noantilockout) ? '1' : '0',
|
||||
'no_ipv6_rfc4890_req' => !empty($legacy_system->no_ipv6_rfc4890_req) ? '1' : '0',
|
||||
'no_port0_block' => !empty($legacy_system->no_port0_block) ? '1' : '0',
|
||||
'no_sshlockout' => !empty($legacy_system->no_sshlockout) ? '1' : '0',
|
||||
'no_virusprot' => !empty($legacy_system->no_virusprot) ? '1' : '0',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->disable_reply_to)) {
|
||||
$model->settings->filter->disable_reply_to = !empty($legacy_system->disablereplyto) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->no_antilockout)) {
|
||||
$model->settings->filter->no_antilockout = !empty($legacy_system->webgui->noantilockout) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->no_ipv6_rfc4890_req)) {
|
||||
$model->settings->filter->no_ipv6_rfc4890_req = !empty($legacy_system->no_ipv6_rfc4890_req) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->no_port0_block)) {
|
||||
$model->settings->filter->no_port0_block = !empty($legacy_system->no_port0_block) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->no_sshlockout)) {
|
||||
$model->settings->filter->no_sshlockout = !empty($legacy_system->no_sshlockout) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->no_virusprot)) {
|
||||
$model->settings->filter->no_virusprot = !empty($legacy_system->no_virusprot) ? '1' : '0';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
@@ -40,28 +40,54 @@ class MFP1_1_7 extends BaseModelMigration
|
||||
$config = Config::getInstance()->object();
|
||||
$legacy_system = $config->system;
|
||||
$legacy_filter = $config->filter;
|
||||
$model->settings->filter->setNodes([
|
||||
'disable_filter' => !empty($legacy_system->disablefilter) ? '1' : '0',
|
||||
'optimization' => !empty($legacy_system->optimization) ? (string)$legacy_system->optimization : 'normal',
|
||||
'state_policy' => !empty($legacy_system->{'state-policy'}) ? '1' : '0',
|
||||
'adaptive_start' => !empty($legacy_system->adaptivestart) ? (string)$legacy_system->adaptivestart : '',
|
||||
'adaptive_end' => !empty($legacy_system->adaptiveend) ? (string)$legacy_system->adaptiveend : '',
|
||||
'maximum_states' => !empty($legacy_system->maximumstates) ? (string)$legacy_system->maximumstates : '',
|
||||
'maximum_fragments' => !empty($legacy_system->maximumfrags) ? (string)$legacy_system->maximumfrags : '',
|
||||
'maximum_table_entries' => !empty($legacy_system->maximumtableentries) ? (string)$legacy_system->maximumtableentries : '',
|
||||
'bypass_static_routes' => !empty($legacy_filter->bypassstaticroutes) ? '1' : '0',
|
||||
'syncookies' => (string)$legacy_system->syncookies,
|
||||
'syncookies_adaptive_start' => (string)$legacy_system->syncookies_adaptstart,
|
||||
'syncookies_adaptive_end' => (string)$legacy_system->syncookies_adaptend,
|
||||
'keep_counters' => !empty($legacy_system->keepcounters) ? '1' : '0',
|
||||
]);
|
||||
$model->settings->alias->setNodes([
|
||||
'aliases_resolve_interval' => !empty($legacy_system->aliasesresolveinterval) ? (string)$legacy_system->aliasesresolveinterval : '300',
|
||||
'check_aliases_url_cert' => !empty($legacy_system->checkaliasesurlcert) ? '1' : '0',
|
||||
]);
|
||||
$model->settings->logging->setNodes([
|
||||
'debug' => !empty($legacy_system->pfdebug) ? (string)$legacy_system->pfdebug : 'urgent',
|
||||
]);
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->disable_filter)) {
|
||||
$model->settings->filter->disable_filter = !empty($legacy_system->disablefilter) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->optimization)) {
|
||||
$model->settings->filter->optimization = !empty($legacy_system->optimization) ? (string)$legacy_system->optimization : 'normal';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->state_policy)) {
|
||||
$model->settings->filter->state_policy = !empty($legacy_system->{'state-policy'}) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->adaptive_start)) {
|
||||
$model->settings->filter->adaptive_start = !empty($legacy_system->adaptivestart) ? (string)$legacy_system->adaptivestart : '';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->adaptive_end)) {
|
||||
$model->settings->filter->adaptive_end = !empty($legacy_system->adaptiveend) ? (string)$legacy_system->adaptiveend : '';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->maximum_states)) {
|
||||
$model->settings->filter->maximum_states = !empty($legacy_system->maximumstates) ? (string)$legacy_system->maximumstates : '';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->maximum_fragments)) {
|
||||
$model->settings->filter->maximum_fragments = !empty($legacy_system->maximumfrags) ? (string)$legacy_system->maximumfrags : '';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->maximum_table_entries)) {
|
||||
$model->settings->filter->maximum_table_entries = !empty($legacy_system->maximumtableentries) ? (string)$legacy_system->maximumtableentries : '';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->bypass_static_routes)) {
|
||||
$model->settings->filter->bypass_static_routes = !empty($legacy_filter->bypassstaticroutes) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->syncookies)) {
|
||||
$model->settings->filter->syncookies = (string)$legacy_system->syncookies;
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->syncookies_adaptive_start)) {
|
||||
$model->settings->filter->syncookies_adaptive_start = (string)$legacy_system->syncookies_adaptstart;
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->syncookies_adaptive_end)) {
|
||||
$model->settings->filter->syncookies_adaptive_end = (string)$legacy_system->syncookies_adaptend;
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->filter->keep_counters)) {
|
||||
$model->settings->filter->keep_counters = !empty($legacy_system->keepcounters) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->alias->aliases_resolve_interval)) {
|
||||
$model->settings->alias->aliases_resolve_interval = !empty($legacy_system->aliasesresolveinterval) ? (string)$legacy_system->aliasesresolveinterval : '300';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->alias->check_aliases_url_cert)) {
|
||||
$model->settings->alias->check_aliases_url_cert = !empty($legacy_system->checkaliasesurlcert) ? '1' : '0';
|
||||
}
|
||||
if (!isset($config->OPNsense->Firewall->Filter->settings->logging->debug)) {
|
||||
$model->settings->logging->debug = !empty($legacy_system->pfdebug) ? (string)$legacy_system->pfdebug : 'urgent';
|
||||
}
|
||||
}
|
||||
|
||||
parent::run($model);
|
||||
|
||||
Reference in New Issue
Block a user