[4/4] general-functions.pl: Do not die if no red interface could be determined.
Commit Message
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
config/cfgroot/general-functions.pl | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
Comments
Hello Stefan,
> On 9 Mar 2022, at 14:12, Stefan Schantl <stefan.schantl@ipfire.org> wrote:
>
> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
> ---
> config/cfgroot/general-functions.pl | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl
> index 5118a9d69..6f49585dc 100644
> --- a/config/cfgroot/general-functions.pl
> +++ b/config/cfgroot/general-functions.pl
> @@ -1228,12 +1228,15 @@ sub firewall_reload() {
> # Function which will return the used interface for the red network zone (red0, ppp0, etc).
> # if you change this also check speed.cgi that include a local copy for systemload reasons
> sub get_red_interface() {
> -
> - open(IFACE, "${General::swroot}/red/iface") or die "Could not open /var/ipfire/red/iface";
You could have just replaced the “die …” part with a return statement and save the extra check if the file exists.
Best,
-Michael
> -
> - my $interface = <IFACE>;
> - close(IFACE);
> - chomp $interface;
> + my $interface;
> + my $red_iface_file = "${General::swroot}/red/iface";
> +
> + if (-e $red_iface_file) {
> + open(IFACE, "$red_iface_file") or die "Could not open $red_iface_file";
> + $interface = <IFACE>;
> + close(IFACE);
> + chomp $interface;
> + }
>
> return $interface;
> }
> --
> 2.30.2
>
@@ -1228,12 +1228,15 @@ sub firewall_reload() {
# Function which will return the used interface for the red network zone (red0, ppp0, etc).
# if you change this also check speed.cgi that include a local copy for systemload reasons
sub get_red_interface() {
-
- open(IFACE, "${General::swroot}/red/iface") or die "Could not open /var/ipfire/red/iface";
-
- my $interface = <IFACE>;
- close(IFACE);
- chomp $interface;
+ my $interface;
+ my $red_iface_file = "${General::swroot}/red/iface";
+
+ if (-e $red_iface_file) {
+ open(IFACE, "$red_iface_file") or die "Could not open $red_iface_file";
+ $interface = <IFACE>;
+ close(IFACE);
+ chomp $interface;
+ }
return $interface;
}