Commit Message
Apache 2.4.27 breaks 'ExtraHD'-GUI => "Internal server error":
Opening 'extrahd.cgi' led to:
"Response header name 'scanhd idescanhd partitionsCache-control' contains
invalid characters, aborting request".
Triggered by:
https://forum.ipfire.org/viewtopic.php?f=27&t=19550#p111030
Discussion:
https://forum.ipfire.org/viewtopic.php?f=50&t=19563&sid=575337ac1caf1df492fced01ca6243de#p111048
Solution (thanks gocart!):
https://forum.ipfire.org/viewtopic.php?f=22&t=19563#p111052
=> Redirect '/usr/local/bin/extrahdctrl'-output to stdout.
Furthermore, I added a "workaround to suppress a warning when a variable is used only once"
in 'extrahd.cgi', because after activating 'use warnings' and 'fatals to browser' I got "possible
typo"-warnings in 'error_log'.
Plus, fixed typo in 'extrahd.pl'.
Best,
Matthias
Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
---
config/extrahd/extrahd.pl | 2 +-
html/cgi-bin/extrahd.cgi | 9 +++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
@@ -77,7 +77,7 @@ if ( "$ARGV[0]" eq "mount" ) {
if ( ! `/bin/mount | /bin/fgrep $ARGV[1]` ) {
system("/bin/cp -f /etc/fstab $fstab");
system("/bin/fgrep -v $ARGV[1] <$fstab >/etc/fstab");
- print "Succesfully umounted $ARGV[1].\n";
+ print "Successfully umounted $ARGV[1].\n";
exit(0);
} else {
print "Can't umount $ARGV[1].\n";
@@ -48,8 +48,13 @@ my $partitionentry = "";
my $devicefile = "/var/ipfire/extrahd/devices";
my $scanfile = "/var/ipfire/extrahd/scan";
my $partitionsfile = "/var/ipfire/extrahd/partitions";
-system("/usr/local/bin/extrahdctrl scanhd ide");
-system("/usr/local/bin/extrahdctrl scanhd partitions");
+
+#workaround to suppress a warning when a variable is used only once
+my @dummy = ( ${Header::colourgreen}, ${Header::colourred} );
+undef (@dummy);
+
+system("/usr/local/bin/extrahdctrl scanhd ide >/dev/null");
+system("/usr/local/bin/extrahdctrl scanhd partitions >/dev/null");
&Header::showhttpheaders();