diff --git a/src/opnsense/scripts/firmware/register.php b/src/opnsense/scripts/firmware/register.php index cb3e246df..90475e2b1 100755 --- a/src/opnsense/scripts/firmware/register.php +++ b/src/opnsense/scripts/firmware/register.php @@ -2,7 +2,7 @@ + * Copyright (c) 2021-2022 Franco Fichtner * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -114,16 +114,19 @@ function plugins_disk_get() foreach (glob('/usr/local/opnsense/version/*') as $name) { $filename = basename($name); - if ($filename == 'base' || $filename == 'kernel' || $filename == 'pkgs') { + $prefix = explode('.', $filename)[0]; + + if ($prefix == 'base' || $prefix == 'kernel' || $prefix == 'pkgs') { continue; } + $ret = json_decode(@file_get_contents($name), true); if ($ret == null || !isset($ret['product_id'])) { echo "Ignoring invalid metadata: $name" . PHP_EOL; continue; } - if (strpos($filename, 'core') === 0) { + if ($prefix == 'core') { if (strpos($ret['product_id'], '-') !== false) { $type = preg_replace('/[^-]+-/', '', $ret['product_id']); }