aboutsummaryrefslogtreecommitdiffstats
path: root/config/snort/snort_migrate_config.php
diff options
context:
space:
mode:
Diffstat (limited to 'config/snort/snort_migrate_config.php')
-rw-r--r--config/snort/snort_migrate_config.php39
1 files changed, 37 insertions, 2 deletions
diff --git a/config/snort/snort_migrate_config.php b/config/snort/snort_migrate_config.php
index 218237ab..d483ba47 100644
--- a/config/snort/snort_migrate_config.php
+++ b/config/snort/snort_migrate_config.php
@@ -322,6 +322,41 @@ foreach ($rule as &$r) {
}
}
+ // Migrate any Barnyard2 settings to the new advanced fields.
+ // Parse the old DB connect string and find the "host", "user",
+ // "dbname" and "password" values and save them in the new
+ // MySQL field names in the config file.
+ if (!empty($pconfig['barnyard_mysql'])) {
+ if (preg_match_all('/(dbname|host|user|password)\s*\=\s*([^\s]*)/i', $pconfig['barnyard_mysql'], $matches)) {
+ foreach ($matches[1] as $k => $p) {
+ if (strcasecmp($p, 'dbname') == 0)
+ $pconfig['barnyard_dbname'] = $matches[2][$k];
+ elseif (strcasecmp($p, 'host') == 0)
+ $pconfig['barnyard_dbhost'] = $matches[2][$k];
+ elseif (strcasecmp($p, 'user') == 0)
+ $pconfig['barnyard_dbuser'] = $matches[2][$k];
+ elseif (strcasecmp($p, 'password') == 0)
+ $pconfig['barnyard_dbpwd'] = base64_encode($matches[2][$k]);
+ }
+ $pconfig['barnyard_mysql_enable'] = 'on';
+ unset($pconfig['barnyard_mysql']);
+ }
+ // Since Barnyard2 was enabled, configure the new archived log settings
+ $pconfig['u2_archived_log_retention'] = '168';
+ $pconfig['barnyard_archive_enable'] = 'on';
+ $pconfig['unified2_log_limit'] = '32';
+ $updated_cfg = true;
+ }
+
+ // This setting is deprecated and replaced
+ // by 'barnyard_enable' since any Barnyard2
+ // chaining requires unified2 logging.
+ if (isset($pconfig['snortunifiedlog'])) {
+ unset($pconfig['snortunifiedlog']);
+ $pconfig['barnyard_enable'] = 'on';
+ $updated_cfg = true;
+ }
+
// Save the new configuration data into the $config array pointer
$r = $pconfig;
}
@@ -330,9 +365,9 @@ unset($r);
// Write out the new configuration to disk if we changed anything
if ($updated_cfg) {
- $config['installedpackages']['snortglobal']['snort_config_ver'] = "3.0.4";
+ $config['installedpackages']['snortglobal']['snort_config_ver'] = "3.0.8";
log_error("[Snort] Saving configuration settings in new format...");
- write_config();
+ write_config("Snort pkg: migrate existing settings to new format as part of package upgrade.");
log_error("[Snort] Settings successfully migrated to new configuration format...");
}
else