diff --git a/init/init-lib.pl b/init/init-lib.pl index b7c3286dc..d09048e51 100755 --- a/init/init-lib.pl +++ b/init/init-lib.pl @@ -549,13 +549,9 @@ elsif ($init_mode eq "systemd") { else { my $out = &backquote_command("systemctl is-enabled ". quotemeta($unit)." 2>&1"); - if (lc($out) =~ /no such file/) { - return 0; - } - else { - $out =~ s/^\s+|\s+$//g; - return $out eq 'enabled' ? 2 : 1; - } + $out =~ s/^\s+|\s+$//g; + return lc($out) eq 'enabled' ? 2 : + (lc($out) eq 'disabled' ? 1 : 0); } } if ($init_mode eq "init" || $init_mode eq "upstart" || diff --git a/os_list.txt b/os_list.txt index 00d5cec90..a49151b5d 100644 --- a/os_list.txt +++ b/os_list.txt @@ -49,7 +49,7 @@ Gralinux $1 redhat-linux $2+8.0 `cat /etc/redhtat-release 2>/dev/null` =~ /Gra NeoShine Linux $1 redhat-linux $1+10 `cat /etc/neoshine-release 2>/dev/null` =~ /NeoShine\s+Linux.*release\s+(\d+)/i Endian Firewall Linux $1 redhat-linux $1+10.0 `cat /etc/endian-release 2>/dev/null` =~ /release\s+(\S+)/ Oracle Enterprise Linux $2 redhat-linux $2+8.0 `cat /etc/enterprise-release 2>/dev/null` =~ /Enterprise.*Linux\s+Enterprise\s+Linux\s+Server\s+release\s+(\d+)/i -Oracle Linux $2 redhat-linux $2+8.0 `cat /etc/oracle-release 2>/dev/null` =~ /Oracle\s+Linux\s+Server\s+release\s+([0-9\.]+)/i +Oracle Linux $2 redhat-linux $2+8.0 `cat /etc/oracle-release 2>/dev/null` =~ /Oracle\s+Linux\s+Server\s+.*?([0-9\.]+)/i Oracle VM $2 redhat-linux $2+8.0 `cat /etc/ovs-release 2>/dev/null` =~ /Oracle.*VM\s+server\s+release\s+(\d+)/i XenServer Linux $1 redhat-linux 13.0 `cat /etc/redhat-release 2>/dev/null` =~ /XenServer\s+release\s+5\./ XCP-ng Linux $1 redhat-linux $2+8.0 `cat /etc/redhat-release 2>/dev/null` =~ /XCP-ng\s+release\s+([\d\.]+)/ diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index e46c199c6..962da9718 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -4899,8 +4899,7 @@ $main::initial_module_name ||= $module_name; # Set some useful variables my $current_themes; -$current_themes = $ENV{'THEME_DIRS'} ? $ENV{'THEME_DIRS'} : - $ENV{'MOBILE_DEVICE'} && defined($gconfig{'mobile_theme'}) ? +$current_themes = $ENV{'MOBILE_DEVICE'} && defined($gconfig{'mobile_theme'}) ? $gconfig{'mobile_theme'} : defined($remote_user_attrs{'theme'}) ? $remote_user_attrs{'theme'} : @@ -4909,6 +4908,11 @@ $current_themes = $ENV{'THEME_DIRS'} ? $ENV{'THEME_DIRS'} : defined($gconfig{'theme_'.$base_remote_user}) ? $gconfig{'theme_'.$base_remote_user} : $gconfig{'theme'}; +# Prevent breakage on inconsistent configuration +my $env_theme_dirs = $ENV{'THEME_DIRS'}; +if (!$env_theme_dirs || ($env_theme_dirs && $current_themes ne $env_theme_dirs)) { + $current_themes = $env_theme_dirs; + } @current_themes = split(/\s+/, $current_themes); $current_theme = $current_themes[0]; @theme_root_directories = map { "$root_directory/$_" } @current_themes;