Implement touch gestures including left and right history swipes,

Fri, 26 Apr 2013 19:10:52 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 26 Apr 2013 19:10:52 +0200
changeset 4
5d1908d87db8
parent 3
09006594d51d
child 5
0161a7eb3cfb

Implement touch gestures including left and right history swipes,
relocate help pages, update app cache manifest, and bump version
pending forthcoming release.

src/firefoxos/Makefile file | annotate | diff | comparison | revisions
src/firefoxos/about.html file | annotate | diff | comparison | revisions
src/firefoxos/help.html file | annotate | diff | comparison | revisions
src/firefoxos/help.js file | annotate | diff | comparison | revisions
src/firefoxos/help/help.html file | annotate | diff | comparison | revisions
src/firefoxos/help/help.js file | annotate | diff | comparison | revisions
src/firefoxos/help/hfaq.html file | annotate | diff | comparison | revisions
src/firefoxos/help/hman.html file | annotate | diff | comparison | revisions
src/firefoxos/help/hqst.html file | annotate | diff | comparison | revisions
src/firefoxos/help/hsec.html file | annotate | diff | comparison | revisions
src/firefoxos/help/hsta.html file | annotate | diff | comparison | revisions
src/firefoxos/main.html file | annotate | diff | comparison | revisions
src/firefoxos/main.js file | annotate | diff | comparison | revisions
src/firefoxos/manifest.webapp file | annotate | diff | comparison | revisions
src/firefoxos/otpwcalc.appcache file | annotate | diff | comparison | revisions
     1.1 --- a/src/firefoxos/Makefile	Tue Apr 23 22:01:36 2013 +0200
     1.2 +++ b/src/firefoxos/Makefile	Fri Apr 26 19:10:52 2013 +0200
     1.3 @@ -28,7 +28,7 @@
     1.4  ZIPBALL   = otpwcalc-foxos-$(VERSION).zip
     1.5  
     1.6  # Vars
     1.7 -VERSION   = 0.7.1
     1.8 +VERSION   = 0.7.2
     1.9  
    1.10  # Progs
    1.11  PROGZIP   = zip
    1.12 @@ -42,5 +42,5 @@
    1.13  	@if [ -e $(distdir)/$(ZIPBALL) ]; \
    1.14  	    then $(PROGECHO) '$(distdir)/$(ZIPBALL) already exists, aborting.'; \
    1.15  	else \
    1.16 -	    $(PROGZIP) -r9 $(distdir)/$(ZIPBALL) . -x Makefile -x otpwcalc.appcache -x jquery.plugins/\*-x img/keonmobile.png -x img/\*.svg -x img/\*.xcf; \
    1.17 +	    $(PROGZIP) -r9 $(distdir)/$(ZIPBALL) . -x Makefile -x test/\* -x otpwcalc.appcache -x jquery.plugins/\*-x img/keonmobile.png -x img/\*.svg -x img/\*.xcf; \
    1.18  	fi
     2.1 --- a/src/firefoxos/about.html	Tue Apr 23 22:01:36 2013 +0200
     2.2 +++ b/src/firefoxos/about.html	Fri Apr 26 19:10:52 2013 +0200
     2.3 @@ -54,7 +54,7 @@
     2.4          <div data-role="content">
     2.5              <h1 style="float: left; margin: 0 0 0.25em;">OTPWCalc</h1>
     2.6              <img src="img/tastatur.png" alt="Computer keyboard" height="38" width="90" style="float: right;" />
     2.7 -            <h2 style="clear: both; margin-left: 1em; line-height: 1em;">One Time Password Calculator 0.7.1</h2>
     2.8 +            <h2 style="clear: both; margin-left: 1em; line-height: 1em;">One Time Password Calculator 0.7.2</h2>
     2.9              <img src="img/datahost.png" alt="Datacenter host computer" height="68" width="245" style="display: block; margin: 0.75em auto;" />
    2.10              <p>Visit the <a href="http://otpwcalc.europalab.com/">OTPWCalc Homepage</a></p>
    2.11              <p>Copyright &copy; 2012 &#8211; 2013<br /><a href="http://michael.schloh.com/">Michael Schloh von Bennewitz</a></p>
     3.1 --- a/src/firefoxos/help.html	Tue Apr 23 22:01:36 2013 +0200
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,358 +0,0 @@
     3.4 -<!DOCTYPE html>
     3.5 -<!--
     3.6 -OTPWCalc - One time password challenge response calculator client
     3.7 -Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     3.8 -
     3.9 -OTPWCalc is free software: you can redistribute it and/or modify
    3.10 -it under the terms of the European Union Public Licence, either
    3.11 -version 1.1 of the license, or (at your option) any later version.
    3.12 -
    3.13 -OTPWCalc is distributed in the hope that it will be useful,
    3.14 -but WITHOUT ANY WARRANTY; without even the implied warranty
    3.15 -of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    3.16 -the European Union Public License for more details.
    3.17 -
    3.18 -You should have received a copy of the European Union Public
    3.19 -Licence along with OTPWCalc. If not, please refer to
    3.20 -<http://joinup.ec.europa.eu/software/page/eupl/>.
    3.21 -
    3.22 -This file is part of project OTWPCalc, a one time password challenge
    3.23 -response calculator client and is found at http://otpwcalc.europalab.com/
    3.24 -
    3.25 -help.html: W3C HTML implementation
    3.26 --->
    3.27 -
    3.28 -<html>
    3.29 -    <head>
    3.30 -    <meta charset="utf-8">
    3.31 -    <meta name="viewport" content="width=device-width, initial-scale=1">
    3.32 -    <title>OTPWCalc</title>
    3.33 -    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.3.1.min.css" />
    3.34 -    <link rel="stylesheet" href="main.css" />
    3.35 -    <script src="jquery.core/jquery-1.9.1.js"></script>
    3.36 -    <script src="help.js"></script>
    3.37 -    <script src="jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
    3.38 -</head>
    3.39 -<body>
    3.40 -    <!-- Data attributes reserved by JQuery Mobile:
    3.41 -         data-theme, data-ajax, data-filter, data-icon, data-grid,
    3.42 -         data-rel, data-icon, data-url, data-role, and data-type -->
    3.43 -    <div data-role="page" class="type-interior">
    3.44 -        <!-- H1 header data-role good for Search Engine Optimization -->
    3.45 -        <!--<div data-role="header" data-position="inline">-->
    3.46 -        <div data-role="header" data-position="fixed" data-id="headhelp">
    3.47 -            <h1>OTPWCalc</h1>
    3.48 -        </div><!-- /header -->
    3.49 -        <div data-role="content">
    3.50 -            <div class="content-primary">
    3.51 -                <h1 style="text-align: center; margin: 0;">Help</h1>
    3.52 -                <a href="#faq" data-role="button" data-theme="e" data-icon="otpwcalc-question" data-iconpos="right" data-transition="flow">F. A. Q.</a>
    3.53 -                <a href="#quickstart" data-role="button" data-theme="e" data-icon="otpwcalc-qstart" data-iconpos="right" data-transition="flow">Quickstart</a>
    3.54 -                <a href="#manpage" data-role="button" data-theme="e" data-icon="otpwcalc-manpage" data-iconpos="right" data-transition="flow">Manpage</a>
    3.55 -        <a href="//list.europalab.com/mailman/listinfo/otpwcalc/" data-role="button" data-theme="e" data-icon="otpwcalc-email" data-iconpos="right" data-transition="flow">Mailinglist</a>
    3.56 -                <a href="#security" data-role="button" data-theme="e" data-icon="otpwcalc-security" data-iconpos="right" data-transition="flow">Security</a>
    3.57 -                <a href="#standrfc" data-role="button" data-theme="e" data-icon="otpwcalc-document" data-iconpos="right" data-transition="flow">Standards</a>
    3.58 -            </div><!-- /content-primary -->
    3.59 -        </div><!-- /content -->
    3.60 -    </div><!-- /page -->
    3.61 -
    3.62 -    <div data-role="page" class="type-interior" id="faq">
    3.63 -        <div data-role="header" data-id="headfaq">
    3.64 -            <h1>OTPWCalc</h1>
    3.65 -        </div><!-- /header -->
    3.66 -        <div data-role="content">
    3.67 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d" data-inset="false" data-theme="c" data-content-theme="c">
    3.68 -                <h3 style="margin-top: 0; margin-bottom: 0;">What is a One Time Password?</h3>
    3.69 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">A One Time Password (OTP) is a password valid only for a <strong>single use</strong> and, once used, cannot be used again for authentication. OTPs avoid a number of shortcomings that are associated with traditional (static) passwords.</p>
    3.70 -            </div>
    3.71 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.72 -                <h3>What can I do with this app?</h3>
    3.73 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">This application serves one purpose only. It calculates and prints a OTP.</p>
    3.74 -            </div>
    3.75 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.76 -                <h3>What can I do with OTPs?</h3>
    3.77 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Most people use OTPs to log in to their website administration, CMS, or remote console.</p>
    3.78 -            </div>
    3.79 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.80 -                <h3>Can I log into my Google account?</h3>
    3.81 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">No. Google uses OTPs, but in a slightly nonstandard way. OTPWCalc cannot calculate OTPs useful for Google authentication yet.</p>
    3.82 -            </div>
    3.83 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.84 -                <h3>Can I log in to Win/OSX/Oracle?</h3>
    3.85 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes, but some work is needed on the Windows/OSX/Oracle computer to configure the authentication subsystem.</p>
    3.86 -            </div>
    3.87 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.88 -                <h3>Can I log in to Unix/Linux?</h3>
    3.89 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes, by using PAM and it's quite easy.</p>
    3.90 -            </div>
    3.91 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    3.92 -                <h3>What else can I do with it?</h3>
    3.93 -                <ol style="margin-top: 0.5em;">
    3.94 -                    <li>Impress your friends</li>
    3.95 -                    <li>VPN authentication</li>
    3.96 -                    <li>Single sign on</li>
    3.97 -                    <li>Remote access</li>
    3.98 -                    <li>Computer login</li>
    3.99 -                    <li>Disk encryption</li>
   3.100 -                    <li>Internet services</li>
   3.101 -                    <li>Systems integration</li>
   3.102 -                    <li>CMS authentication</li>
   3.103 -                    <li>Password management</li>
   3.104 -                    <li>Email and money transfer</li>
   3.105 -                    <li>Bank transaction validation</li>
   3.106 -                </ol>
   3.107 -            </div>
   3.108 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.109 -                <h3>Can I install OTPWCalc on &hellip;?</h3>
   3.110 -                <ul style="margin-top: 0.5em;">
   3.111 -                    <li>FirefoxOS: <strong>Yes</strong></li>
   3.112 -                    <li>Sailfish: No</li>
   3.113 -                    <li>Android: No</li>
   3.114 -                    <li>Tizen: <strong>Yes</strong></li>
   3.115 -                    <li>MeeGo: No</li>
   3.116 -                    <li>Bada: No</li>
   3.117 -                    <li>iOS: No</li>
   3.118 -                    <li>Unix: No</li>
   3.119 -                    <li>Linux: No</li>
   3.120 -                    <li>Mac OSX: No</li>
   3.121 -                    <li>BlackBerry QNX: No</li>
   3.122 -                    <li>Windows Phone: <strong>Yes</strong></li>
   3.123 -                    <li>Windows Store: <strong>Yes</strong></li>
   3.124 -                </ul>
   3.125 -            </div>
   3.126 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.127 -                <h3>Why isn't OTPWCalc compatible?</h3>
   3.128 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">OTPWCalc might not be compatible with your platform of choice, usually because the necessary hardware isn't available to the author for development.</p>
   3.129 -            </div>
   3.130 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.131 -                <h3>What happens to my password?</h3>
   3.132 -                <p style="margin-top: 0.25em;">Take a look at the entry point in
   3.133 -                    <strong>main.js</strong>:</p>
   3.134 -                    <code style="margin-left: 2em; display:inline-block; line-height: 120%;">
   3.135 -                       var secr = $('#paswrd').val();<br />
   3.136 -                       var resp = hash(secr, user, iter);
   3.137 -                    </code>
   3.138 -                <p style="margin-bottom: 0.25em;">In other words, the password you enter is neither stored nor transmitted. In fact, OTPWCalc doesn't store or transmit any data input <strong>at all</strong> (see James Bond question later.) It's a <em>calculator</em> in the true sense, just like a pocket calculator that adds numbers.</p>
   3.139 -            </div>
   3.140 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.141 -                <h3>Is OTPWCalc safe and secure?</h3>
   3.142 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">The algorithms of OTP have proven worthy of <strong>high security applications</strong>. OTPWCalc has been carefully designed and is tested thoroughly. It's both secure and safe to use.</p>
   3.143 -            </div>
   3.144 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.145 -                <h3>Is it useful in a corporate setting?</h3>
   3.146 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes. Custom built enterprise versions are available accompanied with commercial support. Visit the <a href="//otpwcalc.europalab.com/">OTPWCalc homepage</a> for information.</p>
   3.147 -            </div>
   3.148 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.149 -                <h3>Does James Bond use OTPWCalc?</h3>
   3.150 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Maybe, but spies probably just look over shoulders or use cameras to steal the static passwords used in OTP systems.</p>
   3.151 -            </div>
   3.152 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.153 -                <h3>Same as Yubikey or RSA SecurID?</h3>
   3.154 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yubikey, RSA SecurID, and OTPWCalc use similar technologies for similar applications, but OTPWCalc is strictly software and doesn't depend on the time or date.</p>
   3.155 -            </div>
   3.156 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.157 -                <h3>How can I upgrade my OTPWCalc?</h3>
   3.158 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">This varies according to the operating system used so there's no single answer.</p>
   3.159 -            </div>
   3.160 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.161 -                <h3>Who owns OTPWCalc?</h3>
   3.162 -                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is the property of the copyright holder, Michael Schloh von Bennewitz.</p>
   3.163 -            </div>
   3.164 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.165 -                <h3>Is OTPWCalc licensed?</h3>
   3.166 -                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is distributed under the terms of the <a href="//joinup.ec.europa.eu/software/page/eupl/">European Union Public Licence</a>. This liberal license grants you freedom to use the software and much more.</p>
   3.167 -            </div>
   3.168 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.169 -                <h3>Which programming language?</h3>
   3.170 -                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is built using the HTML, CSS, and JavaScript languages.</p>
   3.171 -                <p style="margin-top: 0.5em; margin-bottom: 0.25em;">The jQuery Mobile and Apache Cordova development frameworks provide important additional features.</p>
   3.172 -            </div>
   3.173 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.174 -                <h3>What are ongoing developments?</h3>
   3.175 -                <p style="margin-top: 0.25em;">OTPWCalc is both active and stable, and follows a project management plan.</p>
   3.176 -                <ul>
   3.177 -                    <li>It is undergoing i18n and l10n to several european languages.</li>
   3.178 -                    <li style="margin-top: 0.5em;"><strong>HMAC</strong>-based RFC 4226 (HOTP) is being implemented.</li>
   3.179 -                    <li style="margin-top: 0.5em;">Features like QR and OpenID integration are being explored.</li>
   3.180 -                    <li style="margin-top: 0.5em;">Most of all, OTPWCalc is being <em>ported to new platforms</em>.</li>
   3.181 -                </ul>
   3.182 -                <p style="margin-top: 0.5em; margin-bottom: 0.25em;">To request features or pose questions please write to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a>.</p>
   3.183 -            </div>
   3.184 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.185 -                <h3>How can I report a bogue (bug)?</h3>
   3.186 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Please write to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a> stating the OTPWCalc version and platform. Thanks for every bug report!</p>
   3.187 -            </div>
   3.188 -            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   3.189 -                <h3>My question isn't answered,<br />or this is just not working!</h3>
   3.190 -                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Please turn to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a> and ask for help there. Answers appear in a day.</p>
   3.191 -            </div>
   3.192 -        </div><!-- /content -->
   3.193 -    </div><!-- /page -->
   3.194 -
   3.195 -    <div data-role="page" class="type-interior" id="quickstart">
   3.196 -        <div data-role="header" data-position="fixed" data-id="headquick">
   3.197 -            <h1>OTPWCalc</h1>
   3.198 -        </div><!-- /header -->
   3.199 -        <div data-role="content">
   3.200 -            <h3 style="margin-top: 0; margin-bottom: 0;">
   3.201 -                To start using OTPWCalc now&hellip;
   3.202 -            </h3>
   3.203 -            <ol style="margin-top: 0.5em; margin-bottom: 0;">
   3.204 -                <li style="margin-bottom: 0.5em;">Install and configure a OTP authentication server on the <strong>host computer</strong>.</li>
   3.205 -                <li style="margin-bottom: 0.5em;">Add a username, seed ID, and password to the OTP <strong>authentication server</strong>.</li>
   3.206 -                <li style="margin-bottom: 0.5em;">Log in to the host computer providing the recently added username. The host computer will reply with a challange including the appropriate <strong>seed ID</strong> and a new <strong>counter number</strong>.</li>
   3.207 -                <li style="margin-bottom: 0.5em;">Type the seed ID and counter number along with the corresponding password into OTPWCalc. Click <strong>Submit</strong>.</li>
   3.208 -                <li style="margin-bottom: 0.5em;">Read the resulting OTP in <div style="display: inline-block; color: rgb(192,0,0); text-transform: normal;">red uppercase characters</div>.</li>
   3.209 -                <li style="margin-bottom: 0.5em;">Type the OTP into the host computer console and&hellip;<br /><em>Enjoy <strong>secure</strong> access!</em></li>
   3.210 -            </ol>
   3.211 -        </div><!-- /content -->
   3.212 -    </div><!-- /page -->
   3.213 -
   3.214 -    <div data-role="page" class="type-interior" id="manpage">
   3.215 -        <div data-role="header" data-position="fixed" data-id="headman">
   3.216 -            <h1>OTPWCalc</h1>
   3.217 -        </div><!-- /header -->
   3.218 -        <div data-role="content">
   3.219 -            <div style="float: left;">User Commands</div>
   3.220 -            <div style="float: right;">OTPWCalc(1)</div>
   3.221 -            <div style="clear: both;"></div>
   3.222 -            <div style="margin-top: 1.5em; text-transform: uppercase; font-size: 0.75em;">Name</div>
   3.223 -            <div style="margin-left: 2em; font-size: 0.75em;">OTPWCalc - Client application for calculating responses to OTP challenges.</div>
   3.224 -            <div style="margin-top: 1.5em; text-transform: uppercase; font-size: 0.75em;">Synopsis</div>
   3.225 -            <div style="margin-left: 2em; font-size: 0.75em;">OTPWCalc [-h] [-v] [-V]</div>
   3.226 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Description</div>
   3.227 -            <div style="margin-left: 2em; font-size: 0.75em;">Playing the role of a hardware
   3.228 -                token in a client server authentication system as described
   3.229 -                in RFC 2289, OTPWCalc calculates responses to incoming
   3.230 -                authentication challenges as typed in by the user.</div>
   3.231 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Options</div>
   3.232 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.233 -                -h Display a brief help message and exit.<br />
   3.234 -                -v Print verbose text to the calling terminal.<br />
   3.235 -                -V Print the version number and exit.
   3.236 -            </div>
   3.237 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Terms</div>
   3.238 -            <div style="margin-left: 2em; font-size: 0.75em;">Username</div>
   3.239 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.240 -                The name that the server knows. For example, 'albertc'.
   3.241 -            </div>
   3.242 -            <div style="margin-left: 2em; font-size: 0.75em;">Secret</div>
   3.243 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.244 -                A password, usually selected by the user, that is
   3.245 -                needed to gain access to the server. For example,
   3.246 -                'Mysec2-pw'.
   3.247 -            </div>
   3.248 -            <div style="margin-left: 2em; font-size: 0.75em;">Challenge</div>
   3.249 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.250 -                Information printed by the server when it tries to
   3.251 -                authenticate a user. This information is needed by
   3.252 -                OTPWCalc to generate a proper response. For example,
   3.253 -                'otp-md5 820 dinw23612'.
   3.254 -            </div>
   3.255 -            <div style="margin-left: 2em; font-size: 0.75em;">Response</div>
   3.256 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.257 -                Information generated from a challenge that is used
   3.258 -                by the server to authenticate the user. For example,
   3.259 -                'BIEM ROSE JINX HARD BALL SKY NEW'.
   3.260 -            </div>
   3.261 -            <div style="margin-left: 2em; font-size: 0.75em;">Seed</div>
   3.262 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.263 -                Information used in conjunction with the secret and
   3.264 -                sequence number to compute the response. It allows
   3.265 -                the same secret to be used for multiple sequences
   3.266 -                by changing the seed, or for authentication to
   3.267 -                multiple servers by using different seeds.
   3.268 -            </div>
   3.269 -            <div style="margin-left: 2em; font-size: 0.75em;">Sequence #</div>
   3.270 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.271 -                A counter used to track key iterations. Each time
   3.272 -                a successful response is received by the server the
   3.273 -                sequence number is decremented. For example, 71.
   3.274 -            </div>
   3.275 -            <div style="margin-left: 2em; font-size: 0.75em;">Hash ID</div>
   3.276 -            <div style="margin-left: 4em; font-size: 0.75em;">
   3.277 -                Text that identifies the cryptographical algorithm
   3.278 -                used. The valid hash identifiers are 'otpmd4'
   3.279 -                corresponding to MD4, and 'otp-md5' corresponding
   3.280 -                to MD5.
   3.281 -            </div>
   3.282 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Files</div>
   3.283 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.284 -                The application may store a cookie in a file used to
   3.285 -                restore the most recent settings. The location of this
   3.286 -                file (or arbitrary data structure) varies according to
   3.287 -                the operating system.
   3.288 -            </div>
   3.289 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Bugs</div>
   3.290 -            <div style="margin-left: 2em; font-size: 0.75em;">This manual.</div>
   3.291 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Security</div>
   3.292 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.293 -                All of the authentication strategies covered in the
   3.294 -                standards implemented by this application are vulnerable
   3.295 -                to man in the middle (MITM) attacks. The strategies can
   3.296 -                be combined with public key logic to defeat such attacks.
   3.297 -            </div>
   3.298 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Standards</div>
   3.299 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.300 -                The IETF standards RFC 1760 (The S/KEY One-Time Password
   3.301 -                System) and RFC 2289 (A One-Time Password System) are
   3.302 -                implemented.
   3.303 -            </div>
   3.304 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">See also</div>
   3.305 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.306 -                None. This is a self contained, stand alone application with
   3.307 -                no alias commands. It is unique in that it leverages open
   3.308 -                technologies like Javascript to run unmodified on a variety
   3.309 -                of operating systems.
   3.310 -            </div>
   3.311 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Author</div>
   3.312 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.313 -                This application was written by <a href="//michael.schloh.com/">
   3.314 -                Michael Schloh von Bennewitz</a>.
   3.315 -            </div>
   3.316 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Contact</div>
   3.317 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.318 -                Please refer to the <a href="//otpwcalc.europalab.com/">
   3.319 -                OTPWCalc homepage</a> for contact information.
   3.320 -            </div>
   3.321 -            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Support</div>
   3.322 -            <div style="margin-left: 2em; font-size: 0.75em;">
   3.323 -                The <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">
   3.324 -                OTPWCalc mailing list</a> provides information and answers to
   3.325 -                questions. Commercial support is provided by the
   3.326 -                <a href="mailto:michael@schloh.com">author</a>.
   3.327 -            </div>
   3.328 -        </div><!-- /content -->
   3.329 -    </div><!-- /page -->
   3.330 -
   3.331 -    <div data-role="page" class="type-interior" id="security">
   3.332 -        <div data-role="header" data-position="fixed" data-id="headsecurity">
   3.333 -            <h1>OTPWCalc</h1>
   3.334 -        </div><!-- /header -->
   3.335 -        <div data-role="content">
   3.336 -            <div data-role="collapsible" data-allow-collapse="false" data-collapsed="false" data-expanded-icon="otpwcalc-security" data-theme="c" data-content-theme="d">
   3.337 -                <h1>Security</h1>
   3.338 -                <p style="margin-top: 0; margin-bottom: 0; font-size: 1.1em; line-height: 125%;">General <strong>security concerns</strong> should be directed to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a>, while those of a private nature should be sent directly to the <a href="mailto:michael@schloh.com">author</a>. X.509 certificates (for exchanging S/MIME encrypted email) and GnuPG keys (to verify released software signatures) reside on the <a href="//michael.schloh.com/">author's website</a>.</p>
   3.339 -                <p style="margin-top: 0.5em; margin-bottom: 0; font-size: 1.1em; line-height: 125%;">Please monitor the mailing list and keep your installation of OTPWCalc <strong>up to date</strong>!</p>
   3.340 -            </div><!-- /collapsible -->
   3.341 -        </div><!-- /content -->
   3.342 -    </div><!-- /page -->
   3.343 -
   3.344 -    <div data-role="page" class="type-interior" id="standrfc">
   3.345 -        <div data-role="header" data-position="fixed" data-id="headrfc">
   3.346 -            <h1>OTPWCalc</h1>
   3.347 -        </div><!-- /header -->
   3.348 -        <div data-role="content">
   3.349 -            <div data-role="collapsible" data-allow-collapse="false" data-collapsed="false" data-expanded-icon="otpwcalc-document" data-theme="c" data-content-theme="d">
   3.350 -                <h1>Standards</h1>
   3.351 -                <p style="font-size: 1.1em; line-height: 125%;">This application implements<br />the following <strong>standards</strong>:</p>
   3.352 -                <ul>
   3.353 -                    <li>
   3.354 -                        <a href="//tools.ietf.org/html/rfc2289/">RFC 2289, A One-Time Password System</a>
   3.355 -                    </li>
   3.356 -                </ul>
   3.357 -            </div><!-- /collapsible -->
   3.358 -        </div><!-- /content -->
   3.359 -    </div><!-- /page -->
   3.360 -</body>
   3.361 -</html>
     4.1 --- a/src/firefoxos/help.js	Tue Apr 23 22:01:36 2013 +0200
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,39 +0,0 @@
     4.4 -/*
     4.5 - * OTPWCalc - One time password challenge response calculator client
     4.6 - * Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     4.7 - * 
     4.8 - * OTPWCalc is free software: you can redistribute it and/or modify
     4.9 - * it under the terms of the European Union Public Licence, either
    4.10 - * version 1.1 of the license, or (at your option) any later version.
    4.11 - * 
    4.12 - * OTPWCalc is distributed in the hope that it will be useful,
    4.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty
    4.14 - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    4.15 - * the European Union Public License for more details.
    4.16 - * 
    4.17 - * You should have received a copy of the European Union Public
    4.18 - * Licence along with OTPWCalc. If not, please refer to
    4.19 - * <http://joinup.ec.europa.eu/software/page/eupl/>.
    4.20 - * 
    4.21 - * This file is part of project OTWPCalc, a one time password challenge
    4.22 - * response calculator client and is found at http://otpwcalc.europalab.com/
    4.23 - * 
    4.24 - * help.js: ECMA JavaScript implementation
    4.25 - */
    4.26 -
    4.27 -// <![CDATA[
    4.28 -//// This doesn't work with AJAX (use pageinit instead)
    4.29 -//// That means JavaScript in the head of any other HTML
    4.30 -//// will be ignored, only the data-role="page" is parsed
    4.31 -//$(document).ready(function() {
    4.32 -    //$.mobile.ajaxLinksEnabled = false;
    4.33 -//});
    4.34 -//$(document).on("mobileinit", function() {
    4.35 -//    $.extend( $.mobile , {
    4.36 -//        pageLoadErrorMessage: 'Either the page cannot be found or it cannot be loaded.'
    4.37 -//    });
    4.38 -//});
    4.39 -$(document).on("pageinit", function(event) {
    4.40 -    $(".ui-collapsible[data-allow-collapse=false]").off("expand collapse");
    4.41 -});
    4.42 -// ]]>
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/src/firefoxos/help/help.html	Fri Apr 26 19:10:52 2013 +0200
     5.3 @@ -0,0 +1,60 @@
     5.4 +<!DOCTYPE html>
     5.5 +<!--
     5.6 +OTPWCalc - One time password challenge response calculator client
     5.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     5.8 +
     5.9 +OTPWCalc is free software: you can redistribute it and/or modify
    5.10 +it under the terms of the European Union Public Licence, either
    5.11 +version 1.1 of the license, or (at your option) any later version.
    5.12 +
    5.13 +OTPWCalc is distributed in the hope that it will be useful,
    5.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
    5.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    5.16 +the European Union Public License for more details.
    5.17 +
    5.18 +You should have received a copy of the European Union Public
    5.19 +Licence along with OTPWCalc. If not, please refer to
    5.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
    5.21 +
    5.22 +This file is part of project OTWPCalc, a one time password challenge
    5.23 +response calculator client and is found at http://otpwcalc.europalab.com/
    5.24 +
    5.25 +help.html: W3C HTML implementation
    5.26 +-->
    5.27 +
    5.28 +<html>
    5.29 +    <head>
    5.30 +    <meta charset="utf-8">
    5.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
    5.32 +    <title>OTPWCalc</title>
    5.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
    5.34 +    <link rel="stylesheet" href="../main.css" />
    5.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
    5.36 +    <script src="help.js"></script>
    5.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
    5.38 +</head>
    5.39 +<body>
    5.40 +    <!-- Data attributes reserved by JQuery Mobile:
    5.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
    5.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
    5.43 +    <!-- Also data-dom-cache="true" -->
    5.44 +    <div data-role="page" class="type-interior oc-swipage" id="helphaupt">
    5.45 +        <!-- H1 header data-role good for Search Engine Optimization -->
    5.46 +        <!--<div data-role="header" data-position="inline">-->
    5.47 +        <div data-role="header" data-position="fixed" data-id="headhelp">
    5.48 +            <h1>OTPWCalc</h1>
    5.49 +        </div><!-- /header -->
    5.50 +        <div data-role="content">
    5.51 +            <div class="content-primary">
    5.52 +                <h1 style="text-align: center; margin: 0;">Help</h1>
    5.53 +                <a href="hfaq.html" data-prefetch="true" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-question" data-iconpos="right">F. A. Q.</a>
    5.54 +                <a href="hqst.html" data-prefetch="true" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-qstart" data-iconpos="right">Quickstart</a>
    5.55 +                <a href="hman.html" data-prefetch="true" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-manpage" data-iconpos="right">Manpage</a>
    5.56 +        <a href="//list.europalab.com/mailman/listinfo/otpwcalc/" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-email" data-iconpos="right">Mailinglist</a>
    5.57 +                <a href="hsec.html" data-prefetch="true" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-security" data-iconpos="right">Security</a>
    5.58 +                <a href="hsta.html" data-prefetch="true" data-role="button" data-transition="slide" data-theme="e" data-icon="otpwcalc-document" data-iconpos="right">Standards</a>
    5.59 +            </div><!-- /content-primary -->
    5.60 +        </div><!-- /content -->
    5.61 +    </div><!-- /page -->
    5.62 +</body>
    5.63 +</html>
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/src/firefoxos/help/help.js	Fri Apr 26 19:10:52 2013 +0200
     6.3 @@ -0,0 +1,75 @@
     6.4 +/*
     6.5 + * OTPWCalc - One time password challenge response calculator client
     6.6 + * Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     6.7 + * 
     6.8 + * OTPWCalc is free software: you can redistribute it and/or modify
     6.9 + * it under the terms of the European Union Public Licence, either
    6.10 + * version 1.1 of the license, or (at your option) any later version.
    6.11 + * 
    6.12 + * OTPWCalc is distributed in the hope that it will be useful,
    6.13 + * but WITHOUT ANY WARRANTY; without even the implied warranty
    6.14 + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    6.15 + * the European Union Public License for more details.
    6.16 + * 
    6.17 + * You should have received a copy of the European Union Public
    6.18 + * Licence along with OTPWCalc. If not, please refer to
    6.19 + * <http://joinup.ec.europa.eu/software/page/eupl/>.
    6.20 + * 
    6.21 + * This file is part of project OTWPCalc, a one time password challenge
    6.22 + * response calculator client and is found at http://otpwcalc.europalab.com/
    6.23 + * 
    6.24 + * help.js: ECMA JavaScript implementation
    6.25 + */
    6.26 +
    6.27 +// <![CDATA[
    6.28 +//// This doesn't work with AJAX (use pageinit instead)
    6.29 +//// That means JavaScript in the head of any other HTML
    6.30 +//// will be ignored, only the data-role="page" is parsed
    6.31 +//$(document).ready(function() {
    6.32 +    //$.mobile.ajaxLinksEnabled = false;
    6.33 +//});
    6.34 +$(document).on("mobileinit", function() {
    6.35 +    $.extend( $.mobile , {
    6.36 +        pageLoadErrorMessage: 'Either the page cannot be found or it cannot be loaded.'
    6.37 +    });
    6.38 +    //$("#pageid").on("pagebeforeshow", function(event, data) {
    6.39 +    //    alert("the previous page was: " + data.prevPage.attr("id"));
    6.40 +    //});
    6.41 +});
    6.42 +$(document).on("pageinit", function() {
    6.43 +    $(".ui-collapsible[data-allow-collapse=false]").off("expand collapse");
    6.44 +});
    6.45 +$(document).on("pageinit", "[data-role='page'].oc-swipage", function() {
    6.46 +    var makepage = "#" + $(this).attr("id"),
    6.47 +        next = $(this).jqmData("next"),  // Next page stored in data-next
    6.48 +        prev = $(this).jqmData("prev");  // Previous page stored in data-prev
    6.49 +
    6.50 +    if (next) {  // Check if data-next attribute is indeed set
    6.51 +        //// Prefetch next page
    6.52 +        //$.mobile.loadPage(next);
    6.53 +        // Navigate to next page on swipe left
    6.54 +        $(document).on("swipeleft", makepage, function(inev) {
    6.55 +            inev.stopImmediatePropagation();
    6.56 +            $.mobile.changePage(next, {transition: "slide"});
    6.57 +        });
    6.58 +    }
    6.59 +    else {  // If data-next not set then default to history
    6.60 +        $(document).on("swipeleft", makepage, function(inev) {
    6.61 +            inev.stopImmediatePropagation();
    6.62 +            window.history.forward({transition: "slide"});
    6.63 +        });
    6.64 +    }
    6.65 +    if (prev) {  // Check if data-prev attribute is set
    6.66 +        $(document).on("swiperight", makepage, function(inev) {
    6.67 +            inev.stopImmediatePropagation();
    6.68 +            $.mobile.changePage(prev, {transition: "slide", reverse: true});
    6.69 +        });
    6.70 +    }
    6.71 +    else {  // If data-prev not set then default to history
    6.72 +        $(document).on("swiperight", makepage, function(inev) {
    6.73 +            inev.stopImmediatePropagation();
    6.74 +            //history.back();  // or window.history.back();
    6.75 +            $.mobile.back({transition: "slide", reverse: true});
    6.76 +        });
    6.77 +    }
    6.78 +});
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/src/firefoxos/help/hfaq.html	Fri Apr 26 19:10:52 2013 +0200
     7.3 @@ -0,0 +1,174 @@
     7.4 +<!DOCTYPE html>
     7.5 +<!--
     7.6 +OTPWCalc - One time password challenge response calculator client
     7.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     7.8 +
     7.9 +OTPWCalc is free software: you can redistribute it and/or modify
    7.10 +it under the terms of the European Union Public Licence, either
    7.11 +version 1.1 of the license, or (at your option) any later version.
    7.12 +
    7.13 +OTPWCalc is distributed in the hope that it will be useful,
    7.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
    7.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    7.16 +the European Union Public License for more details.
    7.17 +
    7.18 +You should have received a copy of the European Union Public
    7.19 +Licence along with OTPWCalc. If not, please refer to
    7.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
    7.21 +
    7.22 +This file is part of project OTWPCalc, a one time password challenge
    7.23 +response calculator client and is found at http://otpwcalc.europalab.com/
    7.24 +
    7.25 +hfaq.html: W3C HTML implementation
    7.26 +-->
    7.27 +
    7.28 +<html>
    7.29 +    <head>
    7.30 +    <meta charset="utf-8">
    7.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
    7.32 +    <title>OTPWCalc</title>
    7.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
    7.34 +    <link rel="stylesheet" href="../main.css" />
    7.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
    7.36 +    <script src="help.js"></script>
    7.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
    7.38 +    </head>
    7.39 +    <body>
    7.40 +    <!-- Data attributes reserved by JQuery Mobile:
    7.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
    7.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
    7.43 +    <!-- Also data-dom-cache="true" -->
    7.44 +    <div data-role="page" class="type-interior oc-swipage" id="faq">
    7.45 +        <div data-role="header" data-id="headfaq">
    7.46 +            <h1>OTPWCalc</h1>
    7.47 +        </div><!-- /header -->
    7.48 +        <div data-role="content">
    7.49 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d" data-inset="false" data-theme="c" data-content-theme="c">
    7.50 +                <h3 style="margin-top: 0; margin-bottom: 0;">What is a One Time Password?</h3>
    7.51 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">A One Time Password (OTP) is a password valid only for a <strong>single use</strong> and, once used, cannot be used again for authentication. OTPs avoid a number of shortcomings that are associated with traditional (static) passwords.</p>
    7.52 +            </div>
    7.53 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.54 +                <h3>What can I do with this app?</h3>
    7.55 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">This application serves one purpose only. It calculates and prints a OTP.</p>
    7.56 +            </div>
    7.57 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.58 +                <h3>What can I do with OTPs?</h3>
    7.59 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Most people use OTPs to log in to their website administration, CMS, or remote console.</p>
    7.60 +            </div>
    7.61 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.62 +                <h3>Can I log into my Google account?</h3>
    7.63 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">No. Google uses OTPs, but in a slightly nonstandard way. OTPWCalc cannot calculate OTPs useful for Google authentication yet.</p>
    7.64 +            </div>
    7.65 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.66 +                <h3>Can I log in to Win/OSX/Oracle?</h3>
    7.67 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes, but some work is needed on the Windows/OSX/Oracle computer to configure the authentication subsystem.</p>
    7.68 +            </div>
    7.69 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.70 +                <h3>Can I log in to Unix/Linux?</h3>
    7.71 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes, by using PAM and it's quite easy.</p>
    7.72 +            </div>
    7.73 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.74 +                <h3>What else can I do with it?</h3>
    7.75 +                <ol style="margin-top: 0.5em;">
    7.76 +                    <li>Impress your friends</li>
    7.77 +                    <li>VPN authentication</li>
    7.78 +                    <li>Single sign on</li>
    7.79 +                    <li>Remote access</li>
    7.80 +                    <li>Computer login</li>
    7.81 +                    <li>Disk encryption</li>
    7.82 +                    <li>Internet services</li>
    7.83 +                    <li>Systems integration</li>
    7.84 +                    <li>CMS authentication</li>
    7.85 +                    <li>Password management</li>
    7.86 +                    <li>Email and money transfer</li>
    7.87 +                    <li>Bank transaction validation</li>
    7.88 +                </ol>
    7.89 +            </div>
    7.90 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
    7.91 +                <h3>Can I install OTPWCalc on &hellip;?</h3>
    7.92 +                <ul style="margin-top: 0.5em;">
    7.93 +                    <li>FirefoxOS: <strong>Yes</strong></li>
    7.94 +                    <li>Sailfish: No</li>
    7.95 +                    <li>Android: No</li>
    7.96 +                    <li>Tizen: <strong>Yes</strong></li>
    7.97 +                    <li>MeeGo: No</li>
    7.98 +                    <li>Bada: No</li>
    7.99 +                    <li>iOS: No</li>
   7.100 +                    <li>Unix: No</li>
   7.101 +                    <li>Linux: No</li>
   7.102 +                    <li>Mac OSX: No</li>
   7.103 +                    <li>BlackBerry QNX: No</li>
   7.104 +                    <li>Windows Phone: <strong>Yes</strong></li>
   7.105 +                    <li>Windows Store: <strong>Yes</strong></li>
   7.106 +                </ul>
   7.107 +            </div>
   7.108 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.109 +                <h3>Why isn't OTPWCalc compatible?</h3>
   7.110 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">OTPWCalc might not be compatible with your platform of choice, usually because the necessary hardware isn't available to the author for development.</p>
   7.111 +            </div>
   7.112 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.113 +                <h3>What happens to my password?</h3>
   7.114 +                <p style="margin-top: 0.25em;">Take a look at the entry point in
   7.115 +                    <strong>main.js</strong>:</p>
   7.116 +                    <code style="margin-left: 2em; display:inline-block; line-height: 120%;">
   7.117 +                       var secr = $('#paswrd').val();<br />
   7.118 +                       var resp = hash(secr, user, iter);
   7.119 +                    </code>
   7.120 +                <p style="margin-bottom: 0.25em;">In other words, the password you enter is neither stored nor transmitted. In fact, OTPWCalc doesn't store or transmit any data input <strong>at all</strong> (see James Bond question later.) It's a <em>calculator</em> in the true sense, just like a pocket calculator that adds numbers.</p>
   7.121 +            </div>
   7.122 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.123 +                <h3>Is OTPWCalc safe and secure?</h3>
   7.124 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">The algorithms of OTP have proven worthy of <strong>high security applications</strong>. OTPWCalc has been carefully designed and is tested thoroughly. It's both secure and safe to use.</p>
   7.125 +            </div>
   7.126 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.127 +                <h3>Is it useful in a corporate setting?</h3>
   7.128 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yes. Custom built enterprise versions are available accompanied with commercial support. Visit the <a href="//otpwcalc.europalab.com/">OTPWCalc homepage</a> for information.</p>
   7.129 +            </div>
   7.130 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.131 +                <h3>Does James Bond use OTPWCalc?</h3>
   7.132 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Maybe, but spies probably just look over shoulders or use cameras to steal the static passwords used in OTP systems.</p>
   7.133 +            </div>
   7.134 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.135 +                <h3>Same as Yubikey or RSA SecurID?</h3>
   7.136 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Yubikey, RSA SecurID, and OTPWCalc use similar technologies for similar applications, but OTPWCalc is strictly software and doesn't depend on the time or date.</p>
   7.137 +            </div>
   7.138 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.139 +                <h3>How can I upgrade my OTPWCalc?</h3>
   7.140 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">This varies according to the operating system used so there's no single answer.</p>
   7.141 +            </div>
   7.142 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.143 +                <h3>Who owns OTPWCalc?</h3>
   7.144 +                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is the property of the copyright holder, Michael Schloh von Bennewitz.</p>
   7.145 +            </div>
   7.146 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.147 +                <h3>Is OTPWCalc licensed?</h3>
   7.148 +                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is distributed under the terms of the <a href="//joinup.ec.europa.eu/software/page/eupl/">European Union Public Licence</a>. This liberal license grants you freedom to use the software and much more.</p>
   7.149 +            </div>
   7.150 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.151 +                <h3>Which programming language?</h3>
   7.152 +                <p style="margin-top: 0.25em; margin-bottom: 0;">OTPWCalc is built using the HTML, CSS, and JavaScript languages.</p>
   7.153 +                <p style="margin-top: 0.5em; margin-bottom: 0.25em;">The jQuery Mobile and Apache Cordova development frameworks provide important additional features.</p>
   7.154 +            </div>
   7.155 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.156 +                <h3>What are ongoing developments?</h3>
   7.157 +                <p style="margin-top: 0.25em;">OTPWCalc is both active and stable, and follows a project management plan.</p>
   7.158 +                <ul>
   7.159 +                    <li>It is undergoing i18n and l10n to several european languages.</li>
   7.160 +                    <li style="margin-top: 0.5em;"><strong>HMAC</strong>-based RFC 4226 (HOTP) is being implemented.</li>
   7.161 +                    <li style="margin-top: 0.5em;">Features like QR and OpenID integration are being explored.</li>
   7.162 +                    <li style="margin-top: 0.5em;">Most of all, OTPWCalc is being <em>ported to new platforms</em>.</li>
   7.163 +                </ul>
   7.164 +                <p style="margin-top: 0.5em; margin-bottom: 0.25em;">To request features or pose questions please write to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a>.</p>
   7.165 +            </div>
   7.166 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.167 +                <h3>How can I report a bogue (bug)?</h3>
   7.168 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Please write to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a> stating the OTPWCalc version and platform. Thanks for every bug report!</p>
   7.169 +            </div>
   7.170 +            <div data-role="collapsible" data-inset="false" data-theme="c" data-content-theme="d">
   7.171 +                <h3>My question isn't answered,<br />or this is just not working!</h3>
   7.172 +                <p style="margin-top: 0.25em; margin-bottom: 0.25em;">Please turn to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a> and ask for help there. Answers appear in a day.</p>
   7.173 +            </div>
   7.174 +        </div><!-- /content -->
   7.175 +    </div><!-- /page -->
   7.176 +</body>
   7.177 +</html>
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/src/firefoxos/help/hman.html	Fri Apr 26 19:10:52 2013 +0200
     8.3 @@ -0,0 +1,158 @@
     8.4 +<!DOCTYPE html>
     8.5 +<!--
     8.6 +OTPWCalc - One time password challenge response calculator client
     8.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     8.8 +
     8.9 +OTPWCalc is free software: you can redistribute it and/or modify
    8.10 +it under the terms of the European Union Public Licence, either
    8.11 +version 1.1 of the license, or (at your option) any later version.
    8.12 +
    8.13 +OTPWCalc is distributed in the hope that it will be useful,
    8.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
    8.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    8.16 +the European Union Public License for more details.
    8.17 +
    8.18 +You should have received a copy of the European Union Public
    8.19 +Licence along with OTPWCalc. If not, please refer to
    8.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
    8.21 +
    8.22 +This file is part of project OTWPCalc, a one time password challenge
    8.23 +response calculator client and is found at http://otpwcalc.europalab.com/
    8.24 +
    8.25 +hman.html: W3C HTML implementation
    8.26 +-->
    8.27 +
    8.28 +<html>
    8.29 +    <head>
    8.30 +    <meta charset="utf-8">
    8.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
    8.32 +    <title>OTPWCalc</title>
    8.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
    8.34 +    <link rel="stylesheet" href="../main.css" />
    8.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
    8.36 +    <script src="help.js"></script>
    8.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
    8.38 +    </head>
    8.39 +    <body>
    8.40 +    <!-- Data attributes reserved by JQuery Mobile:
    8.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
    8.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
    8.43 +    <!-- Also data-dom-cache="true" -->
    8.44 +    <div data-role="page" class="type-interior oc-swipage" id="manpage">
    8.45 +        <div data-role="header" data-position="fixed" data-id="headman">
    8.46 +            <h1>OTPWCalc</h1>
    8.47 +        </div><!-- /header -->
    8.48 +        <div data-role="content">
    8.49 +            <div style="float: left;">User Commands</div>
    8.50 +            <div style="float: right;">OTPWCalc(1)</div>
    8.51 +            <div style="clear: both;"></div>
    8.52 +            <div style="margin-top: 1.5em; text-transform: uppercase; font-size: 0.75em;">Name</div>
    8.53 +            <div style="margin-left: 2em; font-size: 0.75em;">OTPWCalc - Client application for calculating responses to OTP challenges.</div>
    8.54 +            <div style="margin-top: 1.5em; text-transform: uppercase; font-size: 0.75em;">Synopsis</div>
    8.55 +            <div style="margin-left: 2em; font-size: 0.75em;">OTPWCalc [-h] [-v] [-V]</div>
    8.56 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Description</div>
    8.57 +            <div style="margin-left: 2em; font-size: 0.75em;">Playing the role of a hardware
    8.58 +                token in a client server authentication system as described
    8.59 +                in RFC 2289, OTPWCalc calculates responses to incoming
    8.60 +                authentication challenges as typed in by the user.</div>
    8.61 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Options</div>
    8.62 +            <div style="margin-left: 2em; font-size: 0.75em;">
    8.63 +                -h Display a brief help message and exit.<br />
    8.64 +                -v Print verbose text to the calling terminal.<br />
    8.65 +                -V Print the version number and exit.
    8.66 +            </div>
    8.67 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Terms</div>
    8.68 +            <div style="margin-left: 2em; font-size: 0.75em;">Username</div>
    8.69 +            <div style="margin-left: 4em; font-size: 0.75em;">
    8.70 +                The name that the server knows. For example, 'albertc'.
    8.71 +            </div>
    8.72 +            <div style="margin-left: 2em; font-size: 0.75em;">Secret</div>
    8.73 +            <div style="margin-left: 4em; font-size: 0.75em;">
    8.74 +                A password, usually selected by the user, that is
    8.75 +                needed to gain access to the server. For example,
    8.76 +                'Mysec2-pw'.
    8.77 +            </div>
    8.78 +            <div style="margin-left: 2em; font-size: 0.75em;">Challenge</div>
    8.79 +            <div style="margin-left: 4em; font-size: 0.75em;">
    8.80 +                Information printed by the server when it tries to
    8.81 +                authenticate a user. This information is needed by
    8.82 +                OTPWCalc to generate a proper response. For example,
    8.83 +                'otp-md5 820 dinw23612'.
    8.84 +            </div>
    8.85 +            <div style="margin-left: 2em; font-size: 0.75em;">Response</div>
    8.86 +            <div style="margin-left: 4em; font-size: 0.75em;">
    8.87 +                Information generated from a challenge that is used
    8.88 +                by the server to authenticate the user. For example,
    8.89 +                'BIEM ROSE JINX HARD BALL SKY NEW'.
    8.90 +            </div>
    8.91 +            <div style="margin-left: 2em; font-size: 0.75em;">Seed</div>
    8.92 +            <div style="margin-left: 4em; font-size: 0.75em;">
    8.93 +                Information used in conjunction with the secret and
    8.94 +                sequence number to compute the response. It allows
    8.95 +                the same secret to be used for multiple sequences
    8.96 +                by changing the seed, or for authentication to
    8.97 +                multiple servers by using different seeds.
    8.98 +            </div>
    8.99 +            <div style="margin-left: 2em; font-size: 0.75em;">Sequence #</div>
   8.100 +            <div style="margin-left: 4em; font-size: 0.75em;">
   8.101 +                A counter used to track key iterations. Each time
   8.102 +                a successful response is received by the server the
   8.103 +                sequence number is decremented. For example, 71.
   8.104 +            </div>
   8.105 +            <div style="margin-left: 2em; font-size: 0.75em;">Hash ID</div>
   8.106 +            <div style="margin-left: 4em; font-size: 0.75em;">
   8.107 +                Text that identifies the cryptographical algorithm
   8.108 +                used. The valid hash identifiers are 'otpmd4'
   8.109 +                corresponding to MD4, and 'otp-md5' corresponding
   8.110 +                to MD5.
   8.111 +            </div>
   8.112 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Files</div>
   8.113 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.114 +                The application may store a cookie in a file used to
   8.115 +                restore the most recent settings. The location of this
   8.116 +                file (or arbitrary data structure) varies according to
   8.117 +                the operating system.
   8.118 +            </div>
   8.119 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Bugs</div>
   8.120 +            <div style="margin-left: 2em; font-size: 0.75em;">This manual.</div>
   8.121 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Security</div>
   8.122 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.123 +                All of the authentication strategies covered in the
   8.124 +                standards implemented by this application are vulnerable
   8.125 +                to man in the middle (MITM) attacks. The strategies can
   8.126 +                be combined with public key logic to defeat such attacks.
   8.127 +            </div>
   8.128 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Standards</div>
   8.129 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.130 +                The IETF standards RFC 1760 (The S/KEY One-Time Password
   8.131 +                System) and RFC 2289 (A One-Time Password System) are
   8.132 +                implemented.
   8.133 +            </div>
   8.134 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">See also</div>
   8.135 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.136 +                None. This is a self contained, stand alone application with
   8.137 +                no alias commands. It is unique in that it leverages open
   8.138 +                technologies like Javascript to run unmodified on a variety
   8.139 +                of operating systems.
   8.140 +            </div>
   8.141 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Author</div>
   8.142 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.143 +                This application was written by <a href="//michael.schloh.com/">
   8.144 +                Michael Schloh von Bennewitz</a>.
   8.145 +            </div>
   8.146 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Contact</div>
   8.147 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.148 +                Please refer to the <a href="//otpwcalc.europalab.com/">
   8.149 +                OTPWCalc homepage</a> for contact information.
   8.150 +            </div>
   8.151 +            <div style="margin-top: 1.25em; text-transform: uppercase; font-size: 0.75em;">Support</div>
   8.152 +            <div style="margin-left: 2em; font-size: 0.75em;">
   8.153 +                The <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">
   8.154 +                OTPWCalc mailing list</a> provides information and answers to
   8.155 +                questions. Commercial support is provided by the
   8.156 +                <a href="mailto:michael@schloh.com">author</a>.
   8.157 +            </div>
   8.158 +        </div><!-- /content -->
   8.159 +    </div><!-- /page -->
   8.160 +</body>
   8.161 +</html>
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/src/firefoxos/help/hqst.html	Fri Apr 26 19:10:52 2013 +0200
     9.3 @@ -0,0 +1,60 @@
     9.4 +<!DOCTYPE html>
     9.5 +<!--
     9.6 +OTPWCalc - One time password challenge response calculator client
     9.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     9.8 +
     9.9 +OTPWCalc is free software: you can redistribute it and/or modify
    9.10 +it under the terms of the European Union Public Licence, either
    9.11 +version 1.1 of the license, or (at your option) any later version.
    9.12 +
    9.13 +OTPWCalc is distributed in the hope that it will be useful,
    9.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
    9.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
    9.16 +the European Union Public License for more details.
    9.17 +
    9.18 +You should have received a copy of the European Union Public
    9.19 +Licence along with OTPWCalc. If not, please refer to
    9.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
    9.21 +
    9.22 +This file is part of project OTWPCalc, a one time password challenge
    9.23 +response calculator client and is found at http://otpwcalc.europalab.com/
    9.24 +
    9.25 +hqst.html: W3C HTML implementation
    9.26 +-->
    9.27 +
    9.28 +<html>
    9.29 +    <head>
    9.30 +    <meta charset="utf-8">
    9.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
    9.32 +    <title>OTPWCalc</title>
    9.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
    9.34 +    <link rel="stylesheet" href="../main.css" />
    9.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
    9.36 +    <script src="help.js"></script>
    9.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
    9.38 +    </head>
    9.39 +    <body>
    9.40 +    <!-- Data attributes reserved by JQuery Mobile:
    9.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
    9.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
    9.43 +    <!-- Also data-dom-cache="true" -->
    9.44 +    <div data-role="page" class="type-interior oc-swipage" id="quickstart">
    9.45 +        <div data-role="header" data-position="fixed" data-id="headquick">
    9.46 +            <h1>OTPWCalc</h1>
    9.47 +        </div><!-- /header -->
    9.48 +        <div data-role="content">
    9.49 +            <h3 style="margin-top: 0; margin-bottom: 0;">
    9.50 +                To start using OTPWCalc now&hellip;
    9.51 +            </h3>
    9.52 +            <ol style="margin-top: 0.5em; margin-bottom: 0;">
    9.53 +                <li style="margin-bottom: 0.5em;">Install and configure a OTP authentication server on the <strong>host computer</strong>.</li>
    9.54 +                <li style="margin-bottom: 0.5em;">Add a username, seed ID, and password to the OTP <strong>authentication server</strong>.</li>
    9.55 +                <li style="margin-bottom: 0.5em;">Log in to the host computer providing the recently added username. The host computer will reply with a challange including the appropriate <strong>seed ID</strong> and a new <strong>counter number</strong>.</li>
    9.56 +                <li style="margin-bottom: 0.5em;">Type the seed ID and counter number along with the corresponding password into OTPWCalc. Click <strong>Submit</strong>.</li>
    9.57 +                <li style="margin-bottom: 0.5em;">Read the resulting OTP in <div style="display: inline-block; color: rgb(192,0,0); text-transform: none;">red uppercase characters</div>.</li>
    9.58 +                <li style="margin-bottom: 0.5em;">Type the OTP into the host computer console and&hellip;<br /><em>Enjoy <strong>secure</strong> access!</em></li>
    9.59 +            </ol>
    9.60 +        </div><!-- /content -->
    9.61 +    </div><!-- /page -->
    9.62 +</body>
    9.63 +</html>
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/src/firefoxos/help/hsec.html	Fri Apr 26 19:10:52 2013 +0200
    10.3 @@ -0,0 +1,54 @@
    10.4 +<!DOCTYPE html>
    10.5 +<!--
    10.6 +OTPWCalc - One time password challenge response calculator client
    10.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
    10.8 +
    10.9 +OTPWCalc is free software: you can redistribute it and/or modify
   10.10 +it under the terms of the European Union Public Licence, either
   10.11 +version 1.1 of the license, or (at your option) any later version.
   10.12 +
   10.13 +OTPWCalc is distributed in the hope that it will be useful,
   10.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
   10.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
   10.16 +the European Union Public License for more details.
   10.17 +
   10.18 +You should have received a copy of the European Union Public
   10.19 +Licence along with OTPWCalc. If not, please refer to
   10.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
   10.21 +
   10.22 +This file is part of project OTWPCalc, a one time password challenge
   10.23 +response calculator client and is found at http://otpwcalc.europalab.com/
   10.24 +
   10.25 +hsec.html: W3C HTML implementation
   10.26 +-->
   10.27 +
   10.28 +<html>
   10.29 +    <head>
   10.30 +    <meta charset="utf-8">
   10.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
   10.32 +    <title>OTPWCalc</title>
   10.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
   10.34 +    <link rel="stylesheet" href="../main.css" />
   10.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
   10.36 +    <script src="help.js"></script>
   10.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
   10.38 +    </head>
   10.39 +    <body>
   10.40 +    <!-- Data attributes reserved by JQuery Mobile:
   10.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
   10.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
   10.43 +    <!-- Also data-dom-cache="true" -->
   10.44 +    <div data-role="page" class="type-interior oc-swipage" id="security">
   10.45 +        <div data-role="header" data-position="fixed" data-id="headsecurity">
   10.46 +            <h1>OTPWCalc</h1>
   10.47 +        </div><!-- /header -->
   10.48 +        <div data-role="content">
   10.49 +            <div data-role="collapsible" data-allow-collapse="false" data-collapsed="false" data-expanded-icon="otpwcalc-security" data-theme="c" data-content-theme="d">
   10.50 +                <h1>Security</h1>
   10.51 +                <p style="margin-top: 0; margin-bottom: 0; font-size: 1.1em; line-height: 125%;">General <strong>security concerns</strong> should be directed to the <a href="//list.europalab.com/mailman/listinfo/otpwcalc/">mailing list</a>, while those of a private nature should be sent directly to the <a href="mailto:michael@schloh.com">author</a>. X.509 certificates (for exchanging S/MIME encrypted email) and GnuPG keys (to verify released software signatures) reside on the <a href="//michael.schloh.com/">author's website</a>.</p>
   10.52 +                <p style="margin-top: 0.5em; margin-bottom: 0; font-size: 1.1em; line-height: 125%;">Please monitor the mailing list and keep your installation of OTPWCalc <strong>up to date</strong>!</p>
   10.53 +            </div><!-- /collapsible -->
   10.54 +        </div><!-- /content -->
   10.55 +    </div><!-- /page -->
   10.56 +</body>
   10.57 +</html>
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/src/firefoxos/help/hsta.html	Fri Apr 26 19:10:52 2013 +0200
    11.3 @@ -0,0 +1,58 @@
    11.4 +<!DOCTYPE html>
    11.5 +<!--
    11.6 +OTPWCalc - One time password challenge response calculator client
    11.7 +Copyright © 2013 Michael Schloh von Bennewitz <michael@schloh.com>
    11.8 +
    11.9 +OTPWCalc is free software: you can redistribute it and/or modify
   11.10 +it under the terms of the European Union Public Licence, either
   11.11 +version 1.1 of the license, or (at your option) any later version.
   11.12 +
   11.13 +OTPWCalc is distributed in the hope that it will be useful,
   11.14 +but WITHOUT ANY WARRANTY; without even the implied warranty
   11.15 +of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
   11.16 +the European Union Public License for more details.
   11.17 +
   11.18 +You should have received a copy of the European Union Public
   11.19 +Licence along with OTPWCalc. If not, please refer to
   11.20 +<http://joinup.ec.europa.eu/software/page/eupl/>.
   11.21 +
   11.22 +This file is part of project OTWPCalc, a one time password challenge
   11.23 +response calculator client and is found at http://otpwcalc.europalab.com/
   11.24 +
   11.25 +hsta.html: W3C HTML implementation
   11.26 +-->
   11.27 +
   11.28 +<html>
   11.29 +    <head>
   11.30 +    <meta charset="utf-8">
   11.31 +    <meta name="viewport" content="width=device-width, initial-scale=1">
   11.32 +    <title>OTPWCalc</title>
   11.33 +    <link rel="stylesheet" href="../jquery.mobile/jquery.mobile-1.3.1.min.css" />
   11.34 +    <link rel="stylesheet" href="../main.css" />
   11.35 +    <script src="../jquery.core/jquery-1.9.1.js"></script>
   11.36 +    <script src="help.js"></script>
   11.37 +    <script src="../jquery.mobile/jquery.mobile-1.3.1.min.js"></script>
   11.38 +    </head>
   11.39 +<body>
   11.40 +    <!-- Data attributes reserved by JQuery Mobile:
   11.41 +         data-theme, data-ajax, data-filter, data-icon, data-grid,
   11.42 +         data-rel, data-icon, data-url, data-role, and data-type -->
   11.43 +    <!-- Also data-dom-cache="true" -->
   11.44 +    <div data-role="page" class="type-interior oc-swipage" id="standrfc">
   11.45 +        <div data-role="header" data-position="fixed" data-id="headrfc">
   11.46 +            <h1>OTPWCalc</h1>
   11.47 +        </div><!-- /header -->
   11.48 +        <div data-role="content">
   11.49 +            <div data-role="collapsible" data-allow-collapse="false" data-collapsed="false" data-expanded-icon="otpwcalc-document" data-theme="c" data-content-theme="d">
   11.50 +                <h1>Standards</h1>
   11.51 +                <p style="font-size: 1.1em; line-height: 125%;">This application implements<br />the following <strong>standards</strong>:</p>
   11.52 +                <ul>
   11.53 +                    <li>
   11.54 +                        <a href="//tools.ietf.org/html/rfc2289/">RFC 2289, A One-Time Password System</a>
   11.55 +                    </li>
   11.56 +                </ul>
   11.57 +            </div><!-- /collapsible -->
   11.58 +        </div><!-- /content -->
   11.59 +    </div><!-- /page -->
   11.60 +</body>
   11.61 +</html>
    12.1 --- a/src/firefoxos/main.html	Tue Apr 23 22:01:36 2013 +0200
    12.2 +++ b/src/firefoxos/main.html	Fri Apr 26 19:10:52 2013 +0200
    12.3 @@ -46,13 +46,13 @@
    12.4           data-rel, data-icon, data-url, data-role, and data-type -->
    12.5      <!-- http://api.jquerymobile.com/data-attribute/ -->
    12.6      <!--<div data-role="page" data-fullscreen="true" class="type-interior">-->
    12.7 -    <div data-role="page" class="type-interior">
    12.8 +    <div data-role="page" class="type-interior oc-swipage" id="mainhaupt">
    12.9          <!-- H1 header data-role good for Search Engine Optimization -->
   12.10          <!--<div data-role="header" data-position="inline">-->
   12.11          <div data-role="header" data-position="fixed" data-id="headmain">
   12.12              <a href="about.html" data-prefetch="true" data-transition="turn" data-rel="dialog" style="margin-left: 8px; width: 5em">About</a>
   12.13              <h1>OTPWCalc</h1>
   12.14 -            <a href="help.html" data-prefetch="true" data-transition="flow" style="margin-right: 8px; width: 5em">Help</a>
   12.15 +            <a href="help/help.html" data-prefetch="true" data-transition="slide" style="margin-right: 8px; width: 5em">Help</a>
   12.16          </div><!-- /header -->
   12.17          <div data-role="content">
   12.18              <div class="content-primary">
    13.1 --- a/src/firefoxos/main.js	Tue Apr 23 22:01:36 2013 +0200
    13.2 +++ b/src/firefoxos/main.js	Fri Apr 26 19:10:52 2013 +0200
    13.3 @@ -29,12 +29,46 @@
    13.4      //$.mobile.ajaxLinksEnabled = false;
    13.5  //});
    13.6  $(document).on("mobileinit", function() {
    13.7 -    $.extend( $.mobile , {
    13.8 +    $.extend($.mobile, {
    13.9          pageLoadErrorMessage: 'Either the page cannot be found or it cannot be loaded.'
   13.10      });
   13.11  });
   13.12  //$(document).on("pageinit", function() {
   13.13  //});
   13.14 +$(document).on("pageinit", "[data-role='page'].oc-swipage", function() {
   13.15 +    var makepage = "#" + $(this).attr("id"),
   13.16 +        next = $(this).jqmData("next"),  // Next page stored in data-next
   13.17 +        prev = $(this).jqmData("prev");  // Previous page stored in data-prev
   13.18 +
   13.19 +    if (next) {  // Check if data-next attribute is indeed set
   13.20 +        //// Prefetch next page
   13.21 +        //$.mobile.loadPage(next);
   13.22 +        // Navigate to next page on swipe left
   13.23 +        $(document).on("swipeleft", makepage, function(inev) {
   13.24 +            inev.stopImmediatePropagation();
   13.25 +            $.mobile.changePage(next, {transition: "slide"});
   13.26 +        });
   13.27 +    }
   13.28 +    else {  // If data-next not set then default to history
   13.29 +        $(document).on("swipeleft", makepage, function(inev) {
   13.30 +            inev.stopImmediatePropagation();
   13.31 +            window.history.forward({transition: "slide"});
   13.32 +        });
   13.33 +    }
   13.34 +    if (prev) {  // Check if data-prev attribute is set
   13.35 +        $(document).on("swiperight", makepage, function(inev) {
   13.36 +            inev.stopImmediatePropagation();
   13.37 +            $.mobile.changePage(prev, {transition: "slide", reverse: true});
   13.38 +        });
   13.39 +    }
   13.40 +    else {  // If data-prev not set then default to history
   13.41 +        $(document).on("swiperight", makepage, function(inev) {
   13.42 +            inev.stopImmediatePropagation();
   13.43 +            //history.back();  // or window.history.back();
   13.44 +            $.mobile.back({transition: "slide", reverse: true});
   13.45 +        });
   13.46 +    }
   13.47 +});
   13.48  
   13.49  // the main logical entry point
   13.50  function otpwcalc() {
    14.1 --- a/src/firefoxos/manifest.webapp	Tue Apr 23 22:01:36 2013 +0200
    14.2 +++ b/src/firefoxos/manifest.webapp	Fri Apr 26 19:10:52 2013 +0200
    14.3 @@ -1,5 +1,5 @@
    14.4  {
    14.5 -    "version": "0.7.1",
    14.6 +    "version": "0.7.2",
    14.7      "name": "OTPWCalc",
    14.8      "description": "One time password (OTP) challenge response calculator client",
    14.9      "type": "web",
    15.1 --- a/src/firefoxos/otpwcalc.appcache	Tue Apr 23 22:01:36 2013 +0200
    15.2 +++ b/src/firefoxos/otpwcalc.appcache	Fri Apr 26 19:10:52 2013 +0200
    15.3 @@ -1,10 +1,16 @@
    15.4  CACHE MANIFEST
    15.5  # v1 2013-04-18
    15.6  # http://developer.mozilla.org/docs/HTML/Using_the_application_cache/
    15.7 +about.html
    15.8  main.css
    15.9  main.html
   15.10 -about.html
   15.11 -help.html
   15.12 +help/help.html
   15.13 +help/help.js
   15.14 +help/hman.html
   15.15 +help/hsec.html
   15.16 +help/hfaq.html
   15.17 +help/hsta.html
   15.18 +help/hqst.html
   15.19  hashes/md4.js
   15.20  hashes/md5.js
   15.21  hashes/rmd160.js
   15.22 @@ -19,6 +25,32 @@
   15.23  img/otpwcalc-64px.png
   15.24  img/otpwcalc-128px.png
   15.25  img/otpwcalc-256px.png
   15.26 +img/compute-hd.png
   15.27 +img/compute-sd.png
   15.28 +img/datahost.png
   15.29 +img/document-hd.png
   15.30 +img/document-sd.png
   15.31 +img/email-hd.png
   15.32 +img/email-sd.png
   15.33 +img/manpage-hd.png
   15.34 +img/manpage-sd.png
   15.35 +img/question-hd.png
   15.36 +img/question-sd.png
   15.37 +img/quickstart-hd.png
   15.38 +img/quickstart-sd.png
   15.39 +img/security-hd.png
   15.40 +img/security-sd.png
   15.41 +img/seeye-hd.png
   15.42 +img/seeye-sd.png
   15.43 +img/tastatur.png
   15.44 +jquery.core/jquery-1.9.1.js
   15.45 +jquery.mobile/jquery.mobile-1.3.1.min.css
   15.46 +jquery.mobile/jquery.mobile-1.3.1.min.js
   15.47 +jquery.mobile/images/icons-18-white.png
   15.48 +jquery.mobile/images/icons-18-black.png
   15.49 +jquery.mobile/images/ajax-loader.gif
   15.50 +jquery.mobile/images/icons-36-white.png
   15.51 +jquery.mobile/images/icons-36-black.png
   15.52  
   15.53  # Fetch from network if available
   15.54  NETWORK:

mercurial