rrdimage: Improve CGI & cosmetic changes

Message ID 20210411120106.1993-1-hofmann@leo-andres.de
State Accepted
Commit c095f8143580b587b8369a27fb93458a9cbdc169
Headers
Series rrdimage: Improve CGI & cosmetic changes |

Commit Message

Leo-Andres Hofmann April 11, 2021, 12:01 p.m. UTC
  Write graph error messages to the system log, to simplify
further inspection by the user.
Add additional parameter check to prevent a possible redirect loop
if the URL format is changed in the future.

Cosmetic: Use underlining instead of background color for highlighting

Fixes #10643

Signed-off-by: Leo-Andres Hofmann <hofmann@leo-andres.de>
---
 html/cgi-bin/getrrdimage.cgi                  | 6 +++++-
 html/html/themes/ipfire/include/css/style.css | 4 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)
  

Patch

diff --git a/html/cgi-bin/getrrdimage.cgi b/html/cgi-bin/getrrdimage.cgi
index 0caefe0ac..34ee4bf7a 100644
--- a/html/cgi-bin/getrrdimage.cgi
+++ b/html/cgi-bin/getrrdimage.cgi
@@ -60,7 +60,7 @@  unless(($origin =~ /^\w+?\.cgi$/) && ($graph =~ /^[\w-]+?$/) && ($range ~~ @Grap
 
 # Unsupported graph origin: Redirect request to the CGI specified in the "origin" parameter
 # This enables backwards compatibility with addons that use Graphs::makegraphbox to ouput their own graphs
-unless($origin ~~ @supported_origins) {
+unless(($origin ~~ @supported_origins) || ($origin eq "getrrdimage.cgi")) {
 	# Rewrite to old URL format: /[graph origin cgi]?[graph name]?[time range]
 	my $location = "https://$ENV{'SERVER_NAME'}:$ENV{'SERVER_PORT'}/cgi-bin/${origin}?${graph}?${range}";
 	
@@ -195,6 +195,10 @@  if($origin eq "entropy.cgi") {				## entropy.cgi
 # Add request parameters for debugging
 if($graphstatus) {
 	$graphstatus = "$graphstatus\n($origin, $graph, $range)";
+
+	# Save message in system log for further inspection
+	General::log($graphstatus);
+
 	_print_error($graphstatus);
 }
 
diff --git a/html/html/themes/ipfire/include/css/style.css b/html/html/themes/ipfire/include/css/style.css
index 10644a9f8..2c727a770 100644
--- a/html/html/themes/ipfire/include/css/style.css
+++ b/html/html/themes/ipfire/include/css/style.css
@@ -348,14 +348,14 @@  div.rrdimage > ul {
 	border: none;
 	background: none;
 	cursor: pointer;
-	text-decoration: underline;
+	text-decoration: none;
 }
 .rrdimage button:focus {
 	outline: none;
 	box-shadow: none;
 }
 .rrdimage button.selected {
-	background-color: rgba(135, 203, 0, 0.2);
+	text-decoration: underline;
 }
 
 div.rrdimage > img {