remove any leading ::ffff: on ipv4 addresses
[spider.git] / spider-web / spider.cgi
index 8f104ce97d57e1117e1ab839c816a38b94d5e1c3..09ca06532ebaff61e64c7c621960e9786e2fdfc1 100755 (executable)
@@ -4,25 +4,34 @@
 # @author Ian Norton 
 # - Based on clx-web by DL6DBH (ftp://clx.muc.de/pub/clx/clx-java_10130001.tgz)
 # - Modified by PA4AB
-# @version 0.1 beta.  20010610.
+# @version 0.2 beta.  20020519.
 
 # Work out the hostname of this server.
 use Sys::Hostname;
 my $HOSTNAME = hostname();
 
-# Set the hostname manually here if the above fails.
+# Please note that the HOSTNAME MUST be resolvable from the user end. Otherwise the
+# web interface will NOT work.
+# Uncomment and set the hostname manually here if the above fails.
 # $HOSTNAME = "gb7mbc.spoo.org" ;
 $PORT = "8000" ;
+$NODECALL = "XX0XX" ;
 
 # Send text/html header to the browser.
 print "Content-type: text/html\n\n";
 
 # Get the parameters passed to the script.
 read (STDIN, $post_data, $ENV{CONTENT_LENGTH});
-@call = split (/=/, $post_data) ;
 
-# Print the page header.
+$callstart = index($post_data, "=") + 1 ;
+$callend = index($post_data, "&") ;
+
+$call = substr($post_data, $callstart, $callend - $callstart), 
+$password = substr($post_data, index($post_data, "=", $callend) + 1, length($post_data)) ;
 
+# Print the page header.
+#print("Callsign : $call") ;
+#print("Password : $password") ;
 print <<'EOF';
 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
@@ -33,7 +42,7 @@ print <<'EOF';
         <META NAME="Author" CONTENT="Ian Norton.">
         <META NAME="DESCRIPTION" CONTENT="DX Cluster web interface">
     </HEAD>
+     
 <BODY BGCOLOR="#FFFFFF" LINK="#008080" ALINK="#000099" VLINK="#000099">         
 
     <H1>
@@ -42,7 +51,7 @@ print <<'EOF';
         <B><BR>Cluster Web - DX Cluster Web Interface.</B><BR>
 EOF
 
-        print("Welcome to $HOSTNAME<BR>") ;
+        print("Welcome to $NODECALL<BR>") ;
 
 print <<'EOF';
         </FONT>
@@ -57,13 +66,15 @@ EOF
 if($ENV{CONTENT_LENGTH} > 0)
     {
     # Callsign is set - print the whole <APPLET> stuff....
-    # print("Callsign is $call[1]<BR>\n") ;
+    # print("Callsign is $call<BR>\n") ;
 
     print("<CENTER>\n") ;
     print("    <APPLET CODE=\"spiderclient.class\" CODEBASE=\"/client/\" width=800 height=130>\n") ;
-    print("        <PARAM NAME=\"CALL\" VALUE=\"$call[1]\">\n") ;
+    print("        <PARAM NAME=\"CALL\" VALUE=\"$call\">\n") ;
+    print("        <PARAM NAME=\"PASSWORD\" VALUE=\"$password\">\n") ;
     print("        <PARAM NAME=\"HOSTNAME\" VALUE=\"$HOSTNAME\">\n") ;
     print("        <PARAM NAME=\"PORT\" VALUE=\"$PORT\">\n") ;
+    print("        <PARAM NAME=\"NODECALL\" VALUE=\"$NODECALL\">\n") ;
     print("    </APPLET>\n") ;
     print("</CENTER>\n") ;
     }
@@ -75,8 +86,11 @@ else
     <FORM METHOD=POST>
         <STRONG>Please enter your callsign: </STRONG><BR>
         <INPUT name="call" size=10><BR>
+        <STRONG>Please enter your password: </STRONG><BR>
+        <INPUT name="password" size=10 TYPE=PASSWORD><BR>
         <INPUT type=submit value="Click here to Login">
     </FORM>
+    <BR>If you do not have a password set - don't enter one :)
     </CENTER>
 EOF
     }