tahoe-lafs/src/allmydata/web/introducer.xhtml
Brian Warner 67dcedd8df introweb: fix connection hints for server announcements
A long time ago, the introducer's status web page would show the
advertised IP addresses for all published services, by parsing their
FURL's connection hints. This hasn't worked since about 12-Aug-2014 when
foolscap-0.6.5 changed the internal format of these hints (the column
has been empty this whole time).

This removes the "Advertised IPs" column from the Service Announcements
table. Instead, the service's full connection hints (not just the IP
address) is displayed in a tooltip/popup on the "Announced" timestamp
column.

The code that pulls these connection hints is now tolerant of all three
foolscap styles:

* foolscap<=0.6.4 : tuples of ("ipv4",host,port)
* 0.6.5 .. 0.8.0  : tuples of ("tcp",host,port)
* foolscap>=0.9.0 : strings

fixes ticket:2510
2015-09-22 17:19:52 -07:00

79 lines
2.8 KiB
HTML

<html xmlns:n="http://nevow.com/ns/nevow/0.1"><head>
<title>Tahoe-LAFS - Introducer Status</title>
<link href="/tahoe.css" rel="stylesheet" type="text/css"/>
<link href="/icon.png" rel="shortcut icon" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head><body>
<h1>Welcome to the Tahoe-LAFS Introducer</h1>
<div class="section" id="this-client">
<h2>This Introducer</h2>
<table class="node-info table-headings-left">
<tr><th>My nodeid:</th> <td class="nodeid mine data-chars" n:render="string" n:data="my_nodeid" /></tr>
<tr><th>My versions:</th> <td n:render="string" n:data="version" /></tr>
<tr><th>Tahoe-LAFS code imported from:</th> <td n:render="data" n:data="import_path" /></tr>
</table>
</div>
<div>Announcement Summary: <span n:render="announcement_summary" /></div>
<div>Subscription Summary: <span n:render="client_summary" /></div>
<br />
<div class="section">
<h2>Service Announcements</h2>
<table class="services table-headings-top" n:render="sequence" n:data="services">
<tr n:pattern="header">
<th class="nickname-and-peerid">
<div class="service-nickname">Nickname</div>
<div class="nodeid data-chars">ServerID</div></th>
<th>Announced</th>
<th>Version</th>
<th>Service Name</th>
</tr>
<tr n:pattern="item" n:render="service_row">
<td class="nickname-and-peerid">
<div class="nickname"><n:slot name="nickname"/></div>
<div class="nodeid data-chars"><n:slot name="serverid"/></div></td>
<td class="service-announced"><n:attr name="title"><n:slot name="connection-hints"/></n:attr><n:slot name="announced"/></td>
<td class="service-version"><n:slot name="version"/></td>
<td class="service-service-name"><n:slot name="service_name"/></td>
</tr>
<tr n:pattern="empty"><td>no peers!</td></tr>
</table>
</div>
<div>
<h2>Subscribed Clients</h2>
<table class="services table-headings-top" n:render="sequence" n:data="subscribers">
<tr n:pattern="header">
<th class="nickname-and-peerid">
<div class="service-nickname">Nickname</div>
<div class="nodeid data-chars">Tub ID</div></th>
<th>Connected From</th>
<th>Since</th>
<th>Version</th>
<th>Subscribed To</th>
</tr>
<tr n:pattern="item" n:render="subscriber_row">
<td class="nickname-and-peerid">
<div class="nickname"><n:slot name="nickname"/></div>
<div class="nodeid data-chars"><n:slot name="tubid"/></div></td>
<td><n:slot name="connected"/></td>
<td class="service-since"><n:slot name="since"/></td>
<td class="service-version"><n:slot name="version"/></td>
<td class="service-service-name"><n:slot name="service_name"/></td>
</tr>
<tr n:pattern="empty"><td>no subscribers!</td></tr>
</table>
</div>
<p class="minutia">Page rendered at <span n:render="data" n:data="rendered_at" /></p>
</body>
</html>