File webif-fixes.diff of Package webif

Index: webif_0.3-8/usr/lib/webif/validate.awk
===================================================================
--- webif_0.3-8.orig/usr/lib/webif/validate.awk
+++ webif_0.3-8/usr/lib/webif/validate.awk
@@ -25,9 +25,9 @@ $1 == "int" {
 }
 
 # two stages ip/netmask validation
 $1 == "ipmask" {
-	ipmasks = split(value, ipmask, "\/")
+	ipmasks = split(value, ipmask, "/")
 	if (ipmasks > 0) {
 		value = ipmask[1]
 		$1 = "ip"
 	}
@@ -97,9 +97,9 @@ $1 == "netmask" {
 # two stages ip/netmask validation
 ipmasks > 0 {
 	$1 = "ipmask"
 	value = ipmask[1]
-	for (i = 2; i <= ipmasks; i++) value = value "\/" ipmask[i]
+	for (i = 2; i <= ipmasks; i++) value = value "/" ipmask[i]
 }
 ipmasks > 2 {
        	valid_type = 1
 	valid = 0
Index: webif_0.3-8/usr/lib/webif/browser.awk
===================================================================
--- webif_0.3-8.orig/usr/lib/webif/browser.awk
+++ webif_0.3-8/usr/lib/webif/browser.awk
@@ -12,12 +12,12 @@ BEGIN {
 	print "<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>"
 	print "</tr>"
 	odd=0
 	# do not let the user to make wrong things (hm, at least some of them)
-	xdirectory="^(\/bin$|\/bin\/$|\/dev$|\/dev\/.*$|\/etc$|\/jffs$|\/lib$|\/lib\/modules$|\/lib\/modules\/.*$|\/mnt$|\/proc$|\/proc\/.*$|\/rom$|\/rom\/.*$|\/sbin$|\/sys$|\/sys\/.*$|\/usr$|\/usr\/bin$|\/usr\/lib$|\/usr\/lib\/webif$|\/usr\/sbin$|\/usr\/share$|\/www$|\/www\/.*$|\/www\/themes\/.*$|\/www\/cgi-bin\/webif$)"
-	xdownload="^(\/dev$|\/dev\/.*$|\/proc$|\/proc\/.*$|\/sys$|\/sys\/.*$)"
-	xedit="^(\/dev$|\/dev\/.*$|\/lib$|\/lib\/modules\/.*$|\/proc$|\/proc\/.*$|\/rom$|\/rom\/.*$|\/sys$|\/sys\/.*$)"
-	xdelete="^(\/dev$|\/dev\/.*$|\/lib$|\/lib\/modules\/.*$|\/proc$|\/proc\/.*$|\/rom$|\/rom\/.*$|\/sys$|\/sys\/.*$)"
+	xdirectory="^(/bin$|/bin/$|/dev$|/dev/.*$|/etc$|/jffs$|/lib$|/lib/modules$|/lib/modules/.*$|/mnt$|/proc$|/proc/.*$|/rom$|/rom/.*$|/sbin$|/sys$|/sys/.*$|/usr$|/usr/bin$|/usr/lib$|/usr/lib/webif$|/usr/sbin$|/usr/share$|/www$|/www/.*$|/www/themes/.*$|/www/cgi-bin/webif$)"
+	xdownload="^(/dev$|/dev/.*$|/proc$|/proc/.*$|/sys$|/sys/.*$)"
+	xedit="^(/dev$|/dev/.*$|/lib$|/lib/modules/.*$|/proc$|/proc/.*$|/rom$|/rom/.*$|/sys$|/sys/.*$)"
+	xdelete="^(/dev$|/dev/.*$|/lib$|/lib/modules/.*$|/proc$|/proc/.*$|/rom$|/rom/.*$|/sys$|/sys/.*$)"
 }
 
 {
 	type = substr($1, 1, 1);
Index: webif_0.3-8/www/cgi-bin/webif/network-wakeonlan.sh
===================================================================
--- webif_0.3-8.orig/www/cgi-bin/webif/network-wakeonlan.sh
+++ webif_0.3-8/www/cgi-bin/webif/network-wakeonlan.sh
@@ -61,11 +61,11 @@ name_for_ip() {
 	grep -e "^[\t ]*$1[\t ]+.*" $HOSTS_FILE | sed 's/^[\t ]*'$1'[\t ]*//'
 }
 
 if [ -e /etc/ethers ]; then
-	cat $ETHERS_FILE | awk -F ' ' '
+	cat $ETHERS_FILE | grep -v '^#' | awk -F ' ' '
 	{
-		"grep -e "$2" /etc/hosts | sed \"s/^"$2"\w*//\"" | getline hostname;
+		"grep -e "$2" /etc/hosts | sed \"s/^"$2"\\w*//\"" | getline hostname;
 		print "<tr><td>" hostname "</td><td>" $2 "</td><td>" $1 "</td><td><button name=\"wake\" type=\"submit\" value=\"" $1 "\">Wake up</button></td></tr>";
 	}'
 fi
 
Index: webif_0.3-8/www/cgi-bin/webif/data.sh
===================================================================
--- webif_0.3-8.orig/www/cgi-bin/webif/data.sh
+++ webif_0.3-8/www/cgi-bin/webif/data.sh
@@ -1,2 +1,11 @@
 #!/usr/bin/webif-page
-<? date ?><?if [ "$FORM_if" ] ?><? grep "${FORM_if}:" /proc/net/dev ?><?el?><? head -n 1 /proc/stat ?><?fi?>
\ No newline at end of file
+Content-Type: text/plain; charset=UTF-8
+
+<?
+TZ=GMT date
+if [ "$FORM_if" ]; then
+  grep "${FORM_if}:" /proc/net/dev
+else
+  head -n 1 /proc/stat
+fi
+?>
Index: webif_0.3-8/www/cgi-bin/webif/graphs-cpu.sh
===================================================================
--- webif_0.3-8.orig/www/cgi-bin/webif/graphs-cpu.sh
+++ webif_0.3-8/www/cgi-bin/webif/graphs-cpu.sh
@@ -11,9 +11,9 @@ header "Graphs" "graphs_cpu_subcategory#
 # IE (all versions) does not support the object tag with svg!
 #	<object data="" width="600" height="300" type="image/svg+xml">@TR<<graphs_svg_required#This object requires the SVG support.>></object>
 ?>
 <center>
-	<embed src="/cgi-bin/webif/graph_cpu_svg.sh?data.sh"
+	<embed src="/cgi-bin/webif/graph_cpu_svg.sh"
 		width="600" height="300" type="image/svg+xml" />
 </center>
 <? footer ?>
 <!--
Index: webif_0.3-8/www/svggraph/graph_if.svg
===================================================================
--- webif_0.3-8.orig/www/svggraph/graph_if.svg
+++ webif_0.3-8/www/svggraph/graph_if.svg
@@ -128,11 +128,12 @@ var scale_type = '@TR<<graph_if_follow#f
 var fetch_url='';
 
 function init(evt) {	
 	/* hacked in fix for all browsers by spectra 
-	 * he says is 'ugly', and someone may want to redo the 'right' way */	 
-	fetch_url=location.search.split('?');
-	fetch_url='/cgi-bin/webif/data.sh?' + fetch_url[fetch_url.length-1];		
+	* he says is 'ugly', and someone may want to redo the 'right' way */
+	var loc = document.location;
+	fetch_url = location.search.split('?');
+	fetch_url = loc.protocol + '//' + loc.host + '/cgi-bin/webif/data.sh?' + fetch_url[fetch_url.length-1];
 	/* end hacked in fix */	
 	SVGDoc = evt.target.ownerDocument;
 	SVGDoc.getElementById("switch_unit").addEventListener("mousedown", switch_unit, false);
 	SVGDoc.getElementById("switch_scale").addEventListener("mousedown", switch_scale, false);
@@ -166,9 +167,9 @@ function plot_data(obj) {
 	// (format: "date" output, newline, proper line of /proc/net/dev)
 	var data=obj.content.split("\n");
 	var dateStr=data[0];
 	//fake timezone cause the real value might confuse JS
-	dateStr=dateStr.replace(/ [A-Z]+ /, ' GMT '); 
+	//dateStr=dateStr.replace(/ [A-Z]+ /, ' GMT ');
 	var ugmt=(Date.parse(dateStr))/1000;
 
 	data=data[1].split(/\s+|:/);
 	while (data[0]!=parseInt(data[0])) {
@@ -318,5 +319,5 @@ function formatSpeedBytes(speed) {
 }
 
 ]]>
 </script>
-</svg>
\ No newline at end of file
+</svg>
Index: webif_0.3-8/www/svggraph/graph_cpu.svg
===================================================================
--- webif_0.3-8.orig/www/svggraph/graph_cpu.svg
+++ webif_0.3-8/www/svggraph/graph_cpu.svg
@@ -107,12 +107,14 @@ var cpu_data = new Array();
 
 var max_num_points = 120;  // maximum number of plot data points
 var step = 600 / max_num_points;  // plot X division size
 
-var fetch_url='/cgi-bin/webif/data.sh';
+var fetch_url='';
 
 function init(evt) {
 	SVGDoc = evt.target.ownerDocument;
+	var loc = document.location;
+	fetch_url = loc.protocol + '//' + loc.host + '/cgi-bin/webif/data.sh';
 	fetch_data();
 	setInterval('fetch_data()', 1000);
 }
 
@@ -195,5 +197,5 @@ function isNumber(a) {
 }
 
 ]]>
 </script>
-</svg>
\ No newline at end of file
+</svg>
openSUSE Build Service is sponsored by