diff --git a/www/GNUmakefile.in b/www/GNUmakefile.in index 130cbc5779644b38f611aa090c1498da80aa2155..4ccf0cdb40256d69c47a9126eea764c048a4cd82 100644 --- a/www/GNUmakefile.in +++ b/www/GNUmakefile.in @@ -64,6 +64,10 @@ BUIFILES += $(wildcard $(SRCDIR)/buildui/*.class) WEBDBFILES = $(wildcard $(SRCDIR)/webdb/*.php3) +# need to make it *.gz; with simply "*", +# we end up sucking over "CVS" +DOWNLOADFILES = $(wildcard $(SRCDIR)/downloads/*.gz) + # # This stuff only gets installed on the main site # @@ -85,6 +89,7 @@ ALLDOCS = $(notdir $(DOCFILES)) ALLTUTS = $(notdir $(TUTFILES)) ALLICONS = $(notdir $(AUTOICONS)) ALLWEBDB = $(notdir $(WEBDBFILES)) +ALLDOWNLOADS = $(notdir $(DOWNLOADFILES)) ALLCVSWEB = $(notdir $(CVSWEBFILES)) ALLBUI = $(notdir $(BUIFILES)) @@ -93,6 +98,7 @@ install: $(addprefix $(INSTALL_WWWDIR)/, $(ALLFILES)) \ $(addprefix $(INSTALL_WWWDIR)/tutorial/, $(ALLTUTS)) \ $(addprefix $(INSTALL_WWWDIR)/doc/, $(ALLDOCS)) \ $(addprefix $(INSTALL_WWWDIR)/webdb/, $(ALLWEBDB)) \ + $(addprefix $(INSTALL_WWWDIR)/downloads/, $(ALLDOWNLOADS)) \ $(addprefix $(INSTALL_WWWDIR)/buildui/, $(ALLBUI)) \ $(addprefix $(INSTALL_WWWDIR)/autostatus-icons/, $(ALLICONS)) \ $(addprefix $(INSTALL_WWWDIR)/cvsweb/, $(ALLCVSWEB)) diff --git a/www/faq.html b/www/faq.html index e1b3c7fe90d12326c1683cb76e8fb2575ae0cee4..285f598f88da2520ccac74aad73ceb2d5c9a82a6 100644 --- a/www/faq.html +++ b/www/faq.html @@ -27,6 +27,8 @@ <li> <a href="#UTT-TOOFEW">What if I need more nodes than are free?</a> <li> <a href="#UTT-2">Do I get root access on my nodes?</a> <li> <a href="#UTT-3">Do my nodes have consoles I can look at?</a> + <li> <a href="#UTT-TUNNEL">How do I connect directly to node consoles, + without going through <b>users</b>?</a> <li> <a href="#UTT-4">Can I reboot (power cycle) my nodes?</a> <li> <a href="#UTT-SCROGGED">I've scrogged my disk! Now what?</a> <li> <a href="#UTT-5">Where do I store files needed by my experiment?</a> @@ -339,6 +341,32 @@ of the node on the shelf is eight. </p> +<li><a NAME="UTT-TUNNEL"></a> + <h3>How do I connect directly to node consoles, + without going through <b>users</b>?</h3> + <p> + Clicking "Connect to Serial Line" + in the Node Options page will send your browser a "text/x-testbed-acl" + file. If you have downloaded <code>tiptunnel</code> and set it as the + handler for that MIME type, <code>tiptunnel</code> will launch a new + telnet running in a new xterm (this may take a few seconds.) + That telnet will be connected to a local port, + which is tunneled through SSL to your node's console. + Closing the xterm, exiting telnet, or killing <code>tiptunnel</code> + itself will end the connection. + </p> + <p> + You can download the gzipped <code>tiptunnel</code> + statically-linked x86 binary for FreeBSD + <a href="downloads/tiptunnel.gz">here</a>. + Simply <code>gunzip</code> it to somewhere accessible, + set it as executable with <code>chmod u+x tiptunnel</code>, + and when you click on the "Connect to Serial Line" link, + tell your browser to always use the <code>tiptunnel</code> + binary to open files of type "text/x-testbed-acl". + The source tarball, as well as a version for Windows, + will be available soon. + </p> <li><a NAME="UTT-4"></a> <h3>Can I reboot (power cycle) my nodes?</h3> <p> diff --git a/www/nodetipacl.php3 b/www/nodetipacl.php3 index 0b7f8dae1e89feb35453c94d701b1eb9b1cf2775..72873a992a918e75144a2ef200e686b56962012a 100644 --- a/www/nodetipacl.php3 +++ b/www/nodetipacl.php3 @@ -40,7 +40,7 @@ if (mysql_num_rows($query_result) == 0) { $filename = $node_id . ".acl"; -header("Content-Type: text/testbed-acl"); +header("Content-Type: text/x-testbed-acl"); header("Content-Disposition: attachment; filename=$filename;"); header("Content-Description: ACL key file for a testbed node serial port"); @@ -54,11 +54,13 @@ $keylen = $row[keylen]; $keydata = $row[keydata]; # XXX fix me!!! -$certhash = "7161bb44818e7be5a5bcd58506163e1583e6aa1c"; +# $certhash = "7161bb44818e7be5a5bcd58506163e1583e6aa1c"; +$certhash = "0bc864551de711a3d46ac173dbd67cde75c36734"; echo "host: $server\n"; echo "port: $portnum\n"; echo "keylen: $keylen\n"; echo "key: $keydata\n"; echo "ssl-server-cert: $certhash\n"; -?> \ No newline at end of file +?> + diff --git a/www/shownode.php3 b/www/shownode.php3 index a66f90648bf814b7df4771c6eeb61d443612abed..8906498b5a998f9ac4fc5cf81ac7adfdbc862f17 100644 --- a/www/shownode.php3 +++ b/www/shownode.php3 @@ -42,10 +42,20 @@ if (! $isadmin) { SUBPAGESTART(); SUBMENUSTART("Node Options"); +# +# Tip to node option +# +if ($isadmin || + TBNodeAccessCheck($uid, $node_id, $TB_NODEACCESS_MODIFYINFO)) { + WRITESUBMENUBUTTON("Connect to Serial Line</a> " . + "<a href=\"faq.php3#UTT-TUNNEL\">(howto)", + "nodetipacl.php3?node_id=$node_id"); +} + # # Edit option # -WRITESUBMENUBUTTON("Edit node info", +WRITESUBMENUBUTTON("Edit Node Info", "nodecontrol_form.php3?node_id=$node_id"); if (TBNodeAccessCheck($uid, $node_id, $TB_NODEACCESS_REBOOT)) { @@ -61,6 +71,8 @@ if ($isadmin) { } SUBMENUEND(); +# echo "<h4>(<a href=\"faq.php3#UTT-TUNNEL\">Help on 'connect to serial line'</a>)</h4>"; + # # Dump record. # @@ -73,3 +85,7 @@ SUBPAGEEND(); # PAGEFOOTER(); ?> + + + +