Date: Wed, 7 Aug 2019 01:32:46 +0000
Subject: [PATCH 5/9] textareas clipboard-on-click
---
i2p2www/pages/site/get-involved/donate.html | 49 ++++++++++++++-----
i2p2www/static/styles/duck/default.css | 52 ++++++++++++++++++++-
2 files changed, 88 insertions(+), 13 deletions(-)
diff --git a/i2p2www/pages/site/get-involved/donate.html b/i2p2www/pages/site/get-involved/donate.html
index 01565fe4..99cb2376 100644
--- a/i2p2www/pages/site/get-involved/donate.html
+++ b/i2p2www/pages/site/get-involved/donate.html
@@ -26,18 +26,21 @@ the "Donate" edition. I2P funding is handled by meeh.{% endtrans %}
{% trans %}The following addresses are valid as of June 10th, 2019. Please note
that any other addresses not listed here are no longer valid. Please note that
-addresses may update and more coins may be added.{% endtrans %}
+addresses may update and more coins may be added. {% endtrans %}
+
+{% trans %} Double-Clicking on the cryptocurrency address will copy it onto your
+clipboard.{% endtrans %}
-{% trans %}BTC Address{% endtrans %}:
- }})
-{% trans %}LTC Address{% endtrans %}:
- }})
-{% trans %}ETH Address{% endtrans %}:
- }})
-{% trans %}ANC Address{% endtrans %}:
- }})
-{% trans %}XMR Address{% endtrans %}:
- }})
+
+{% trans %}BTC Address{% endtrans %}:
+
+{% trans %}LTC Address{% endtrans %}:
+
+{% trans %}ETH Address{% endtrans %}:
+
+{% trans %}ANC Address{% endtrans %}:
+
+{% trans %}XMR Address{% endtrans %}:
{% trans %}We now also accept paypal donations!{% endtrans %}
+
{% trans %}Tax Status{% endtrans %}
{% trans -%}
diff --git a/i2p2www/static/styles/duck/default.css b/i2p2www/static/styles/duck/default.css
index a73fd82e..93c18606 100644
--- a/i2p2www/static/styles/duck/default.css
+++ b/i2p2www/static/styles/duck/default.css
@@ -772,11 +772,59 @@ div#content td {
div#content .coinaddr {
margin-top: .1rem;
font-size: 1rem;
- font-style: bold;
+ font-weight: bold;
white-space: nowrap;
width: 68%;
height: 1.12rem;
overflow-x: hidden;
- float: right;
resize: horizontal;
+ margin-top: 2rem;
+ border: none;
+}
+
+div#content .qrcode {
+ transition: transform .3s;
+ width: 50px;
+ height: 50px;
+}
+
+div#content .qrcode:hover {
+ transform: scale(5);
+}
+
+div#content .emaillabel {
+ width: 25%;
+ display: inline-block;
+ font-weight: bold;
+ margin-top: .2rem;
+ margin-bottom: .2rem;
+}
+
+/*delete this section when we have an e-mail address to use on the donations page*/
+div#content .emailforms {
+ display: none;
+}
+
+div#content .emailform {
+ width: 70%;
+ display: inline-block;
+}
+
+div#content .emailbutton {
+ font-size: 1.s1rem;
+ margin: 1px;
+ padding: 1px;
+ font-weight: bold;
+ height: 70px;
+ width: 47%;
+ background-color: #60ab60;
+ border: none;
+ color: white;
+ text-align: center;
+ text-decoration: none;
+ display: inline-block;
+}
+
+div#content .messagebox {
+ height: 100px;
}
From 3f718c5e4172741d8ebfd93d4e4b8bceb4617abb Mon Sep 17 00:00:00 2001
From: hankhill19580
Date: Wed, 7 Aug 2019 02:09:02 +0000
Subject: [PATCH 6/9] fix apostrophe
---
i2p2www/pages/site/docs/api/samv3.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i2p2www/pages/site/docs/api/samv3.html b/i2p2www/pages/site/docs/api/samv3.html
index 3768ba54..22a415f5 100644
--- a/i2p2www/pages/site/docs/api/samv3.html
+++ b/i2p2www/pages/site/docs/api/samv3.html
@@ -188,7 +188,7 @@ can forward back I2P datagrams to the client's datagram server.
Version 3.1 Changes
Version 3.1 was introduced in I2P release 0.9.14. SAM 3.1 is the recommended
-minimum SAM implementation because of it's support for better signature types
+minimum SAM implementation because of its support for better signature types
than SAM 3.0.
- DEST GENERATE and SESSION CREATE now support a SIGNATURE_TYPE parameter.
From 36c63bf66475680290d149e17a26263b2cfcbc40 Mon Sep 17 00:00:00 2001
From: hankhill19580
Date: Wed, 7 Aug 2019 02:27:05 +0000
Subject: [PATCH 7/9] mobile tweak
---
i2p2www/static/styles/duck/default.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/i2p2www/static/styles/duck/default.css b/i2p2www/static/styles/duck/default.css
index 93c18606..974c6fc5 100644
--- a/i2p2www/static/styles/duck/default.css
+++ b/i2p2www/static/styles/duck/default.css
@@ -789,7 +789,7 @@ div#content .qrcode {
}
div#content .qrcode:hover {
- transform: scale(5);
+ transform: scale(5) translateX(20px);
}
div#content .emaillabel {
From ecb69fbc15d5f6fa608e9734bf90573ae4bc7f87 Mon Sep 17 00:00:00 2001
From: zzz
Date: Tue, 13 Aug 2019 17:50:45 +0000
Subject: [PATCH 8/9] Close proposal 147, copy changes to specs
---
i2p2www/spec/ntcp2.rst | 20 ++++++++++++-------
i2p2www/spec/proposals/111-ntcp-2.rst | 16 +++++++++------
.../147-transport-network-id-check.rst | 6 ++++--
i2p2www/spec/ssu.rst | 14 ++++++++++---
i2p2www/spec/updates.rst | 8 ++++++--
5 files changed, 44 insertions(+), 20 deletions(-)
diff --git a/i2p2www/spec/ntcp2.rst b/i2p2www/spec/ntcp2.rst
index 0f0be16c..bae4156b 100644
--- a/i2p2www/spec/ntcp2.rst
+++ b/i2p2www/spec/ntcp2.rst
@@ -3,8 +3,8 @@ NTCP 2
======
.. meta::
:category: Transports
- :lastupdated: 2019-04-08
- :accuratefor: 0.9.36
+ :lastupdated: August 2019
+ :accuratefor: 0.9.42
.. contents::
@@ -511,12 +511,13 @@ Note: All fields are big-endian.
{% highlight lang='dataspec' %}
+----+----+----+----+----+----+----+----+
- |Rsvd| ver| padLen | m3p2len | Rsvd(0) |
+ | id | ver| padLen | m3p2len | Rsvd(0) |
+----+----+----+----+----+----+----+----+
| tsA | Reserved (0) |
+----+----+----+----+----+----+----+----+
- Reserved :: 7 bytes total, set to 0 for compatibility with future options
+ id :: 1 byte, the network ID (currently 2, except for test networks)
+ As of 0.9.42. See proposal 147.
ver :: 1 byte, protocol version (currently 2)
@@ -527,6 +528,8 @@ Note: All fields are big-endian.
m3p2Len :: 2 bytes, length of the the second AEAD frame in SessionConfirmed
(message 3 part 2) See notes below
+ Rsvd :: 2 bytes, set to 0 for compatibility with future options
+
tsA :: 4 bytes, Unix timestamp, unsigned seconds.
Wraps around in 2106
@@ -616,9 +619,12 @@ Notes
message 1 and reading in the padding. There should be no extra data from Alice,
as Bob has not responded with message 2 yet.
-Issues
-``````
-- Is the fixed-size option block big enough?
+- The network ID field is used to quickly identify cross-network connections.
+ If this field is nonzero, and does not match Bob's network ID,
+ Bob should disconnect and block future connections.
+ Any connections from test networks should have a different ID and will fail the test.
+ As of 0.9.42. See proposal 147 for more information.
+
diff --git a/i2p2www/spec/proposals/111-ntcp-2.rst b/i2p2www/spec/proposals/111-ntcp-2.rst
index 7ad3dd31..95263809 100644
--- a/i2p2www/spec/proposals/111-ntcp-2.rst
+++ b/i2p2www/spec/proposals/111-ntcp-2.rst
@@ -6,7 +6,7 @@ NTCP 2
:editor: manas, str4d, zzz
:created: 2014-02-13
:thread: http://zzz.i2p/topics/1577
- :lastupdated: 2019-04-08
+ :lastupdated: 2019-08-13
:status: Closed
:supercedes: 106
:target: 0.9.36
@@ -848,12 +848,13 @@ Note: All fields are big-endian.
{% highlight lang='dataspec' %}
+----+----+----+----+----+----+----+----+
- |Rsvd| ver| padLen | m3p2len | Rsvd(0) |
+ | id | ver| padLen | m3p2len | Rsvd(0) |
+----+----+----+----+----+----+----+----+
| tsA | Reserved (0) |
+----+----+----+----+----+----+----+----+
- Reserved :: 7 bytes total, set to 0 for compatibility with future options
+ id :: 1 byte, the network ID (currently 2, except for test networks)
+ As of 0.9.42. See proposal 147.
ver :: 1 byte, protocol version (currently 2)
@@ -864,6 +865,8 @@ Note: All fields are big-endian.
m3p2Len :: 2 bytes, length of the the second AEAD frame in SessionConfirmed
(message 3 part 2) See notes below
+ Rsvd :: 2 bytes, set to 0 for compatibility with future options
+
tsA :: 4 bytes, Unix timestamp, unsigned seconds.
Wraps around in 2106
@@ -953,9 +956,10 @@ Notes
message 1 and reading in the padding. There should be no extra data from Alice,
as Bob has not responded with message 2 yet.
-Issues
-``````
-- Is the fixed-size option block big enough?
+- The network ID field is used to quickly identify cross-network connections.
+ If this field is nonzero, and does not match Bob's network ID,
+ Bob should disconnect and block future connections.
+ As of 0.9.42. See proposal 147 for more information.
diff --git a/i2p2www/spec/proposals/147-transport-network-id-check.rst b/i2p2www/spec/proposals/147-transport-network-id-check.rst
index 0a5c8ebe..2b5fb5a6 100644
--- a/i2p2www/spec/proposals/147-transport-network-id-check.rst
+++ b/i2p2www/spec/proposals/147-transport-network-id-check.rst
@@ -5,8 +5,10 @@ Transport Network ID Check
:author: zzz
:created: 2019-02-28
:thread: http://zzz.i2p/topics/2687
- :lastupdated: 2019-08-05
- :status: Open
+ :lastupdated: 2019-08-13
+ :status: Closed
+ :target: 0.9.42
+ :implementedin: 0.9.42
.. contents::
diff --git a/i2p2www/spec/ssu.rst b/i2p2www/spec/ssu.rst
index 026f54c1..284ad47b 100644
--- a/i2p2www/spec/ssu.rst
+++ b/i2p2www/spec/ssu.rst
@@ -3,8 +3,8 @@ SSU Protocol Specification
==========================
.. meta::
:category: Transports
- :lastupdated: July 2019
- :accuratefor: 0.9.41
+ :lastupdated: August 2019
+ :accuratefor: 0.9.42
.. contents::
@@ -36,7 +36,7 @@ encrypted with the appropriate key. The MAC used is HMAC-MD5, truncated to 16
bytes, while the key is a full 32 byte AES256 key. The specific construct of
the MAC is the first 16 bytes from::
- HMAC-MD5(encryptedPayload + IV + (payloadLength ^ protocolVersion), macKey)
+ HMAC-MD5(encryptedPayload + IV + (payloadLength ^ protocolVersion ^ ((netid - 2) << 8)), macKey)
where '+' means append and '^' means exclusive-or.
@@ -58,6 +58,14 @@ The protocolVersion is a 2 byte unsigned integer and is currently set to 0.
Peers using a different protocol version will not be able to communicate with
this peer, though earlier versions not using this flag are.
+The exclusive OR of ((netid - 2) << 8) is used to quickly identify cross-network connections.
+As of 0.9.42. See proposal 147 for more information.
+As the current network ID is 2, this is a no-op for the current network and is backward compatible.
+Any connections from test networks should have a different ID and will fail the HMAC.
+
+
+
+
HMAC Specification
------------------
diff --git a/i2p2www/spec/updates.rst b/i2p2www/spec/updates.rst
index fff6ca41..ae68c20c 100644
--- a/i2p2www/spec/updates.rst
+++ b/i2p2www/spec/updates.rst
@@ -2,8 +2,8 @@
Software Update Specification
=============================
.. meta::
- :lastupdated: March 2017
- :accuratefor: 0.9.29
+ :lastupdated: August 2019
+ :accuratefor: 0.9.42
.. contents::
@@ -338,6 +338,10 @@ Goals
Specification
`````````````
1. The file must be named "i2pseeds.su3".
+ As of 0.9.42, the requestor should append a query string "?netid=2" to the request URL,
+ assuming the current network ID of 2.
+ This may be used to prevent cross-network connections. Test networks should set
+ a different network ID. See proposal 147 for details.
2. The file must be in the same directory as the router infos on the web server.
From 647eca9704934d8597ca6970a24197364be16f10 Mon Sep 17 00:00:00 2001
From: zzz
Date: Tue, 13 Aug 2019 21:29:02 +0000
Subject: [PATCH 9/9] More proposal 147 updates
---
i2p2www/pages/site/docs/how/network-database.html | 15 +++++++++++++--
.../proposals/147-transport-network-id-check.rst | 8 ++++----
i2p2www/spec/ssu.rst | 5 +++--
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/i2p2www/pages/site/docs/how/network-database.html b/i2p2www/pages/site/docs/how/network-database.html
index 55bf1a6c..a2a44430 100644
--- a/i2p2www/pages/site/docs/how/network-database.html
+++ b/i2p2www/pages/site/docs/how/network-database.html
@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}The Network Database{% endtrans %}{% endblock %}
-{% block lastupdated %}{% trans %}January 2019{% endtrans %}{% endblock %}
-{% block accuratefor %}0.9.38{% endblock %}
+{% block lastupdated %}{% trans %}August 2019{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.42{% endblock %}
{% block content %}
{% trans %}Overview{% endtrans %}
@@ -88,6 +88,17 @@ Above the minimum threshold, the advertised bandwidth is not used or trusted any
in the router, except for display in the user interface and for debugging and network analysis.
{%- endtrans %}
+Valid NetID numbers:
+Usage | NetID Number
+ |
---|
Reserved | 0
+ |
Reserved | 1
+ |
Current Network (default) | 2
+ |
Reserved Future Networks | 3 - 15
+ |
Forks and Test Networks | 16 - 254
+ |
Reserved | 255
+ |
+
+
{% trans %}Additional Options{% endtrans %}
{% trans stats=i2pconv('stats.i2p') -%}
diff --git a/i2p2www/spec/proposals/147-transport-network-id-check.rst b/i2p2www/spec/proposals/147-transport-network-id-check.rst
index 2b5fb5a6..fd2c14a0 100644
--- a/i2p2www/spec/proposals/147-transport-network-id-check.rst
+++ b/i2p2www/spec/proposals/147-transport-network-id-check.rst
@@ -88,7 +88,7 @@ Add the following specification for valid network id values:
================================== ==============
- Payload Block Type NetID Number
+ Usage NetID Number
================================== ==============
Reserved 0
Reserved 1
@@ -139,9 +139,9 @@ New:
HMAC-MD5(encryptedPayload + IV + (payloadLength ^ protocolVersion ^ ((netid - 2) << 8)), macKey)
'+' means append, '^' means exclusive-or, '<<' means left shift.
- payloadLength is a 2 byte unsigned integer
- protocolVersion is one byte 0x00
- netid is a 1 byte unsigned integer
+ payloadLength is a two byte unsigned integer, big endian
+ protocolVersion is two bytes 0x0000, big endian
+ netid is a two byte unsigned integer, big endian, legal values are 2-254
{% endhighlight %}
diff --git a/i2p2www/spec/ssu.rst b/i2p2www/spec/ssu.rst
index 284ad47b..8776f275 100644
--- a/i2p2www/spec/ssu.rst
+++ b/i2p2www/spec/ssu.rst
@@ -43,7 +43,7 @@ where '+' means append and '^' means exclusive-or.
The IV is generated randomly for each packet. The encryptedPayload is the
encrypted version of the message starting with the flag byte
(encrypt-then-MAC). The payloadLength used in the MAC is a 2 byte unsigned
-integer. Note that protocolVersion is 0, so the exclusive-or is a no-op. The
+integer, big endian. Note that protocolVersion is 0, so the exclusive-or is a no-op. The
macKey is either the introduction key or is constructed from the exchanged DH
key (see details below), as specified for each message below.
@@ -54,11 +54,12 @@ The payload itself (that is, the message starting with the flag byte) is
AES256/CBC encrypted with the IV and the sessionKey, with replay prevention
addressed within its body, explained below.
-The protocolVersion is a 2 byte unsigned integer and is currently set to 0.
+The protocolVersion is a 2 byte unsigned integer, big endian, and is currently set to 0.
Peers using a different protocol version will not be able to communicate with
this peer, though earlier versions not using this flag are.
The exclusive OR of ((netid - 2) << 8) is used to quickly identify cross-network connections.
+The netid is a 2 byte unsigned integer, big endian, and is currently set to 2.
As of 0.9.42. See proposal 147 for more information.
As the current network ID is 2, this is a no-op for the current network and is backward compatible.
Any connections from test networks should have a different ID and will fail the HMAC.