firefox extension for netinf

10
Firefox Extension for NetInf Jeff Thompson ICNRG meeting @ IETF-88 November 3, 2013

Upload: zandra

Post on 25-Feb-2016

43 views

Category:

Documents


2 download

DESCRIPTION

Firefox Extension for NetInf. Jeff Thompson ICNRG meeting @ IETF-88 November 3, 2013. The sites who say “ ni !”. Overview. Introduction Apache support Firefox extension D emo: NetInf.org in NetInf Self-reference problem Conclusion/future work. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Firefox Extension for  NetInf

Firefox Extension for NetInf

Jeff ThompsonICNRG meeting @ IETF-88

November 3, 2013

Page 2: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

2

The sites who say “ni !”

November 3, 2013

Page 3: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

3

Overview

• Introduction• Apache support• Firefox extension• Demo: NetInf.org in NetInf• Self-reference problem• Conclusion/future work

November 3, 2013

Page 4: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

4

Introduction

• RFC 6920 “Naming Things with Hashes”• ni://authority/sha-256;hash

http://authority/.well-known/ni/sha-256/hash• Use Apache RewiteMap on authority to redirect

a hash URL to silently return the actual file• Use a Firefox extension to redirect an ni: URI to

fetch the http: well-known URL• http://sourceforge.net/projects/niprotocol/

November 3, 2013

Page 5: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

5

Apache support

• In the authority virtual host config:RewriteMap sha-256-map txt:/<root>/.well-known/ni/sha-256/sha-256-map.txt

• In .well-known/ni/sha-256/.htaccess:RewriteRule ^([^\.]+)$ ${sha-256-map:$1|/unrecognized-hash} [PT]

• In .well-known/ni/sha-256/sha-256-map.txt:<hash> <path to actual file>

• To make sha-256-map.txt:python make-sha-256-map.py

November 3, 2013

Page 6: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

6

Firefox extension

• Tools > Add-ons > Install Add-on From Filehttp://sourceforge.net/p/niprotocol/code/ci/master/tree/firefox/ni-protocol.xpi

• Handle newChannel for ni: protocol• Get authority from the parent page URL• Convert ni:///sha-256;hash

http://authority/.well-known/ni/sha-256/hash• Use nsIHttpProtocolHandler newChannel(url)• Silent HTTP transfer conveys the MIME type• TODO: Check and report hash mismatchNovember 3, 2013

Page 7: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

7

Demo: NetInf.org in NetInf

• ni://nuvl.org/sha-256;QlpcCikO_8ENuJf0VXFTFhzqlbTdB6fzprIuJetUNb8

November 3, 2013

Page 8: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

8

Self-reference problem

• http://netinfo.org/index.html:<a href="index.html">NetInf</a>

• In NetInf: ni:///sha-256;XYZ<a href="ni:///sha-256;XYZ">NetInf</a>

• Cannot put hash XYZ in file referenced by XYZ• Possible solutions

– Use frames (not good for URL bar. not general)– Load entire web site HTML, show/hide sections– JavaScript: Load sha-256-map.txt and substitute hashes

• or put the map link in the URL query, dynamically pass it on:ni:///sha-256;XYZ?map=sha-256;ABC<a href="http://netinfo.org/index.html"> <a href="ni:///sha-256;XYZ?map=sha-256;ABC">

November 3, 2013

Page 9: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

9

Conclusion/future work

• Bootstrap ni web sites using HTTP server• Actual web pages are fully “ni ready”• Future work– Check and report hash mismatch– Tool support to convert existing web sites – Solutions to self-reference problem

November 3, 2013

Page 10: Firefox Extension for  NetInf

Firefox Extension for NetInf - Jeff Thompson

10

ni !November 3, 2013