diff options
Diffstat (limited to 'template')
135 files changed, 7522 insertions, 414 deletions
diff --git a/template/about.html.j2 b/template/about.html.j2 index be9a7298..77c424ee 100644 --- a/template/about.html.j2 +++ b/template/about.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -108,31 +109,12 @@ | |||
108 | <li> | 109 | <li> |
109 | <p> | 110 | <p> |
110 | {% trans %} | 111 | {% trans %} |
111 | We're receiving funding from NLnet's Next Generation Internet | 112 | This project is receiving funding from the European Union’s Horizon |
112 | funding line to document and implement | 113 | 2020 research and innovation programme NGI Assure. |
113 | the GNU Name System protocol in a way suitable for the | ||
114 | IETF standardization process. | ||
115 | {% endtrans %} | 114 | {% endtrans %} |
116 | <br> | 115 | <br> |
117 | <a href="https://nlnet.nl/">NLnet Foundation</a><br> | 116 | <a href="https://www.assure.ngi.eu/">NGI Assure homepage</a><br> |
118 | <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo"> | 117 | <img style="width: 35%" src="{{ url('images/ngi_assure.png') }}" alt="NGI Assure logo"> |
119 | </p> | ||
120 | </li> | ||
121 | <li> | ||
122 | <p> | ||
123 | {% trans %} | ||
124 | This project has received funding from the European Union’s Horizon | ||
125 | 2020 research and innovation programme under the NGI_TRUST grant | ||
126 | agreement no 825618. | ||
127 | The project aims to integrate re:claimID with the GNU Taler payment | ||
128 | system in a pilot in order to demonstrate the practical feasibility | ||
129 | and benefits of privacy enhancing technologies for users and | ||
130 | commercial service providers. The project is called "Decentralized | ||
131 | Identities for Self-Sovereign End-users" (DISSENS). | ||
132 | {% endtrans %} | ||
133 | <br> | ||
134 | <a href="https://wiki.geant.org/display/NGITrust/">GEANT NGI TRUST</a><br> | ||
135 | <img style="width: 35%" src="{{ url('static/images/ngi_trust.png') }}" alt="NGI TRUST logo"> | ||
136 | </p> | 118 | </p> |
137 | </li> | 119 | </li> |
138 | 120 | ||
@@ -155,26 +137,39 @@ | |||
155 | <ul> | 137 | <ul> |
156 | <li> | 138 | <li> |
157 | <p> | 139 | <p> |
140 | <a href="https://nlnet.nl/discovery/">NGI DISCOVERY</a> [<a href="https://nlnet.nl/project/GNS/">Project summary</a>]<br> | ||
141 | <img style="width: 35%" src="{{ url('images/ngi_discovery.svg') }}" alt="NGI DISCOVERY logo"> | ||
142 | </p> | ||
143 | </li> | ||
144 | <li> | ||
145 | <p> | ||
146 | <a href="https://wiki.geant.org/display/NGITrust/">GEANT NGI TRUST</a> [<a href="{{ url_localized('news/2021-05-DISSENS.html') }}">Project report</a>]<br> | ||
147 | <img style="width: 35%" src="{{ url('images/ngi_trust.png') }}" alt="NGI TRUST logo"> | ||
148 | </p> | ||
149 | </li> | ||
150 | |||
151 | <li> | ||
152 | <p> | ||
158 | <a href="https://renewablefreedom.org/">Renewable Freedom Foundation / Stiftung Erneuerbare Freiheit</a><br> | 153 | <a href="https://renewablefreedom.org/">Renewable Freedom Foundation / Stiftung Erneuerbare Freiheit</a><br> |
159 | <img src="{{ url('static/images/rff_logo.png') }}" alt="RFF logo"> | 154 | <img src="{{ url('images/rff_logo.png') }}" alt="RFF logo"> |
160 | </p> | 155 | </p> |
161 | </li> | 156 | </li> |
162 | <li> | 157 | <li> |
163 | <p> | 158 | <p> |
164 | <a href="https://cordis.europa.eu/fp7/">European Commission (FP7)</a><br> | 159 | <a href="https://cordis.europa.eu/fp7/">European Commission (FP7)</a><br> |
165 | <img src="{{ url('static/images/fp7_logo.jpg') }}" alt="FP7 logo"> | 160 | <img src="{{ url('images/fp7_logo.jpg') }}" alt="FP7 logo"> |
166 | </p> | 161 | </p> |
167 | </li> | 162 | </li> |
168 | <li> | 163 | <li> |
169 | <p> | 164 | <p> |
170 | <a href="http://www.dfg.de/">Deutsche Forschungsgemeinschaft</a><br> | 165 | <a href="http://www.dfg.de/">Deutsche Forschungsgemeinschaft</a><br> |
171 | <img src="{{ url('static/images/dfg_logo.gif') }}" alt="DFG logo"> | 166 | <img src="{{ url('images/dfg_logo.gif') }}" alt="DFG logo"> |
172 | </p> | 167 | </p> |
173 | </li> | 168 | </li> |
174 | <li> | 169 | <li> |
175 | <p> | 170 | <p> |
176 | <a href="https://nlnet.nl/">NLnet Foundation</a><br> | 171 | <a href="https://nlnet.nl/">NLnet Foundation</a><br> |
177 | <img src="{{ url('static/images/nlnet_logo.gif') }}" alt="NLnet logo"> | 172 | <img src="{{ url('images/nlnet_logo.gif') }}" alt="NLnet logo"> |
178 | </p> | 173 | </p> |
179 | </li> | 174 | </li> |
180 | </ul> | 175 | </ul> |
diff --git a/template/applications.html.j2 b/template/applications.html.j2 index 43b0dd2f..e1f3d48f 100644 --- a/template/applications.html.j2 +++ b/template/applications.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <div class="container-fluid"> | 4 | <div class="container-fluid"> |
4 | <div class="container"> | 5 | <div class="container"> |
5 | <div class="row"> | 6 | <div class="row"> |
@@ -19,7 +20,7 @@ | |||
19 | hierarchy, GNS uses a directed graph. Naming conventions | 20 | hierarchy, GNS uses a directed graph. Naming conventions |
20 | are similar to DNS, but queries and replies are private even | 21 | are similar to DNS, but queries and replies are private even |
21 | with respect to peers providing the answers. The integrity of | 22 | with respect to peers providing the answers. The integrity of |
22 | records and privacy of look-ups is cryptographically secured. | 23 | records and privacy of look-ups are cryptographically secured. |
23 | <!-- Too technical: GNS integrates | 24 | <!-- Too technical: GNS integrates |
24 | a robust, efficient and instant key revocation mechanism. --> | 25 | a robust, efficient and instant key revocation mechanism. --> |
25 | {% endtrans %} | 26 | {% endtrans %} |
@@ -37,8 +38,8 @@ | |||
37 | <section> | 38 | <section> |
38 | <h3>{{ _("Self-sovereign, decentralized identity provider") }}</h3> | 39 | <h3>{{ _("Self-sovereign, decentralized identity provider") }}</h3> |
39 | <p> | 40 | <p> |
41 | <a href="{{ url_localized('reclaim/index.html') }}">re:claimID</a> | ||
40 | {% trans %} | 42 | {% trans %} |
41 | <a href="https://reclaim.gnunet.org/">re:claimID</a> | ||
42 | is a decentralized Identity Provider (IdP) service built in top of the | 43 | is a decentralized Identity Provider (IdP) service built in top of the |
43 | GNU Name System. It allows users to securely share personal information | 44 | GNU Name System. It allows users to securely share personal information |
44 | with websites using standardized protocols (OpenID Connect). | 45 | with websites using standardized protocols (OpenID Connect). |
@@ -93,106 +94,88 @@ | |||
93 | </div> | 94 | </div> |
94 | <div class="row"> | 95 | <div class="row"> |
95 | <div class="col-lg-6"> | 96 | <div class="col-lg-6"> |
96 | <section> | ||
97 | <h3>{{ _("GNU Taler (Alpha)") }}</h3> | ||
98 | <p> | ||
99 | {% trans %} | ||
100 | <a href="https://taler.net/">GNU Taler</a> | ||
101 | is a new privacy-preserving electronic payment system. | ||
102 | Payments are cryptographically | ||
103 | secured and are confirmed within milliseconds with | ||
104 | extremely low transaction costs. | ||
105 | {% endtrans %} | ||
106 | </p> | ||
107 | </section> | ||
108 | </div> | ||
109 | <div class="col-lg-4"> | ||
110 | <center><img style="width: 20em" src="{{ url_static('images/logo-2018-dold.svg') }}" alt="Taler" /></center> | ||
111 | </div> | ||
112 | |||
113 | </div> | ||
114 | <hr/> | ||
115 | <div class="row"> | ||
116 | <div class="col-lg-6"> | ||
117 | <section> | 97 | <section> |
118 | <h3>{{ _("secushare") }}</h3> | 98 | <h3>{{ _("GNU Taler (Alpha)") }}</h3> |
119 | <p> | 99 | <p> |
120 | {% trans %} | 100 | {% trans %} |
121 | <a href="https://secushare.org/">secushare</a> | 101 | <a href="https://taler.net/">GNU Taler</a> |
122 | is creating a decentralized social networking | 102 | is a new privacy-preserving electronic payment system. |
123 | application on top of GNUnet. Using overlay | 103 | Payments are cryptographically |
124 | multicast and the extensible PSYC protocol, notifications are | 104 | secured and are confirmed within milliseconds with |
125 | distributed end-to-end encrypted to authorized recipients only. | 105 | extremely low transaction costs. |
126 | {% endtrans %} | 106 | {% endtrans %} |
127 | </p> | 107 | </p> |
128 | </section> | 108 | </section> |
129 | </div> | 109 | </div> |
130 | <div class="col-lg-4"> | 110 | <div class="col-lg-4"> |
131 | <center><img style="width: 14em" src="{{ url_static('images/secushare-0444.png') }}" alt="secushare" /></center> | 111 | <center> |
112 | <img style="width: 20em" src="{{ url_static('images/logo-2018-dold.svg') }}" alt="Taler" /> | ||
113 | </center> | ||
114 | </div> | ||
132 | </div> | 115 | </div> |
133 | 116 | <hr/> | |
134 | </div> | 117 | <div class="row"> |
135 | <hr/> | ||
136 | <div class="row"> | ||
137 | <div class="col-lg-6"> | 118 | <div class="col-lg-6"> |
138 | <section> | 119 | <section> |
139 | <h3>{{ _("pretty Easy privacy") }}</h3> | 120 | <h3>{{ _("secushare") }}</h3> |
140 | <p> | 121 | <p> |
141 | {% trans %} | 122 | {% trans %} |
142 | <a href="https://pep.foundation/">pretty Easy privacy</a> (p≡p) | 123 | <a href="https://secushare.org/">secushare</a> |
143 | is creating a usable end-to-end encrypted e-mail solution using | 124 | is creating a decentralized social networking |
144 | opportunistic key exchange. | 125 | application on top of GNUnet. Using overlay |
145 | p≡p will use GNUnet to protect metadata and exploit new | 126 | multicast and the extensible PSYC protocol, notifications are |
146 | cryptographic protocols to verify keys. | 127 | distributed end-to-end encrypted to authorized recipients only. |
147 | {% endtrans %} | 128 | {% endtrans %} |
148 | </p> | 129 | </p> |
149 | </section> | 130 | </section> |
150 | </div> | 131 | </div> |
151 | <div class="col-lg-4"> | 132 | <div class="col-lg-4"> |
152 | <center><img style="width: 14em" src="{{ url_static('images/peplogo.svg') }}" alt="pEp" /></center> | 133 | <center> |
153 | </div> | 134 | <img style="width: 14em" src="{{ url_static('images/secushare-0444.png') }}" alt="secushare" /> |
154 | 135 | </center> | |
155 | </div> | 136 | </div> |
156 | <hr/> | 137 | </div> |
157 | <div class="row"> | 138 | <hr/> |
139 | <div class="row"> | ||
158 | <div class="col-lg-6"> | 140 | <div class="col-lg-6"> |
159 | <section> | 141 | <section> |
160 | <h3>{{ _("Cadet-GTK") }}</h3> | 142 | <h3>{{ _("Messenger-GTK") }}</h3> |
161 | <p> | 143 | <p> |
162 | {% trans %} | 144 | {% trans %} |
163 | <a href="https://gitlab.com/gnunet-messenger/cadet-gtk">Cadet-GTK</a> | 145 | <a href="https://git.gnunet.org/messenger-gtk.git/">Messenger-GTK</a> |
164 | is a convenient but feature-rich graphical application | 146 | is a convergent GTK messaging application using the GNUnet Messenger |
165 | providing messaging using especially the CADET subsystem. It is | 147 | service. The goal is to provide private and secure communication |
166 | developed using GTK and libhandy for a convergent design. | 148 | between any group of devices. |
167 | {% endtrans %} | 149 | {% endtrans %} |
168 | </p> | 150 | </p> |
169 | </section> | 151 | </section> |
170 | </div> | 152 | </div> |
171 | <div class="col-lg-4"> | 153 | <div class="col-lg-4"> |
172 | <center><img style="width: 8em" src="{{ url_static('images/cadet-gtk.svg') }}" alt="cadet-gtk" /></center> | 154 | <center> |
173 | </div> | 155 | <img style="width: 8em" src="{{ url_static('images/messenger-gtk.svg') }}" alt="messenger-gtk" /> |
174 | 156 | </center> | |
175 | </div> | 157 | </div> |
176 | <hr/> | 158 | </div> |
177 | <div class="row"> | 159 | <hr/> |
160 | <div class="row"> | ||
178 | <div class="col-lg-6"> | 161 | <div class="col-lg-6"> |
179 | <section> | 162 | <section> |
180 | <h3>{{ _("groupchat") }}</h3> | 163 | <h3>{{ _("messenger-cli") }}</h3> |
181 | <p> | 164 | <p> |
182 | {% trans %} | 165 | {% trans %} |
183 | <a href="https://git.gnunet.org/groupchat.git/">groupchat</a> | 166 | <a href="https://git.gnunet.org/messenger-cli.git/">messenger-cli</a> |
184 | is a terminal user interface providing messaging using especially the CADET subsystem. It is | 167 | is a terminal user interface providing messaging using the GNUnet Messenger |
185 | developed using nim. Cadet-GTK and groupchat are planned to be compatible. | 168 | service. It is developed in C using ncurses. Messenger-GTK and messenger-cli |
186 | {% endtrans %} | 169 | are fully compatible. |
187 | </p> | 170 | {% endtrans %} |
171 | </p> | ||
188 | </section> | 172 | </section> |
189 | </div> | 173 | </div> |
190 | <div class="col-lg-4"> | 174 | <div class="col-lg-4"> |
191 | <center><img style="width: 14em" src="{{ url_static('images/groupchat.png') }}" alt="groupchat" /></center> | 175 | <center> |
192 | </div> | 176 | <img style="width: 10em" src="{{ url_static('images/messenger-cli.png') }}" alt="messenger-cli" /> |
193 | 177 | </center> | |
194 | </div> | 178 | </div> |
195 | |||
196 | </div> | 179 | </div> |
197 | </div> | 180 | </div> |
198 | </div> | 181 | </div> |
diff --git a/template/architecture.html.j2 b/template/architecture.html.j2 index ef6e8799..63fadfb2 100644 --- a/template/architecture.html.j2 +++ b/template/architecture.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -8,49 +9,9 @@ | |||
8 | 9 | ||
9 | <div class="container"> | 10 | <div class="container"> |
10 | <div class="row"> | 11 | <div class="row"> |
11 | <!--<div class="col-10"> | 12 | <div class="col-10"> |
12 | <img class="img-fluid border rounded" src="../static/images/gnunet-arch-full.svg"> | 13 | <img class="img-fluid" src="../static/images/arch.png"> |
13 | </div> | 14 | </div> |
14 | <div class="col-2 d-none d-sm-block"> | ||
15 | <h4>{{ _("Legend") }}:</h4> | ||
16 | <dl> | ||
17 | <dt>house</dt> | ||
18 | <dd>application</dd> | ||
19 | </dl> | ||
20 | <dl> | ||
21 | <dt>circle</dt> | ||
22 | <dd>application</dd> | ||
23 | </dl> | ||
24 | <dl> | ||
25 | <dt>box</dt> | ||
26 | <dd>daemon</dd> | ||
27 | </dl> | ||
28 | <dl> | ||
29 | <dt>diamond</dt> | ||
30 | <dd>library</dd> | ||
31 | </dl> | ||
32 | <dl> | ||
33 | <dt>blackline</dt> | ||
34 | <dd>dependency</dd> | ||
35 | </dl> | ||
36 | <dl> | ||
37 | <dt>blue line</dt> | ||
38 | <dd>extension via plugin</dd> | ||
39 | </dl> | ||
40 | <dl> | ||
41 | <dt>red line</dt> | ||
42 | <dd>possibly useful</dd> | ||
43 | </dl> | ||
44 | <dl> | ||
45 | <dt>dashed</dt> | ||
46 | <dd>in planning</dd> | ||
47 | </dl> | ||
48 | </div>--> | ||
49 | <div class="col-10"> | ||
50 | <img class="img-fluid" src="../static/images/arch.png"> | ||
51 | </div> | ||
52 | |||
53 | |||
54 | </div> | 15 | </div> |
55 | </div> | 16 | </div> |
56 | 17 | ||
@@ -65,7 +26,7 @@ | |||
65 | messaging layer (CADET), a public key infrastructure | 26 | messaging layer (CADET), a public key infrastructure |
66 | (GNS) and a pluggable transport system (TRANSPORT).<br> | 27 | (GNS) and a pluggable transport system (TRANSPORT).<br> |
67 | Using public keys for addresses | 28 | Using public keys for addresses |
68 | and self-organized decentralized routing algorithms, | 29 | and self-organizing decentralized routing algorithms, |
69 | these subsystems replace the traditional TCP/IP stack. | 30 | these subsystems replace the traditional TCP/IP stack. |
70 | {% endtrans %} | 31 | {% endtrans %} |
71 | </p> | 32 | </p> |
@@ -78,7 +39,7 @@ | |||
78 | {% trans %} | 39 | {% trans %} |
79 | GNUnet is implemented using a multi-process architecture. | 40 | GNUnet is implemented using a multi-process architecture. |
80 | Each subsystem runs as a separate process, providing | 41 | Each subsystem runs as a separate process, providing |
81 | fault-isolation and enabling tight permissions to be | 42 | fault isolation and enabling tight permissions to be |
82 | granted to each subsystem. Naturally, the | 43 | granted to each subsystem. Naturally, the |
83 | implementation is a <a href="https://www.gnu.org/">GNU</a> | 44 | implementation is a <a href="https://www.gnu.org/">GNU</a> |
84 | package, and will always remain free software. | 45 | package, and will always remain free software. |
@@ -91,13 +52,13 @@ | |||
91 | <div class="col-md"> | 52 | <div class="col-md"> |
92 | <h2>{{ _("System architecture") }}</h2> | 53 | <h2>{{ _("System architecture") }}</h2> |
93 | <p> | 54 | <p> |
94 | Read more about the system architecure in the respective section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#System-Architecture" target="_blank">handbook</a>. | 55 | Read more about the system architecture in the corresponding section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#System-Architecture" target="_blank">handbook</a>. |
95 | </p> | 56 | </p> |
96 | </div> | 57 | </div> |
97 | <div class="col-md"> | 58 | <div class="col-md"> |
98 | <h2>{{ _("Subsystems") }}</h2> | 59 | <h2>{{ _("Subsystems") }}</h2> |
99 | <p> | 60 | <p> |
100 | Read more about the subsystems (or GNUnet services) in the respective section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#Code-overview" target="_blank">handbook</a>. | 61 | Read more about the subsystems (or GNUnet services) in the corresponding section of our <a href="https://docs.gnunet.org/handbook/gnunet.html#Code-overview" target="_blank">handbook</a>. |
101 | </p> | 62 | </p> |
102 | </div> | 63 | </div> |
103 | </div> | 64 | </div> |
@@ -112,11 +73,53 @@ | |||
112 | <div class="col-md"> | 73 | <div class="col-md"> |
113 | <h2>{{ _("APIs") }}</h2> | 74 | <h2>{{ _("APIs") }}</h2> |
114 | <p> | 75 | <p> |
115 | GNUnet offers variaty of APIs for <a href="https://docs.gnunet.org/handbook/gnunet.html#Interprocess-communication-API-_0028IPC_0029" target="_blank">accessing services</a> (using IPC), <a href="https://docs.gnunet.org/handbook/gnunet.html#Service-API">running services</a>, <a href="https://docs.gnunet.org/handbook/gnunet.html#Message-Queue-API">message queues</a>, or <a href="https://docs.gnunet.org/handbook/gnunet.html#Cryptography-API" target="_blank">cryptographic operations</a>. | 76 | GNUnet offers a variety of APIs for <a href="https://docs.gnunet.org/handbook/gnunet.html#Interprocess-communication-API-_0028IPC_0029" target="_blank">accessing services</a> (using IPC), <a href="https://docs.gnunet.org/handbook/gnunet.html#Service-API">running services</a>, <a href="https://docs.gnunet.org/handbook/gnunet.html#Message-Queue-API">message queues</a>, or <a href="https://docs.gnunet.org/handbook/gnunet.html#Cryptography-API" target="_blank">cryptographic operations</a>. |
116 | </p> | 77 | </p> |
117 | </div> | 78 | </div> |
118 | </div> | 79 | </div> |
119 | </div> | 80 | </div> |
81 | <div class="container"> | ||
82 | <div class="row"> | ||
83 | <div class="col-10"> | ||
84 | <img class="img-fluid border rounded" src="../static/images/gnunet-arch-full.svg"> | ||
85 | </div> | ||
86 | <div class="col-2 d-none d-sm-block"> | ||
87 | <h4>{{ _("Legend") }}:</h4> | ||
88 | <dl> | ||
89 | <dt>house</dt> | ||
90 | <dd>application</dd> | ||
91 | </dl> | ||
92 | <dl> | ||
93 | <dt>circle</dt> | ||
94 | <dd>application</dd> | ||
95 | </dl> | ||
96 | <dl> | ||
97 | <dt>box</dt> | ||
98 | <dd>daemon</dd> | ||
99 | </dl> | ||
100 | <dl> | ||
101 | <dt>diamond</dt> | ||
102 | <dd>library</dd> | ||
103 | </dl> | ||
104 | <dl> | ||
105 | <dt>blackline</dt> | ||
106 | <dd>dependency</dd> | ||
107 | </dl> | ||
108 | <dl> | ||
109 | <dt>blue line</dt> | ||
110 | <dd>extension via plugin</dd> | ||
111 | </dl> | ||
112 | <dl> | ||
113 | <dt>red line</dt> | ||
114 | <dd>possibly useful</dd> | ||
115 | </dl> | ||
116 | <dl> | ||
117 | <dt>dashed</dt> | ||
118 | <dd>in planning</dd> | ||
119 | </dl> | ||
120 | </div> | ||
121 | </div> | ||
122 | </div> | ||
120 | 123 | ||
121 | </article> | 124 | </article> |
122 | {% endblock body_content %} | 125 | {% endblock body_content %} |
diff --git a/template/contact.html.j2 b/template/contact.html.j2 index 8f320503..6d894f13 100644 --- a/template/contact.html.j2 +++ b/template/contact.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -18,19 +19,6 @@ | |||
18 | {% endtrans %} | 19 | {% endtrans %} |
19 | </p> | 20 | </p> |
20 | </div> | 21 | </div> |
21 | |||
22 | <div class="col-lg-6"> | ||
23 | <h2>{{ _("The IRC channel") }}</h2> | ||
24 | <p> | ||
25 | {% trans %} | ||
26 | <tt>#gnunet</tt> is reachable via | ||
27 | <a href="https://freenode.net">irc.freenode.net</a>. | ||
28 | There is also an | ||
29 | <a href="https://view.matrix.org/room/!IjaAfLiruzjxFFzKAV:matrix.org/">archive</a> | ||
30 | available. | ||
31 | {% endtrans %} | ||
32 | </p> | ||
33 | </div> | ||
34 | </div> | 22 | </div> |
35 | 23 | ||
36 | <div class="row"> | 24 | <div class="row"> |
diff --git a/template/copyright.html.j2 b/template/copyright.html.j2 index ca779567..95db9c51 100644 --- a/template/copyright.html.j2 +++ b/template/copyright.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/dev_pages/t3sserakt.html.j2 b/template/dev_pages/t3sserakt.html.j2 new file mode 100644 index 00000000..5ef774ee --- /dev/null +++ b/template/dev_pages/t3sserakt.html.j2 | |||
@@ -0,0 +1,106 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <!-- Jumbotron --> | ||
5 | <div> | ||
6 | <div class="container"> | ||
7 | <div class="row"> | ||
8 | <div class="container text-center"> | ||
9 | <h1>{{ _("Developer page: t3sserakt") }}</h1> | ||
10 | </div> | ||
11 | </div> | ||
12 | |||
13 | <div class="container text-center"> | ||
14 | <img src="{{ url_static('images/t3sserakt.jpg') }}" alt="t3sserakt" /> | ||
15 | </div> | ||
16 | </div> | ||
17 | </div> | ||
18 | <div class="container-fluid greybox"> | ||
19 | <div class="container"> | ||
20 | <div class="row"> | ||
21 | <div class="col-lg-2"></div> | ||
22 | <div class="col-lg-6"> | ||
23 | <section> | ||
24 | <h2>{{ _("Current Work") }}</h2> | ||
25 | <p> | ||
26 | {% trans %} | ||
27 | Today consumer devices are behind a NAT quite often, restricting internet connectivity. There are several methods to reach peers being | ||
28 | behind a NAT, but there are as many reasons those existing methods might fail. We will implement a new way of NAT traversal that we | ||
29 | think of being independent from the existing network configuration, and does not require a third party which is not natted helping two | ||
30 | peers to connect to each other. For details have a look on the <a href="../probnat/">project page</a> | ||
31 | {% endtrans %} | ||
32 | </p> | ||
33 | </section> | ||
34 | </div> | ||
35 | </div> | ||
36 | </div> | ||
37 | </div> | ||
38 | <div class="container-fluid"> | ||
39 | <div class="container"> | ||
40 | <div class="row"> | ||
41 | <div class="col-lg-2"></div> | ||
42 | <div class="col-lg-6"> | ||
43 | <section> | ||
44 | <h2>{{ _("Past Project") }}</h2> | ||
45 | |||
46 | <h3>{{ _("Transport Next Generation") }}</h3> | ||
47 | <p> | ||
48 | {% trans %} | ||
49 | The current GNUnet TRANSPORT architecture with its pluggable transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with the ATS subsystem for bandwidth allocation and choosing plugins has several issues with its design. With the Layer-2-Overlay project we like to implement the design goals of the future GNUnet TRANSPORT Next Generation (TNG) subsystem. For details have a look on the <a href="../l2o/">project page</a>. | ||
50 | {% endtrans %} | ||
51 | </p> | ||
52 | </section> | ||
53 | </div> | ||
54 | </div> | ||
55 | </div> | ||
56 | </div> | ||
57 | <div class="container-fluid greybox"> | ||
58 | <div class="container"> | ||
59 | <div class="row"> | ||
60 | <div class="col-lg-2"></div> | ||
61 | <div class="col-lg-6"> | ||
62 | <section> | ||
63 | <h2>{{ _("Voluntary Work") }}</h2> | ||
64 | <p> | ||
65 | {% trans %} | ||
66 | In the past I have tried to help making the vision of the <a href="http://secushare.org">secushare</a> project a reality. To achieve this the GNUnet framework was the perfect match for a solution to fullfill the privacy preserving part of that vision, and we could concentrate to build a tool for social communication that deserves its name. While trying to use GNUnet, we found and fixed bugs. For example there was one <a href="https://bugs.gnunet.org/view.php?id=5822">bug</a> in CADET which prevented the re-establishment of a connection after a communication partner suddenly stopped communicating. From our perspective there is no alternativ to GNUnet, which led us to first bring the parts of GNUnet needed by secushare to a state that they can be used prouctively. | ||
67 | {% endtrans %} | ||
68 | </p> | ||
69 | </section> | ||
70 | </div> | ||
71 | </div> | ||
72 | </div> | ||
73 | </div> | ||
74 | <div class="container-fluid"> | ||
75 | <div class="container"> | ||
76 | <div class="row"> | ||
77 | <div class="col-lg-2"></div> | ||
78 | <div class="col-lg-6"> | ||
79 | <section> | ||
80 | <h2>{{ _("Contact Information") }}</h2> | ||
81 | <p> | ||
82 | <div class="container"> | ||
83 | <div class="row"> | ||
84 | <div class="col-lg-2">Mail:</div> | ||
85 | <div class="col-lg-6">t3sserakt@gnunet.org</div> | ||
86 | </div> | ||
87 | <div class="row"> | ||
88 | <div class="col-lg-2">Fediverse:</div> | ||
89 | <div class="col-lg-6"><a rel="me" href="https://c3d2.social/@t3sserakt">@t3sserakt@c3d2.social</a></div> | ||
90 | </div> | ||
91 | <div class="row"> | ||
92 | <div class="col-lg-2">Matrix:</div> | ||
93 | <div class="col-lg-6">@t3sserakt:tchncs.de</div> | ||
94 | </div> | ||
95 | <div class="row"> | ||
96 | <div class="col-lg-2">PGP:</div> | ||
97 | <div class="col-lg-6"><a href="https://keyoxide.org/hkp/34156165BAC792A688C990CFC9A2D9D808FF308D">keyoxide</a></div> | ||
98 | </div> | ||
99 | </div> | ||
100 | </p> | ||
101 | </section> | ||
102 | </div> | ||
103 | </div> | ||
104 | </div> | ||
105 | </div> | ||
106 | {% endblock body_content %} | ||
diff --git a/template/developers.html.j2 b/template/developers.html.j2 index c28418d2..e7e013fc 100644 --- a/template/developers.html.j2 +++ b/template/developers.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <div class="jumbotron"> | 4 | <div class="jumbotron"> |
4 | <div class="text-center"> | 5 | <div class="text-center"> |
5 | <h1>{{ _("GNUnet for developers") }}</h1> | 6 | <h1>{{ _("GNUnet for developers") }}</h1> |
diff --git a/template/download.html.j2 b/template/download.html.j2 index a7df9108..42a0aa48 100644 --- a/template/download.html.j2 +++ b/template/download.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="d-flex flex-column p-2 bd-highlight"> | 4 | <article class="d-flex flex-column p-2 bd-highlight"> |
4 | <div class="container"> | 5 | <div class="container"> |
5 | <div class="text-center"> | 6 | <div class="text-center"> |
diff --git a/template/engage.html.j2 b/template/engage.html.j2 index 000396ab..517c098d 100644 --- a/template/engage.html.j2 +++ b/template/engage.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -10,33 +11,26 @@ | |||
10 | <div class="col-md"> | 11 | <div class="col-md"> |
11 | <h2>Join the conversation!</h2> | 12 | <h2>Join the conversation!</h2> |
12 | <p> | 13 | <p> |
13 | There are many ways to get engaged with GNUnet. A first step is to join the conversation on the mailing lists and on our IRC channel to keep up with development, find technical help, and discuss GNUnet: | 14 | There are many ways to get engaged with GNUnet. A first step is to join the conversation on the mailing lists to keep up with development, find technical help, and discuss GNUnet: |
14 | </p> | 15 | </p> |
15 | <h4>Mailing List</h4> | 16 | <h4>Mailing List</h4> |
16 | <p> | 17 | <p> |
17 | You can get help on our mailing list <a href="https://lists.gnu.org/mailman/listinfo/help-gnunet">help-gnunet</a>. <br>If you generally want to be informed about recent updates and happenings, get in touch over our <a href="https://lists.gnu.org/mailman/listinfo/info-gnunet">info mailing list</a>.<br/> | 18 | You can get help on our mailing list <a href="https://lists.gnu.org/mailman/listinfo/help-gnunet">help-gnunet</a>. <br>If you generally want to be informed about recent updates and happenings, get in touch over our <a href="https://lists.gnu.org/mailman/listinfo/info-gnunet">info mailing list</a>.<br/> |
18 | If you want to hack on GNUnet or want to follow technical discussions, try our <a href="https://lists.gnu.org/mailman/listinfo/gnunet-developers">developer mailing list</a> | 19 | If you want to hack on GNUnet or want to follow technical discussions, try our <a href="https://lists.gnu.org/mailman/listinfo/gnunet-developers">developer mailing list</a> |
19 | </p> | 20 | </p> |
20 | <h4>IRC</h4> | ||
21 | <p> | ||
22 | Most of the GNUnet developers are on the | ||
23 | IRC channel #gnunet on freenode (connect via | ||
24 | <a href="ircs://chat.freenode.net:6697/#gnunet">ircs://chat.freenode.net:6697/#gnunet</a>). | ||
25 | Please be patient and stay around at least for some hours to get an answer for your request. <!-- There is also a Matrix bridge to the IRC where you can get a backlog without staying connected. --> | ||
26 | </p> | ||
27 | <h4>Mumble</h4> | 21 | <h4>Mumble</h4> |
28 | <p> | 22 | <p> |
29 | We have a monthly get-together on mumble where we talk about recent developments, strategies, and politics.<br> | 23 | We have a monthly get-together on Mumble where we talk about recent developments, strategies, and politics.<br> |
30 | We come together on that day of the month, where n.day==n.month. E.g. we’ll meet on 6th of June, 7th of July, 8th of August, 9th of September, 10th of October and so on. We will usually start around 8 PM CEST, but try to be there earlier and stay longer just to hang around together.<br> | 24 | We come together on that day of the month, where n.day==n.month. E.g. we’ll meet on 6th of June, 7th of July, 8th of August, 9th of September, 10th of October and so on. We will usually start around 8 PM CEST, but try to be there earlier and stay longer just to hang around together.<br> |
31 | To connect just enter "gnunet.org" as server into your mumble client; leave everything else as default. | 25 | To connect just enter "gnunet.org" as server into your Mumble client; leave everything else as default. |
32 | </p> | 26 | </p> |
33 | </p> | 27 | </p> |
34 | <h4>PSYC</h4> | 28 | <h4>PSYC</h4> |
35 | <p> | 29 | <p> |
36 | You find some of us on PSYC using the following adresses: | 30 | You find some of us on PSYC using the following adresses: |
37 | <ul> | 31 | <ul> |
38 | <li>psyc://loupsycedyglgamf.onion/@welcome</li> | 32 | <li>psyc://psycyificvaxuzut3t6hcies3stfdtlzqftcnmbb5su3xv4zugplsfad.onion/@welcome</li> |
39 | <li>irc://loupsycedyglgamf.onion:67/welcome</li> | 33 | <li>irc://psycyificvaxuzut3t6hcies3stfdtlzqftcnmbb5su3xv4zugplsfad.onion:67/welcome</li> |
40 | <li>psyc://psyced.org/@welcome</li> | 34 | <li>psyc://psyced.org/@welcome</li> |
41 | <li>irc://psyced.org/welcome</li> | 35 | <li>irc://psyced.org/welcome</li> |
42 | <li>xmpp:*welcome@psyced.org</li> | 36 | <li>xmpp:*welcome@psyced.org</li> |
@@ -46,7 +40,7 @@ | |||
46 | <div class="col-md"> | 40 | <div class="col-md"> |
47 | <h2>Install GNUnet!</h2> | 41 | <h2>Install GNUnet!</h2> |
48 | <p> | 42 | <p> |
49 | Another thing you might want now is your own GNUnet installation. As we haven’t packaged the new versions yet (June 2019) we provide <a href="https://gnunet.org/en/install.html">some tutorials how to install step-by-step</a>. | 43 | Another thing you might want now is your own GNUnet installation. As we haven’t packaged the new versions yet (as of June 2019) we provide <a href="https://gnunet.org/en/install.html">some tutorials how to install step-by-step</a>. |
50 | </p> | 44 | </p> |
51 | <h2>Use GNUnet!</h2> | 45 | <h2>Use GNUnet!</h2> |
52 | <p> | 46 | <p> |
@@ -62,14 +56,16 @@ | |||
62 | <li>If you do not want to use the public bug tracker, you can also eMail to bug-gnunet@gnu.org.</li> | 56 | <li>If you do not want to use the public bug tracker, you can also eMail to bug-gnunet@gnu.org.</li> |
63 | <li>Please inform us if your operating system or package manager applies any vendor changes to GNUnet which you know about (to exclude potential problems introduced by third parties).</li> | 57 | <li>Please inform us if your operating system or package manager applies any vendor changes to GNUnet which you know about (to exclude potential problems introduced by third parties).</li> |
64 | <li>Wait until your bug report is acknowledged/replied to. Note that only volunteers work on this, responses may take a while.</li> | 58 | <li>Wait until your bug report is acknowledged/replied to. Note that only volunteers work on this, responses may take a while.</li> |
65 | <li>Please follow up with eventual questions about the bug. </li> | 59 | <li>Please follow up on any questions about the bug.</li> |
66 | <li>Once a fix is there: Check if it's working as expected, so that we can properly close the bug report and/or give you credits :)</li> | 60 | <li>Once a fix is there: Check if it's working as expected, so that we can properly close the bug report and/or give you credit :)</li> |
67 | </ul> | 61 | </ul> |
68 | <h2>Contribute!</h2> | 62 | <h2>Contribute!</h2> |
69 | <p> | 63 | <p> |
70 | There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it's translations, the bibliography, our wide documentation, and other efforts are most welcome, too.<br> | 64 | There are various ways to contribute. We especially need coders with C skills and knowledge of crypto. Development work on this this website, it's translations, the bibliography, our wide documentation, and other efforts are most welcome, too.<br> |
71 | The core software of GNUnet used to be released with long breaks between releases. Since the 0.11.0 release we try to make releases more regularly. Therefore package maintainers who are interested in working together with an welcoming environment are invited to contribute packages of our software to any OS/PM and request help.<br> | 65 | The core software of GNUnet used to be released with long breaks between releases. Since the 0.11.0 release we try to make releases more regularly. Therefore package maintainers who are interested in working together with an welcoming environment are invited to contribute packages of our software to any OS/PM and request help.<br> |
72 | Last but not least designers are welcome to contact us about projects which require help. | 66 | Last but not least designers are welcome to contact us about projects which require help.<br> |
67 | You may also take a look into our bug tracker | ||
68 | <a href="https://bugs.gnunet.org/search.php?tag_string=beginner">for beginner-friendly issues</a>. | ||
73 | </p> | 69 | </p> |
74 | </div> | 70 | </div> |
75 | </div> | 71 | </div> |
diff --git a/template/ev.html.j2 b/template/ev.html.j2 index d8589b11..812af3cc 100644 --- a/template/ev.html.j2 +++ b/template/ev.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -40,7 +41,7 @@ | |||
40 | to support GNUnet e.V. and in particularly contribute to the | 41 | to support GNUnet e.V. and in particularly contribute to the |
41 | technical development within their means. For further | 42 | technical development within their means. For further |
42 | details, we refer to the | 43 | details, we refer to the |
43 | <a href="https://git.gnunet.org/gnunet-ev.git/">Satzung</a> | 44 | <a href="https://git.gnunet.org/gnunet-ev.git/">Satzung (Charter)</a> |
44 | (currently only available in German, translations welcome). | 45 | (currently only available in German, translations welcome). |
45 | {% endtrans %} | 46 | {% endtrans %} |
46 | </p> | 47 | </p> |
@@ -52,18 +53,18 @@ | |||
52 | <h3>{{ _("Governance") }}</h3> | 53 | <h3>{{ _("Governance") }}</h3> |
53 | <p> | 54 | <p> |
54 | {% trans %} | 55 | {% trans %} |
55 | You can find our "Satzung", and the list of members under | 56 | You can find our charter, and the list of members under |
56 | <a href="https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex">https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex</a>. | 57 | <a href="https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex">https://git.gnunet.org/gnunet-ev.git/tree/satzung.tex</a>. |
57 | The current board consists of: | 58 | The current board consists of: |
58 | <dl><dt>Vorsitz</dt> | 59 | <dl><dt>Vorsitz</dt> |
59 | <dd><a href="https://schanzen.eu">Martin Schanzenbach</a></dd> | 60 | <dd><a href="https://schanzen.eu">Martin Schanzenbach</a></dd> |
60 | <dt>stellvertretender Vorsitz</dt> | 61 | <dt>Stellvertretender Vorsitz</dt> |
61 | <dd>t3sserakt</dd> | 62 | <dd>Florian Felgenhauer</dd> |
62 | <dt>Kassenwart</dt> | 63 | <dt>Kassenwart</dt> |
63 | <dd>Florian Dold</dd> | 64 | <dd>Florian Dold</dd> |
64 | <dt>Beisitzer</dt> | 65 | <dt>Beisitzer</dt> |
65 | <dd> | 66 | <dd> |
66 | <a href="https://grothoff.org/christian/">Christian Grothoff</a>, ch3 | 67 | <a href="https://grothoff.org/christian/">Christian Grothoff</a>, Julius Bünger |
67 | </dd> | 68 | </dd> |
68 | </dl> | 69 | </dl> |
69 | {% endtrans %} | 70 | {% endtrans %} |
@@ -83,7 +84,7 @@ | |||
83 | 84 | ||
84 | <div class="row"> | 85 | <div class="row"> |
85 | <div class="col-md"> | 86 | <div class="col-md"> |
86 | <h3>{{ _("Support Us!") }}</h3> | 87 | <h3 id="support">{{ _("Support Us!") }}</h3> |
87 | <p> | 88 | <p> |
88 | {% trans %} | 89 | {% trans %} |
89 | Everybody is welcome to support us via donations. For | 90 | Everybody is welcome to support us via donations. For |
diff --git a/template/faq.html.j2 b/template/faq.html.j2 index f23a9d7a..66da7fc2 100644 --- a/template/faq.html.j2 +++ b/template/faq.html.j2 | |||
@@ -1,65 +1,1014 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <div class="container-fluid"> | 4 | <div class="container-fluid"> |
4 | <div class="container text-center"> | 5 | <div class="container text-center"> |
5 | <h1>FAQs<h1> | 6 | <h1>FAQs<h1> |
6 | <h2><i>This page is a work-in-progress</i></h2> | ||
7 | </div> | ||
8 | </div> | 7 | </div> |
8 | </div> | ||
9 | <div class="container"> | 9 | <div class="container"> |
10 | <article> | 10 | <div class="row"> |
11 | <section> | 11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> |
12 | <h3>{{ _("Is GNUnet ready for use on production systems?") }}</h3> | 12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> |
13 | <p> | 13 | <a class="nav-link" href="#general">{{ _("General") }}</a> |
14 | {% trans %} | 14 | <a class="nav-link" href="#features">{{ _("Features") }}</a> |
15 | A: GNUnet is still undergoing major development. It is largely not yet ready | 15 | <a class="nav-link" href="#gns">GNU Name System</a> |
16 | for usage beyond developers. Your mileage will vary depending on the | 16 | <a class="nav-link" href="#errors">{{ _("Error messages") }}</a> |
17 | functionality you use, but you will always likely run into issues with | 17 | <a class="nav-link" href="#fs">{{ _("File-sharing") }}</a> |
18 | our current low-level transport system. We are currently in the process of | 18 | <a class="nav-link" href="#contrib">{{ _("Contributing") }}</a> |
19 | rewriting it (Project "Transport Next Generation [TNG]") | 19 | </nav> |
20 | {% endtrans %} | 20 | </div> |
21 | </p> | 21 | |
22 | </section> | 22 | <div class="col"> |
23 | <section> | 23 | <article> |
24 | <h3>{{ _("Is GNUnet build using distributed ledger technologies?") }}</h3> | 24 | <h2><a name="general" class="subnav-anchor"></a>{{ _("General") }}</h2> |
25 | <p> | 25 | General questions about the project. |
26 | {% trans %} | 26 | <section> |
27 | A: No. GNUnet is a new network protocol stack for building secure, | 27 | <h3>{{ _("What do I do if my question is not answered here?") }}</h3> |
28 | distributed, and privacy-preserving applications. | 28 | <p> |
29 | While a ledger could be built using GNUnet, we currently have no plans in | 29 | {% trans %} |
30 | doing so. | 30 | A: There are many other sources of information. You can read additional |
31 | {% endtrans %} | 31 | documentation or ask the question on the help-gnunet@gnu.org mailing list. |
32 | </p> | 32 | {% endtrans %} |
33 | </section> | 33 | </p> |
34 | <section> | 34 | </section> |
35 | <h3>{{ _("I receive many "WARNING Calculated flow delay for X at Y for Z". Should I worry?") }}</h3> | 35 | <section> |
36 | <p> | 36 | <h3>{{ _("When are you going to release the next version?") }}</h3> |
37 | {% trans %} | 37 | <p> |
38 | A: Right now, this is expected and a known cause for high | 38 | {% trans %} |
39 | latency in GNUnet. We have started a major rewrite to address | 39 | A: The general answer is, when it is ready. A better answer may be: earlier |
40 | this and other problems, but until the Transport Next | 40 | if you contribute (test, debug, code, document). Every release will be |
41 | Generation (TNG) is ready, these warnings are expected. | 41 | anounced on the info-gnunet@gnu.org mailing list and on |
42 | {% endtrans %} | 42 | <a href="https://planet.gnu.org">planet GNU</a>. You can subscribe to the |
43 | </p> | 43 | mailing list or the RSS feed of this site to automatically receive a |
44 | </section> | 44 | notification. |
45 | <section> | 45 | {% endtrans %} |
46 | <h3>{{ _("Is there a graphical user interface?") }}</h3> | 46 | </p> |
47 | <p> | 47 | </section> |
48 | {% trans %} | 48 | <section> |
49 | A: gnunet-gtk is a separate download. The package | 49 | <h3>{{ _("Is the code free?") }}</h3> |
50 | contains various GTK+ based graphical interfaces, including a | 50 | <p> |
51 | graphical tool for configuration. | 51 | {% trans %} |
52 | {% endtrans %} | 52 | A: GNUnet is free software, available under the |
53 | </p> | 53 | <a href="https://www.gnu.org/licenses/agpl-3.0.en.html">GNU Affero Public License (AGPL)</a>. |
54 | </section> | 54 | {% endtrans %} |
55 | </article> | 55 | </p> |
56 | <!-- | 56 | </section> |
57 | <h2>{{ ("Q?") }}</h2> | 57 | <section> |
58 | 58 | <h3>{{ _("Are there any known bugs?") }}</h3> | |
59 | <h2>{{ ("Q?") }}</h2> | 59 | <p> |
60 | 60 | {% trans %} | |
61 | <h2>{{ ("Q?") }}</h2> | 61 | A: We track the list of currently known bugs in the |
62 | --> | 62 | <a href="https://bugs.gnunet.org/">Mantis system</a>. |
63 | |||
64 | Some bugs are occasionally reported directly to developers or the developer | ||
65 | mailing list. This is discouraged since developers often do not have the time | ||
66 | to feed these bugs back into the Mantis database. Please report bugs directly | ||
67 | to the bug tracking system. If you believe a bug is sensitive, you can set its | ||
68 | view status to private (this should be the exception). | ||
69 | {% endtrans %} | ||
70 | </p> | ||
71 | </section> | ||
72 | <section> | ||
73 | <h3>{{ _("Is there a graphical user interface?") }}</h3> | ||
74 | <p> | ||
75 | {% trans %} | ||
76 | A: gnunet-gtk is a separate download. The package | ||
77 | contains various GTK+ based graphical interfaces, including a | ||
78 | graphical tool for configuration. | ||
79 | {% endtrans %} | ||
80 | </p> | ||
81 | </section> | ||
82 | <section> | ||
83 | <h3>{{ _("Why does gnunet-service-nse create a high CPU load?") }}</h3> | ||
84 | <p> | ||
85 | {% trans %} | ||
86 | A: The gnunet-service-nse process will initially compute a so-called | ||
87 | "proof-of-work" which is used to convince the network that your | ||
88 | peer is real (or, rather, make it expensive for an adversary to mount a Sybil | ||
89 | attack on the network size estimator). The calculation is expected to take a | ||
90 | few days, depending on how fast your CPU is. If the CPU load is creating a | ||
91 | problem for you, you can set the value "WORKDELAY" in the | ||
92 | "nse" section of | ||
93 | your configuration file to a higher value. The default is "5 ms". | ||
94 | {% endtrans %} | ||
95 | </p> | ||
96 | </section> | ||
97 | |||
98 | <section> | ||
99 | <h3>{{ _("How does GNUnet compare to Tor?") }}</h3> | ||
100 | <p> | ||
101 | {% trans %} | ||
102 | A: Tor focuses on anonymous communication and censorship-resistance for TCP | ||
103 | connections and, with the Tor Browser Bundle, for the Web in particular. | ||
104 | GNUnet does not really have one focus; our theme is secure decentralized | ||
105 | networking, but that is too broad to be called a focus. | ||
106 | {% endtrans %} | ||
107 | </p> | ||
108 | </section> | ||
109 | |||
110 | <section> | ||
111 | <h3>{{ _("How does GNUnet compare to I2P?") }}</h3> | ||
112 | <p> | ||
113 | {% trans %} | ||
114 | A: Both GNUnet and I2P want to build a better, more secure, more decentralized | ||
115 | Internet. However, on the technical side, there are almost no overlaps. | ||
116 | <br><br> | ||
117 | I2P is written in Java, and has (asymmetric) tunnels using onion (or garlic) | ||
118 | routing as the basis for various (anonymized) applications. I2P is largely used | ||
119 | via a Web frontend. | ||
120 | {% endtrans %} | ||
121 | </p> | ||
122 | </section> | ||
123 | <section> | ||
124 | <h3>{{ _("Is GNUnet ready for use on production systems?") }}</h3> | ||
125 | <p> | ||
126 | {% trans %} | ||
127 | A: GNUnet is still undergoing major development. It is largely not yet ready | ||
128 | for usage beyond developers. Your mileage will vary depending on the | ||
129 | functionality you use, but you will always likely run into issues with | ||
130 | our current low-level transport system. We are currently in the process of | ||
131 | rewriting it (Project "Transport Next Generation [TNG]") | ||
132 | {% endtrans %} | ||
133 | </p> | ||
134 | </section> | ||
135 | <section> | ||
136 | <h3>{{ _("Is GNUnet build using distributed ledger technologies?") }}</h3> | ||
137 | <p> | ||
138 | {% trans %} | ||
139 | A: No. GNUnet is a new network protocol stack for building secure, | ||
140 | distributed, and privacy-preserving applications. | ||
141 | While a ledger could be built using GNUnet, we currently have no plans in | ||
142 | doing so. | ||
143 | {% endtrans %} | ||
144 | </p> | ||
145 | </section> | ||
146 | |||
147 | |||
148 | <hr/> | ||
149 | <h2><a name="features" class="subnav-anchor"></a>{{ _("Features") }}</h2> | ||
150 | <section> | ||
151 | <h3>{{ _("What can I do with GNUnet?") }}</h3> | ||
152 | <p> | ||
153 | {% trans %} | ||
154 | A: GNUnet is a peer-to-peer framework, by which we mostly mean that it can do | ||
155 | more than just one thing. Naturally, the implementation and documentation of | ||
156 | some of the features that exist are more advanced than others. | ||
157 | {% endtrans %} | ||
158 | </p> | ||
159 | <p> | ||
160 | {% trans %} | ||
161 | For users, GNUnet offers anonymous and non-anonymous file-sharing, a fully | ||
162 | decentralized and censorship-resistant replacement for DNS and a mechanism for | ||
163 | IPv4-IPv6 protocol translation and tunneling (NAT-PT with DNS-ALG). | ||
164 | {% endtrans %} | ||
165 | See also: <a href="{{ url_localized('applications.html') }}">Applications</a>. | ||
166 | |||
167 | </p> | ||
168 | </section> | ||
169 | |||
170 | <section> | ||
171 | <h3>{{ _("Is it possible to surf the WWW anonymously with GNUnet?") }}</h3> | ||
172 | <p> | ||
173 | {% trans %} | ||
174 | A: It is not possible use GNUnet for anonymous browsing at this point. | ||
175 | We recommend that you use Tor for anonymous surfing. | ||
176 | {% endtrans %} | ||
177 | </p> | ||
178 | </section> | ||
179 | |||
180 | <section> | ||
181 | <h3>{{ _("Is it possible to access GNUnet via a browser as an anonymous WWW?") }}</h3> | ||
182 | <p> | ||
183 | {% trans %} | ||
184 | A: There is currently no proxy (like fproxy in Freenet) for GNUnet that would | ||
185 | make it accessible via a browser. It is possible to build such a proxy and | ||
186 | all one needs to know is the protocol used between the browser and the proxy and | ||
187 | the GNUnet code for file-sharing. | ||
188 | {% endtrans %} | ||
189 | </p> | ||
190 | </section> | ||
191 | |||
192 | <section> | ||
193 | <h3>{{ _("Is there a graphical user interface?") }}</h3> | ||
194 | <p> | ||
195 | {% trans %} | ||
196 | A: There are actually a few graphical user interfaces for different functions. | ||
197 | gnunet-setup is to configure GNUnet, and gnunet-fs-gtk is for file-sharing. | ||
198 | There are a few other gnunet-XXX-gtk GUIs of lesser importance. | ||
199 | Note that in order to obtain the GUI, you need to install the gnunet-gtk | ||
200 | package, which is a separate download. | ||
201 | |||
202 | gnunet-gtk is a meta GUI that integrates most of the other GUIs in one window. | ||
203 | One exception is gnunet-setup, which must still be run separately at this time | ||
204 | (as setup requires the peer to be stopped). | ||
205 | {% endtrans %} | ||
206 | </p> | ||
207 | </section> | ||
208 | |||
209 | <section> | ||
210 | <h3>{{ _("Which operating systems does GNUnet run on?") }}</h3> | ||
211 | <p> | ||
212 | {% trans %} | ||
213 | A: GNUnet is being developed and tested primarily under Debian GNU/Linux. | ||
214 | Furthermore, we regularly build and test GNUnet on Fedora, Ubuntu, Arch, | ||
215 | FreeBSD and macOS. | ||
216 | |||
217 | We have reports of working versions on many other GNU/Linux distributions; | ||
218 | in the past we had reports of working versions on NetBSD, OpenBSD and Solaris. | ||
219 | However, not all of those reports are recent, so if you cannot get GNUnet to | ||
220 | work on those systems please let us know. | ||
221 | {% endtrans %} | ||
222 | </p> | ||
223 | </section> | ||
224 | |||
225 | <hr/> | ||
226 | <h2><a name="gns" class="subnav-anchor"></a>GNU Name System</h2> | ||
227 | <section> | ||
228 | <h3>{{ _("Who runs the GNS root zone?") }}</h3> | ||
229 | <p> | ||
230 | {% trans %} | ||
231 | A: Short answer: you. The long answer is the GNUnet will ship with a | ||
232 | default configuration of top-level domains. The governance of this default | ||
233 | configuration is not yet established. In any case, the user will be able | ||
234 | to modify this configuration at will. We expect normal users to have | ||
235 | no need to edit their own GNS zone(s) unless they host services themselves. | ||
236 | {% endtrans %} | ||
237 | </p> | ||
238 | </section> | ||
239 | |||
240 | <section> | ||
241 | <h3>{{ _("Where is the per-user GNS database kept?") }}</h3> | ||
242 | <p> | ||
243 | {% trans %} | ||
244 | A: The short answer is that the database is kept at the user's GNUnet peer. | ||
245 | Now, a user may run multiple GNUnet peers, in which case the database could be | ||
246 | kept at each peer (however, we don't have code for convenient replication). | ||
247 | Similarly, multiple GNUnet peers can share one instance of the database --- | ||
248 | the "gnunet-service-namestore" can be accessed from remote | ||
249 | (via TCP). The actual data can be stored in a Postgres database, for which | ||
250 | various replication options are again applicable. Ultimately, there are many | ||
251 | options for how users can store (and secure) their GNS database. | ||
252 | {% endtrans %} | ||
253 | </p> | ||
254 | </section> | ||
255 | |||
256 | |||
257 | <section> | ||
258 | <h3>{{ _("What is the expected average size of a GNS namestore database?") }}</h3> | ||
259 | <p> | ||
260 | {% trans %} | ||
261 | A: Pretty small. Based on our user study where we looked at browser histories | ||
262 | and the number of domains visited, we expect that GNS databases will only | ||
263 | grow to a few tens of thousands of entries, small enough to fit even on mobile | ||
264 | devices. | ||
265 | {% endtrans %} | ||
266 | </p> | ||
267 | </section> | ||
268 | |||
269 | <section> | ||
270 | <h3>{{ _("Is GNS resistant to the attacks on DNS used by the US?") }}</h3> | ||
271 | <p> | ||
272 | {% trans %} | ||
273 | A: We believe so, as there is no entity that any government could force to | ||
274 | change the mapping for a name except for each individual user (and then the | ||
275 | changes would only apply to the names that this user is the authority for). | ||
276 | So if everyone used GNS, the only practical attack of a government would be to | ||
277 | force the operator of a server to change the GNS records for his server to | ||
278 | point elsewhere. However, if the owner of the private key for a zone is | ||
279 | unavailable for enforcement, the respective zone cannot be changed and any | ||
280 | other zone delegating to this zone will achieve proper resolution. | ||
281 | {% endtrans %} | ||
282 | </p> | ||
283 | </section> | ||
284 | |||
285 | <section> | ||
286 | <h3>{{ _("How does GNS compare to other name systems?") }}</h3> | ||
287 | <p> | ||
288 | {% trans %} | ||
289 | A: A scientific paper on this topic | ||
290 | <a href="https://grothoff.org/christian/ns2018.pdf">has been published | ||
291 | </a> and below is a table from the publication. | ||
292 | For detailed descriptions please refer to the paper. | ||
293 | {% endtrans %} | ||
294 | <table> | ||
295 | <thead> | ||
296 | <td></td> | ||
297 | <td>MitM manipulation</td> | ||
298 | <td>Zone walk</td> | ||
299 | <td>Client observation (network)</td> | ||
300 | <td>Client observation (operator)</td> | ||
301 | <td>Traffic amplification</td> | ||
302 | <td>Censorship/legal attacks</td> | ||
303 | <td>Ease of migration</td> | ||
304 | <thead> | ||
305 | <tbody> | ||
306 | <tr> | ||
307 | <td>DNS</td> | ||
308 | <td><i class="fa fa-times"></i></td> | ||
309 | <td><i class="fa fa-check"></i></td> | ||
310 | <td><i class="fa fa-times"></i></td> | ||
311 | <td><i class="fa fa-times"></i></td> | ||
312 | <td><i class="fa fa-times"></i></td> | ||
313 | <td><i class="fa fa-times"></i></td> | ||
314 | <td>+++</td> | ||
315 | </tr> | ||
316 | <tr> | ||
317 | <td>DNSSEC</td> | ||
318 | <td><i class="fa fa-check"></i></td> | ||
319 | <td><i class="fa fa-times"></i></td> | ||
320 | <td><i class="fa fa-times"></i></td> | ||
321 | <td><i class="fa fa-times"></i></td> | ||
322 | <td><i class="fa fa-times"></i></td> | ||
323 | <td><i class="fa fa-times"></i></td> | ||
324 | <td>+</td> | ||
325 | </tr> | ||
326 | <tr> | ||
327 | <td>DNSCurve</td> | ||
328 | <td><i class="fa fa-check"></i></td> | ||
329 | <td><i class="fa fa-check"></i></td> | ||
330 | <td><i class="fa fa-check"></i></td> | ||
331 | <td><i class="fa fa-times"></i></td> | ||
332 | <td><i class="fa fa-times"></i></td> | ||
333 | <td><i class="fa fa-times"></i></td> | ||
334 | <td>+</td> | ||
335 | </tr> | ||
336 | <tr> | ||
337 | <td>DoT/DoH</td> | ||
338 | <td><i class="fa fa-check"></i></td> | ||
339 | <td>n/a</td> | ||
340 | <td><i class="fa fa-check"></i></td> | ||
341 | <td><i class="fa fa-times"></i></td> | ||
342 | <td><i class="fa fa-check"></i></td> | ||
343 | <td><i class="fa fa-times"></i></td> | ||
344 | <td>+</td> | ||
345 | </tr> | ||
346 | <tr> | ||
347 | <td>Confid. DNS</td> | ||
348 | <td><i class="fa fa-times"></i></td> | ||
349 | <td>n/a</td> | ||
350 | <td><i class="fa fa-check"></i></td> | ||
351 | <td><i class="fa fa-times"></i></td> | ||
352 | <td><i class="fa fa-times"></i></td> | ||
353 | <td><i class="fa fa-times"></i></td> | ||
354 | <td>++</td> | ||
355 | </tr> | ||
356 | <tr> | ||
357 | <td>Namecoin</td> | ||
358 | <td><i class="fa fa-check"></i></td> | ||
359 | <td><i class="fa fa-times"></i></td> | ||
360 | <td><i class="fa fa-check"></i></td> | ||
361 | <td><i class="fa fa-check"></i></td> | ||
362 | <td><i class="fa fa-check"></i></td> | ||
363 | <td><i class="fa fa-check"></i></td> | ||
364 | <td>-</td> | ||
365 | </tr> | ||
366 | <tr> | ||
367 | <td>GNS</td> | ||
368 | <td><i class="fa fa-check"></i></td> | ||
369 | <td><i class="fa fa-check"></i></td> | ||
370 | <td><i class="fa fa-check"></i></td> | ||
371 | <td><i class="fa fa-check"></i></td> | ||
372 | <td><i class="fa fa-check"></i></td> | ||
373 | <td><i class="fa fa-check"></i></td> | ||
374 | <td>--</td> | ||
375 | </tr> | ||
376 | <tr> | ||
377 | <td>RAINS</td> | ||
378 | <td><i class="fa fa-check"></i></td> | ||
379 | <td><i class="fa fa-times"></i></td> | ||
380 | <td><i class="fa fa-check"></i></td> | ||
381 | <td><i class="fa fa-times"></i></td> | ||
382 | <td><i class="fa fa-check"></i></td> | ||
383 | <td><i class="fa fa-times"></i></td> | ||
384 | <td>--</td> | ||
385 | </tr> | ||
386 | |||
387 | </tbody> | ||
388 | </table> | ||
389 | </p> | ||
390 | </section> | ||
391 | <section> | ||
392 | <h3>{{ _("What is the difference between GNS and CoDoNS?") }}</h3> | ||
393 | <p> | ||
394 | {% trans %} | ||
395 | A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the | ||
396 | authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, and | ||
397 | there are still registrars that determine who owns a name. | ||
398 | <br><br> | ||
399 | With GNS, we decentralize the database and also decentralize the | ||
400 | responsibility for naming: each user runs their own personal root zone and is | ||
401 | thus in complete control of the names they use. GNS also has many additional | ||
402 | features (to keep names short and enable migration) which don't even make | ||
403 | sense in the context of CoDoNS. | ||
404 | |||
405 | {% endtrans %} | ||
406 | </p> | ||
407 | </section> | ||
408 | |||
409 | <section> | ||
410 | <h3>{{ _("What is the difference between GNS and SocialDNS?") }}</h3> | ||
411 | <p> | ||
412 | {% trans %} | ||
413 | A: Like GNS, SocialDNS allows each user to create DNS mappings. However, with | ||
414 | SocialDNS the mappings are shared through the social network and subjected to | ||
415 | ranking. As the social relationships evolve, names can thus change in | ||
416 | surprising ways. | ||
417 | <br><br> | ||
418 | With GNS, names are primarily shared via delegation, and thus mappings will | ||
419 | only change if the user responsible for the name (the authority) manually | ||
420 | changes the record. | ||
421 | {% endtrans %} | ||
422 | </p> | ||
423 | </section> | ||
424 | |||
425 | <section> | ||
426 | <h3>{{ _("What is the difference between GNS and ODDNS?") }}</h3> | ||
427 | <p> | ||
428 | {% trans %} | ||
429 | A: ODDNS is primarily designed to bypass the DNS root zone and the TLD | ||
430 | registries (such as those for ".com" and ".org"). Instead of using those, | ||
431 | each user is expected to maintain a database of (second-level) domains | ||
432 | (like "gnu.org") and the IP addresses of the respective name servers. | ||
433 | Resolution will fail if the target name servers change IPs. | ||
434 | {% endtrans %} | ||
435 | </p> | ||
436 | </section> | ||
437 | |||
438 | <section> | ||
439 | <h3>{{ _("What is the difference between GNS and Handshake?") }}</h3> | ||
440 | <p> | ||
441 | {% trans %} | ||
442 | A: Handshake is a blockchain-based method for root zone governance. | ||
443 | Hence, it does not address the name resolution process itself but | ||
444 | delegates resolution into DNS after the initial TLD resolution. | ||
445 | Not taking sustainablility considerations into account, Handshake | ||
446 | could be used as an additional supporting GNS root zone governance | ||
447 | model, but we currently do not have such plans in mind. | ||
448 | {% endtrans %} | ||
449 | </p> | ||
450 | </section> | ||
451 | |||
452 | <section> | ||
453 | <h3>{{ _("What is the difference between GNS and TrickleDNS?") }}</h3> | ||
454 | <p> | ||
455 | {% trans %} | ||
456 | A: TrickleDNS pushes ("critical") DNS records between DNS resolvers | ||
457 | of participating domains to provide "better availability, lower query | ||
458 | resolution times, and faster update propagation". Thus TrickleDNS is | ||
459 | focused on defeating attacks on the availability (and performance) of record | ||
460 | propagation in DNS, for example via DDoS attacks on DNS root servers. | ||
461 | TrickleDNS is thus concerned with how to ensure distribution of authoritative | ||
462 | records, and authority remains derived from the DNS hierarchy. | ||
463 | {% endtrans %} | ||
464 | </p> | ||
465 | </section> | ||
466 | |||
467 | <section> | ||
468 | <h3>{{ _("Does GNS require real-world introduction (secure PKEY exchange) in the style of the PGP web of trust?") }}</h3> | ||
469 | <p> | ||
470 | {% trans %} | ||
471 | A: For security, it is well known that an initial trust path between the two | ||
472 | parties must exist. However, for applications where this is not required, | ||
473 | weaker mechanisms can be used. For example, we have implemented a | ||
474 | first-come-first-served (FCFS) authority which allows arbitrary users to | ||
475 | register arbitrary names. The key of this authority is included with every | ||
476 | GNUnet installation. Thus, any name registered with FCFS is in fact global and | ||
477 | requires no further introduction. However, the security of these names | ||
478 | depends entirely on the trustworthiness of the FCFS authority. | ||
479 | The authority can be queried under the ".pin" TLD. | ||
480 | {% endtrans %} | ||
481 | </p> | ||
482 | </section> | ||
483 | |||
484 | <section> | ||
485 | <h3>{{ _("How can a legitimate domain owner tell other people to not use his name in GNS?") }}</h3> | ||
486 | <p> | ||
487 | {% trans %} | ||
488 | A: Names have no owners in GNS, so there cannot be a "legitimate" | ||
489 | domain owner. Any user can claim any name (as his preferred name or | ||
490 | "pseudonym") in his NICK record. Similarly, all other users can | ||
491 | choose to ignore this preference and use a name of their choice (or even | ||
492 | assign no name) for this user. | ||
493 | {% endtrans %} | ||
494 | </p> | ||
495 | </section> | ||
496 | |||
497 | <section> | ||
498 | <h3>{{ _("Did you consider the privacy implications of making your personal GNS zone visible?") }}</h3> | ||
499 | <p> | ||
500 | {% trans %} | ||
501 | A: Each record in GNS has a flag "private". Records are shared with | ||
502 | other users (via DHT or zone transfers) only if this flag is not set. | ||
503 | Thus, users have full control over what information about their zones is made | ||
504 | public. | ||
505 | {% endtrans %} | ||
506 | </p> | ||
507 | </section> | ||
508 | |||
509 | <section> | ||
510 | <h3>{{ _("Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?") }}</h3> | ||
511 | <p> | ||
512 | {% trans %} | ||
513 | A: The question presumes that (a) virtual hosting is only necessary because of | ||
514 | IPv4 address scarcity, and (b) that LEHOs are only useful in the context of | ||
515 | virtual hosting. However, LEHOs are also useful to help with X.509 certificate | ||
516 | validation (as they specify for which legacy hostname the certificate should | ||
517 | be valid). Also, even with IPv6 fully deployed and "infinite" IP | ||
518 | addresses being available, we're not sure that virtual hosting would | ||
519 | disappear. Finally, we don't want to have to wait for IPv6 to become | ||
520 | commonplace, GNS should work with today's networks. | ||
521 | {% endtrans %} | ||
522 | </p> | ||
523 | </section> | ||
524 | |||
525 | <section> | ||
526 | <h3>{{ _("Why does GNS not use a trust metric or consensus to determine globally unique names?") }}</h3> | ||
527 | <p> | ||
528 | {% trans %} | ||
529 | A: Trust metrics have the fundamental problem that they have thresholds. | ||
530 | As trust relationships evolve, mappings would change their meaning as they | ||
531 | cross each others thresholds. We decided that the resulting unpredictability | ||
532 | of the resolution process was not acceptable. Furthermore, trust and consensus | ||
533 | might be easy to manipulate by adversaries. | ||
534 | {% endtrans %} | ||
535 | </p> | ||
536 | </section> | ||
537 | |||
538 | <section> | ||
539 | <h3>{{ _("How do you handle compromised zone keys in GNS?") }}</h3> | ||
540 | <p> | ||
541 | {% trans %} | ||
542 | A: The owner of a private key can create a revocation message. This one can | ||
543 | then be flooded throughout the overlay network, creating a copy at all peers. | ||
544 | Before using a public key, peers check if that key has been revoked. | ||
545 | All names that involve delegation via a revoked zone will then fail to | ||
546 | resolve. Peers always automatically check for the existence of a revocation | ||
547 | message when resolving names. | ||
548 | {% endtrans %} | ||
549 | </p> | ||
550 | </section> | ||
551 | |||
552 | <section> | ||
553 | <h3>{{ _("Could the signing algorithm of GNS be upgraded in the future?") }}</h3> | ||
554 | <p> | ||
555 | {% trans %} | ||
556 | A: Yes. In our efforts to standardize GNS, we have already modified the protocol | ||
557 | to support alternative delegation records. | ||
558 | <br> | ||
559 | <br> | ||
560 | Naturally, deployed GNS implementations would have to be updated to support | ||
561 | the new signature scheme. The new scheme can then be run in parallel with | ||
562 | the existing system by using a new record type to indicate the use of a | ||
563 | different cipher system. | ||
564 | {% endtrans %} | ||
565 | </p> | ||
566 | </section> | ||
567 | |||
568 | <section> | ||
569 | <h3>{{ _("How can a GNS zone maintain several name servers, e.g. for load balancing?") }}</h3> | ||
570 | <p> | ||
571 | {% trans %} | ||
572 | A: We don't expect this to be necessary, as GNS records are stored (and | ||
573 | replicated) in the R5N DHT. Thus the authority will typically not be contacted | ||
574 | whenever clients perform a lookup. Even if the authority goes (temporarily) | ||
575 | off-line, the DHT will cache the records for some time. However, should having | ||
576 | multiple servers for a zone be considered truly necessary, the owner of the | ||
577 | zone can simply run multiple peers (and share the zone's key and database | ||
578 | among them). | ||
579 | {% endtrans %} | ||
580 | </p> | ||
581 | </section> | ||
582 | |||
583 | <section> | ||
584 | <h3>{{ _("Why do you believe it is worth giving up unique names for censorship resistance?") }}</h3> | ||
585 | <p> | ||
586 | {% trans %} | ||
587 | A: The GNU Name system offers an alternative to DNS that is censorship | ||
588 | resistant. As with any security mechanism, this comes at a cost (names are not | ||
589 | globally unique). To draw a parallel, HTTPS connections use more bandwidth and | ||
590 | have higher latency than HTTP connections. Depending on your application, | ||
591 | HTTPS may not be worth the cost. However, for users that are experiencing | ||
592 | censorship (or are concerned about it), giving up globally unique names may | ||
593 | very well be worth the cost. After all, what is a "globally" unique | ||
594 | name worth, if it does not resolve? | ||
595 | {% endtrans %} | ||
596 | </p> | ||
597 | </section> | ||
598 | |||
599 | <section> | ||
600 | <h3>{{ _("Why do you say that DNS is 'centralized' and 'distributed'?") }}</h3> | ||
601 | <p> | ||
602 | {% trans %} | ||
603 | A: We say that DNS is 'centralized' because it has a central component / | ||
604 | central point of failure --- the root zone and its management by IANA/ICANN. | ||
605 | This centralization creates vulnerabilities. For example, the US government | ||
606 | was able to reassign the management of the country-TLDs of Afganistan and Iraq | ||
607 | during the wars at the beginning of the 21st century. | ||
608 | {% endtrans %} | ||
609 | </p> | ||
610 | </section> | ||
611 | |||
612 | <section> | ||
613 | <h3>{{ _("How does GNS protect against layer-3 censorship?") }}</h3> | ||
614 | <p> | ||
615 | {% trans %} | ||
616 | A: GNS does not directly help with layer-3 censorship, but it does help | ||
617 | indirectly in two ways: | ||
618 | |||
619 | <ol> | ||
620 | <li> Many websites today use virtual hosting, so blocking a particular IP | ||
621 | address causes much more collateral damage than blocking a DNS name. | ||
622 | It thus raises the cost of censorship.</li> | ||
623 | <li> Existing layer-3 circumvention solutions (such as Tor) would benefit from | ||
624 | a censorship resistant naming system. Accessing Tor's ".onion" | ||
625 | namespace currently requires users to use unmemorable cryptographic | ||
626 | identifiers. With nicer names, Tor and tor2web-like services would be even | ||
627 | easier to use. | ||
628 | </ol> | ||
629 | {% endtrans %} | ||
630 | </p> | ||
631 | </section> | ||
632 | |||
633 | <section> | ||
634 | <h3>{{ _("Does GNS work with search engines?") }}</h3> | ||
635 | <p> | ||
636 | {% trans %} | ||
637 | A: GNS creates no significant problems for search engines, as they can use GNS | ||
638 | to perform name resolution as well as any normal user. Naturally, while we | ||
639 | typically expect normal users to install custom software for name resolution, | ||
640 | this is unlikely to work for search engines today. However, the DNS2GNS | ||
641 | gateway allows search engines to use DNS to resolve GNS names, so they can | ||
642 | still index GNS resources. However, as using DNS2GNS gateways breaks the | ||
643 | cryptographic chain of trust, legacy search engines will obviously not obtain | ||
644 | censorship-resistant names. | ||
645 | {% endtrans %} | ||
646 | </p> | ||
647 | </section> | ||
648 | |||
649 | <section> | ||
650 | <h3>{{ _("How does GNS compare to the Unmanaged Internet Architecture (UIA)?") }}</h3> | ||
651 | <p> | ||
652 | {% trans %} | ||
653 | A: UIA and GNS both share the same basic naming model, which actually | ||
654 | originated with Rivest's SDSI. However, UIA is not concerned about integration | ||
655 | with legacy applications and instead focuses on universal connectivity between | ||
656 | a user's many machines. In contrast, GNS was designed to interoperate with DNS | ||
657 | as much as possible, and to also work as much as possible with the existing | ||
658 | Web infrastructure. UIA is not at all concerned about legacy systems (clean | ||
659 | slate). | ||
660 | {% endtrans %} | ||
661 | </p> | ||
662 | </section> | ||
663 | |||
664 | <section> | ||
665 | <h3>{{ _("Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?") }}</h3> | ||
666 | <p> | ||
667 | {% trans %} | ||
668 | A: First of all, in GNS you can explicitly see the trust chain, so you know if | ||
669 | a name you are resolving belongs to a friend, or a friend-of-a-friend, and can | ||
670 | thus decide how much you trust the result. Naturally, the trusted-computing | ||
671 | base (TCB) can become arbitrarily large this way --- however, given the name | ||
672 | length restriction, for an individual name it is always less than about 128 | ||
673 | entities. | ||
674 | {% endtrans %} | ||
675 | </p> | ||
676 | </section> | ||
677 | |||
678 | <section> | ||
679 | <h3>{{ _("How does GNS handle SRV/TLSA records where service and protocol are part of the domain name?") }}</h3> | ||
680 | <p> | ||
681 | {% trans %} | ||
682 | A: When GNS splits a domain name into labels for resolution, it detects the | ||
683 | "_Service._Proto" syntax, converts "Service" to the | ||
684 | corresponding port number and "Proto" to the corresponding protocol | ||
685 | number. The rest of the name is resolved as usual. Then, when the result is | ||
686 | presented, GNS looks for the GNS-specific "BOX" record type. | ||
687 | A BOX record is a record that contains another record (such as SRV or TLSA | ||
688 | records) and adds a service and protocol number (and the original boxed record | ||
689 | type) to it. | ||
690 | {% endtrans %} | ||
691 | </p> | ||
692 | </section> | ||
693 | |||
694 | <hr/> | ||
695 | <h2><a name="errors" class="subnav-anchor"></a>{{ _("Error messages") }}</h2> | ||
696 | <section> | ||
697 | <h3>{{ _("I receive many "WARNING Calculated flow delay for X at Y for Z". Should I worry?") }}</h3> | ||
698 | <p> | ||
699 | {% trans %} | ||
700 | A: Right now, this is expected and a known cause for high | ||
701 | latency in GNUnet. We have started a major rewrite to address | ||
702 | this and other problems, but until the Transport Next | ||
703 | Generation (TNG) is ready, these warnings are expected. | ||
704 | {% endtrans %} | ||
705 | </p> | ||
706 | </section> | ||
707 | <section> | ||
708 | <h3>{{ _("Error opening `/dev/net/tun': No such file or directory?") }}</h3> | ||
709 | <p> | ||
710 | {% trans %} | ||
711 | A: If you get this error message, the solution is simple. Issue the following | ||
712 | commands (as root) to create the required device file | ||
713 | {% endtrans %} | ||
714 | <code class="block"> | ||
715 | # mkdir /dev/net<br> | ||
716 | # mknod /dev/net/tun c 10 200<br> | ||
717 | </code> | ||
718 | </p> | ||
719 | </section> | ||
720 | |||
721 | <section> | ||
722 | <h3>{{ _("'iptables: No chain/target/match by that name.' (when running gnunet-service-dns)?") }}</h3> | ||
723 | <p> | ||
724 | {% trans %} | ||
725 | A: For GNUnet DNS, your iptables needs to have "owner" match | ||
726 | support. | ||
727 | |||
728 | This is accomplished by having the correct kernel options. Check if your | ||
729 | kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or 'm' (and the | ||
730 | module is loaded). | ||
731 | {% endtrans %} | ||
732 | </p> | ||
733 | </section> | ||
734 | |||
735 | <section> | ||
736 | <h3>{{ _("'Timeout was reached' when running PT on Fedora (and possibly others)?") }}</h3> | ||
737 | <p> | ||
738 | {% trans %} | ||
739 | A: If you get an error stating that the VPN timeout was reached, check if your | ||
740 | firewall is enabled and blocking the connections. | ||
741 | {% endtrans %} | ||
742 | </p> | ||
743 | </section> | ||
744 | |||
745 | <section> | ||
746 | <h3>{{ _("I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'") }}</h3> | ||
747 | <p> | ||
748 | {% trans %} | ||
749 | A: This error usually occurs when your linker fails to locate one of GNUnet's | ||
750 | libraries. This can have two causes. First, it is theoretically possible that | ||
751 | the library is not installed on your system; however, if you compiled GNUnet | ||
752 | the normal way and/or used a binary package, that is highly unlikely. The more | ||
753 | common cause is that you installed GNUnet to a directory that your linker | ||
754 | does not search. There are several ways to fix this that are described below. | ||
755 | |||
756 | If you are 'root' and you installed to a system folder (such as /usr/local), | ||
757 | you want to add the libraries to the system-wide search path. This is done by | ||
758 | adding a line "/usr/local/lib/" to /etc/ld.so.conf and running "ldconfig". | ||
759 | If you installed GNUnet to /opt or any other similar path, you obviously have | ||
760 | to change "/usr/local" accordingly. | ||
761 | |||
762 | If you do not have 'root' rights or if you installed GNUnet to say | ||
763 | "/home/$USER/", then you can explicitly tell your linker to search a | ||
764 | particular directory for libraries using the "LD_LIBRARY_PATH" environment | ||
765 | variable. For example, if you configured GNUnet using a prefix of | ||
766 | "$HOME/gnunet/" you want to run: | ||
767 | {% endtrans %} | ||
768 | </p> | ||
769 | <code> | ||
770 | $ export LD_LIBRARY_PATH=$HOME/gnunet/lib:$LD_LIBRARY_PATH<br> | ||
771 | $ export PATH=$HOME/gnunet/bin:$PATH | ||
772 | </code> | ||
773 | </p> | ||
774 | {% trans %} | ||
775 | to ensure GNUnet's binaries and libraries are found. In order to avoid having to do so each time, you can add the above lines (without the "$") to your .bashrc or .profile file. You will have to logout and login again to have this new profile be applied to all shells (including your desktop environment). | ||
776 | {% endtrans %} | ||
777 | </p> | ||
778 | </section> | ||
779 | |||
780 | <section> | ||
781 | <h3>{{ _("What error messages can be ignored?") }}</h3> | ||
782 | <p> | ||
783 | {% trans %} | ||
784 | A: Error messages flagged as "DEBUG" should be disabled in binaries | ||
785 | built for end-users and can always be ignored. | ||
786 | |||
787 | Error messages flagged as "INFO" always refer to harmless events that | ||
788 | require no action. For example, GNUnet may use an INFO message to | ||
789 | indicate that it is currently performing an expensive operation that | ||
790 | will take some time. GNUnet will also use INFO messages to display | ||
791 | information about important configuration values. | ||
792 | {% endtrans %} | ||
793 | </p> | ||
794 | </section> | ||
795 | |||
796 | <hr/> | ||
797 | <h2><a name="fs" class="subnav-anchor"></a>{{ _("File-sharing")}}</h2> | ||
798 | <section> | ||
799 | <h3>{{ _("How does GNUnet compare to other file-sharing applications?") }}</h3> | ||
800 | <p> | ||
801 | {% trans %} | ||
802 | A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most | ||
803 | other P2P networks, GNUnet was designed with security in mind as the | ||
804 | highest priority. We intend on producing a network with comprehensive | ||
805 | security features. Many other P2P networks are open to a wide variety | ||
806 | of attacks, and users have little privacy. GNUnet is also Free | ||
807 | Software and thus the source code is available, so you do not have to | ||
808 | worry about being spied upon by the software. The following table | ||
809 | summarises the main differences between GNUnet and other systems. | ||
810 | The information is accurate to the best of our knowledge. | ||
811 | The comparison is difficult since there are sometimes differences | ||
812 | between various implementations of (almost) the same protocol. | ||
813 | In general, we pick a free implementation as the reference | ||
814 | implementation since it is possible to inspect the free code. Also, | ||
815 | all of these systems are changing over time and thus the data below | ||
816 | may not be up-to-date. If you find any flaws, please let us know. | ||
817 | Finally, the table is not saying terribly much (it is hard to compare | ||
818 | these systems this briefly), so if you want the real differences, read | ||
819 | the research papers (and probably the code). | ||
820 | {% endtrans %} | ||
821 | </p> | ||
822 | <table width="90%" border="0" cellpadding="0" cellspacing="0"><tbody><tr><th >Network</th> | ||
823 | <th ><a>GNUnet FS</a></th> | ||
824 | <th ><a>OneSwarm</th> | ||
825 | <th ><a>Napster</th> | ||
826 | <th ><a>Direct Connect</th> | ||
827 | <th ><a>FastTrack</th> | ||
828 | <th ><a>eDonkey</th> | ||
829 | <th ><a>Gnutella</th> | ||
830 | <th ><a>Freenet</th> | ||
831 | </tr><tr><th >Distributed Queries</th> | ||
832 | <td >yes</td> | ||
833 | <td >yes</td> | ||
834 | <td >no</td> | ||
835 | <td >hubs</td> | ||
836 | <td >super-peers</td> | ||
837 | <td >DHT (eMule)</td> | ||
838 | <td >yes</td> | ||
839 | <td >yes</td> | ||
840 | </tr><tr><th >Multisource Download</th> | ||
841 | <td >yes</td> | ||
842 | <td >yes</td> | ||
843 | <td >no</td> | ||
844 | <td >no</td> | ||
845 | <td >yes</td> | ||
846 | <td >yes</td> | ||
847 | <td >yes</td> | ||
848 | <td >no</td> | ||
849 | </tr><tr><th >Economics</th> | ||
850 | <td >yes</td> | ||
851 | <td >yes</td> | ||
852 | <td >no</td> | ||
853 | <td >no</td> | ||
854 | <td >no</td> | ||
855 | <td >yes</td> | ||
856 | <td >no</td> | ||
857 | <td >no</td> | ||
858 | </tr><tr><th >Anonymity</th> | ||
859 | <td >yes</td> | ||
860 | <td >maybe</td> | ||
861 | <td >no</td> | ||
862 | <td >no</td> | ||
863 | <td >no</td> | ||
864 | <td >no</td> | ||
865 | <td >no</td> | ||
866 | <td >yes</td> | ||
867 | </tr><tr><th >Language</th> | ||
868 | <td >C</td> | ||
869 | <td >Java</td> | ||
870 | <td >often C</td> | ||
871 | <td >C++</td> | ||
872 | <td >C</td> | ||
873 | <td >C++</td> | ||
874 | <td >often C</td> | ||
875 | <td >Java</td> | ||
876 | </tr><tr><th >Transport Protocol</th> | ||
877 | <td >UDP, TCP, SMTP, HTTP</td> | ||
878 | <td >TCP</td> | ||
879 | <td >TCP</td> | ||
880 | <td >TCP?</td> | ||
881 | <td >UDP, TCP</td> | ||
882 | <td >UDP, TCP</td> | ||
883 | <td >TCP</td> | ||
884 | <td >TCP</td> | ||
885 | </tr><tr><th >Query Format (UI)</th> | ||
886 | <td >keywords / CHK</td> | ||
887 | <td >filename / SHA?</td> | ||
888 | <td >keywords</td> | ||
889 | <td >filename, THEX</td> | ||
890 | <td >filename, SHA</td> | ||
891 | <td >filename, MD4?</td> | ||
892 | <td >filename, SHA</td> | ||
893 | <td >secret key, CHK</td> | ||
894 | </tr><tr><th >Routing</th> | ||
895 | <td >dynamic (indirect, direct)</td> | ||
896 | <td >static (indirect, direct)</td> | ||
897 | <td >always direct</td> | ||
898 | <td >always direct</td> | ||
899 | <td >always direct</td> | ||
900 | <td >always direct</td> | ||
901 | <td >always direct</td> | ||
902 | <td >always indirect</td> | ||
903 | </tr><tr><th >License</th> | ||
904 | <td >GPL</td> | ||
905 | <td >GPL</td> | ||
906 | <td >GPL (knapster)</td> | ||
907 | <td >GPL (Valknut)</td> | ||
908 | <td >GPL (giFT)</td> | ||
909 | <td >GPL (eMule)</td> | ||
910 | <td >GPL (gtk-gnutella)</td> | ||
911 | <td >GPL</td> | ||
912 | </tr></tbody> | ||
913 | </table> | ||
914 | <p> | ||
915 | {% trans %} | ||
916 | Another important point of reference are the various anonymous | ||
917 | peer-to-peer networks. | ||
918 | Here, there are differences in terms of application domain and how | ||
919 | specifically anonymity is achieved. | ||
920 | Anonymous routing is a hard research topic, so for a superficial | ||
921 | comparison like this one we focus on the latency. | ||
922 | Another important factor is the programming language. | ||
923 | Type-safe languages may offer certain security benefits; however, this may come at the cost of significant increases in resource consumption which in turn may reduce anonymity. | ||
924 | {% endtrans %} | ||
925 | </p> | ||
926 | </section> | ||
927 | <section> | ||
928 | <h3>{{ _("Are there any known attacks (on GNUnet's file-sharing application)?") }}</h3> | ||
929 | <p> | ||
930 | {% trans %} | ||
931 | A: Generally, there is the possibility of a known plaintext attack on | ||
932 | keywords, but since the user has control over the keywords that are | ||
933 | associated with the content he inserts, the user can take advantage of | ||
934 | the same techniques used to generate reasonable passwords to defend | ||
935 | against such an attack. In any event, we are not trying to hide | ||
936 | content; thus, unless the user is trying to insert information into | ||
937 | the network that can only be shared with a small group of people, | ||
938 | there is no real reason to try to obfuscate the content by choosing a | ||
939 | difficult keyword anyway. | ||
940 | {% endtrans %} | ||
941 | </p> | ||
942 | </section> | ||
943 | <section> | ||
944 | <h3>{{ _("What do you mean by anonymity?") }}</h3> | ||
945 | <p> | ||
946 | {% trans %} | ||
947 | A: Anonymity is the lack of distinction of an individual from a | ||
948 | (large) group. A central goal for anonymous file-sharing in GNUnet is | ||
949 | to make all users (peers) form a group and to make communications in | ||
950 | that group anonymous, that is, nobody (but the initiator) should be | ||
951 | able to tell which of the peers in the group originated the message. | ||
952 | In other words, it should be difficult to impossible for an adversary | ||
953 | to distinguish between the originating peer and all other peers. | ||
954 | {% endtrans %} | ||
955 | </p> | ||
956 | </section> | ||
957 | <section> | ||
958 | <h3>{{ _("What does my system do when participating in GNUnet file sharing?") }}</h3> | ||
959 | <p> | ||
960 | {% trans %} | ||
961 | A: In GNUnet you set up a node (a peer). It is identified by an ID (hash | ||
962 | of its public key) and has a number of addresses it is reachable by | ||
963 | (may have no addresses, for instance when it's behind a NAT). | ||
964 | You specify bandwidth limits (how much traffic GNUnet is allowed to | ||
965 | consume) and datastore quote (how large your on-disk block storage is) | ||
966 | . Your node will then proceed to connect to other nodes, becoming | ||
967 | part of the network. | ||
968 | {% endtrans %} | ||
969 | </p> | ||
970 | </section> | ||
971 | |||
972 | <hr/> | ||
973 | <h2><a name="contrib" class="subnav-anchor"></a>{{ _("Contributing")}}</h2> | ||
974 | <section> | ||
975 | <h3>{{ _("How can I help translate this webpage into other languages?") }}</h3> | ||
976 | <p> | ||
977 | {% trans %} | ||
978 | A: First, you need to register an account with our weblate system. | ||
979 | Please send an e-mail with the desired target language to | ||
980 | translators@gnunet.org or ask for help on the #gnunet chat on | ||
981 | irc.freenode.net. Typically someone with sufficient permissions will | ||
982 | then grant you access. Naturally, any abuse will result in the loss | ||
983 | of permissions. | ||
984 | {% endtrans %} | ||
985 | </p> | ||
986 | </section> | ||
987 | |||
988 | <section> | ||
989 | <h3>{{ _("I have some great idea for a new feature, what should I do?") }}</h3> | ||
990 | <p> | ||
991 | {% trans %} | ||
992 | A: Sadly, we have many more feature requests than we can possibly | ||
993 | implement. The best way to actually get a new feature implemented is | ||
994 | to do it yourself --- and to then send us a patch. | ||
995 | {% endtrans %} | ||
996 | </p> | ||
997 | </section> | ||
998 | |||
999 | |||
1000 | </article> | ||
1001 | </div> <!-- col --> | ||
1002 | </div> <!-- row--> | ||
1003 | |||
1004 | |||
1005 | <!-- | ||
1006 | <h2>{{ ("Q?") }}</h2> | ||
1007 | |||
1008 | <h2>{{ ("Q?") }}</h2> | ||
1009 | |||
1010 | <h2>{{ ("Q?") }}</h2> | ||
1011 | --> | ||
63 | 1012 | ||
64 | </div> | 1013 | </div> |
65 | {% endblock body_content %} | 1014 | {% endblock body_content %} |
diff --git a/template/glossary.html.j2 b/template/glossary.html.j2 index 789074e9..59b9276f 100644 --- a/template/glossary.html.j2 +++ b/template/glossary.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/gns.html.j2 b/template/gns.html.j2 index 114e0d21..b824ae35 100644 --- a/template/gns.html.j2 +++ b/template/gns.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/gnurl.html.j2 b/template/gnurl.html.j2 index 5556bd17..d0e1bb99 100644 --- a/template/gnurl.html.j2 +++ b/template/gnurl.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | <header> | 5 | <header> |
5 | <h1>gnurl (libgnurl)</h1> | 6 | <h1>gnurl (libgnurl)</h1> |
diff --git a/template/gsoc-2018-gnunet-webui.html.j2 b/template/gsoc-2018-gnunet-webui.html.j2 index ec65ee5b..69feea8c 100644 --- a/template/gsoc-2018-gnunet-webui.html.j2 +++ b/template/gsoc-2018-gnunet-webui.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="d-flex flex-column p-2 bd-highlight"> | 4 | <article class="d-flex flex-column p-2 bd-highlight"> |
4 | <div class="container"> | 5 | <div class="container"> |
5 | <div class="text-center"> | 6 | <div class="text-center"> |
diff --git a/template/gsoc.html.j2 b/template/gsoc.html.j2 index 6fdc58be..d324b7b2 100644 --- a/template/gsoc.html.j2 +++ b/template/gsoc.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -9,7 +10,7 @@ | |||
9 | <div class="row"> | 10 | <div class="row"> |
10 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | 11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> |
11 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | 12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> |
12 | <a class="nav-link" href="#current">{{ _("Ideas 2021") }}</a> | 13 | <a class="nav-link" href="#current">{{ _("Ideas 2024") }}</a> |
13 | <!--<a class="nav-link" href="#past">{{ _("Past projects") }}</a>--> | 14 | <!--<a class="nav-link" href="#past">{{ _("Past projects") }}</a>--> |
14 | <a class="nav-link" href="#finished">{{ _("Finished projects") }}</a> | 15 | <a class="nav-link" href="#finished">{{ _("Finished projects") }}</a> |
15 | </nav> | 16 | </nav> |
@@ -20,13 +21,13 @@ | |||
20 | <p> | 21 | <p> |
21 | {% trans %} | 22 | {% trans %} |
22 | As a GNU project, GNUnet has participated in the Google Summer of Code (GSoC) for a number of years. This page lists all current, past, and finished projects. | 23 | As a GNU project, GNUnet has participated in the Google Summer of Code (GSoC) for a number of years. This page lists all current, past, and finished projects. |
23 | If you want to participate and apply for any of the ideas for 2020 below or any past project which is not yet finished (or even your own idea), please contact us either in IRC or mailing list. | 24 | If you want to participate and apply for any of the ideas for 2020 below or any past project which is not yet finished (or even your own idea), please contact us on the mailing list. |
24 | {% endtrans %} | 25 | {% endtrans %} |
25 | </p> | 26 | </p> |
26 | </section> | 27 | </section> |
27 | 28 | ||
28 | 29 | ||
29 | <h2><a name="current" class="subnav-anchor"></a>{{ _("Ideas 2021") }}</h2> | 30 | <h2><a name="current" class="subnav-anchor"></a>{{ _("Ideas 2024") }}</h2> |
30 | 31 | ||
31 | <section> | 32 | <section> |
32 | <h4>Transport Next Generation (TNG): Communicator plugins</h4> | 33 | <h4>Transport Next Generation (TNG): Communicator plugins</h4> |
@@ -54,56 +55,213 @@ | |||
54 | 55 | ||
55 | We expect that this project can be worked on by multiple students | 56 | We expect that this project can be worked on by multiple students |
56 | as there are a lot of protocols to choose from. | 57 | as there are a lot of protocols to choose from. |
58 | A QUIC communicator has been written as part of GSoC 2023. | ||
59 | |||
57 | The tasks would consist of: | 60 | The tasks would consist of: |
58 | <ol> | 61 | <ol> |
59 | <li>Deciding which communicators to implement.</li> | 62 | <li>Deciding which communicators to implement.</li> |
60 | <li>Test the communicators.</li> | 63 | <li>Test the communicators.</li> |
61 | <li>Documentation.</li> | 64 | <li>Documentation.</li> |
62 | </ol> | 65 | </ol> |
66 | Expected outcome: | ||
67 | <ol> | ||
68 | <li>At least one new communicator.</li> | ||
69 | <li>Documentation of communicator protocol and how to use.</li> | ||
70 | </ol> | ||
63 | Advantageous skills/languages/frameworks: | 71 | Advantageous skills/languages/frameworks: |
64 | <ol> | 72 | <ol> |
65 | <li>C</li> | 73 | <li>C</li> |
66 | <li>Knowledge of HTTPS, QUIC, Bluetooth or WiFi.</li> | 74 | <li>Knowledge of HTTPS, Bluetooth or WiFi.</li> |
67 | </ol> | 75 | </ol> |
68 | <br/> | 76 | <br/> |
69 | <strong>Difficulty:</strong> Average, but depends on selected protocols. | 77 | <strong>Difficulty:</strong> Average, but depends on selected protocols and library. |
78 | <br/> | ||
79 | <strong>Size:</strong> 175h | ||
70 | <br/> | 80 | <br/> |
71 | <strong>Mentors:</strong> Martin Schanzenbach, t3sserakt | 81 | <strong>Mentors:</strong> Martin Schanzenbach, t3sserakt |
72 | {% endtrans %} | 82 | {% endtrans %} |
73 | </p> | 83 | </p> |
74 | </section> | 84 | </section> |
85 | <!-- Single-process peer --> | ||
86 | <section> | ||
87 | <h4>Single-process peer</h4> | ||
88 | <p> | ||
89 | {% trans %} | ||
90 | For special platforms such as Android, GNUnet must be usable | ||
91 | as a single-peer shared library. | ||
92 | Since GNUnet's design fundamentally revolves around a multi-process | ||
93 | model that communicate via IPCs, this requires a major change | ||
94 | in how GNUnet processes are instantiated. | ||
95 | A lot of progress in this direction has already been made but | ||
96 | some issues still remain. | ||
75 | 97 | ||
98 | The project tasks are to: | ||
99 | <ol> | ||
100 | <li>Get familiar with the GNUnet scheduler and envisioned single-process architecture.</li> | ||
101 | <li>Implement the single-process scheduler and main loop.</li> | ||
102 | <li>Demonstrate the functioning of this change (e.g. in a simple Android App)</li> | ||
103 | </ol> | ||
104 | Expected outcome: | ||
105 | <ol> | ||
106 | <li>A new single-process shared library to link against.</li> | ||
107 | <li>Documentation on when and how to build the single-process library.</li> | ||
108 | <li>A demo application.</li> | ||
109 | </ol> | ||
110 | Advantageous skills/languages/frameworks: | ||
111 | <ol> | ||
112 | <li>C</li> | ||
113 | <li>Socket programming</li> | ||
114 | <li>Scheduler and IO</li> | ||
115 | </ol> | ||
116 | <br/> | ||
117 | <strong>Difficulty:</strong> Difficult | ||
118 | <br/> | ||
119 | <strong>Size:</strong> 175h | ||
120 | <br/> | ||
121 | <strong>Mentors:</strong> Martin Schanzenbach | ||
122 | {% endtrans %} | ||
123 | </p> | ||
124 | </section> | ||
125 | <!-- Pluggable REST service components --> | ||
76 | <section> | 126 | <section> |
77 | <h4>REST: Multi-user support</h4> | 127 | <h4>Pluggable REST service components</h4> |
78 | <p> | 128 | <p> |
79 | {% trans %} | 129 | {% trans %} |
80 | The REST API currently only supports a single user system. | 130 | In the process of supporting a single-process GNUnet peer, |
81 | This is an issue as on multi-user systems, access control | 131 | the subsystem REST plugins have been consolidated into a single, |
82 | must be enfoced on a per-user basis. | 132 | large REST server that depends on all subsystems. |
83 | 133 | ||
84 | In this project, the REST service must be extended to | 134 | In this work, the student should define and implement a new architure |
85 | support user authentication. | 135 | that runs each subsystem's REST interface in its own service, |
86 | This includes the correct handling of user context switches. | 136 | thus making the REST service more resilient and easier to extend. |
137 | |||
138 | The planned projects tasks are to: | ||
87 | <ol> | 139 | <ol> |
88 | <li>Implement user authentication.</li> | 140 | <li>Get familiar with the existing REST service.</li> |
89 | <li>Test the access control.</li> | 141 | <li>Plan a multi-processes architecture for REST services.</li> |
90 | <li>Document the changes to the REST API.</li> | 142 | <li>Test and document the use of the new architecture / REST service layer.</li> |
143 | </ol> | ||
144 | Expected outcome: | ||
145 | <ol> | ||
146 | <li>A new multi-process REST service architecture.</li> | ||
147 | <li>The current REST service is modified or replaced with a multi-process service per subsystem.</li> | ||
148 | <li>Architecture and usage documentation.</li> | ||
91 | </ol> | 149 | </ol> |
92 | Advantageous skills/languages/frameworks: | 150 | Advantageous skills/languages/frameworks: |
93 | <ol> | 151 | <ol> |
94 | <li>C</li> | 152 | <li>C</li> |
95 | <li>Knowledge of user authentication subsystems on Linux/Unix.</li> | 153 | <li>Socket programming</li> |
96 | <li>REST/HTTP Authentication methods</li> | ||
97 | </ol> | 154 | </ol> |
98 | <br/> | 155 | <br/> |
99 | <strong>Difficulty:</strong> Beginner | 156 | <strong>Difficulty:</strong> Medium |
157 | <br/> | ||
158 | <strong>Size:</strong> 175h | ||
100 | <br/> | 159 | <br/> |
101 | <strong>Mentors:</strong> Martin Schanzenbach | 160 | <strong>Mentors:</strong> Martin Schanzenbach |
102 | {% endtrans %} | 161 | {% endtrans %} |
103 | </p> | 162 | </p> |
104 | </section> | 163 | </section> |
164 | <!-- GTK4 upgrade of gnunet-gtk --> | ||
165 | <section> | ||
166 | <h4>gnunet-gtk gtk4 upgrade</h4> | ||
167 | <p> | ||
168 | {% trans %} | ||
169 | Our GTK interface for GNUnet is written using libglade and Gtk. | ||
170 | It is currently designed and compatible with Gtk+3 with already possibly including a variety of deprecated functions. | ||
171 | In this project the requirements for a Gtk4 migration shall be worked out and the codebase migrated to the most recent stable Gtk4 release. | ||
105 | 172 | ||
173 | The difficulty of this project largely depends on the students | ||
174 | proficiency with build tools and Gtk. | ||
175 | There non-exhaustive task list would be: | ||
176 | <ol> | ||
177 | <li>Get familiar with the existing gnunet-gtk architecture.</li> | ||
178 | <li>Get familiar with Gtk4 and work out a migration path.</li> | ||
179 | <li>Migrate gnunet-gtk to gtk4.</li> | ||
180 | <li>(Optional) Ad-hoc UI improvements where applicable</li> | ||
181 | </ol> | ||
182 | Advantageous skills/languages/frameworks: | ||
183 | <ol> | ||
184 | <li>C</li> | ||
185 | <li>Gtk</li> | ||
186 | <li>User interfaces</li> | ||
187 | </ol> | ||
188 | <br/> | ||
189 | <strong>Difficulty:</strong> Medium | ||
190 | <br/> | ||
191 | <strong>Size:</strong> 350h | ||
192 | <br/> | ||
193 | <strong>Mentors:</strong> Martin Schanzenbach | ||
194 | {% endtrans %} | ||
195 | </p> | ||
196 | </section> | ||
197 | |||
198 | <section> | ||
199 | <h4>Integration of GNU Anastasis into the GNU Taler wallet</h4> | ||
200 | <p> | ||
201 | {% trans %} | ||
202 | The goal of this project is to enable users to store their GNU Taler wallet backup encryption keys in the GNU Anastasis distributed key backup and recovery system, and to use GNU Taler to pay GNU Anastasis service providers for key storage and recovery. The project will focus on implementing the GNU Anastasis user interface on Android inspired by the existing Gtk+ and WebUI and integrating the result with the rest of the GNU Taler Android App. | ||
203 | {% endtrans %} | ||
204 | <p> | ||
205 | {% trans %} | ||
206 | <strong>Mentors:</strong> Christian Grothoff (GNU Anastasis) and Florian Dold (GNU Taler) | ||
207 | {% endtrans %} | ||
208 | </p> | ||
209 | <p> | ||
210 | {% trans %} | ||
211 | Required Skills: Android UI development | ||
212 | {% endtrans %} | ||
213 | </p> | ||
214 | <p> | ||
215 | {% trans %} | ||
216 | Duration: 350h | ||
217 | {% endtrans %} | ||
218 | </p> | ||
219 | <p> | ||
220 | {% trans %} | ||
221 | Difficulty level: medium | ||
222 | {% endtrans %} | ||
223 | </p> | ||
224 | </section> | ||
106 | 225 | ||
226 | <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. --> | ||
227 | <!--<h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2> | ||
228 | <p> | ||
229 | Past projects: Previously proposed, but left unfinished. Inspiration for students. | ||
230 | </p> | ||
231 | <section> | ||
232 | <h4>Rust templates for GNUnet services</h4> | ||
233 | <p> | ||
234 | {% trans %} | ||
235 | The goal is to either build upon the (outdated) <a href="https://github.com/canndrew/gnunet-rs">GNUnet Rust | ||
236 | bindings</a> or to follow the path of <a href="GNUnet Go">https://github.com/bfix/gnunet-go</a> | ||
237 | which tries to reimplement most of the GNUnet stack. | ||
238 | The end result should be an extension template for GNUnet in the form | ||
239 | of the existing <a href="https://git.gnunet.org/gnunet-ext.git/">C template</a> | ||
240 | which allows to quickly start implementing services and libraries | ||
241 | for GNUnet. | ||
242 | {% endtrans %} | ||
243 | </p> | ||
244 | <p> | ||
245 | {% trans %} | ||
246 | <strong>Mentors:</strong> Martin Schanzenbach | ||
247 | {% endtrans %} | ||
248 | </p> | ||
249 | <p> | ||
250 | {% trans %} | ||
251 | Required Skills: Solid knowledge of Rust and ideally asynchronuous IO. | ||
252 | {% endtrans %} | ||
253 | </p> | ||
254 | <p> | ||
255 | {% trans %} | ||
256 | Duration: 350h | ||
257 | {% endtrans %} | ||
258 | </p> | ||
259 | <p> | ||
260 | {% trans %} | ||
261 | Difficulty level: medium | ||
262 | {% endtrans %} | ||
263 | </p> | ||
264 | </section> | ||
107 | 265 | ||
108 | <section> | 266 | <section> |
109 | <h4>re:claimID/GNUnet Browser Plugin</h4> | 267 | <h4>re:claimID/GNUnet Browser Plugin</h4> |
@@ -180,42 +338,6 @@ | |||
180 | {% endtrans %} | 338 | {% endtrans %} |
181 | </p> | 339 | </p> |
182 | </section> | 340 | </section> |
183 | |||
184 | <section> | ||
185 | <h4>Rust templates for GNUnet services</h4> | ||
186 | <p> | ||
187 | {% trans %} | ||
188 | The goal is to either build upon the (outdated) <a href="https://github.com/canndrew/gnunet-rs">GNUnet Rust | ||
189 | bindings</a> or to follow the path of <a href="GNUnet Go">https://github.com/bfix/gnunet-go</a> | ||
190 | which tries to reimplement most of the GNUnet stack. | ||
191 | The end result should be an extension template for GNUnet in the form | ||
192 | of the existing <a href="https://git.gnunet.org/gnunet-ext.git/">C template</a> | ||
193 | which allows to quickly start implementing services and libraries | ||
194 | for GNUnet. | ||
195 | {% endtrans %} | ||
196 | </p> | ||
197 | <p> | ||
198 | {% trans %} | ||
199 | <strong>Mentors:</strong> Martin Schanzenbach | ||
200 | {% endtrans %} | ||
201 | </p> | ||
202 | <p> | ||
203 | {% trans %} | ||
204 | Required Skills: Solid knowledge of Rust and ideally asynchronuous IO. | ||
205 | {% endtrans %} | ||
206 | </p> | ||
207 | <p> | ||
208 | {% trans %} | ||
209 | Difficulty level: medium | ||
210 | {% endtrans %} | ||
211 | </p> | ||
212 | </section> | ||
213 | |||
214 | <!-- Past projects: Previously proposed, but left unfinished. Inspiration for students. --> | ||
215 | <!--<h2><a name="past" class="subnav-anchor"></a>{{ _("Past projects") }}</h2> | ||
216 | <p> | ||
217 | Past projects: Previously proposed, but left unfinished. Inspiration for students. | ||
218 | </p> | ||
219 | <section> | 341 | <section> |
220 | <h4>Android Port</h4> | 342 | <h4>Android Port</h4> |
221 | <p> | 343 | <p> |
@@ -234,6 +356,11 @@ | |||
234 | </p> | 356 | </p> |
235 | <p> | 357 | <p> |
236 | {% trans %} | 358 | {% trans %} |
359 | Duration: 350h | ||
360 | {% endtrans %} | ||
361 | </p> | ||
362 | <p> | ||
363 | {% trans %} | ||
237 | <strong>Mentors:</strong> <a href="https://www.goebel-consult.de/">Hartmut Goebel</a>, Jeff Burdges, Christian Grothoff | 364 | <strong>Mentors:</strong> <a href="https://www.goebel-consult.de/">Hartmut Goebel</a>, Jeff Burdges, Christian Grothoff |
238 | {% endtrans %} | 365 | {% endtrans %} |
239 | </p> | 366 | </p> |
diff --git a/template/index.html.j2 b/template/index.html.j2 index 6bc85b2f..50aa4d6e 100644 --- a/template/index.html.j2 +++ b/template/index.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <!-- Jumbotron --> | 4 | <!-- Jumbotron --> |
4 | <div> | 5 | <div> |
5 | <div class="container"> | 6 | <div class="container"> |
@@ -10,8 +11,9 @@ | |||
10 | </div> | 11 | </div> |
11 | 12 | ||
12 | <div class="container text-center"> | 13 | <div class="container text-center"> |
13 | <img src="{{ url_static('images/gnunet-logo-dark-text.png') }}" alt="GNUnet" /> | 14 | <img src="{{ url_static('images/gnunet-logo.svg') }}" alt="GNUnet" /> |
14 | </div> | 15 | <!-- <a class="nav-link" href="https://www.gnu.org/gnu40"><img src="https://www.gnu.org/gnu40/GNU40_badge-sm.png" alt="[ Celebrate 40 years of GNU! ]" /></a>--> |
16 | </div> | ||
15 | </div> | 17 | </div> |
16 | </div> | 18 | </div> |
17 | 19 | ||
@@ -26,7 +28,7 @@ | |||
26 | <h2>{{ _("Latest news") }}</h2> | 28 | <h2>{{ _("Latest news") }}</h2> |
27 | <p> | 29 | <p> |
28 | {% for item in newsdata[:3] %} | 30 | {% for item in newsdata[:3] %} |
29 | <a class="link" href="news/{{ item['page'] }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a><br/> | 31 | <a class="link" href="{{ url_localized('news/' + item['page']) }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a><br/> |
30 | {% endfor %} | 32 | {% endfor %} |
31 | <br/> | 33 | <br/> |
32 | <a class="link" href="{{ url_localized('news/index.html')}}">{{ _("Older news entries") }}</a> | 34 | <a class="link" href="{{ url_localized('news/index.html')}}">{{ _("Older news entries") }}</a> |
@@ -226,6 +228,53 @@ | |||
226 | <div class="col-lg-2"></div> | 228 | <div class="col-lg-2"></div> |
227 | <div class="col-lg-6"> | 229 | <div class="col-lg-6"> |
228 | <section> | 230 | <section> |
231 | <h2>{{ _("The state of the art is inefficient") }}</h2> | ||
232 | <p> | ||
233 | {% trans %} | ||
234 | The ongoing hype around distributed ledgers and blockchains | ||
235 | is detrimental to the health of our planet. | ||
236 | {% endtrans %} | ||
237 | </p> | ||
238 | </section> | ||
239 | </div> | ||
240 | <div class="col-lg-3 homepageicon"> | ||
241 | <i class="fas fa-industry"></i> | ||
242 | </div> | ||
243 | </div> | ||
244 | </div> | ||
245 | </div> | ||
246 | <div class="container-fluid"> | ||
247 | <div class="container"> | ||
248 | <div class="row"> | ||
249 | <div class="col-lg-2 homepageicon"> | ||
250 | <span class="fas fa-globe-europe"></span> | ||
251 | </div> | ||
252 | <div class="col-lg-6"> | ||
253 | <section> | ||
254 | <h2>{{ _("Sustainability") }}</h2> | ||
255 | <p> | ||
256 | {% trans url=url_localized('news/2021-05-DISSENS.html') %} | ||
257 | GNUnet does not require a decentralized, public ledger. | ||
258 | This eliminates the need for wasteful, continuous consensus | ||
259 | mechanisms, which do not scale and are ecologically unsustainable. | ||
260 | GNUnet and its applications employ decentralization only | ||
261 | <a href="{{ url }}"> where it | ||
262 | provides the most value and use more efficient technology stacks where | ||
263 | needed</a>. | ||
264 | {% endtrans %} | ||
265 | </p> | ||
266 | </section> | ||
267 | </div> | ||
268 | </div> | ||
269 | </div> | ||
270 | </div> | ||
271 | |||
272 | <div class="container-fluid greybox"> | ||
273 | <div class="container"> | ||
274 | <div class="row"> | ||
275 | <div class="col-lg-2"></div> | ||
276 | <div class="col-lg-6"> | ||
277 | <section> | ||
229 | <h2>{{ _("Decentralization is the key, but hard") }}</h2> | 278 | <h2>{{ _("Decentralization is the key, but hard") }}</h2> |
230 | 279 | ||
231 | <p> | 280 | <p> |
diff --git a/template/install-on-archpi.html.j2 b/template/install-on-archpi.html.j2 index 66e904b2..72d2b079 100644 --- a/template/install-on-archpi.html.j2 +++ b/template/install-on-archpi.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/install-on-debian9.html.j2 b/template/install-on-debian9.html.j2 index 2a3cde03..b867ab8a 100644 --- a/template/install-on-debian9.html.j2 +++ b/template/install-on-debian9.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/install-on-macos.html.j2 b/template/install-on-macos.html.j2 index e97efd75..b9e14836 100644 --- a/template/install-on-macos.html.j2 +++ b/template/install-on-macos.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -164,7 +165,7 @@ vpn (gnunet-service-vpn) | |||
164 | <p> | 165 | <p> |
165 | You might see configure failing telling you that it ``cannot run C compiled programs.''. | 166 | You might see configure failing telling you that it ``cannot run C compiled programs.''. |
166 | In this case, you might need to open/run Xcode once and you will be prompted to | 167 | In this case, you might need to open/run Xcode once and you will be prompted to |
167 | install additonal packages. | 168 | install additional packages. |
168 | Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this). | 169 | Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this). |
169 | Install those and execute | 170 | Install those and execute |
170 | </p> | 171 | </p> |
diff --git a/template/install-on-netbsd.html.j2 b/template/install-on-netbsd.html.j2 index b36eaa22..0370b29d 100644 --- a/template/install-on-netbsd.html.j2 +++ b/template/install-on-netbsd.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/install-on-openwrt.html.j2 b/template/install-on-openwrt.html.j2 index 7ea7f7a3..5cff8461 100644 --- a/template/install-on-openwrt.html.j2 +++ b/template/install-on-openwrt.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/install-on-ubuntu1804.html.j2 b/template/install-on-ubuntu1804.html.j2 index 94ea5cb2..19a507f6 100644 --- a/template/install-on-ubuntu1804.html.j2 +++ b/template/install-on-ubuntu1804.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
diff --git a/template/install.html.j2 b/template/install.html.j2 index 2fccfd3c..2c0093e7 100644..100755 --- a/template/install.html.j2 +++ b/template/install.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -7,13 +8,11 @@ | |||
7 | </header> | 8 | </header> |
8 | 9 | ||
9 | <div class="row container justify-content-center"> | 10 | <div class="row container justify-content-center"> |
10 | <div class="alert" style="background-color: #419edb;"> | 11 | <div class="alert alert-info"> |
11 | <div class="alert-content"> | ||
12 | {% trans %} | 12 | {% trans %} |
13 | Notice: GNUnet is still undergoing major development. It is | 13 | Notice: GNUnet is still undergoing major development. It is |
14 | largely <i>not yet ready</i> for usage beyond developers. | 14 | largely <i>not yet ready</i> for usage beyond developers. |
15 | {% endtrans %} | 15 | {% endtrans %} |
16 | </div> | ||
17 | </div> | 16 | </div> |
18 | {% trans %} | 17 | {% trans %} |
19 | <p>Please be aware that this project is still in an early alpha | 18 | <p>Please be aware that this project is still in an early alpha |
@@ -31,13 +30,18 @@ If you have any queries about the installation or the usage, please <a href="eng | |||
31 | We recommend to use binary packages provided by the package manager integrated | 30 | We recommend to use binary packages provided by the package manager integrated |
32 | within your Operating System. GNUnet is reportedly available for at least: | 31 | within your Operating System. GNUnet is reportedly available for at least: |
33 | <ul> | 32 | <ul> |
34 | <li><a href="https://pkgs.alpinelinux.org/package/edge/testing/x86_64/gnunet">Alpine</a></li> | 33 | <li><a href="https://pkgs.alpinelinux.org/package/edge/community/x86_64/gnunet">Alpine</a></li> |
35 | <li><a href="https://www.archlinux.org/packages/community/x86_64/gnunet/">Arch</a></li> | 34 | <li><a href="https://aur.archlinux.org/packages/gnunet/">Arch (AUR)</a></li> |
36 | <li><a href="https://packages.debian.org/search?keywords=gnunet">Debian</a></li> | 35 | <li><a href="https://packages.debian.org/search?keywords=gnunet">Debian</a></li> |
37 | <li><a href="https://copr.fedorainfracloud.org/coprs/yosl/gnunet/">Fedora (Copr)</a></li> | 36 | <li> |
37 | <a href="https://copr.fedorainfracloud.org/coprs/schanzen/gnunet/package/gnunet/">Fedora (copr)</a>: | ||
38 | <code class="block"> | ||
39 | # dnf copr enable schanzen/gnunet | ||
40 | </code> | ||
41 | </li> | ||
38 | <li><a href="https://guix.gnu.org/en/packages/G/">Guix</a></li> | 42 | <li><a href="https://guix.gnu.org/en/packages/G/">Guix</a></li> |
39 | <li><a href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li> | 43 | <li><a href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/gnunet.rb">Homebrew</a></li> |
40 | <li><a href="https://nixos.org/nixos/packages.html?attr=gnunet&channel=nixpkgs-unstable&query=gnunet">NixOS</a></li> | 44 | <li><a href="https://search.nixos.org/packages?from=0&size=50&sort=relevance&query=gnunet">NixOS</a></li> |
41 | <li><a href="install-on-openwrt.html">OpenWrt</a></li> | 45 | <li><a href="install-on-openwrt.html">OpenWrt</a></li> |
42 | </ul> | 46 | </ul> |
43 | If GNUnet is available for your Operating System and it is missing, | 47 | If GNUnet is available for your Operating System and it is missing, |
@@ -46,12 +50,12 @@ If you have any queries about the installation or the usage, please <a href="eng | |||
46 | get in touch with us at gnunet-developers@gnu.org if you require | 50 | get in touch with us at gnunet-developers@gnu.org if you require |
47 | help with this job. | 51 | help with this job. |
48 | 52 | ||
49 | If you were using an Operating System with the Alpine package manager, | 53 | If you were using an Operating System with the APT package manager, |
50 | GNUnet could be installed as simple as: | 54 | GNUnet could be installed as simple as: |
51 | {% endtrans %} | 55 | {% endtrans %} |
52 | </p> | 56 | </p> |
53 | <code class="block"> | 57 | <code class="block"> |
54 | $ apk add gnunet | 58 | $ apt-get install gnunet |
55 | </code> | 59 | </code> |
56 | <p> | 60 | <p> |
57 | Please beware that some distributions may include outdated GNUnet packages! | 61 | Please beware that some distributions may include outdated GNUnet packages! |
@@ -96,11 +100,11 @@ If you have any queries about the installation or the usage, please <a href="eng | |||
96 | </div> | 100 | </div> |
97 | <p> | 101 | <p> |
98 | {% trans %} | 102 | {% trans %} |
99 | Alternatively, get the sources from git by entering: | 103 | To compile gnunet from the git source you can do so by entering: |
100 | {% endtrans %} | 104 | {% endtrans %} |
101 | </p> | 105 | </p> |
102 | <code class="block"> | 106 | <code class="block"> |
103 | $ git clone https://gnunet.org/git/gnunet.git | 107 | $ git clone https://git.gnunet.org/git/gnunet.git |
104 | </code> | 108 | </code> |
105 | <p> | 109 | <p> |
106 | {% trans %} | 110 | {% trans %} |
@@ -153,15 +157,15 @@ If you have any queries about the installation or the usage, please <a href="eng | |||
153 | <!-- | 157 | <!-- |
154 | <div class="row container justify-content-center text-center"> | 158 | <div class="row container justify-content-center text-center"> |
155 | <div class="col-md"> | 159 | <div class="col-md"> |
156 | <p><a href="install-on-ubuntu1804.html"><img src="{{ url('static/images/ubuntu-logo32.png') }}" class="distro-logo"></a></p> | 160 | <p><a href="install-on-ubuntu1804.html"><img src="{{ url('images/ubuntu-logo32.png') }}" class="distro-logo"></a></p> |
157 | <h3>Ubuntu 18.04</h3> | 161 | <h3>Ubuntu 18.04</h3> |
158 | </div> | 162 | </div> |
159 | <div class="col-md"> | 163 | <div class="col-md"> |
160 | <p><a href="install-on-debian9.html"><img src="{{ url('static/images/debian-logo.svg') }}" class="distro-logo"></a></p> | 164 | <p><a href="install-on-debian9.html"><img src="{{ url('images/debian-logo.svg') }}" class="distro-logo"></a></p> |
161 | <h3>Debian 9</h3> | 165 | <h3>Debian 9</h3> |
162 | </div> | 166 | </div> |
163 | <div class="col-md"> | 167 | <div class="col-md"> |
164 | <p><a href="install-on-netbsd.html"><img src="{{ url('static/images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p> | 168 | <p><a href="install-on-netbsd.html"><img src="{{ url('images/NetBSD_Logo.svg') }}" class="distro-logo"></a></p> |
165 | <h3>NetBSD</h3> | 169 | <h3>NetBSD</h3> |
166 | </div> | 170 | </div> |
167 | </div> | 171 | </div> |
@@ -171,15 +175,15 @@ If you have any queries about the installation or the usage, please <a href="eng | |||
171 | <h1><a href="install-on-macos.html">Apple<br/>macOS</a></h1> | 175 | <h1><a href="install-on-macos.html">Apple<br/>macOS</a></h1> |
172 | </div> | 176 | </div> |
173 | <div class="col-md"> | 177 | <div class="col-md"> |
174 | <p><a href="install-on-archpi.html"><img src="{{ url('static/images/archlinux-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> | 178 | <p><a href="install-on-archpi.html"><img src="{{ url('images/archlinux-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> |
175 | <h3>Arch Linux/Arch-Pi</h3> | 179 | <h3>Arch Linux/Arch-Pi</h3> |
176 | </div> | 180 | </div> |
177 | <div class="col-md"> | 181 | <div class="col-md"> |
178 | <p><a href="install-on-openwrt.html"><img src ="{{ url('static/images/openwrt-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> | 182 | <p><a href="install-on-openwrt.html"><img src ="{{ url('images/openwrt-logo.svg') }}" class="distro-logo" style="width:300px;height:auto"></a></p> |
179 | <h3>OpenWrt</h3> | 183 | <h3>OpenWrt</h3> |
180 | </div> | 184 | </div> |
181 | <div class="col-md"> | 185 | <div class="col-md"> |
182 | <p><a href="https://wiki.gentoo.org/wiki/Overlay:Youbroketheinternet"><img alt="gentoo linux" src ="{{ url('static/images/gentoo-logo.svg') }}" class="distro-logo" style="width:170px;height:auto"></a></p> | 186 | <p><a href="https://wiki.gentoo.org/wiki/Overlay:Youbroketheinternet"><img alt="gentoo linux" src ="{{ url('images/gentoo-logo.svg') }}" class="distro-logo" style="width:170px;height:auto"></a></p> |
183 | </div> | 187 | </div> |
184 | </div> | 188 | </div> |
185 | --> | 189 | --> |
diff --git a/template/l2o/index.html.j2 b/template/l2o/index.html.j2 new file mode 100644 index 00000000..9ce82969 --- /dev/null +++ b/template/l2o/index.html.j2 | |||
@@ -0,0 +1,272 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="#idea">{{ _("Project motivation") }}</a> | ||
14 | <a class="nav-link" href="#testframework">{{ _("New Test Framework") }}</a> | ||
15 | <a class="nav-link" href="#milestones">{{ _("Milestones") }}</a> | ||
16 | <a class="nav-link" href="#milestone1">{{ _("Milestone 1") }}</a> | ||
17 | <a class="nav-link" href="#milestone2">{{ _("Milestone 2") }}</a> | ||
18 | <a class="nav-link" href="#milestone3">{{ _("Milestone 3") }}</a> | ||
19 | <a class="nav-link" href="#milestone4">{{ _("Milestone 4") }}</a> | ||
20 | <a class="nav-link" href="#milestone5">{{ _("Milestone 5") }}</a> | ||
21 | <a class="nav-link" href="#milestone6">{{ _("Milestone 6") }}</a> | ||
22 | <a class="nav-link" href="#milestone7">{{ _("Milestone 7") }}</a> | ||
23 | <a class="nav-link" href="#milestone8">{{ _("Milestone 8") }}</a> | ||
24 | <a class="nav-link" href="#milestone9">{{ _("Milestone 9") }}</a> | ||
25 | </nav> | ||
26 | </div> | ||
27 | <div class="col"> | ||
28 | |||
29 | <section> | ||
30 | <p> | ||
31 | {% trans %} | ||
32 | This project was funded through the NGI Assure Fund, a fund established by <a href="https://nlnet.nl/project/GNUnet-L2/">NLnet</a>.</br> | ||
33 | {% endtrans %} | ||
34 | </p> | ||
35 | </section> | ||
36 | |||
37 | |||
38 | <h2><a name="idea" class="subnav-anchor"></a>{{ _("Project motivation") }}</h2></br> | ||
39 | |||
40 | <section> | ||
41 | <h4>The GNUnet transport subsystem</h4></br> | ||
42 | <p> | ||
43 | {% trans %} | ||
44 | The <a href="https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-Subsystem">current</a> GNUnet TRANSPORT architecture with its pluggable transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with the ATS subsystem for bandwidth allocation and choosing plugins has several <a href="https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-Subsystem">issues</a> with its design. | ||
45 | |||
46 | With the Layer-2-Overlay project we like to implement the <a href="https://docs.gnunet.org/handbook/gnunet.html#Design-goals-of-TNG">design goals</a> of the future GNUnet TRANSPORT Next Generation (TNG) subsystem. | ||
47 | |||
48 | One major change in the design is to separate the protocol plugins into processes (now called communicators) detached from the main transport service. Three communicators were already implemented (TCP, UDP and UNIX sockets). | ||
49 | The old transport code is hard to maintain, because it is cluttered with "manipulation" support code for TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, especially with TESTBED which has its own design flaws, and test code which is very hard to read to get an idea what the test code is doing. Therefore the first task (milestone 1) is to implement a new testing framework which uses network namespaces to make testing of TNG much easier. Have a look into what is planed for Layer-2-Overlay in the <a href="#milestones">milestones</a>. | ||
50 | {% endtrans %} | ||
51 | </p></br> | ||
52 | </section> | ||
53 | |||
54 | <h2><a name="testframework" class="subnav-anchor"></a>{{ _("New Test Framwork") }}</h2></br> | ||
55 | |||
56 | <p>The new testing framework consists of two major parts. First the command style pattern borrowed from the GNU Taler project, second a network namespace setup, to have a suitable test setup for testing several network topologies with lossy connections, firewalls, etc..</p></br> | ||
57 | |||
58 | <h3><a name="cmd" class="subnav-anchor"></a>{{ _("Command Style Pattern") }}</h3></br> | ||
59 | |||
60 | <section> | ||
61 | <p> | ||
62 | {% trans %} | ||
63 | The new style of writing tests in GNUnet is borrowed from the <a href="https://docs.taler.net/developers-manual.html#testing-library">GNU Taler testing library</a>. In <a href="#milestone1">milestone 1</a> we implemented commands to setup the <a href="#netjails">netjails</a>, the test environment for each peer, to start a single peers and sending a simple test message. Because some commands depend on other commands to be finished, and those commands are asynchronous, we needed additional functionality in the command interpreter library to block execution until some commands are finished (e.g. all peers needs to be running, before peers starting to send messages). For a detailed description have a look into the <a href="testng.html">testing ng documentation</a>. | ||
64 | {% endtrans %} | ||
65 | </p></br> | ||
66 | </section> | ||
67 | |||
68 | <h3><a name="netjails" class="subnav-anchor"></a>{{ _("Netjails") }}</h3></br> | ||
69 | |||
70 | <section> | ||
71 | <p> | ||
72 | {% trans %} | ||
73 | To do extensive testing of the new transport implementation one needs to simulate various network topologies to enable faking network characteristics like lossy connections or firewalls. To achieve this we are working with <a href="https://www.man7.org/linux/man-pages/man8/ip-netns.8.html">network namespace</a>. We have commands for starting and stopping network namespaces. Those commands are scripts, which are using several shell commands to setup the network namespace. A third script then is responsible for start a GNUnet helper. This helper can load plugins. Each plugin represents some test case. Per node in the network namespaces one helper is started, which means on each node is a local interpreter loop running. For a detailed description have a look into the <a href="testng.html">testing ng documentation</a>. | ||
74 | {% endtrans %} | ||
75 | </p></br> | ||
76 | </section> | ||
77 | |||
78 | <h2><a name="milestones" class="subnav-anchor"></a>{{ _("Milestones") }}</h2></br> | ||
79 | |||
80 | <p>All milestones are finished.</p></br> | ||
81 | |||
82 | <h3><a name="milestone1" class="subnav-anchor"></a>{{ _("Milestone 1 Test Infrastructure and minimal Test Case") }}</h3></br> | ||
83 | <section> | ||
84 | <p> | ||
85 | {% trans %} | ||
86 | The first subtask consists of implementing a framework for setting up VLANs between network namespaces and a framework to test communication between peers which are running in those VLANs. Finally a minimal Test Case will be implemented. Despite the fact that the transport service is already able to use several communicators (transport protocol implementations), it will only use the tcp communicator, not the unix socket nor the udp communicator, which already are in place and working. | ||
87 | |||
88 | <ul> | ||
89 | <li>SUID helpers to setup network namespace and starting peers with network namespace.</li> | ||
90 | <li>Basic transport-level operations (get address, send, receive, connect).</li> | ||
91 | <li>Peers connected through test and transfer data.</li> | ||
92 | </ul></br> | ||
93 | {% endtrans %} | ||
94 | </p> | ||
95 | <h4>Deliverable</h4></br> | ||
96 | <p> | ||
97 | {% trans %} | ||
98 | First MVP which uses the TCP communicator to send messages between peers. The deliverable can be verified through out the specific test cases running in the GNUnet CI. | ||
99 | |||
100 | <a href="mile1.html">Details</a> | ||
101 | {% endtrans %} | ||
102 | </p></br> | ||
103 | </section> | ||
104 | |||
105 | <h3><a name="milestone2" class="subnav-anchor"></a>{{ _("Milestone 2 Enhancing Test Framework") }}</h3></br> | ||
106 | <section> | ||
107 | <p> | ||
108 | {% trans %} | ||
109 | To test more complex functionality we need to enhance the capabilities of the testing framework. Hooks for performance measurement will be implemented. | ||
110 | <ul> | ||
111 | <li>Enhancing transport-level operations.</li> | ||
112 | <li>Block execution of commands at a peer. (Barriers).</li> | ||
113 | </ul> | ||
114 | {% endtrans %} | ||
115 | </p></br> | ||
116 | <h4>Deliverable</h4></br> | ||
117 | <p> | ||
118 | {% trans %} | ||
119 | Outcome of this deliverable are advanced test cases (again verifiable in the GNUnet continuous integration (CI)). | ||
120 | |||
121 | <a href="mile2.html">Details</a> | ||
122 | {% endtrans %} | ||
123 | </p></br> | ||
124 | </section> | ||
125 | |||
126 | <h3><a name="milestone3" class="subnav-anchor"></a>{{ _("Milestone 3 UDP integration") }}</h3></br> | ||
127 | <section> | ||
128 | <p> | ||
129 | {% trans %} | ||
130 | With this subtask I will implement enhanced L2O features like using unidirectional transport protocols with backchannels. Addresses by which a peer can be reached can be delivered on handshake or by UDP broadcast. With this milestone the transport service will be able to use more than one communicator (pluggable transport). | ||
131 | <ul> | ||
132 | <li>unidirectional communication and backchannels.</li> | ||
133 | <li>UDP broadcast.</li> | ||
134 | </ul> | ||
135 | {% endtrans %} | ||
136 | </p></br> | ||
137 | <h4>Deliverable</h4> | ||
138 | <p> | ||
139 | {% trans %} | ||
140 | The CI contains test cases which uses the UDP protocol to message between peers and to learn about “foreign” peers. | ||
141 | |||
142 | <a href="mile3.html">Details</a> | ||
143 | {% endtrans %} | ||
144 | </p></br> | ||
145 | </section> | ||
146 | |||
147 | <h3><a name="milestone4" class="subnav-anchor"></a>{{ _("Milestone 4 Distance Vector") }}</h3></br> | ||
148 | <section> | ||
149 | <p> | ||
150 | {% trans %} | ||
151 | In this subtask I will enhance connectivity to peers not directly connected. Therefore peers have to act as relay. To achieve this there is the distance vector protocol. The DV algorithm sends out so called learn messages to other peers. If those learn messages are coming back to the initiating peer via some other peer and the path does not return to any other peer we have a circle path. If there are bidirectional connections between peers somewhere in the DV path and the learn message comes back to a peer we call it inverse path. | ||
152 | {% endtrans %} | ||
153 | </p></br> | ||
154 | <h4>Deliverable</h4></br> | ||
155 | <p> | ||
156 | {% trans %} | ||
157 | The CI contains test cases with a setup of peers not connected directly. The test cases proof that each peer can reach any other peer. We have test cases for the circle path and for the inverse path. | ||
158 | <a href="mile4.html">Details</a> | ||
159 | {% endtrans %} | ||
160 | </p></br> | ||
161 | </section> | ||
162 | |||
163 | <h3><a name="milestone5" class="subnav-anchor"></a>{{ _("Milestone 5 NAT Traversal") }}</h3><br/> | ||
164 | <section> | ||
165 | <p> | ||
166 | {% trans %} | ||
167 | This subtask will make peers behind NAT reachable. Two simple traversal methods will be implemented. | ||
168 | <ul> | ||
169 | <li>NAT traversal via UpnPC.</li> | ||
170 | <li>Autonomous NAT Traversal using fake ICMP messages.</li> | ||
171 | </ul> | ||
172 | {% endtrans %} | ||
173 | </p><br/> | ||
174 | <h4>Deliverable</h4><br/> | ||
175 | <p> | ||
176 | {% trans %} | ||
177 | The CI contains test case with a peer setup containing peer behind a NAT. The test cases | ||
178 | proof that each peer can be reached, even if that peer is behind a NAT. The test case are measuring the performance. This measurement is used to compare with the outcome of the next milestone. This result of this milestone will be a first stable release. <a href="mile5.html">Details</a> | ||
179 | {% endtrans %} | ||
180 | </p><br/> | ||
181 | </section> | ||
182 | |||
183 | <h3><a name="milestone6" class="subnav-anchor"></a>{{ _("Milestone 6 Optimization") }}</h3><br/> | ||
184 | <section> | ||
185 | <p> | ||
186 | {% trans %} | ||
187 | In this subtask I will implement algorithms (flow and congestion control, quality of service optimizations) which will select the optimal transport protocol for a given situation. | ||
188 | |||
189 | I will analyze potential performance gains by integrating libraries of the interpeer project. If the effort of integrating interpeer presumably would lead to better performance than other optimizations of the same amount of work, this integration is done. | ||
190 | |||
191 | I will finish the project with a performance analysis to optimize the selection logic. | ||
192 | <ul> | ||
193 | <li>Queue management. | ||
194 | <li>Interpeer project synergy | ||
195 | <ol> | ||
196 | <li>Analysis of the interpeer project in regard to integrate it into GNUnet.</li> | ||
197 | <li>Optional integration into GNUnet, if it can be done at all and in a reasonable amount of work.</li> | ||
198 | </ol> | ||
199 | <li>Commands for performance measurement(s).</li> | ||
200 | <li>Performance analysis.</li> | ||
201 | </ul> | ||
202 | {% endtrans %} | ||
203 | </p><br/> | ||
204 | <h4>Deliverable</h4><br/> | ||
205 | <p> | ||
206 | {% trans %} | ||
207 | The test cases in the CI are measuring the performance gains. This measurement can be compared with the measurement of milestone 5. Again one outcome of this milestone will be a stable release.<br/> | ||
208 | |||
209 | Documentation of the interpeer project analysis. More <a href="mile6.html">Details</a>. | ||
210 | {% endtrans %} | ||
211 | </p><br/> | ||
212 | </section> | ||
213 | |||
214 | <h3><a name="milestone7" class="subnav-anchor"></a>{{ _("Milestone 7 Removing deprecated code") }}</h3><br/> | ||
215 | <section> | ||
216 | <p> | ||
217 | {% trans %} | ||
218 | The code of the old transport API and of the ATS API will be removed from the code base. This is | ||
219 | mainly the use of the API in the Core layer, and suggesting addresses to connect to other peers in | ||
220 | all kinds of other GNUnet layers. Additionally all tests which rely on the removed code will be set | ||
221 | inactive. All usages of the old APIs will be removed. If it is not much work to replace the old with the | ||
222 | new API this will be done directly, otherwise there will be a TODO comment what needs to be doneto make that part of the code working again with the new code. Documentation of code that will be | ||
223 | deleted without replacement, because the functionality is missing in the new API. | ||
224 | {% endtrans %} | ||
225 | </p><br/> | ||
226 | <h4>Deliverable</h4><br/> | ||
227 | <p> | ||
228 | {% trans %} | ||
229 | Removed APIs from code base, deactivated dependent tests and either documentation of what is | ||
230 | necessary for the integration of the new API, or if the effort for this is as high as the documentation | ||
231 | directly the implementation. More <a href="mile7.html">Details</a>. | ||
232 | {% endtrans %} | ||
233 | </p><br/> | ||
234 | </section> | ||
235 | |||
236 | <h3><a name="milestone8" class="subnav-anchor"></a>{{ _("Milestone 8 Make GNUnet start again") }}</h3><br/> | ||
237 | <section> | ||
238 | <p> | ||
239 | {% trans %} | ||
240 | All missing implementations of the new API will be finished, necessary to make GNUnet start and | ||
241 | being usable for its basic functionality (DHT, GNS, CADET, FS, Messenger …). | ||
242 | {% endtrans %} | ||
243 | </p><br/> | ||
244 | <h4>Deliverable</h4><br/> | ||
245 | <p> | ||
246 | {% trans %} | ||
247 | GNUnet running with new API. More <a href="mile8.html">Details</a>. | ||
248 | {% endtrans %} | ||
249 | </p><br/> | ||
250 | </section> | ||
251 | |||
252 | <h3><a name="milestone9" class="subnav-anchor"></a>{{ _("Milestone 9 Testing and Fixing") }}</h3><br/> | ||
253 | <section> | ||
254 | <p> | ||
255 | {% trans %} | ||
256 | Because all integration tests are deactivated, and there are no resources to rewrite them at the | ||
257 | time being, extensive manual testing and certainly bug fixing is necessary. | ||
258 | {% endtrans %} | ||
259 | </p><br/> | ||
260 | <h4>Deliverable</h4><br/> | ||
261 | <p> | ||
262 | {% trans %} | ||
263 | GNUnet release running with new API. More <a href="mile9.html">Details</a>. | ||
264 | {% endtrans %} | ||
265 | </p><br/> | ||
266 | </section> | ||
267 | |||
268 | </div> | ||
269 | </div> | ||
270 | |||
271 | </article> | ||
272 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile1.html.j2 b/template/l2o/mile1.html.j2 new file mode 100644 index 00000000..f354d8e3 --- /dev/null +++ b/template/l2o/mile1.html.j2 | |||
@@ -0,0 +1,136 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 1</h2> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Master Loop") }}</h4> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <table width="100%"> | ||
25 | <tr> | ||
26 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_api_cmd_simple_send.c</td><td width="60%" style="vertical-align: top;">Binary for starting the simple send test. Obsolete in current code base!</td> | ||
27 | <tr> | ||
28 | <td></td><td> </td> | ||
29 | </tr> | ||
30 | <tr> | ||
31 | <td width="40%" style="vertical-align: top;">src/testing/netjail_start.sh</td><td width="60%" style="vertical-align: top;">Script to setup the netjail topology. Will be execute by the following command. </td> | ||
32 | </tr> | ||
33 | <tr> | ||
34 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_netjail_start.c</td><td width="60%" style="vertical-align: top;">Command to create the netjail setup.</td> | ||
35 | <tr> | ||
36 | <td></td><td> </td> | ||
37 | </tr> | ||
38 | <tr> | ||
39 | <td width="40%" style="vertical-align: top;">src/testing/netjail_exec.sh</td><td width="60%" style="vertical-align: top;">Script to execute a local test interpreter per node. Will be execute by the following command.</td> | ||
40 | <tr> | ||
41 | <td></td><td> </td> | ||
42 | </tr> | ||
43 | <tr> | ||
44 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_netjail_start_testsystem.c</td><td width="60%" style="vertical-align: top;">Command to start the helper processes.</td> | ||
45 | <tr> | ||
46 | <td></td><td> </td> | ||
47 | </tr> | ||
48 | <tr> | ||
49 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width="60%" style="vertical-align: top;">Command to stop the helper processes.</td> | ||
50 | <tr> | ||
51 | <td></td><td> </td> | ||
52 | </tr> | ||
53 | <tr> | ||
54 | <td width="40%" style="vertical-align: top;">src/testing/netjail_stop.sh</td><td width="60%" style="vertical-align: top;">Script to stop the netjail topology.</td> | ||
55 | <tr> | ||
56 | <td></td><td> </td> | ||
57 | </tr> | ||
58 | <tr> | ||
59 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_netjail_stop.c</td><td width="60%" style="vertical-align: top;">Command to stop the test setup.</td> | ||
60 | <tr> | ||
61 | <td></td><td> </td> | ||
62 | </tr> | ||
63 | </table> | ||
64 | {% endtrans %} | ||
65 | </p> | ||
66 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Local Loop") }}</h4> | ||
67 | <p> | ||
68 | {% trans %} | ||
69 | <table width="100%"> | ||
70 | <tr> | ||
71 | <td width="40%" style="vertical-align: top;">src/testing/gnunet-cmds-helper.c</td><td width="60%" style="vertical-align: top;">Helper to start the local interpreter loop.</td> | ||
72 | <tr> | ||
73 | <td></td><td> </td> | ||
74 | </tr> | ||
75 | <tr> | ||
76 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width="60%" style="vertical-align: top;">Plugin which creates the cmds for the simple send test case.</td> | ||
77 | </tr> | ||
78 | <tr> | ||
79 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_system_create.c</td><td width="60%" style="vertical-align: top;">Command to create a local test system.</td> | ||
80 | <tr> | ||
81 | <td></td><td> </td> | ||
82 | </tr> | ||
83 | <tr> | ||
84 | <td width="40%" style="vertical-align: top;">src/transport/transport_api_cmd_start_peer.c</td><td width="60%" style="vertical-align: top;">Command to start a peer.</td> | ||
85 | <tr> | ||
86 | <td></td><td> </td> | ||
87 | </tr> | ||
88 | <tr> | ||
89 | <td width="40%" style="vertical-align: top;">src/transport/transport_api_cmd_connecting_peers.c</td><td width="60%" style="vertical-align: top;"> Command to connect two peers.</td> | ||
90 | <tr> | ||
91 | <td></td><td> </td> | ||
92 | </tr> | ||
93 | <tr> | ||
94 | <td>src/transport/transport_api_cmd_send_simple.c</td><td width="60%" style="vertical-align: top;">Command to send a simple message from one peer to another.</td> | ||
95 | <tr> | ||
96 | <td></td><td> </td> | ||
97 | </tr> | ||
98 | <tr> | ||
99 | <td width="40%" style="vertical-align: top;">src/transport/transport_api_cmd_stop_peer.c</td><td width="60%" style="vertical-align: top;">Command to stop a peer.</td> | ||
100 | <tr> | ||
101 | <td></td><td> </td> | ||
102 | </tr> | ||
103 | <tr> | ||
104 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_system_destroy.c</td><td width="60%" style="vertical-align: top;">Command to destroy the local test system.</td> | ||
105 | <tr> | ||
106 | <td></td><td> </td> | ||
107 | </tr> | ||
108 | <tr> | ||
109 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send a message to the master loop, if the local loop has finished.</td> | ||
110 | <tr> | ||
111 | </table> | ||
112 | {% endtrans %} | ||
113 | </p> | ||
114 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4> | ||
115 | <p> | ||
116 | {% trans %} | ||
117 | <table width="100%"> | ||
118 | <tr> | ||
119 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_api2_tcp_node1.conf</td><td width="60%" style="vertical-align: top;">Configuration for the first node running during the simple send test case.</td> | ||
120 | <tr> | ||
121 | <td></td><td> </td> | ||
122 | </tr> | ||
123 | <tr> | ||
124 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_api2_tcp_node2.conf</td><td width="60%" style="vertical-align: top;">Configuration for the second node running during the simple send test case.</td> | ||
125 | </tr> | ||
126 | </table> | ||
127 | {% endtrans %} | ||
128 | </p> | ||
129 | </section> | ||
130 | |||
131 | |||
132 | </div> | ||
133 | </div> | ||
134 | |||
135 | </article> | ||
136 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile2.html.j2 b/template/l2o/mile2.html.j2 new file mode 100644 index 00000000..092995b9 --- /dev/null +++ b/template/l2o/mile2.html.j2 | |||
@@ -0,0 +1,86 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 2</h2> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Master Loop") }}</h4> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <table width="100%"> | ||
25 | <tr> | ||
26 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_simple_send.sh</td><td width="60%" style="vertical-align: top;">Introduced scripts to start the tests. The script checks, if a kernel parameter is set to allow unprivileged users to create network namespaces. The script than starts the following gerneric binary in a network namespace.</td> | ||
27 | <tr> | ||
28 | <td></td><td> </td> | ||
29 | </tr> | ||
30 | <tr> | ||
31 | <td width="40%" style="vertical-align: top;">src/transport/test_transport_start_with_config.c</td><td width="60%" style="vertical-align: top;">A generic binary to start a test case which will be configured by a configuration file.</td> | ||
32 | </tr> | ||
33 | <tr> | ||
34 | <td width="40%" style="vertical-align: top;">src/testing/testing.c</td><td width="60%" style="vertical-align: top;">Added code to read netjail topology from a file.</td> | ||
35 | <tr> | ||
36 | <td></td><td> </td> | ||
37 | </tr> | ||
38 | <tr> | ||
39 | <td width="40%" style="vertical-align: top;">src/testing/topo.sh</td><td width="60%" style="vertical-align: top;">Script which reads the topology from a file for the use in the other netjail scripts.</td> | ||
40 | <tr> | ||
41 | <td></td><td> </td> | ||
42 | </tr> | ||
43 | <tr> | ||
44 | <td width="40%" style="vertical-align: top;">All already existing commands.</td><td width="60%" style="vertical-align: top;">All commands changed to work with the topology data.</td> | ||
45 | </tr> | ||
46 | </table> | ||
47 | {% endtrans %} | ||
48 | </p> | ||
49 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Local Loop") }}</h4> | ||
50 | <p> | ||
51 | {% trans %} | ||
52 | <table width="100%"> | ||
53 | <tr> | ||
54 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_send_peer_ready.c</td><td width="60%" style="vertical-align: top;">Command to send a message to the master loop if a peer has started in local loop.</td> | ||
55 | <tr> | ||
56 | <td></td><td> </td> | ||
57 | </tr> | ||
58 | <tr> | ||
59 | <td width="40%" style="vertical-align: top;">src/testing/testing_api_cmd_local_test_prepared.c</td><td width="60%" style="vertical-align: top;">Command to send a message to the master loop if a peer is ready to shutdown.</td> | ||
60 | </tr> | ||
61 | </table> | ||
62 | {% endtrans %} | ||
63 | </p> | ||
64 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4> | ||
65 | <p> | ||
66 | {% trans %} | ||
67 | <table width="100%"> | ||
68 | <tr> | ||
69 | <td width="40%" style="vertical-align: top;">src/transport/transport_api_cmd_start_peer.c</td><td width="60%" style="vertical-align: top;">Command now uses a configuration template for the peer configuration.</td> | ||
70 | <tr> | ||
71 | <td></td><td> </td> | ||
72 | </tr> | ||
73 | <tr> | ||
74 | <td width="40%" style="vertical-align: top;">test_transport_simple_send_topo.conf</td><td width="60%" style="vertical-align: top;">Topology configuration file for the simple send test case.</td> | ||
75 | <tr> | ||
76 | </table> | ||
77 | {% endtrans %} | ||
78 | </p> | ||
79 | </section> | ||
80 | |||
81 | |||
82 | </div> | ||
83 | </div> | ||
84 | |||
85 | </article> | ||
86 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile3.html.j2 b/template/l2o/mile3.html.j2 new file mode 100644 index 00000000..b4c93add --- /dev/null +++ b/template/l2o/mile3.html.j2 | |||
@@ -0,0 +1,115 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 3</h2> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Bug fixing") }}</h4> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | Some bugs in the tng service and communicator code which were found with new tests were fixed. | ||
25 | {% endtrans %} | ||
26 | </p> | ||
27 | </section> | ||
28 | |||
29 | <section> | ||
30 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Master Loop") }}</h4> | ||
31 | <p> | ||
32 | {% trans %} | ||
33 | <table width="100%"> | ||
34 | <tr> | ||
35 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_udp_backchannel.sh</td><td width="55%" style="vertical-align: top;">Added script to start the udp backchannel test case.</td> | ||
36 | <tr> | ||
37 | <td></td><td> </td> | ||
38 | </tr> | ||
39 | <tr> | ||
40 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_broadcast.sh</td><td width="55%" style="vertical-align: top;">Added script for the UDB broadcast test.</td> | ||
41 | <tr> | ||
42 | <td></td><td> </td> | ||
43 | </tr> | ||
44 | <tr> | ||
45 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_string.sh</td><td width="55%" style="vertical-align: top;">Added script as an example to start a test with inline topology configuration string.</td> | ||
46 | <tr> | ||
47 | <td></td><td> </td> | ||
48 | </tr> | ||
49 | <tr> | ||
50 | <td width="60%" style="vertical-align: top;">All commands</td><td width="55%" style="vertical-align: top;">Changed code to handle strings with topology information.</td> | ||
51 | </tr> | ||
52 | <tr> | ||
53 | <td></td><td> </td> | ||
54 | </tr> | ||
55 | <tr> | ||
56 | <td width="60%" style="vertical-align: top;">src/testing/netjail_start.sh</td><td width="55%" style="vertical-align: top;">Changed the netjail start script to configure port forwarding for specific protocols (tcp, udp).</td> | ||
57 | </tr> | ||
58 | <tr> | ||
59 | <td></td><td> </td> | ||
60 | </tr> | ||
61 | <tr> | ||
62 | <td width="60%" style="vertical-align: top;">src/testing/netjail_*.sh</td><td width="40%" style="vertical-align: top;">Moved to contrib/netjail directory</td> | ||
63 | </tr> | ||
64 | </table> | ||
65 | {% endtrans %} | ||
66 | </p> | ||
67 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Local Loop") }}</h4> | ||
68 | <p> | ||
69 | {% trans %} | ||
70 | <table width="100%"> | ||
71 | <tr> | ||
72 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td width="40%" style="vertical-align: top;">New plugin for the udp broadcast test case.</td> | ||
73 | <tr> | ||
74 | <td></td><td> </td> | ||
75 | </tr> | ||
76 | <tr> | ||
77 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_plugin_cmd_udp_backchannel.c</td><td width="40%" style="vertical-align: top;">New plugin for the udp backchannel test case.</td> | ||
78 | <tr> | ||
79 | <td></td><td> </td> | ||
80 | </tr> | ||
81 | <tr> | ||
82 | <td width="60%" style="vertical-align: top;">src/transport/transport_api_cmd_backchannel_check.c</td><td width="40%" style="vertical-align: top;">Command to check for a udp backchannel specific log entry.</td> | ||
83 | </tr> | ||
84 | <tr> | ||
85 | <td></td><td> </td> | ||
86 | </tr> | ||
87 | <tr> | ||
88 | <td width="60%" style="vertical-align: top;">src/testing/testing_api_cmd_block_until_external_trigger.cc</td><td width="40%" style="vertical-align: top;">Command to block the local loop until triggered by a external signal.</td> | ||
89 | </tr> | ||
90 | </table> | ||
91 | {% endtrans %} | ||
92 | </p> | ||
93 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4> | ||
94 | <p> | ||
95 | {% trans %} | ||
96 | <table width="100%"> | ||
97 | <tr> | ||
98 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td width="40%" style="vertical-align: top;">Topology configuration for the broadcast test.</td> | ||
99 | <tr> | ||
100 | <td></td><td> </td> | ||
101 | </tr> | ||
102 | <tr> | ||
103 | <td width="60%" style="vertical-align: top;">test_transport_udp_backchannel_topo.conf</td><td width="40%" style="vertical-align: top;">Topology configuration file for the udp backchannel test case.</td> | ||
104 | <tr> | ||
105 | </table> | ||
106 | {% endtrans %} | ||
107 | </p> | ||
108 | </section> | ||
109 | |||
110 | |||
111 | </div> | ||
112 | </div> | ||
113 | |||
114 | </article> | ||
115 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile4.html.j2 b/template/l2o/mile4.html.j2 new file mode 100644 index 00000000..7a54503e --- /dev/null +++ b/template/l2o/mile4.html.j2 | |||
@@ -0,0 +1,108 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 4</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("TNG Service") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <ul> | ||
25 | <li>Added caching for Core messages, if confirmed virtual link is missing.</li> | ||
26 | <li>Addd caching for DV forwarding, if confirmed virtual link is missing.</li> | ||
27 | <li>Fixed bugs in fragmentation logic.</li> | ||
28 | <li>Fixed bugs in fragmentation logic.</li> | ||
29 | <li>Fixed bugs in flow control logic.</li> | ||
30 | <li>Fixed Bug with lifetime of DV learn message. (Validation against replay attack still missing.)</li> | ||
31 | <li>Fixed Bug in rekeying logic of the TCP communicator</li> | ||
32 | </ul> | ||
33 | {% endtrans %} | ||
34 | </p> | ||
35 | <p> | ||
36 | Even more details in commits <a href='https://git.gnunet.org/gnunet.git/commit/?id=fc99f54070e04c043c14f2244f85833ecf6b00c4'>fc99f54070e04c043c14f2244f85833ecf6b00c4</a>, <a href='https://git.gnunet.org/gnunet.git/commit/?id=95a1edacccd9b3bf769a144a12d41946d0ac25dc'>95a1edacccd9b3bf769a144a12d41946d0ac25dc</a> and <a href='https://git.gnunet.org/gnunet.git/commit/?id=247230d737e3e4709392148bfabbde25871b6914'>247230d737e3e4709392148bfabbde25871b6914</a> | ||
37 | </p> | ||
38 | </section> | ||
39 | |||
40 | <section> | ||
41 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Master Loop") }}</h4> | ||
42 | <p> | ||
43 | {% trans %} | ||
44 | <table width="100%"> | ||
45 | <tr> | ||
46 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_dv_inverse.sh</td><td width="55%" style="vertical-align: top;">Added script to start the inverse distance vector test case.</td> | ||
47 | <tr> | ||
48 | <td></td><td> </td> | ||
49 | </tr> | ||
50 | <tr> | ||
51 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_dv_circle.sh</td><td width="55%" style="vertical-align: top;">Added script to start the circle distance vector test case.</td> | ||
52 | <tr> | ||
53 | </table> | ||
54 | {% endtrans %} | ||
55 | </p> | ||
56 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Local Loop") }}</h4> | ||
57 | <p> | ||
58 | {% trans %} | ||
59 | <table width="100%"> | ||
60 | <tr> | ||
61 | <td width="60%" style="vertical-align: top;">src/transport/transport_api_cmd_connecting_peers.c</td><td width="40%" style="vertical-align: top;">Added logic to handle counting additonal connection per peer.</td> | ||
62 | <tr> | ||
63 | <td></td><td> </td> | ||
64 | </tr> | ||
65 | <tr> | ||
66 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_plugin_cmd_simple_send_dv.c</td><td width="40%" style="vertical-align: top;">Added plugin which creates the commands for the distance vector test cases.</td> | ||
67 | <tr> | ||
68 | </table> | ||
69 | {% endtrans %} | ||
70 | </p> | ||
71 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4> | ||
72 | <p> | ||
73 | {% trans %} | ||
74 | <table width="100%"> | ||
75 | <tr> | ||
76 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_distance_vector_inverse_topo.conf</td><td width="40%" style="vertical-align: top;">Configuration for the DV inverse path test case.</td> | ||
77 | <tr> | ||
78 | <td></td><td> </td> | ||
79 | </tr> | ||
80 | <tr> | ||
81 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_distance_vector_circle_topo.conf</td><td width="40%" style="vertical-align: top;">Configuration for the DV circle path test case.</td> | ||
82 | <tr> | ||
83 | <td></td><td> </td> | ||
84 | </tr> | ||
85 | <tr> | ||
86 | <td width="60%" style="vertical-align: top;">src/testing/netjail_start.sh</td><td width="40%" style="vertical-align: top;">Enhanced port forwarding configuration to restrict port forwarding to specific source IPs.</td> | ||
87 | <tr> | ||
88 | <td></td><td> </td> | ||
89 | </tr> | ||
90 | <tr> | ||
91 | <td width="60%" style="vertical-align: top;">contrib/netjail/topo.sh</td><td width="40%" style="vertical-align: top;">Make specific nodes configurable as source node for IP forwarding.</td> | ||
92 | <tr> | ||
93 | <td></td><td> </td> | ||
94 | </tr> | ||
95 | <tr> | ||
96 | <td width="60%" style="vertical-align: top;">src/testing/testing.c</td><td width="40%" style="vertical-align: top;">Helper methods to retrieve the number of additional connections globally and per peer, and which peer is allowed as source for IP forwarding.</td> | ||
97 | <tr> | ||
98 | </table> | ||
99 | {% endtrans %} | ||
100 | </p> | ||
101 | </section> | ||
102 | |||
103 | |||
104 | </div> | ||
105 | </div> | ||
106 | |||
107 | </article> | ||
108 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile5.html.j2 b/template/l2o/mile5.html.j2 new file mode 100644 index 00000000..ddb8c9d7 --- /dev/null +++ b/template/l2o/mile5.html.j2 | |||
@@ -0,0 +1,153 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 5</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Testing Framework") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <ul> | ||
25 | <li>Added so called barrier functionality, which is a set of commands to easy implement a barrier. A barrier is some point in time during execution of a test which if reached can trigger some action. For details have a look into commits <a href='https://git.gnunet.org/gnunet.git/commit/?id=34e1c58cb39a649c9a4c551681cedf19807b85f0'>34e1c58cb39a649c9a4c551681cedf19807b85f0</a>, <a href='https://git.gnunet.org/gnunet.git/commit/?id=ba4d141be09651b452270fc21f062d50bd3f738a'>ba4d141be09651b452270fc21f062d50bd3f738a</a> and <a href='https://git.gnunet.org/gnunet.git/commit/?id=2c2b2911e1585dc378dbb88d4dd6aaec37b00316'>2c2b2911e1585dc378dbb88d4dd6aaec37b00316</a>.</li> | ||
26 | </ul> | ||
27 | {% endtrans %} | ||
28 | </p> | ||
29 | </section> | ||
30 | |||
31 | <section> | ||
32 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("TNG Service") }}</h4><br/> | ||
33 | <p> | ||
34 | {% trans %} | ||
35 | <ul> | ||
36 | <li>Added nat reversal code to tcp communicator. Prepared udp communicator.</li> | ||
37 | <li>Added tcp icmp nat hole punching test case script, and fixed bugs occuring during shutdown.</li> | ||
38 | <ul> | ||
39 | <li>src/transport/test_transport_nat_icmp_tcp.sh</li> | ||
40 | </ul> | ||
41 | <li>Added performance test case.</li> | ||
42 | <ul> | ||
43 | <li>src/transport/test_transport_plugin_cmd_simple_send_performance.c</li> | ||
44 | <li>src/transport/test_transport_simple_send_performance.sh</li> | ||
45 | <li>src/transport/test_transport_simple_send_performance_topo.conf</li> | ||
46 | <li>src/transport/transport_api_cmd_send_simple_performance.c</li> | ||
47 | </ul> | ||
48 | <li>Fixed bug happening during check for pending validation requests after | ||
49 | nat reversal.</li> | ||
50 | <li>Fixed bug of QueueEntry deleted too early.</li> | ||
51 | <li>Fixed bug about missing synchronisation between client and service queue | ||
52 | in Transport Core API.</li> | ||
53 | <li>Fixed bug of not sending the changed window size, which takes into account the used and lost data.</li> | ||
54 | </ul> | ||
55 | {% endtrans %} | ||
56 | </p> | ||
57 | <p> | ||
58 | Even more details in commits fc99f54070e04c043c14f2244f85833ecf6b00c4, 95a1edacccd9b3bf769a144a12d41946d0ac25dc and 247230d737e3e4709392148bfabbde25871b6914 | ||
59 | </p> | ||
60 | </section> | ||
61 | |||
62 | <section> | ||
63 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Configuration") }}</h4> | ||
64 | <p> | ||
65 | {% trans %} | ||
66 | <ul> | ||
67 | <li>Added configuration to be able to start executables on a router node</li> | ||
68 | <ul> | ||
69 | <li>contrib/netjail/netjail_core.sh</li> | ||
70 | <li>contrib/netjail/netjail_start.sh</li> | ||
71 | <li>contrib/netjail/topo.sh</li> | ||
72 | </ul> | ||
73 | </ul></br> | ||
74 | <table width="100%"> | ||
75 | <tr> | ||
76 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_nat_upnp_topo.conf</td><td width="40%" style="vertical-align: top;">Added topology file for nat upnp test case</td> | ||
77 | <tr> | ||
78 | <td></td><td> </td> | ||
79 | </tr> | ||
80 | <tr> | ||
81 | <td width="60%" style="vertical-align: top;">contrib/netjail/netjail_start.sh</td><td width="40%" style="vertical-align: top;">Handing over the global number of the router node to the script running | ||
82 | on that node. (8e1bf27b11)</td> | ||
83 | <tr> | ||
84 | </table></br> | ||
85 | <ul> | ||
86 | <li>miniupnpd only works with public IP addresses. (c524f91a6)</li> | ||
87 | <ul> | ||
88 | <li>contrib/netjail/netjail_start.sh</li> | ||
89 | <li>src/testing/gnunet-cmds-helper.c</li> | ||
90 | <li>src/testing/testing.c</li> | ||
91 | </ul> | ||
92 | </ul> | ||
93 | <ul> | ||
94 | <li>Changed the format of the interface names to make miniupnpd happy. (4aec035ea)</li> | ||
95 | <ul> | ||
96 | <li>contrib/netjail/netjail_core.sh</li> | ||
97 | <li>src/testing/testing_api_cmd_netjail_start_cmds_helper.c</li> | ||
98 | </ul> | ||
99 | </ul> | ||
100 | <ul> | ||
101 | <li>Cleanup after scripts which were running on netjail nodes. (9d6ace0b9)</li> | ||
102 | <ul> | ||
103 | <li>contrib/netjail/netjail_stop.sh</li> | ||
104 | </ul> | ||
105 | </ul></br> | ||
106 | <table width="100%"> | ||
107 | <tr> | ||
108 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_nat_icmp_tcp_topo.conf</td><td width="40%" style="vertical-align: top;">Added topology file for tcp icmp nat hole punching test case.</td> | ||
109 | <tr> | ||
110 | </table></br> | ||
111 | <ul> | ||
112 | <li>Added code to configure connection attempts to natted peers. (6de2cb8f7a)</li> | ||
113 | <ul> | ||
114 | <li>src/testing/testing.c</li> | ||
115 | <li>src/transport/transport_api_cmd_connecting_peers.c</li> | ||
116 | </ul> | ||
117 | </ul> | ||
118 | <ul> | ||
119 | <li>Added code in the netjail scripts to enable router nodes to forward icmp requests | ||
120 | and response. (a21cb1820)</li> | ||
121 | <ul> | ||
122 | <li>contrib/netjail/netjail_core.sh</li> | ||
123 | <li>contrib/netjail/netjail_start.sh</li> | ||
124 | </ul> | ||
125 | </ul> | ||
126 | {% endtrans %} | ||
127 | </p> | ||
128 | </section> | ||
129 | <section> | ||
130 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Performance Measurement") }}</h4> | ||
131 | <p> | ||
132 | {% trans %} | ||
133 | The outcome of the performance measurement was ~24 MByte/s for packets with size of 65000 bytes. To follow up on this measurement one has to get the mean time the packets of 65000 bytes needed to reach another peer, to calculate the data rate, by doing<br/><br/> | ||
134 | <code>grep "mean time traveled" 1b8b9ebe2_test.out|tail -1</code><br/><br/> | ||
135 | on the log file <a href="/l2o/1b8b9ebe2_test.out">1b8b9ebe2_test.out</a> of the performance test case. | ||
136 | |||
137 | For this measurement the TNG layer was using tcp only, because there was an unfixed bug, if running tcp and udp in parallel. | ||
138 | {% endtrans %} | ||
139 | </p> | ||
140 | </section> | ||
141 | <section> | ||
142 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("API Documentation") }}</h4> | ||
143 | <p> | ||
144 | {% trans %} | ||
145 | Documentation of the new <a href='https://docs.gnunet.org/doxygen/d2/dc4/group__TNG.html'>TNG Api</a>. | ||
146 | {% endtrans %} | ||
147 | </p> | ||
148 | </section> | ||
149 | </div> | ||
150 | </div> | ||
151 | |||
152 | </article> | ||
153 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile6.html.j2 b/template/l2o/mile6.html.j2 new file mode 100644 index 00000000..ceb9ca4f --- /dev/null +++ b/template/l2o/mile6.html.j2 | |||
@@ -0,0 +1,83 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 6</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4>{{ _("TNG Service") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <ul> | ||
25 | <li>Introduced frags_in_flight flag. With this flag we check if fragments of a PendingMessage are being send right now, to not resend single fragments, but the PendingMessage at once.</li> | ||
26 | <li>The time to wait for resending a PendingMessage - which was fragmented - is calculated, depending on the number of fragments present, and how much of the PendingMessage was already fragmented.</li> | ||
27 | <li>ValidationState now contains the addres prefix of the address being validated, because we have to check which communicator gave us the validation response.</li> | ||
28 | <li>Handling flow control takes used window size into account, together with data loss.</li> | ||
29 | <li>We do not update queue performance if PendingMessage was resend.</li> | ||
30 | <li>Changed test case to except 0.5% packet loss.</li> | ||
31 | <li>Removed misplaced sending of an acknowlegement in udp communicator.</li> | ||
32 | <li>GNUNET_SERVICE_client_continue was misplaced after receiving CORE Ack, blocking the service.</li> | ||
33 | <li>Fixed bug when checking, if fragment sub tree is done.</li> | ||
34 | <li>Fixed bug in calculation of delay for PendingAcknowledgement.</li> | ||
35 | <li>Fixed bug in calculation of subtree fragment message size.</li> | ||
36 | <li>Fixed bug that additional queues for the same communicator inherit the validity period.</li> | ||
37 | <li>Fixed logic bug when searching for QueueEntry matching acknowledgement.</li> | ||
38 | <li>Fixed misplaced increase of queue length.</li> | ||
39 | </ul> | ||
40 | {% endtrans %} | ||
41 | </p> | ||
42 | </section> | ||
43 | |||
44 | <section> | ||
45 | <h4>{{ _("Configuration") }}</h4> | ||
46 | <p> | ||
47 | {% trans %} | ||
48 | <table width="100%"> | ||
49 | <tr> | ||
50 | <td width="60%" style="vertical-align: top;">src/transport/test_transport_simple_send_performance_topo.conf</td><td width="40%" style="vertical-align: top;">Changed configuration to use TCP and UDP together.</td> | ||
51 | </tr> | ||
52 | </table> | ||
53 | {% endtrans %} | ||
54 | </p> | ||
55 | </section> | ||
56 | <section> | ||
57 | <h4>{{ _("Performance Measurement") }}</h4> | ||
58 | <p> | ||
59 | {% trans %} | ||
60 | The outcome of the performance measurement was ~66 MByte/s for packets with size of 65000 bytes. To follow up on this measurement one has to get the mean time the packets of 65000 bytes needed to reach another peer, to calculate the data rate, by doing<br/><br/> | ||
61 | <code>grep "mean time traveled" 811c040a2_test.out|tail -1</code><br/><br/> | ||
62 | on the log file <a href="/l2o/811c040a2_test.out">811c040a2_test.out</a> of the performance test case. | ||
63 | The performance increased from ~24 MByte/s measured with the code revision of milestone 5 by using TCP only to ~66 MByte/s measured with the code revision of milestone 6 for packet size of 65000 bytes using TCP and UDP together. | ||
64 | |||
65 | There are still possibilities to increase performance documented as TODOs in the source code. | ||
66 | {% endtrans %} | ||
67 | </p> | ||
68 | </section> | ||
69 | <section> | ||
70 | <h4>{{ _("Synergie with Interpeer Channeler project.") }}</h4> | ||
71 | <p> | ||
72 | {% trans %} | ||
73 | The Interpeer library Channeler and the L2O project have some goals in common. These include independence of the transmission protocol used, congestion control, reliability. Other goals of the Channeler project are not goals of the L2O project, but are already implemented or planned for other layers of GNUnet, such as multiplexing and ordered delivery of packages. There are also goals of the L2O project that are not goals of the Channeler project, such as metadata protection and identity assurance of communication partners. Due to these half overlapping half disjoint targets it is not reasonable that on project makes use of the other as a whole. However, parts of one project may well be applicable in the other. Since the Channeler project is not yet completed, it is not yet possible to identify the interesting parts beyond doubt. Interesting for the further development of L2O is the "Zero-Copy and Buffering" functionality of the Channeler project. This is also planned for future versions of L2O. | ||
74 | |||
75 | In conclusion, both projects can benefit from each other. At this point in time, it is still too early to tackle this concretely. | ||
76 | {% endtrans %} | ||
77 | </p> | ||
78 | </section> | ||
79 | </div> | ||
80 | </div> | ||
81 | |||
82 | </article> | ||
83 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile7.html.j2 b/template/l2o/mile7.html.j2 new file mode 100644 index 00000000..e75caf17 --- /dev/null +++ b/template/l2o/mile7.html.j2 | |||
@@ -0,0 +1,62 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 7</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4>{{ _("Marked old transport API as deprecated") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | To make the search for the old API methods easier, those methods were marked as deprecated in their header files.</br></br> | ||
25 | |||
26 | See branch l20integration revision 664286d. | ||
27 | {% endtrans %} | ||
28 | </p> | ||
29 | </section> | ||
30 | <section> | ||
31 | <h4>{{ _("Removed usage of old transport API methods") }}</h4><br/> | ||
32 | <p> | ||
33 | {% trans %} | ||
34 | Removed usage of old transport API methods and exchanged them with API methods of L2O or deleted without replacement, if there is no corresponding functionality in L2O.</br></br> | ||
35 | |||
36 | In the process, the subsystems cadet, core, dhtu, fs and topology were touched.</br></br> | ||
37 | |||
38 | The blacklist and friend functionality in subsystem topology was deleted without replacement, as well as the bandwith allocation in the fs (file sharing) subsystem.</br></br> | ||
39 | |||
40 | In the transport subsystem itself, old API methods are still used until the code is finally removed in Milestone 9. There is a cli tool gnunet-transport in the transport subsystem which needs be rewritten partially to get infromation from L2O which can not retrieved via the old API anymore.</br></br> | ||
41 | |||
42 | Additionally there is a peerinfo cli tool gnunet-peerinfo, which needs to be rewritten partially too.</br></br> | ||
43 | |||
44 | See branch l20integration revision b78f993. | ||
45 | {% endtrans %} | ||
46 | </p> | ||
47 | </section> | ||
48 | <section> | ||
49 | <h4>{{ _("Deactivated tests which rely on old transport API methods") }}</h4><br/> | ||
50 | <p> | ||
51 | {% trans %} | ||
52 | All test which rely on the old transport API methods were deactivated. They are still in the code base, but they just wouldn't work.</br></br> | ||
53 | |||
54 | See branch l20integration revision 72b4f42. | ||
55 | {% endtrans %} | ||
56 | </p> | ||
57 | </section> | ||
58 | </div> | ||
59 | </div> | ||
60 | |||
61 | </article> | ||
62 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile8.html.j2 b/template/l2o/mile8.html.j2 new file mode 100644 index 00000000..8af78816 --- /dev/null +++ b/template/l2o/mile8.html.j2 | |||
@@ -0,0 +1,86 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 8</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4>{{ _("Added command to execute a script") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | A command to start any kind of script was added. As of now this command blocks until the script finished. In the context of this milestone this command is later used to execute a script which blocks until it finds a specific file.</br></br> | ||
25 | |||
26 | See branch l20integration revision 40a5a65. | ||
27 | {% endtrans %} | ||
28 | </p> | ||
29 | </section> | ||
30 | <section> | ||
31 | <h4>{{ _("Added generic start script for test cases") }}</h4><br/> | ||
32 | <p> | ||
33 | {% trans %} | ||
34 | We do not want to have a specific start script for every test case. This start script asks for a test case configuration to use.</br></br> | ||
35 | |||
36 | See branch l20integration revision 80971b6. | ||
37 | {% endtrans %} | ||
38 | </p> | ||
39 | </section> | ||
40 | <section> | ||
41 | <h4>{{ _("Moved start peer command to testing subsystem") }}</h4><br/> | ||
42 | <p> | ||
43 | {% trans %} | ||
44 | A start script was added, that can be used by test cases in all subsystems, and which starts the new transport subsystem.</br></br> | ||
45 | |||
46 | See branch l20integration revision 03a5d17. | ||
47 | {% endtrans %} | ||
48 | </p> | ||
49 | </section> | ||
50 | <section> | ||
51 | <h4>{{ _("Added Testcase that just runs two peers, and blocks") }}</h4><br/> | ||
52 | <p> | ||
53 | {% trans %} | ||
54 | This testcase just runs to peers with the new transport subsystem and runs the command that executes a script that blocks until </br></br> | ||
55 | |||
56 | See branch l20integration revision 4ba7b5f. | ||
57 | {% endtrans %} | ||
58 | </p> | ||
59 | </section> | ||
60 | <section> | ||
61 | <h4>{{ _("Manually testing") }}</h4><br/> | ||
62 | <p> | ||
63 | {% trans %} | ||
64 | With the above mentioned test case, it was possible to get GNUnet running with the new transport (L2O) subsystem, do manually testing. Some bugs were already fixed:</br></br> | ||
65 | <ul> | ||
66 | <li>Fixed bug that core subsystem is not calling GNUNET_TRANSPORT_core_receive_continue. See branch l20integration revision 61bbc04.</li> | ||
67 | <li>Fixed bug that QueueEntry of another queue still holds reference to PendingMessage. See branch l20integration revision aec63bf.</li> | ||
68 | </ul> | ||
69 | {% endtrans %} | ||
70 | </p> | ||
71 | </section> | ||
72 | <section> | ||
73 | <h4>{{ _("Status") }}</h4><br/> | ||
74 | <p> | ||
75 | {% trans %} | ||
76 | The core and cadet subsystems were manually tested regarding integration with transport. They are boh working. | ||
77 | |||
78 | Next subsystems to test: dhtu, fs and topology. | ||
79 | {% endtrans %} | ||
80 | </p> | ||
81 | </section> | ||
82 | </div> | ||
83 | </div> | ||
84 | |||
85 | </article> | ||
86 | {% endblock body_content %} | ||
diff --git a/template/l2o/mile9.html.j2 b/template/l2o/mile9.html.j2 new file mode 100644 index 00000000..1e5c9220 --- /dev/null +++ b/template/l2o/mile9.html.j2 | |||
@@ -0,0 +1,338 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 9</h2><br/> | ||
19 | |||
20 | |||
21 | <section> | ||
22 | <h4>{{ _("Added api to store hellos with peerstore service") }}</h4><br/> | ||
23 | <p> | ||
24 | {% trans %} | ||
25 | This functionality was formerly implemented in the peerinfo service.</br></br> | ||
26 | |||
27 | See revision 0f8b712. | ||
28 | {% endtrans %} | ||
29 | </p> | ||
30 | </section> | ||
31 | <section> | ||
32 | <h4>{{ _("Added api to get notified when hellos are stored with peerstore service") }}</h4><br/> | ||
33 | <p> | ||
34 | {% trans %} | ||
35 | This functionality was formerly implemented in the peerinfo service. After storing hellos with the peerstore service this was needed there.</br></br> | ||
36 | |||
37 | See revision 55a25ef. | ||
38 | {% endtrans %} | ||
39 | </p> | ||
40 | </section> | ||
41 | <section> | ||
42 | <h4>{{ _("Changed new hello uri api to allow to change the expiration time") }}</h4><br/> | ||
43 | <p> | ||
44 | {% trans %} | ||
45 | This change was necessary to create the bootstrap hello which must be valid indefinitely.</br></br> | ||
46 | |||
47 | See revision 39bcd0f. | ||
48 | {% endtrans %} | ||
49 | </p> | ||
50 | </section> | ||
51 | <section> | ||
52 | <h4>{{ _("Exchanged peerinfo api to store hellos with new peerstore api") }}</h4><br/> | ||
53 | <p> | ||
54 | {% trans %} | ||
55 | The new api needed to be exchange in all GNUnet packages.</br></br> | ||
56 | |||
57 | See revision 23a2640. | ||
58 | {% endtrans %} | ||
59 | </p> | ||
60 | </section> | ||
61 | <section> | ||
62 | <h4>{{ _("Change watch to return actual values, before watching.") }}</h4><br/> | ||
63 | <p> | ||
64 | {% trans %} | ||
65 | The watch api of the peerstore service was changed to return all values for a given key, before notifying the caller about ne values being stored.</br></br> | ||
66 | |||
67 | See revision 86ae84f. | ||
68 | {% endtrans %} | ||
69 | </p> | ||
70 | </section> | ||
71 | <section> | ||
72 | <h4>{{ _("The old hello design replaced by the new hello design.") }}</h4><br/> | ||
73 | <p> | ||
74 | {% trans %} | ||
75 | The new hello design was exchanged in all GNUnet packages.</br></br> | ||
76 | |||
77 | See revision a362cd5. | ||
78 | {% endtrans %} | ||
79 | </p> | ||
80 | </section> | ||
81 | <section> | ||
82 | <h4>{{ _("Cli tool for changing hello files in contrib can change file from old to new hello design.") }}</h4><br/> | ||
83 | <p> | ||
84 | {% trans %} | ||
85 | A cli tool for changing the bootstrap hello file in the contrib/hello directory was changed to rewritethe hello bootstrap file from old to new format. </br></br> | ||
86 | |||
87 | See revision 8ea9223. | ||
88 | {% endtrans %} | ||
89 | </p> | ||
90 | </section> | ||
91 | <section> | ||
92 | <h4>{{ _("Moved code to scan and import hello file into peerstore from peerinfo.") }}</h4><br/> | ||
93 | <p> | ||
94 | {% trans %} | ||
95 | The peerinfo service service was scanning a hostlist file and the data was used by the hostlist server. This code was moved to the peerstore service.</br></br> | ||
96 | |||
97 | See revision 20d6f3. | ||
98 | {% endtrans %} | ||
99 | </p> | ||
100 | </section> | ||
101 | <section> | ||
102 | <h4>{{ _("Moved code to testing to have more generic test setup, which can be used not only from within transport.") }}</h4><br/> | ||
103 | <p> | ||
104 | {% trans %} | ||
105 | The new testing framework was transport specific Now it can be used in other packages too.</br></br> | ||
106 | |||
107 | See revision 02a1fda. | ||
108 | {% endtrans %} | ||
109 | </p> | ||
110 | </section> | ||
111 | <section> | ||
112 | <h4>{{ _("Code moved to the core package to get rid of circular dependencies.") }}</h4><br/> | ||
113 | <p> | ||
114 | {% trans %} | ||
115 | After changes to be able to use the testing framework more generic the dependencies needed to be fixed..</br></br> | ||
116 | |||
117 | See revision 1016d6d. | ||
118 | {% endtrans %} | ||
119 | </p> | ||
120 | </section> | ||
121 | <section> | ||
122 | <h4>{{ _("Changed method GNUNET_HELLO_builder_get_expiration_time to not need parameter GNUNET_HELLO_Builder.") }}</h4><br/> | ||
123 | <p> | ||
124 | {% trans %} | ||
125 | A small function syntax fix.</br></br> | ||
126 | |||
127 | See revision 84913b. | ||
128 | {% endtrans %} | ||
129 | </p> | ||
130 | </section> | ||
131 | <section> | ||
132 | <h4>{{ _("Changed the behavior of GNUNET_PEERSTORE_watch to also return the values allready stored for the key.") }}</h4><br/> | ||
133 | <p> | ||
134 | {% trans %} | ||
135 | The watch functionality first returns all values for a given key, before notifying the caller about new values for that key.</br></br> | ||
136 | |||
137 | See revision e1341d1. | ||
138 | {% endtrans %} | ||
139 | </p> | ||
140 | </section> | ||
141 | <section> | ||
142 | <h4>{{ _("Changed address and hello format to new TNG format.") }}</h4><br/> | ||
143 | <p> | ||
144 | {% trans %} | ||
145 | All occurencies in GNUnet packages were changed from old to new hello format.</br></br> | ||
146 | |||
147 | See revision 66ecfe2. | ||
148 | {% endtrans %} | ||
149 | </p> | ||
150 | </section> | ||
151 | <section> | ||
152 | <h4>{{ _("Fixed bug in bootstrap code.") }}</h4><br/> | ||
153 | <p> | ||
154 | {% trans %} | ||
155 | Unnecessary check removed. Fixed small coding error.</br></br> | ||
156 | |||
157 | See revision 3bd35e8. | ||
158 | {% endtrans %} | ||
159 | </p> | ||
160 | </section> | ||
161 | <section> | ||
162 | <h4>{{ _("Fixed validation bug.") }}</h4><br/> | ||
163 | <p> | ||
164 | {% trans %} | ||
165 | The validation of other peers in the transport package was not working in some cases, because validation did not use monotonic time, and first_challenge_use wasn't reset.</br></br> | ||
166 | |||
167 | See revision 88cb4be. | ||
168 | {% endtrans %} | ||
169 | </p> | ||
170 | </section> | ||
171 | <section> | ||
172 | <h4>{{ _("Fixed wrong group name.") }}</h4><br/> | ||
173 | <p> | ||
174 | {% trans %} | ||
175 | A wrong group name was used for a DHT block entry.</br></br> | ||
176 | |||
177 | See revision 8127d51. | ||
178 | {% endtrans %} | ||
179 | </p> | ||
180 | </section> | ||
181 | <section> | ||
182 | <h4>{{ _("Task added to start reading the hostlist entries only after a certain period of time has elapsed.") }}</h4><br/> | ||
183 | <p> | ||
184 | {% trans %} | ||
185 | Reading hostlist entries and compiling the hostlist response to a hostlist request was started too early, even though the peer did not created its own hello.</br></br> | ||
186 | |||
187 | See revision 7761b42. | ||
188 | {% endtrans %} | ||
189 | </p> | ||
190 | </section> | ||
191 | <section> | ||
192 | <h4>{{ _("Added test config to have a peer running the hostlist server.") }}</h4><br/> | ||
193 | <p> | ||
194 | {% trans %} | ||
195 | The configuration of the test case had to be changed to let one peer run a hostlist server.</br></br> | ||
196 | |||
197 | See revision 3c761cd. | ||
198 | {% endtrans %} | ||
199 | </p> | ||
200 | </section> | ||
201 | <section> | ||
202 | <h4>{{ _("Changed hostlist server to use a hello cache.") }}</h4><br/> | ||
203 | <p> | ||
204 | {% trans %} | ||
205 | The host list server needed a cache for the entries, because with storing entries in the peerstore, only the new hellos were notified to the hostlist server.</br></br> | ||
206 | |||
207 | See revision e4b146e. | ||
208 | {% endtrans %} | ||
209 | </p> | ||
210 | </section> | ||
211 | <section> | ||
212 | <h4>{{ _("Bootstrap: Fixed bug to not replace hellos for a peer.") }}</h4><br/> | ||
213 | <p> | ||
214 | {% trans %} | ||
215 | Hellos are store with a specific key GNUNET_PEERSTORE_HELLO_KEY and option GNUNET_PEERSTORE_STOREOPTION_MULTIPLE instead of GNUNET_PEERSTORE_STOREOPTION_REPLACE.</br></br> | ||
216 | |||
217 | See revision 0516538. | ||
218 | {% endtrans %} | ||
219 | </p> | ||
220 | </section> | ||
221 | <section> | ||
222 | <h4>{{ _("Hello: Fix another bug in cli tool to generate contrib hello file.") }}</h4><br/> | ||
223 | <p> | ||
224 | {% trans %} | ||
225 | Use the actuall private key of the installed peer, not the peer id from file.</br></br> | ||
226 | |||
227 | See revision e0d28ef. | ||
228 | {% endtrans %} | ||
229 | </p> | ||
230 | </section> | ||
231 | <section> | ||
232 | <h4>{{ _("Cadet: Fixed issue #7542") }}</h4><br/> | ||
233 | <p> | ||
234 | {% trans %} | ||
235 | Cadet still used the legacy DHT hello block format, changed to the new URL-based block format.</br></br> | ||
236 | |||
237 | See revision 9376034. | ||
238 | {% endtrans %} | ||
239 | </p> | ||
240 | </section> | ||
241 | <section> | ||
242 | <h4>{{ _("Added DDLs for handling GNUNET_PEERSTORE_StoreHelloContext.") }}</h4><br/> | ||
243 | <p> | ||
244 | {% trans %} | ||
245 | Changed code to store hellos in new format in peerstore in transport and topology subsystem.</br></br> | ||
246 | |||
247 | See revision 233a6be. | ||
248 | {% endtrans %} | ||
249 | </p> | ||
250 | </section> | ||
251 | <section> | ||
252 | <h4>{{ _("A long list of Bugs which where fixed.") }}</h4><br/> | ||
253 | <p> | ||
254 | {% trans %} | ||
255 | <ul> | ||
256 | <li>c1783c1: TNG: Adding missing manual test case topology file.</li> | ||
257 | <li>8093c8e: Changed relative path to no force test config</li> | ||
258 | <li>aa9bebd: TNG: Fixed bug in handling hello to start validation.</li> | ||
259 | <li>21be887: Introduced closure to hold store context when caling function to add hello in peerstore.</li> | ||
260 | <li>0ecf00f: Hello: Fixed usage of GNUNET_HELLO_builder_iterate.</li> | ||
261 | <li>8ebef9f: Cadet: Changes to use DhtHelloMessage instead of HelloUriMessage, and to hand over not a HelloMessage, but a block to the dht.</li> | ||
262 | <li>2b87bab: Peerstore: Fixed memory related bugs.</li> | ||
263 | <li>a71b245: Testing: Exchange binary name for transport in test case configuration.</li> | ||
264 | <li>7da7937: Transport: Fixed null pointer in address iteration code to start validation.</li> | ||
265 | <li>060b681: Transport: Fixed bug while setting up key material for backchannel.</li> | ||
266 | <li>53ad5e4: Transport: Fixed bug while setting up key material for backchannel.</li> | ||
267 | <li>57d31ec: Transport: Fixed bug in free pending messages and queue entries.</li> | ||
268 | <li>20f5e2a: Transport: Fixed bug in ring buffer for core messages.</li> | ||
269 | <li>2c71a76: Topology: Fixed small bug.</li> | ||
270 | <li>d46e0b7: Hello: Changed bootstrap peer hello file to new bootstrap peer.</li> | ||
271 | <li>29e2e51: Peerstore: Make peerstore start immediately. Added option to use included hello.</li> | ||
272 | <li>1848ece: Hello: Change error handling of GNUNET_HELLO_builder_add_address usage.</li> | ||
273 | <li>4e77b10: Peerstore: We replace existing hellos. Only the origin peer merges hellos.</li> | ||
274 | <li>8e8c3f1: Transport: Added missing dekrement when removing QueueEntry from DLL.</li> | ||
275 | <li>a919091: Transport: Added missing dekrement of global communicator queue counter.</li> | ||
276 | <li>1513057: Transport: Using the correct TransportClient for dekrementing the global communicator queue counter.</li> | ||
277 | <li>23246e1: Transport: Fixed check when to stop FC retransmission.</li> | ||
278 | <li>015cef0: Transport: Removed logging that lead to an assertion.</li> | ||
279 | <li>ea2420b: Transport: Fixed check of value gotten from peerstore.</li> | ||
280 | <li>5934318: Transport: Destroy closed ProtoQueue.</li> | ||
281 | <li>f5fa8ef: Transport: Added logging in case of UDP errors, and destroy queue in case of errors.</li> | ||
282 | <li>e2a4d6c: Transport: Fixed bug in handling of AckPending.</li> | ||
283 | <li>c9b0b25: Transport: Removed misplaced removal of QueueEntry.</li> | ||
284 | <li>7f7571b: Transport: Fixed bugs in core message cache.</li> | ||
285 | <li>bc81b0a: Transport: We need to check if a message was cached when resuming communicators.</li> | ||
286 | <li>433c13c: Transport: Fixed bug handling queue length and QueueEntry when queue has no capacity.</li> | ||
287 | <li>3becc2d: Transport: Fixed bug to check each queue for validity separately.</li> | ||
288 | <li>2d955b1: Transport: More useful debug logging für service.</li> | ||
289 | <li>f1510f7: Transport: Fixed using wrong function to calculate mean time when to send next fragment.</li> | ||
290 | <li>ec57587: Peerstore: Fixed wrong assert when checking DLL with watches.</li> | ||
291 | <li>4274265: Transport: Added logging in case of UDP errors, and destroy queue in case of errors.</li> | ||
292 | <li>8d3c8c3: Transport: Fixed bug in handling of AckPending.</li> | ||
293 | <li>edd8e08: Transport: Removed misplaced removal of QueueEntry.</li> | ||
294 | <li>3b906ef: Transport: Fixed bugs in core message cache.</li> | ||
295 | <li>ca73eed: Transport: We need to check if a message was cached when resuming communicators.</li> | ||
296 | <li>e39ed50: Transport: Fixed bug handling queue length and QueueEntry when queue has no capacity.</li> | ||
297 | <li>f08eae1: Transport: Fixed bug to check each queue for validity separately.</li> | ||
298 | <li>6a27b67: Transport: Fixed using wrong function to calculate mean time when to send next fragment.</li> | ||
299 | <li>da2f9f7: Peerstore: Fixed wrong assert when checking DLL with watches.</li> | ||
300 | <li>6565677: Transport: Fixed counting of fragments of a message</li> | ||
301 | <li>26b05be: Transport: Introduced variable to count the round of fragments of a message being (re)send.</li> | ||
302 | <li>e22e637: Transport: Fixed ring buffer.</li> | ||
303 | <li>f387a7b: Util: Introduced GNUNET_TIME_relative_multiply_double.</li> | ||
304 | <li>36a9952: Transport: Added cleanup task to remove QueueEntry we got no ACK for.</li> | ||
305 | <li>164badb: Transport: Changed logic to first create a queue before starting validation.</li> | ||
306 | <li>894754f: Core: Added missing GNUNET_TRANSPORT_core_receive_continue.</li> | ||
307 | <li>b9cd040: Transport: Fixed bug in logic getting root parent of fragment which is a DV box.</li> | ||
308 | <li>84b76e3: Transport: Resuming communicators in case of core restarting.</li> | ||
309 | <li>78b0a9a: Transport. Fixed bug in logic freeing timedout QueueEntry.</li> | ||
310 | <li>0d9df1c: Fixed bug calculating next resend of fragments.</li> | ||
311 | <li>c69a0e9: Transport: first_challenge_use has to be reset in case of revalidation.</li> | ||
312 | <li>01b7a5d: Transport: When to resend a validation challenge and when to start revalidation needs to be seperate logic.</li> | ||
313 | <li>5f56628: Transport: Fixed bug in logic releasing resources and notifying communicators after caching messages to core.</li> | ||
314 | <li>94caa7d: Transport: Fixed bug in resend logic for fragments, especially for DV boxes.</li> | ||
315 | <li>67c90f8: Core: Fixed bug to stop keepalive after handling ping.</li> | ||
316 | <li>a3b9d98: Transport: Fixed fragmentation logic.</li> | ||
317 | <li>4254ee1: Core: Removed unnecessary client continue.</li> | ||
318 | <li>1d88d65: Transport: Added check for DV box, when checking for last applicable fragment during freeing some fragment.</li> | ||
319 | <li>4402b56: Transport: Added logging to debug freeing of fragments.</li> | ||
320 | <li>25ffc82: Transport: Inform Core about all VirtualLinks not only neighbours.</li> | ||
321 | <li>aaf07c7: Core: Added logic to decrease restart delay of connection to Transport depending on how long the connection to Transport lasted.</li> | ||
322 | </ul></br></br> | ||
323 | {% endtrans %} | ||
324 | </p> | ||
325 | </section> | ||
326 | <section> | ||
327 | <h4>{{ _("Status") }}</h4><br/> | ||
328 | <p> | ||
329 | {% trans %} | ||
330 | The hostlist, and topology subsystems and the bootstrap functionality were manually tested. Everything was working without errors. No known errors in other subsystems. Branch merged into master. New Transport and Hello released with version 0.21. | ||
331 | {% endtrans %} | ||
332 | </p> | ||
333 | </section> | ||
334 | </div> | ||
335 | </div> | ||
336 | |||
337 | </article> | ||
338 | {% endblock body_content %} | ||
diff --git a/template/l2o/testng.html.j2 b/template/l2o/testng.html.j2 new file mode 100644 index 00000000..69905711 --- /dev/null +++ b/template/l2o/testng.html.j2 | |||
@@ -0,0 +1,119 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Layer-2-Overlay") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>The next generation testing framework</h2><br/> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("Netjail setup and execution") }}</h4><br/> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | Netjail is the GNUnet naming for having several <a href="https://www.man7.org/linux/man-pages/man8/ip-netns.8.html">network namespaces</a>, being isolated from each other to test how GNUnet nodes with limited connectivity behave, and how the new transport next generation implementation can help to circumvent the connectivity obstacles. The network namespaces are span a network with globally known nodes and several subnets separated from each other via a single router. | ||
25 | |||
26 | We have three scripts for the test setup: | ||
27 | |||
28 | <ul> | ||
29 | <li>netjail_start.sh: A script to setup the network namespaces. This script takes three arguments. The first is either the name of a configuration for the test setup topology or a string containing the topology information. The second is the process id of the test. The third is a flag if the first parameter contains the name of the configuration file or the topology string.</li> | ||
30 | <li>netjail_exec.sh: A script to run some command in a specific namespace. This script takes eight arguments. The first is the index of a node in a namespace for which we like to execute a command. The second is the index of the namespace of the node. The third is the command to execute, the fourth is the number of subnets, the fifth the number of nodes in each subnet, the sixth is the identifier used by the <a href="https://www.man7.org/linux/man-pages/man8/ip-netns.8.html">ip-netns</a> command, the sixth is a flag is the topology information is given via a topology file of a string containing the topology information..</li> | ||
31 | <li>netjail_stop.sh: A script which remove all the network namespace setup by netjail_start.sh. The arguments are the same as those for netjail_start.sh.</li> | ||
32 | </ul> | ||
33 | |||
34 | The is a generic test binary (test_transport_start_with_config) which will start the above mentioned scripts. Because creating network namespaces is only permitted for privileged users the generic test binary is not start directly, but via scripts. This script starts the generic binary using the command unshare. Using unshare one can create a namespace with its own user namespace, where creating network namespaces is allowed. Precondition to do this with unshare, is to set the kernel.unprivileged_userns_clone kernel parameter. | ||
35 | {% endtrans %} | ||
36 | </p><br/> | ||
37 | </section> | ||
38 | |||
39 | <h4><a name="cmdhelper" class="subnav-anchor"></a>{{ _("CMD helper and testcase plugins") }}</h4><br/> | ||
40 | |||
41 | <section> | ||
42 | <p> | ||
43 | {% trans %} | ||
44 | Although netjail_exec.sh can execute an arbitrary command in the ng testing framework a special command is used: gnunet-cmds-helper | ||
45 | This commands itself is of a special kind named helper processes which communicates via GNUNET_MessageHeaders on stdin/stdout with the process that started the helper. The gnunet-cmds-helper is used to load testcase plugins. Those plugins are implementations of an api which is used to start different test cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each plugin defines the commands which are running in a local interpreter loop started by the helper on that specific network namespace node. The plugins are also responsible for the communication via the helper with the master interpreter loop. | ||
46 | {% endtrans %} | ||
47 | </p><br/> | ||
48 | </section> | ||
49 | <h4><a name="cmdpattern" class="subnav-anchor"></a>{{ _("Command Pattern") }}</h4><br/> | ||
50 | |||
51 | <section> | ||
52 | <p> | ||
53 | {% trans %} | ||
54 | The testing framework borrowed from the <a href="https://docs.taler.net/developers-manual.html#testing-library">GNU Taler testing library</a> was extended to handle asychronous commands. Therefore a struct GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By default the continuation function of GNUNET_TESTING_AsyncContext is the interpreter_next function of the interpreter loop (blocking asynchronous command) which will be executed calling GNUNET_TESTING_async_finish, when the asynchronous task finished, but also can be any other function to be executed when the asynchronous task is non blocking. | ||
55 | {% endtrans %} | ||
56 | </p><br/> | ||
57 | </section> | ||
58 | <h4><a name="cmdpattern" class="subnav-anchor"></a>{{ _("Topology Configuration") }}</h4><br/> | ||
59 | |||
60 | <section> | ||
61 | <p> | ||
62 | {% trans %} | ||
63 | The topology of the netjail setup can be configured via a configuration file, or with a configuration string handed over to the generic binary for starting netjail based tests.</br></br> | ||
64 | |||
65 | Both method can be examined in two example test scripts</br></br> | ||
66 | |||
67 | test_transport_send_simple.sh</br></br> | ||
68 | |||
69 | and</br></br> | ||
70 | |||
71 | test_transport_send_simple_string.sh</br></br> | ||
72 | |||
73 | The Syntax of the configuration is as follows.</br></br> | ||
74 | |||
75 | The configuration string is structured by lines and the delimiter ':' used for seperating key/value(s) pairs and the chars '{' and '}' for grouping several key/value pairs as value and '|' to separate a group of values from the key/value(s) pair identifying a line. Below you find the EBNF of the configuration syntax.</br></br> | ||
76 | |||
77 | config = line, {line} ;<br/><br/> | ||
78 | line = ( "M:", NumberOfNodesPerSubnet ) | ( "N:", NumberOfSubnets ) | ( "X:", NumberOfGlobalNodes ) | NumberOfAdditionalConnections | ( "T:", GlobalPluginName ) | ( GlobalPeer, "|", KValue ) | ( "R:", IndexOfSubnetRouter, "|", RValue ) | ( SubnetPeer, "|", PValue ) ;<br/><br/> | ||
79 | NumberOfNodesPerSubnet = Zero | NaturalNumber ;<br/><br/> | ||
80 | NumberOfSubnets = NaturalNumber ;<br/><br/> | ||
81 | NumberOfGlobalNodes = NaturalNumber ;<br/><br/> | ||
82 | NumberOfAdditionalConnections = "AC:", NaturalNumber | ||
83 | GlobalPluginName = "libgnunet_test_transport_plugin_cmd_", PluginName ;<br/><br/> | ||
84 | GlobalPeer = "K", ":", IndexOfGlobalNode ;<br/><br/> | ||
85 | KValue = EstablishConnectionToPeerViaProtocol ;<br/><br/> | ||
86 | IndexOfSubnetRouter = Zero | NaturalNumber ;<br/><br/> | ||
87 | RValue = OpenTCP, "|", OpenUDP ;<br/><br/> | ||
88 | SubnetPeer = "P:", SubnetIndex, ":", NodeIndexInSubnet ;<br/><br/> | ||
89 | PValue = EstablishConnectionToPeerViaProtocol, { "|", "{", NumberOfAdditionalConnections, "}" } ;<br/><br/> | ||
90 | Zero = "0" ;<br/><br/> | ||
91 | NaturalNumber = NumeralWithoutZero, { Numeral } ;<br/><br/> | ||
92 | PluginName = Letter , { ( Letter | "_" ) } ;<br/><br/> | ||
93 | IndexOfGlobalNode = Zero | NaturalNumber ;<br/><br/> | ||
94 | EstablishConnectionToPeerViaProtocol = "{" "connect", ":" EstablishConnectionToPeerViaProtocolValues "}" ;<br/><br/> | ||
95 | OpenTCP = OpenTCPNoSource | OpenTCPWithSource ;<br/><br/> | ||
96 | OpenUDP = OpenUDPNoSource | OpenUDPWithSource ;<br/><br/> | ||
97 | SubnetIndex = NaturalNumber ;<br/><br/> | ||
98 | NodeIndexInSubnet = NaturalNumber ;<br/><br/> | ||
99 | NumeralWithoutZero = "0" | Numeral ;<br/><br/> | ||
100 | Numeral = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;<br/><br/> | ||
101 | Letter = "A" | "B" | ... | "Z" | "a" | ... | "z";<br/><br/> | ||
102 | EstablishConnectionToPeerViaProtocolValues = EstablishConnectionToPeerViaProtocolValue { "|", EstablishConnectionToPeerViaProtocolValue } | ||
103 | OpenTCPNoSource = "{tcp_port:", switch, "}" ;<br/><br/> | ||
104 | OpenUDPNoSource = "{udp_port:", switch, "}" ;<br/><br/> | ||
105 | OpenTCPWithSource = "{tcp_port:", SubnetPeer, { "tcp_port", SubnetPeer } ;<br/><br/> | ||
106 | OpenTUDWithSource = "{udp_port:", SubnetPeer, { "udp_port", SubnetPeer } ;<br/><br/> | ||
107 | EstablishConnectionToPeerViaProtocolValue = "{", ( GlobalPeer | SubnetPeer ), ":", Protocol, "}" ;<br/><br/> | ||
108 | switch = On | Off ;<br/><br/> | ||
109 | Protocol = "tcp" | "udp" ;<br/><br/> | ||
110 | On = 1 ;<br/><br/> | ||
111 | Off = 0 ;<br/><br/> | ||
112 | {% endtrans %} | ||
113 | </p> | ||
114 | </section> | ||
115 | </div> | ||
116 | </div> | ||
117 | |||
118 | </article> | ||
119 | {% endblock body_content %} | ||
diff --git a/template/livingstandards.html.j2 b/template/livingstandards.html.j2 index f8d1d580..c8372ccc 100644 --- a/template/livingstandards.html.j2 +++ b/template/livingstandards.html.j2 | |||
@@ -1,11 +1,12 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <div class="container-fluid"> | 4 | <div class="container-fluid"> |
4 | <div class="container"> | 5 | <div class="container"> |
5 | <article> | 6 | <article> |
6 | <div class="row"> | 7 | <div class="row"> |
7 | <div class="container text-center"> | 8 | <div class="container text-center"> |
8 | <h1>{{ _("Living Standards") }}</h1> | 9 | <h1>Living Standards</h1> |
9 | <section> | 10 | <section> |
10 | <p> | 11 | <p> |
11 | {% trans %} | 12 | {% trans %} |
@@ -16,11 +17,21 @@ | |||
16 | </div> | 17 | </div> |
17 | </div> | 18 | </div> |
18 | <ul> | 19 | <ul> |
19 | <li><b>LSD0000</b>: The Distributed Hash Table</li> | 20 | <li><b>LSD0000</b>: Reserved</li> |
20 | <li><b>LSD0001</b>: <a href="https://lsd.gnunet.org/lsd0001">The GNU Name System</a></li> | 21 | <li><b>LSD0001</b>: <a href="https://lsd.gnunet.org/lsd0001">The GNU Name System</a></li> |
21 | <li><b>LSD0002</b>: <a href="https://lsd.gnunet.org/lsd0002">re:claimID</a></li> | 22 | <li><b>LSD0002</b>: <a href="https://lsd.gnunet.org/lsd0002">re:claimID (work-in-progress)</a></li> |
22 | <li><b>LSD0003</b>: <a href="https://lsd.gnunet.org/lsd0003">Byzantine Fault Tolerant Set Reconciliation</a></li> | 23 | <li><b>LSD0003</b>: <a href="https://lsd.gnunet.org/lsd0003">Byzantine Fault Tolerant Set Reconciliation (work-in-progress)</a></li> |
24 | <li><b>LSD0004</b>: <a href="https://lsd.gnunet.org/lsd0004">The R5N Distributed Hash Table (work-in-progress)</a></li> | ||
23 | </ul> | 25 | </ul> |
26 | Unspecified components and subsystems: | ||
27 | <ul> | ||
28 | <li>CADET: Secure node-to-node communication.</li> | ||
29 | <li>CONVERSATION: Voice communication.</li> | ||
30 | <li>FILE-SHARING</li> | ||
31 | <li>CORE: Secure peer-to-peer neighbour communication.</li> | ||
32 | <li>TRANSPORT: Connectivity.</li> | ||
33 | </ul> | ||
34 | |||
24 | </article> | 35 | </article> |
25 | </div> | 36 | </div> |
26 | </div> | 37 | </div> |
diff --git a/template/news/2011-11-24-archived-vfork.html.j2 b/template/news/2011-11-24-archived-vfork.html.j2 new file mode 100644 index 00000000..61249c38 --- /dev/null +++ b/template/news/2011-11-24-archived-vfork.html.j2 | |||
@@ -0,0 +1,62 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>vfork and the signal race</h1> | ||
4 | <p> | ||
5 | <b>This is an imported news item from the old Drupal GNUnet homepage.</b> | ||
6 | </p> | ||
7 | <p> | ||
8 | Many articles uniformly claim that using vfork should be | ||
9 | <a href="https://web.archive.org/web/20150924082249/http://tldp.org/HOWTO/Secure-Programs-HOWTO/avoid-vfork.html">avoided</a> | ||
10 | and that the only difference between vfork and fork is (or used-to-be) | ||
11 | <a href="https://web.archive.org/web/20150924082249/http://www.unixguide.net/unix/programming/1.1.2.shtml">performance</a> | ||
12 | and that thus vfork is | ||
13 | <a href="https://web.archive.org/web/20150924082249/http://stackoverflow.com/questions/4856255/the-difference-between-fork-vfork-exec-and-clone">obsolete</a>. | ||
14 | Here, I wanted to document a technical case where vfork is actually required and where using fork instead of vfork (or operating system implementors implementing vfork as an alias for fork) causes a hard-to-find data race. | ||
15 | </p> | ||
16 | <p> | ||
17 | GNUnet uses a hypervisor process (gnunet-service-arm) to control the peer's service processes. Services are started (vfork+exec) on-demand. The hypervisor is also responsible for stopping the services and sends a SIGTERM signal to the services to stop them. SIGTERM must be used to allow the services to shutdown gracefully. Naturally, after shutting down a service with a signal, the hypervisor waits for SIGCHILD and then cleans up with waitpid. Once all services processes have completed, the hypervisor can exit as well. It should also be noted that the hypervisor handles SIGTERM (by shutting down all services), so a signal handler is installed for that signal. | ||
18 | </p> | ||
19 | <p> | ||
20 | The reason why we must use vfork is the following. After the hypervisor has started the service, it might be asked to stop the service at any time. We've actually managed (by scripting it) to reliably trigger a case where the hypervisor would start a service (fork) and then receive a request to terminate the service and issues the SIGTERM signal to the child before the child process had a chance to call exec. As a result, the SIGTERM would go to the (existing) handler of the hypervisor's code, then the child process would be exec'ed and essentially the signal was thereby lost in the race between kill and exec: | ||
21 | </p> | ||
22 | <p> | ||
23 | If exec wins, the signal either kills the process hard during the service startup phase, which is fine, or the service process might handle it normally and terminate --- also fine). | ||
24 | </p> | ||
25 | <p> | ||
26 | If kill wins the race, the signal would be lost and the hypervisor would wait 'forever' for the child to terminate. | ||
27 | </p> | ||
28 | <p> | ||
29 | The solution with vfork is elegant and simple: by blocking the parent, vexec guarantees that the parent's signal handler is no longer active (and replaced by default handlers or the child's custom handlers) by the time the parent is able to issue a 'kill'. | ||
30 | </p> | ||
31 | <p> | ||
32 | In conclusion, with parents that issue 'kill' on child processes, the use of vfork can make an important semantic difference and not only (possibly) offer performance advantages. The situation above cannot be easily fixed by other means and thus vfork is an important POSIX call that should be supported properly by all quality implementations. A possible hack to work around a lack of vfork would be to create a pipe in the parent, set it to close-on-exec, fork the child, close the write end and then do a blocking read from the read end. Once you get a read error, the child has exec'ed. Rather ugly in my opinion. | ||
33 | </p> | ||
34 | <p> | ||
35 | Currently, gnunet-service-arm can hang indefinitely on systems that do not provide a correct implementation of vfork (however, in practice normal users should never encounter this). | ||
36 | </p> | ||
37 | <p> | ||
38 | <b>better suggestion from Thomas Bushnell</b> | ||
39 | <br> | ||
40 | I just got an alternative suggestion to using either a pipe and vfork from Thomas Bushnell, which I like and will use: | ||
41 | |||
42 | "The hypervisor at start creates a global variable hypervisor_pid, initialized from getpid(). | ||
43 | |||
44 | The signal handler in the hypervisor then does this: | ||
45 | <br> | ||
46 | <code class="block"> | ||
47 | if getpid() == hypervisor_pid<br> | ||
48 | kill_all_children_and_exit();<br> | ||
49 | else<br> | ||
50 | exit();<br> | ||
51 | </code> | ||
52 | |||
53 | In this way, if the child is between fork and exec when the parent gets its kill, and then it tries to kill the child, and the kill happens before the child execs (the problematic case you describe), then the child simply enters the hypervisor's signal handler, notices that it's not the hypervisor, and exits. | ||
54 | <br> | ||
55 | Thomas" | ||
56 | <br> | ||
57 | Thanks for the suggestion! | ||
58 | </p> | ||
59 | <p> | ||
60 | Thomas's suggestion is all fine and well, except that it doesn't work on OS X. As the attached simple program "killing-child-kills-parent.c" demonstrates, OS X manages to sometimes either deliver the signal to the wrong process (?) or not update getpid() between fork+exec or is otherwise generally broken. The program simply installs a signal handler in the parent with the guard suggested by Thomas, then forks + exec's "sleep" and then immediately kills the child. So we expect the signal to either reach our signal handler (child between fork+exec), causing the child to 'exit', or to reach 'sleep' which should also die. Somehow instead the "Should NEVER get this signal!" message is printed. Well, OS X is known to be a pile of crap, so no surprise. Using 'vfork' instead of fork gets us the desired behavor -- howver, this is clearly just a hack. So vfork is back (on OS X) as of SVN 25495. | ||
61 | </p> | ||
62 | {% endblock body_content %} | ||
diff --git a/template/news/2013-11-15-special-use-gns.html.j2 b/template/news/2013-11-15-special-use-gns.html.j2 new file mode 100644 index 00000000..329e74d3 --- /dev/null +++ b/template/news/2013-11-15-special-use-gns.html.j2 | |||
@@ -0,0 +1,14 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Special-Use Domain Names of Peer-to-Peer Name Systems</h1> | ||
4 | <p> | ||
5 | <b>This is an imported news item from the old Drupal GNUnet homepage.</b> | ||
6 | </p> | ||
7 | <p> | ||
8 | We just submitted our draft for | ||
9 | <a href="https://web.archive.org/web/20140901155643/https://datatracker.ietf.org/doc/draft-grothoff-iesg-special-use-p2p-names/">Special-Use Domain Names of Peer-to-Peer Name Systems</a> to IETF. | ||
10 | The intention is to reserve the TLDs ".exit", ".i2p", ".gnu", | ||
11 | ".onion" and ".zkey" for use by the GNUnet, I2P and Tor peer-to-peer overlay | ||
12 | networks. | ||
13 | </p> | ||
14 | {% endblock body_content %} | ||
diff --git a/template/news/2013-12-28-archived-typos-pkeys.html.j2 b/template/news/2013-12-28-archived-typos-pkeys.html.j2 new file mode 100644 index 00000000..a541ef94 --- /dev/null +++ b/template/news/2013-12-28-archived-typos-pkeys.html.j2 | |||
@@ -0,0 +1,16 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Typo-Protected Public Keys</h1> | ||
4 | <p> | ||
5 | <b>This is an imported news item from the old Drupal GNUnet homepage.</b> | ||
6 | </p> | ||
7 | <p> | ||
8 | When users type in public keys (such as the 53-characters of a GNS zone), they might make typos. The usual way to fix typos is to add a checksum, further increasing the length of the sequence that has to be typed in. | ||
9 | <br> | ||
10 | We can fix this by including the checksum of the public key in the public key itself, simply by trying new private keys until the corresponding public key happens to have a checksum (over the other bits) in the bits designated for the checksum. If a checksum is 16 bits, we would only need to try 216 keys. The basic idea of brute-forcing keys to match a particular pattern <a href="https://web.archive.org/web/20141008173738/https://bitcointalk.org/index.php?topic=84569.0">was proposed before</a> for creating "vanity" public keys, but this might be another practical variant. | ||
11 | </p> | ||
12 | <p> | ||
13 | <b>Acknowledgements</b><br/> | ||
14 | The idea popped up in a discussion on the need for short public keys for GNS with Dan Bernstein and Tanja Lange at 30c3. | ||
15 | </p> | ||
16 | {% endblock body_content %} | ||
diff --git a/template/news/2018-06.html.j2 b/template/news/2018-06.html.j2 new file mode 100644 index 00000000..08428466 --- /dev/null +++ b/template/news/2018-06.html.j2 | |||
@@ -0,0 +1,108 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.0pre66</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.0pre66.<br> | ||
6 | This is a pre-release to assist developers and downstream packagers to test the package before the final release after four years of development. | ||
7 | </p> | ||
8 | <p> | ||
9 | In terms of usability, users should be aware that there are still a very large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (~200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.0 release and especially this pre-release are only suitable for early adopters with some reasonable pain tolerance. | ||
10 | </p> | ||
11 | <h4 class="western">License change</h4> | ||
12 | <p> | ||
13 | GNUnet 0.11.0pre66 is the first release that will be made under the GNU Affero General Public License v3+. After a significant amount of internal discussion lead constructively by lynX (thanks!), the conclusion has been that the IPC and REST APIs should be extended with support for an GNUNET_MESSAGE_TYPE_AGPL or /agpl request that enables users of these client/service-style APIs to download the source code. | ||
14 | </p> | ||
15 | <p> | ||
16 | Naturally, the discussion on licensing may not necessarily end here, but at this point we are not aware of any dissent in the community and this release seems to be the right time to make such a change. While the final decision was not subjected to a broad feedback round, this was done simply on the grounds that this placement of the AGPL API seems to addresses all concerns that were raised. Finally, thanks to the copyright assignment all developers are participating in, the community will be able to revise this decision later if necessary. | ||
17 | </p> | ||
18 | <p> | ||
19 | It should also be noted that this change does not impose additional restrictions on the licensing models of GNU Taler or pEp: both projects have agreements with GNUnet e.V. that ensure that they can make decisions that fit these applications (not to mention significant parts of GNU Taler are already AGPLv3+ already). | ||
20 | </p> | ||
21 | <h4 class="western">About GNUnet</h4> | ||
22 | <p> | ||
23 | GNUnet is a framework for secure peer-to-peer networking. GNUnet's primary design goals are to protect the privacy of its users and to guard itself against attacks or abuse. At this point, GNUnet offers four primary applications on top of the framework: | ||
24 | </p> | ||
25 | <p> | ||
26 | The file-sharing service allows anonymous censorship-resistant file-sharing. Files, searches and search results are encrypted to make it hard to control, track or censor users. GNUnet's anonymity protocol (gap) is designed to make it difficult to link users to their file-sharing activities. Users can also individually trade-off between performance and anonymity. Despite providing anonymity, GNUnet's excess-based economy rewards contributing users with better performance. | ||
27 | </p> | ||
28 | <p> | ||
29 | The VPN service allows offering of services within GNUnet (using the .gnu TLD) and can be used to tunnel IPv4 and IPv6 traffic over the P2P network. The VPN can also be used for IP protocol translation (6-to-4, 4-to-6) and it is possible to tunnel IP traffic over GNUnet (6-over-4, 4-over-6). Note that at this stage, it is possible for peers to determine the IP address at which services are hosted, so the VPN does not offer anonymity. | ||
30 | </p> | ||
31 | <p> | ||
32 | The GNU Name System (GNS) provides a fully-decentralized and censorship resistant replacement for DNS. GNS can be used alongside DNS and can be integrated with legacy applications (such as traditional browsers) with moderate effort. GNS provides censorship-resistance, memorable names and cryptographic integrity protection for the records. Note that at this stage, it is possible for a strong adversary to determine which peer is responsible for a particular zone, GNS does not offer strong anonymity. However, GNS offers query privacy, that is other participants can typically not decrypt queries or replies. | ||
33 | </p> | ||
34 | <p> | ||
35 | Conversation allows voice calls to be made over GNUnet. Users are identified using GNS and voice data is encrypted. However, Conversation does not provide anonymity at this stage --- other peers may observe a connection between the two endpoints and it is possible to determine the IP address associated with a phone. | ||
36 | </p> | ||
37 | <p> | ||
38 | Other applications, including in particular the SecuShare social networking application, are still strictly experimental. | ||
39 | </p> | ||
40 | <p> | ||
41 | For developers, GNUnet offers: | ||
42 | </p> | ||
43 | <ul> | ||
44 | <li>Access to all subsystems via clean C APIs</li> | ||
45 | <li>Mostly written in C, but extensions possible in other languages</li> | ||
46 | <li>Multi-process architecture for fault-isolation between components</li> | ||
47 | <li>Use of event loop and processes instead of threads for ease of development</li> | ||
48 | <li>Extensive logging and statistics facilities</li> | ||
49 | <li>Integrated testing library for automatic deployment of large-scale experiments with tens of thousands of peers</li> | ||
50 | </ul> | ||
51 | <h4 class="western">Noteworthy improvements in 0.11.0pre66</h4> | ||
52 | <ul> | ||
53 | <li>Improved documentation, converting Drupal handbook to Texinfo (thanks ng0!)</li> | ||
54 | <li>GNU Name System now can take over arbitrary TLDs, and support for conversion from DNS zones to GNS exists</li> | ||
55 | <li>Critical bugfixes in CORE, DHT and CADET subsystems</li> | ||
56 | </ul> | ||
57 | <p> | ||
58 | The above is just the short list, our bugtracker lists over 350 individual issues that were resolved (see <a href="https://gnunet.org/bugs/changelog_page.php">Changelog</a>) | ||
59 | </p> | ||
60 | <h4 class="western">Known Issues</h4> | ||
61 | <p> | ||
62 | We have a few issues that are most likely not resolved in the final release. Users should be aware of these issues, which we hope to address shortly. | ||
63 | </p> | ||
64 | <ul> | ||
65 | <li>There are known major design issues in TRANSPORT, ATS and CORE which will need to be addressed for usability, performance and security.</li> | ||
66 | <li>There are known moderate implementation limitations in CADET that impact performance.</li> | ||
67 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
68 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
69 | <li>The Web site and manuals still need significant rework.</li> | ||
70 | <li>Subsystems related to SecuShare and RPS remain experimental.</li> | ||
71 | </ul> | ||
72 | <p> | ||
73 | In addition to this list, you may also want to consult our bug tracker at https://gnunet.org/bugs/ which lists about 200 more specific issues. | ||
74 | </p> | ||
75 | <h4>Availability</h4> | ||
76 | <p> | ||
77 | The GNUnet 0.11.0pre66 source code is available from all GNU FTP mirrors. The GTK frontends (which includes the gnunet-setup tool) are a separate download. Please note that some mirrors might still be synchronizing. | ||
78 | </p> | ||
79 | <ul> | ||
80 | <li>GNUnet on a FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0pre66.tar.gz</li> | ||
81 | <li>GNUnet GTK on an FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0pre66.tar.gz</li> | ||
82 | <li>GNUnet FUSE on an FTP mirror near you http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0pre66.tar.gz</li> | ||
83 | <li>GNUnet on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-0.11.0pre66.tar.gz</li> | ||
84 | <li>GNUnet GTK on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-gtk-0.11.0pre66.tar.gz</li> | ||
85 | <li>GNUnet FUSE on the primary GNU FTP server ftp://ftp.gnu.org/pub/gnu/gnunet/gnunet-fuse-0.11.0pre66.tar.gz</li> | ||
86 | </ul> | ||
87 | <p> | ||
88 | Note that GNUnet is now started using "gnunet-arm -s". GNUnet should be stopped using "gnunet-arm -e". | ||
89 | </p> | ||
90 | <h4 class="western">Thanks</h4> | ||
91 | <p> | ||
92 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
93 | Christian Grothoff, | ||
94 | Matthias Wachs, Bart Polot, Sree Harsha Totakura, Nathan S. Evans, | ||
95 | Martin Schanzenbach, Julius Bünger, Nils Gillmann, Philipp | ||
96 | Tölke, Florian Dold, Руслан | ||
97 | Ижбулатов, | ||
98 | tg(x), David Barksdale, Christian Fuchs, Nils Durner, Omar Tarabai, | ||
99 | Maximilian Szengel, Supriti Singh, lurchi, David Brodski, xrs, Fabian | ||
100 | Oehlmann, Carlo von lynX, Christophe Genevey Metat, Jeffrey Burdges, | ||
101 | Safey A.Halim, Daniel Golle, Phil, Bruno Cabral, Ji Lu, Heikki | ||
102 | Lindholm, Markus Teich, t3sserakt, Claudiu Olteanu, Marcello | ||
103 | Stanisci, Moon, anryko, Arthur Dewarumez, Julien Morvan, Adnan H, Lin | ||
104 | Tong, Andreas Fuchs, Christian Rupp, jah, Alejandra Morales, Matthias | ||
105 | Kolja Miehl, Andrew Cann, Antonio Ojea, Pascal Mainini, amirouche and | ||
106 | hark. | ||
107 | </p> | ||
108 | {% endblock body_content %} | ||
diff --git a/template/news/2018-07.html.j2 b/template/news/2018-07.html.j2 new file mode 100644 index 00000000..e8c14fea --- /dev/null +++ b/template/news/2018-07.html.j2 | |||
@@ -0,0 +1,7 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Second GNUnet Hacker Meeting 2018 at La Décentrale, Switzerland</h1> | ||
4 | <p> | ||
5 | The GNUnet hackers met for the second time this year. The primary goal was to squash bugs to bring out a new release. Aside from this we worked hard on improving the documentation and to launch this new website. | ||
6 | </p> | ||
7 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.0.html.j2 b/template/news/2019-0.11.0.html.j2 new file mode 100644 index 00000000..ddf04623 --- /dev/null +++ b/template/news/2019-0.11.0.html.j2 | |||
@@ -0,0 +1,72 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.0 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.0.<br> | ||
6 | This is a major release after about five years of development. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.0 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.0.tar.gz.sig</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
16 | </ul> | ||
17 | <p> | ||
18 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
19 | </p> | ||
20 | <p> | ||
21 | Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>. | ||
22 | </p> | ||
23 | <h4>Noteworthy changes in 0.11.0</h4> | ||
24 | <ul> | ||
25 | <li>The Web site and manuals have undergone significant rework. You can find an archive of the old Web site at <a href="http://web.archive.org/web/*/gnunet.org">archive.org</a>.</li> | ||
26 | <li>The code now builds again on macOS. GNUnet on macOS is <i>experimental</i>. While it builds and seems to run fine, some tests are known to fail.</li> | ||
27 | <li>Build process now works properly with libidn2</li> | ||
28 | <li>Except for <tt>gnunet-qr</tt>, all Python code was migrated to Python 3.7.</li> | ||
29 | <li>Fixed security issues in secret sharing cryptography logic</li> | ||
30 | <li>Services running out of file descriptors on <tt>accept()</tt> no longer busy wait</li> | ||
31 | <li>Fixed crash in gnunet-gns2dns proxy</li> | ||
32 | <li>GNS responses are now padded to minimize information disclosure from the size</li> | ||
33 | <li>Fixed API issues and (rare) crash bugs in CADET</li> | ||
34 | <li>The experimental SecuShare code is not included in the release, you can now find it in the <a href="https://git.gnunet.org/gnunet-secushare.git/">gnunet-secushare</a> Git repository.</li> | ||
35 | <li>The Ascension tool (separate download) now allows importing DNS zones into GNS via AXFR.</li> | ||
36 | <li>GNUnet now includes a decentralised identity attribute sharing service: reclaimID. A ready-to-use client can be found in an <a href="https://gitlab.com/reclaimid/client">external repo</a>.</li> | ||
37 | <li>The code now builds again on NetBSD. GNUnet on NetBSD is <i>experimental</i>. While it builds and seems to run fine, full support requires more changes in the core of GNUnet It will soon be available via pkgsrc.</li> | ||
38 | <li>Many things changed on the build system side. If you package GNUnet for an operating system or otherwise package manager, make sure that you read the README.</li> | ||
39 | </ul> | ||
40 | <p> | ||
41 | The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=258">over 100 individual issues</a> that were resolved since 0.11.0pre66. | ||
42 | </p> | ||
43 | <h4>Known Issues</h4> | ||
44 | <ul> | ||
45 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
46 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
47 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
48 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
49 | <li>The RPS subsystem remains experimental.</li> | ||
50 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
51 | </ul> | ||
52 | <p> | ||
53 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 150 more specific issues. | ||
54 | </p> | ||
55 | <h4>Thanks</h4> | ||
56 | <p> | ||
57 | This release was the work of many people. The following people | ||
58 | contributed code and were thus easily identified: | ||
59 | Christian Grothoff, Matthias Wachs, Bart Polot, Sree Harsha Totakura, | ||
60 | Nathan S. Evans, Martin Schanzenbach, Julius Bünger, ng0, | ||
61 | Philipp Tölke, Florian Dold, Руслан Ижбулатов, tg(x), David Barksdale, | ||
62 | Christian Fuchs, Nils Durner, Omar Tarabai, Maximilian Szengel, Supriti | ||
63 | Singh, lurchi, David Brodski, xrs, Fabian Oehlmann, Carlo von lynX, | ||
64 | Christophe Genevey Metat, Jeffrey Burdges, Safey A.Halim, Daniel Golle, | ||
65 | Phil, Bruno Cabral, Ji Lu, Heikki Lindholm, Markus Teich, t3sserakt, | ||
66 | Claudiu Olteanu, Marcello Stanisci, Moon, Hernani Marques, anryko, Arthur Dewarumez, | ||
67 | Julien Morvan, Adnan H, rexxnor, Lin Tong, Andreas Fuchs, Christian Rupp, jah, | ||
68 | Alejandra Morales, Bernd Fix, Feideus, Matthias Kolja Miehl, Andrew Cann, Antonio Ojea, | ||
69 | Pascal Mainini, amirouche and hark. | ||
70 | <a href="https://bugs.gnunet.org/view.php?id=5569">Special thanks</a> to Florian Weimer. | ||
71 | </p> | ||
72 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.1.html.j2 b/template/news/2019-0.11.1.html.j2 new file mode 100644 index 00000000..82f27c85 --- /dev/null +++ b/template/news/2019-0.11.1.html.j2 | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.1 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.1. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.0, mostly fixing minor bugs, improving documentation and fixing various build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.1 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.1.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.1.) | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <p> | ||
25 | Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>. | ||
26 | </p> | ||
27 | <h4>Noteworthy changes in 0.11.1</h4> | ||
28 | <ul> | ||
29 | <li>gnunet-qr was rewritten in C, removing our last dependency on Python 2.x</li> | ||
30 | <li>REST and GNS proxy configuration options for address binding were added</li> | ||
31 | <li>gnunet-publish by default no longer includes creation time</li> | ||
32 | <li>Unreliable message ordering logic in CADET was fixed</li> | ||
33 | <li>Various improvements to build system and documentation</li> | ||
34 | </ul> | ||
35 | <p> | ||
36 | The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=312"> 14 individual issues</a> that were resolved since 0.11.0. | ||
37 | </p> | ||
38 | <h4>Known Issues</h4> | ||
39 | <ul> | ||
40 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
41 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
42 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
43 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
44 | <li>The RPS subsystem remains experimental.</li> | ||
45 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
46 | </ul> | ||
47 | <p> | ||
48 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
49 | </p> | ||
50 | <h4>Thanks</h4> | ||
51 | <p> | ||
52 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
53 | ng0, Christian Grothoff, Hartmut Goebel, Martin Schanzenbach, Devan Carpenter, Naomi Phillips and Julius Bünger. | ||
54 | </p> | ||
55 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.2.html.j2 b/template/news/2019-0.11.2.html.j2 new file mode 100644 index 00000000..504a203c --- /dev/null +++ b/template/news/2019-0.11.2.html.j2 | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.2 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.2. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.0, mostly fixing minor bugs, improving documentation and fixing various build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.2 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.2.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.2.) | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <p> | ||
25 | Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>. | ||
26 | </p> | ||
27 | <h4>Noteworthy changes in 0.11.2</h4> | ||
28 | <ul> | ||
29 | <li>gnunet-qr was rewritten in C, removing our last dependency on Python 2.x</li> | ||
30 | <li>REST and GNS proxy configuration options for address binding were added</li> | ||
31 | <li>gnunet-publish by default no longer includes creation time</li> | ||
32 | <li>Unreliable message ordering logic in CADET was fixed</li> | ||
33 | <li>Various improvements to build system and documentation</li> | ||
34 | </ul> | ||
35 | <p> | ||
36 | The above is just the short list, our bugtracker lists <a href="https://bugs.gnunet.org/changelog_page.php?version_id=312">14 individual issues</a> that were resolved since 0.11.0. | ||
37 | </p> | ||
38 | <h4>Known Issues</h4> | ||
39 | <ul> | ||
40 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
41 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
42 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
43 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
44 | <li>The RPS subsystem remains experimental.</li> | ||
45 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
46 | </ul> | ||
47 | <p> | ||
48 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
49 | </p> | ||
50 | <h4>Thanks</h4> | ||
51 | <p> | ||
52 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
53 | ng0, Christian Grothoff, Hartmut Goebel, Martin Schanzenbach, Devan Carpenter, Naomi Phillips and Julius Bünger. | ||
54 | </p> | ||
55 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.3.html.j2 b/template/news/2019-0.11.3.html.j2 new file mode 100644 index 00000000..50b207a1 --- /dev/null +++ b/template/news/2019-0.11.3.html.j2 | |||
@@ -0,0 +1,52 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.3 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.3. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.2, mostly fixing a few build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.3 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.3.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.3.) | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <p> | ||
25 | Note that GNUnet is now started using <tt>gnunet-arm -s</tt>. GNUnet should be stopped using <tt>gnunet-arm -e</tt>. | ||
26 | </p> | ||
27 | <h4>Noteworthy changes in 0.11.3 (since 0.11.2)</h4> | ||
28 | <ul> | ||
29 | <li>gnunet-zoneimport now handles <tt>-h</tt> correctly</li> | ||
30 | <li><tt>iptables</tt> and other similar binaries are no longer hard-coded but detected at configure time (with hard-coded fallback locations).</li> | ||
31 | <li><tt>make uninstall</tt> now properly uninstalls all files</li> | ||
32 | <li>Passing the no longer available <tt>--with-nssdir</tt> configuration option now results in a hard error.</li> | ||
33 | <li><tt>GNUNET_memcmp()</tt> and <tt>GNUNET_is_zero()</tt> macros introduced for improved type safety (but not yet used consistently).</li> | ||
34 | </ul> | ||
35 | <h4>Known Issues</h4> | ||
36 | <ul> | ||
37 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
38 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
39 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
40 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
41 | <li>The RPS subsystem remains experimental.</li> | ||
42 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
43 | </ul> | ||
44 | <p> | ||
45 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
46 | </p> | ||
47 | <h4>Thanks</h4> | ||
48 | <p> | ||
49 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
50 | ng0, Christian Grothoff, Daniel Golle, Martin Schanzenbach and Julius Bünger. | ||
51 | </p> | ||
52 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.4.html.j2 b/template/news/2019-0.11.4.html.j2 new file mode 100644 index 00000000..9aad565f --- /dev/null +++ b/template/news/2019-0.11.4.html.j2 | |||
@@ -0,0 +1,50 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.4 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.4. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.3, mostly fixing a few build issues. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.4 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.4.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.0.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | (gnunet-gtk and gnunet-fuse were not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.4.) | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.11.4 (since 0.11.3)</h4> | ||
25 | <ul> | ||
26 | <li><tt>gnunet-arm -s </tt> no longer logs into the console by default and instead into a logfile (in $GNUNET_HOME).</li> | ||
27 | <li>The reclaim subsystem is no longer experimental. See also <a href="https://reclaim-identity.io">re:claimID</a>. Further, the internal encryption scheme moved from ABE to GNS-style encryption.</li> | ||
28 | <li>GNUnet now depends on a more recent version of libmicrohttpd.</li> | ||
29 | <li>The REST API now includes read-only access to the configuration.</li> | ||
30 | <li>All manpages are now in mdocml format.</li> | ||
31 | <li><tt>gnunet-download-manager.scm</tt> removed.</li> | ||
32 | </ul> | ||
33 | <h4>Known Issues</h4> | ||
34 | <ul> | ||
35 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
36 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
37 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
38 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
39 | <li>The RPS subsystem remains experimental.</li> | ||
40 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
41 | </ul> | ||
42 | <p> | ||
43 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
44 | </p> | ||
45 | <h4>Thanks</h4> | ||
46 | <p> | ||
47 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
48 | ng0, Christian Grothoff, Daniel Golle, Martin Schanzenbach and Julius Bünger. | ||
49 | </p> | ||
50 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.5.html.j2 b/template/news/2019-0.11.5.html.j2 new file mode 100644 index 00000000..049aa8b5 --- /dev/null +++ b/template/news/2019-0.11.5.html.j2 | |||
@@ -0,0 +1,47 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.5 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.5. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.4, mostly fixing a few minor bugs and improving performance, in particular for identity management with a large number of egos. In the wake of this release, we also launched the <a href="https://rest.gnunet.org">REST API documentation</a>. In terms of usability, users should be aware that there are still a large number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.5 release is still only suitable for early adopters with some reasonable pain tolerance. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.5.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.5.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | gnunet-gtk saw some minor changes to adopt it to API changes in the main code related to the identity improvements. gnunet-fuse was not released again, as there were no changes and the 0.11.0 version is expected to continue to work fine with gnunet-0.11.5. | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.11.5 (since 0.11.4)</h4> | ||
25 | <ul> | ||
26 | <li><tt>gnunet-identity</tt> is much faster when creating or deleting egos given a large number of existing egos.</li> | ||
27 | <li>GNS now supports CAA records.</li> | ||
28 | <li>Documentation, comments and code quality was improved.</li> | ||
29 | </ul> | ||
30 | <h4>Known Issues</h4> | ||
31 | <ul> | ||
32 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
33 | <li>There are known moderate implementation limitations in CADET that negatively impact performance. Also CADET may unexpectedly deliver messages out-of-order.</li> | ||
34 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
35 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
36 | <li>The RPS subsystem remains experimental.</li> | ||
37 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
38 | </ul> | ||
39 | <p> | ||
40 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
41 | </p> | ||
42 | <h4>Thanks</h4> | ||
43 | <p> | ||
44 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
45 | Christian Grothoff, Florian Dold, Marcello Stanisci, ng0, Martin Schanzenbach and Bernd Fix. | ||
46 | </p> | ||
47 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.6.html.j2 b/template/news/2019-0.11.6.html.j2 new file mode 100644 index 00000000..3ee063b3 --- /dev/null +++ b/template/news/2019-0.11.6.html.j2 | |||
@@ -0,0 +1,52 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.6 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.6. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.5, fixing a lot of minor bugs, improving stability and code quality. Further, our videos are back on the homepage. In this release, we again improved the webpage in general and updated our documentation. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.6 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.6.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.6.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | gnunet-fuse was not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.6. | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.11.6 (since 0.11.5)</h4> | ||
25 | <ul> | ||
26 | <li><tt>gnunet-identity</tt> can now print private keys.</li> | ||
27 | <li>The <tt>REST</tt> service can be configured to echo the HTTP Origin header value for Cross-Origin-Resource-Sharing (CORS) when it is called by a browser plugin. Optionally, a CORS Origin to echo can be also be directly configured.</li> | ||
28 | <li><tt>re:claimID</tt> tickets are now re-used whenever possible.</li> | ||
29 | <li>SUID binary detection mechanisms implemented to improve compatiblity with some distributions.</li> | ||
30 | <li><tt>TRANSPORT</tt>, <tt>TESTBED</tt> and <tt>CADET</tt> tests now pass again on macOS.</li> | ||
31 | <li><tt>CADET</tt>: Replaced enum <tt>GNUNET_CADET_ChannelOption</tt> with <tt>GNUNET_MQ_PriorityPreferences</tt> in preparation of API changed in the future.</li> | ||
32 | <li>The GNS proxy Certification Authority is now generated using gnutls-certtool, if available, with opennssl/certtool as fallback.</li> | ||
33 | <li>Documentation, comments and code quality was improved.</li> | ||
34 | </ul> | ||
35 | <h4>Known Issues</h4> | ||
36 | <ul> | ||
37 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
38 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
39 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
40 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
41 | <li>The RPS subsystem remains experimental.</li> | ||
42 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
43 | </ul> | ||
44 | <p> | ||
45 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
46 | </p> | ||
47 | <h4>Thanks</h4> | ||
48 | <p> | ||
49 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
50 | Martin Schanzenbach, Julius Bünger, ng0, Christian Grothoff, Alexia Pagkopoulou, rexxnor, xrs, lurchi and t3sserakt. | ||
51 | </p> | ||
52 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.7.html.j2 b/template/news/2019-0.11.7.html.j2 new file mode 100644 index 00000000..f2b38231 --- /dev/null +++ b/template/news/2019-0.11.7.html.j2 | |||
@@ -0,0 +1,56 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.7 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.7. | ||
6 | <br> | ||
7 | This is a bugfix release for 0.11.6, fixing a lot of minor bugs, improving stability and code quality. Further, win32 support was removed for reasons you may read below. In this release, we again improved the webpage in general and updated our documentation. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.7 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.7.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | gnunet-fuse is not released again, as there were no changes and the 0.11.0 versions are expected to continue to work fine with gnunet-0.11.7. The GPG key used to sign is: <tt>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</tt> | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.11.7 (since 0.11.6)</h4> | ||
25 | <ul> | ||
26 | <li><tt>ARM</tt>: GNUnet CLI tools are now able to detect if gnunet(-arm) is not running and will exit with a warning (before the command would just hang and wait for GNUnet to be started). #5906</li> | ||
27 | <li>win32 and mingw support were dropped, which resulted in a significant number of lines of code to be gone. The code has been unmaintained in our code base for many years and there are no known users. For details and further reasons refer to the discussion <a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-09/msg00002.html">in our archives</a>.</li> | ||
28 | <li>Removal of plibc, win32 and mingw support means you can now compile gnunet without requiring a Cxx compiler (you just need a C compiler). #5877</li> | ||
29 | <li><tt>REST</tt>: The new config endpoints can now be used to read and write the GNUnet config. #5808</li> | ||
30 | <li><tt>REST</tt>: The service is not started per user in multiuser setups.</li> | ||
31 | <li><tt>REST</tt>: Added tests for namestore and GNS. #5638</li> | ||
32 | <li><tt>re:claimID / OIDC</tt>: Now supports <a href="https://tools.ietf.org/html/rfc7636">PKCE</a>. #5807</li> | ||
33 | <li>SUID binary detection mechanisms implemented to improve compatiblity with some distributions.</li> | ||
34 | <li><tt>CREDENTIAL</tt> subsystem reworked and renamed to <tt>ABD</tt> (attribute-based delegation).</li> | ||
35 | <li><a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-10/msg00023.html">Minor TRANSPORT fixes</a> and <a href="https://lists.gnu.org/archive/html/gnunet-developers/2019-10/msg00022.html">NAT changes</a>.</li> | ||
36 | <li><tt>GNS</tt> prepared code for <a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">LSD001 changes</a>. #5920</li> | ||
37 | <li>Documentation, comments and code quality was improved.</li> | ||
38 | </ul> | ||
39 | <h4>Known Issues</h4> | ||
40 | <ul> | ||
41 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
42 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
43 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
44 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
45 | <li>The RPS subsystem remains experimental.</li> | ||
46 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
47 | </ul> | ||
48 | <p> | ||
49 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
50 | </p> | ||
51 | <h4>Thanks</h4> | ||
52 | <p> | ||
53 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
54 | Martin Schanzenbach, ng0, Christian Grothoff, Alexia Pagkopoulou, Andreas Ebner, Corvus Corax, xrs and t3sserakt. | ||
55 | </p> | ||
56 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.11.8.html.j2 b/template/news/2019-0.11.8.html.j2 new file mode 100644 index 00000000..9a92eaac --- /dev/null +++ b/template/news/2019-0.11.8.html.j2 | |||
@@ -0,0 +1,47 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.11.8 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.11.8. | ||
6 | <br> | ||
7 | This is a hotfix release for 0.11.7. <i>As always:</i> In terms of usability, users should be aware that there are still <b>a large number of known open issues</b> in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny (about 200 peers) and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.11.8 release is still <b>only suitable for early adopters with some reasonable pain tolerance</b>. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.11.8.tar.gz.sig</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz</a></li> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.11.7.tar.gz.sig</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz</a></li> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.11.0.tar.gz.sig</a></li> | ||
17 | </ul> | ||
18 | <p> | ||
19 | gnunet-fuse and gnunet-gtk were not released again, as there were no changes and the 0.11.0/0.11.7 versions are expected to continue to work fine with gnunet-0.11.8. The GPG key used to sign is: <tt>A88C8ADD129828D7EAC02E52E22F9BBFEE348588</tt> | ||
20 | </p> | ||
21 | <p> | ||
22 | Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.11.8 (since 0.11.7)</h4> | ||
25 | <ul> | ||
26 | <li><tt>GNS</tt> Portability fixes.</li> | ||
27 | <li><tt>PQ</tt>: Fixed build with postgresql plugin. (Regression introduces as part of #5733)</li> | ||
28 | </ul> | ||
29 | <h4>Known Issues</h4> | ||
30 | <ul> | ||
31 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
32 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
33 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
34 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
35 | <li>The RPS subsystem remains experimental.</li> | ||
36 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
37 | </ul> | ||
38 | <p> | ||
39 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
40 | </p> | ||
41 | |||
42 | <h4>Thanks</h4> | ||
43 | <p> | ||
44 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
45 | ng0, Daniel Golle. | ||
46 | </p> | ||
47 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.12.0.html.j2 b/template/news/2019-0.12.0.html.j2 new file mode 100644 index 00000000..6cf68160 --- /dev/null +++ b/template/news/2019-0.12.0.html.j2 | |||
@@ -0,0 +1,85 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.12.0 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.12.0. | ||
6 | <br> | ||
7 | This is a new major release. It breaks protocol compatibility with the 0.11.x versions. | ||
8 | Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with | ||
9 | the 0.11.x GNUnet network, and interactions between old and new peers | ||
10 | will result in signature verification failures. 0.11.x peers will <b>NOT</b> | ||
11 | be able to communicate with Git master or 0.12.x peers.<br/> | ||
12 | In terms of usability, users should be aware that there are still | ||
13 | <b>a large number of known open issues</b> in particular with respect to ease | ||
14 | of use, but also some critical privacy issues especially for mobile users. | ||
15 | Also, the nascent network is tiny and thus unlikely to | ||
16 | provide good anonymity or extensive amounts of interesting information. | ||
17 | As a result, the 0.12.0 release is still <b>only suitable for early adopters | ||
18 | with some reasonable pain tolerance</b>. | ||
19 | </p> | ||
20 | <h4>Download links</h4> | ||
21 | <ul> | ||
22 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz</a></li> | ||
23 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.0.tar.gz.sig</a></li> | ||
24 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz</a></li> | ||
25 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig</a></li> | ||
26 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz</a></li> | ||
27 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig</a></li> | ||
28 | </ul> | ||
29 | <p> | ||
30 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
31 | </p> | ||
32 | <p> | ||
33 | Note that due to mirror synchronization, not all links might be functional | ||
34 | early after the release. For direct access try | ||
35 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
36 | </p> | ||
37 | <h4>Noteworthy changes in 0.12.0 (since 0.11.8)</h4> | ||
38 | <ul> | ||
39 | <li><tt>GNS</tt>: | ||
40 | <ul> | ||
41 | <li>Changed key derivation protocols to adhere with <a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">LSD001</a>. <a href="https://bugs.gnunet.org/view.php?id=5921">#5921</a></li> | ||
42 | <li>Names are not expected to be UTF-8 (as opposed to IDNA). <a href="https://bugs.gnunet.org/view.php?id=5922">#5922</a></li> | ||
43 | <li>NSS plugin now properly handles non-standard IDNA names. <a href="https://bugs.gnunet.org/view.php?id=5927">#5927</a></li> | ||
44 | <li>NSS plugin will refuse to process requests from root (as GNUnet code should never run as root). <a href="https://bugs.gnunet.org/view.php?id=5927">#5907</a></li> | ||
45 | <li>Fixed BOX service/protocol label parsing (for TLSA et al)</li> | ||
46 | </ul> | ||
47 | </li> | ||
48 | <li><tt>GNS/NSE</tt>: Zone revocation proof of work algorithm changed to be less susceptible to specialized ASIC hardware. | ||
49 | <a href="https://bugs.gnunet.org/view.php?id=3795">#3795</a></li> | ||
50 | <li><tt>TRANSPORT</tt>: UDP plugin moved to experimental as it is known to be unstable.</li> | ||
51 | <li><tt>UTIL</tt>: | ||
52 | <ul> | ||
53 | <li>Improved and documented RSA binary format. <a href="https://bugs.gnunet.org/view.php?id=5968">#5968</a></li> | ||
54 | <li>Removed redundant hashing in EdDSA signatures. <a href="https://bugs.gnunet.org/view.php?id=5398">#5398</a></li> | ||
55 | <li>The <tt>gnunet-logread</tt> script for log auditing (requires perl) can now be installed.</li> | ||
56 | <li>Now using <a href="https://tweetnacl.cr.yp.to/">TweetNaCl</a> for ECDH implementation.</li> | ||
57 | </ul> | ||
58 | </li> | ||
59 | <li><tt>Buildsystem</tt>: A significant number of build system issued have been fixed and improvements implemented, including: | ||
60 | <ul> | ||
61 | <li>GLPK dependency dropped.</li> | ||
62 | <li>Fixed guix package definition.</li> | ||
63 | </ul> | ||
64 | </li> | ||
65 | <li><tt>Documentation</tt>: Improvements to the handbook and documentation.</li> | ||
66 | </ul> | ||
67 | <h4>Known Issues</h4> | ||
68 | <ul> | ||
69 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
70 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
71 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
72 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
73 | <li>The RPS subsystem remains experimental.</li> | ||
74 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
75 | </ul> | ||
76 | <p> | ||
77 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
78 | </p> | ||
79 | |||
80 | <h4>Thanks</h4> | ||
81 | <p> | ||
82 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
83 | ng0, Christian Grothoff, Florian Dold, xrs, Naomi Phillips and Martin Schanzenbach. | ||
84 | </p> | ||
85 | {% endblock body_content %} | ||
diff --git a/template/news/2019-0.12.1.html.j2 b/template/news/2019-0.12.1.html.j2 new file mode 100644 index 00000000..7911fcd1 --- /dev/null +++ b/template/news/2019-0.12.1.html.j2 | |||
@@ -0,0 +1,26 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.12.1 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.12.1. | ||
6 | <br> | ||
7 | This is a very minor release. It largely fixes one function that is | ||
8 | needed by GNU Taler 0.6.0. Please read the release notes | ||
9 | for GNUnet 0.12.0, as they still apply. Updating is only recommended | ||
10 | for those using GNUnet in combination with GNU Taler. | ||
11 | </p> | ||
12 | <h4>Download links</h4> | ||
13 | <ul> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz</a></li> | ||
15 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.1.tar.gz.sig</a></li> | ||
16 | </ul> | ||
17 | <p> | ||
18 | The GPG key used to sign is: <tt>D8423BCB326C7907033929C7939E6BE1E29FC3CC</tt> | ||
19 | </p> | ||
20 | <p> | ||
21 | Note that due to mirror synchronization, not all links might be functional | ||
22 | early after the release. For direct access try | ||
23 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
24 | </p> | ||
25 | |||
26 | {% endblock body_content %} | ||
diff --git a/template/news/2019-02.html.j2 b/template/news/2019-02.html.j2 new file mode 100644 index 00000000..0925eb75 --- /dev/null +++ b/template/news/2019-02.html.j2 | |||
@@ -0,0 +1,75 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>2019-02: Topics for GSoC 2019</h1> | ||
4 | <p> | ||
5 | GNUnet is participating in the Google Summer of Code again through GNU. If you are interested in any of these projects, reach out to us! | ||
6 | </p> | ||
7 | <section> | ||
8 | <h4>Android Port</h4> | ||
9 | <p> | ||
10 | It is time for GNUnet to run properly on Android. Note that GNUnet is written in C, and this is not about rewriting GNUnet in Java, but about getting the C code to run on Android.<br> | ||
11 | Mentor: <a href="https://www.goebel-consult.de/">Hartmut Goebel</a> | ||
12 | </p> | ||
13 | </section> | ||
14 | |||
15 | <section> | ||
16 | <h4>Help with Continuous Integration setup</h4> | ||
17 | <p> | ||
18 | There is a push for migrating our CI to Gitlab. The CI should eventually not just run "make check" on various platforms, but also perform tests with multiple peers running in different VMs with specific network topologies (i.e. NAT) between them being simulated. The CI should also be integrated with Gauger for performance regression analysis. Running jobs only when dependencies have changed and scripting more granular triggers or ideally automatic dependency discovery (as done by the autotools) is also important.<br> | ||
19 | Mentor: TBD | ||
20 | </p> | ||
21 | </section> | ||
22 | |||
23 | <section> | ||
24 | <h4>Migrate gnunet-qr from Python 2.7 to C using libzbar</h4> | ||
25 | <p> | ||
26 | Python 2.7 is reaching its end-of-life, and we want to get rid of the dependency on Python. The existing gnunet-qr tool is a rather simple wrapper around python-zbar, which itself wraps libzbar. The goal of this project is to directly use libzbar to scan QR codes for GNUnet / the GNU Name System (see also <a href="https://bugs.gnunet.org/view.php?id=5562">#5562</a>).<br> | ||
27 | Mentor: Christian Grothoff | ||
28 | </p> | ||
29 | </section> | ||
30 | |||
31 | <section> | ||
32 | <h4>re:claimID OpenID Connect performance improvements</h4> | ||
33 | <p> | ||
34 | reclaimID is a decentralized identity system build on top of the GNU Name System. Upon authorization, the user provides a requesting party (RP) such as a website with an authorization ticket (e.g. piggybacked in an OpenID authorization code). The RP uses information contained in this ticket to | ||
35 | </p> | ||
36 | <ol> | ||
37 | <li> Retrieve the decryption key from GNS</li> | ||
38 | <li> Retrieve the user attributes from GNS</li> | ||
39 | </ol> | ||
40 | <p> | ||
41 | The GNS lookups ensure that the RP receives up-to-date attributes and functional decryption keys. However, in particular the RP-specific encryption key resolution can be slow and even fail depending on the network topology. We propose that in an initial exchange, in particular OpenID authorization code flows, we try to incorporate key and maybe even an attribute set in the ticket exchange. In order to mitigate this issue, this project is meant to investigate and implement how... | ||
42 | </p> | ||
43 | <ol> | ||
44 | <li> ... decryption keys can be added to an initial exchange in OpenID.</li> | ||
45 | <li> ... initial set(s) of attributes can be piggybacked in OpenID.</li> | ||
46 | </ol> | ||
47 | <p> | ||
48 | Mentor: Martin Schanzenbach | ||
49 | </p> | ||
50 | </section> | ||
51 | |||
52 | <section> | ||
53 | <h4>re:claimID alternative GNS-based encryption</h4> | ||
54 | <p> | ||
55 | re:claimID is a decentralized identity system build on top of the GNU Name System. The initial design and implementation of re:claimID includes an attribute-based encryption module in order to prevent unauthorized access to attributes in the name system. Our motivation for re:claimID was for it to be name system agnostic, which means the design theoretically also works for other name systems such as namecoin. Other name systems often do not have built-in mechanisms in order to do this. Hence, we implemented an ABE access control layer. Our ABE implementation requires two third party libraries: libpbc and libgabe. While we could merge libgabe into the gnunet service implementation of re:claimID, libpbc is a rather large, third party library which lacks packaging in distributions and for platforms. On the other hand, GNS supports record data encryption using symmetric keys as labels. If we make the access control layer of re:claimID more generic in order to support both ABE and GNS encryption, we could reduce the required depenencies. This would result in gnunet packages to include re:claimID by default. In short, the goals are to... | ||
56 | </p> | ||
57 | <ol> | ||
58 | <li> ... improve performance by reducing encryption overhead.</li> | ||
59 | <li> ... reduce dependencies.</li> | ||
60 | </ol> | ||
61 | <p> | ||
62 | Mentor: Martin Schanzenbach | ||
63 | </p> | ||
64 | </section> | ||
65 | |||
66 | <section> | ||
67 | <h4>Enable all networking applications to run over GNUnet out of the box</h4> | ||
68 | <p> | ||
69 | One great problem of the current Internet is the lack of disintermediation. When people want to talk they need a chat service. When they want to share files they need a file transfer service. Although GNUnet already possesses quite advanced integration into Linux networking, a little extra work is needed for existing applications like irc, www, ftp, rsh, nntpd to run over it in a peer-to-peer way, simply by using a GNS hostname like friend.gnu. Once people have added a person to their GNS they can immediately message, exchange files and suchlike directly, with nothing but the GNUnet in the middle, using applications that have been distributed with unix systems ever since the 1980's. We can produce an OS distribution where these things work out of the box with the nicknames of people instead of cloud services. For more information and context, read <a href="https://bugs.gnunet.org/view.php?id=4625">bug id 4625</a>. | ||
70 | </p> | ||
71 | <p> | ||
72 | Mentors: lynX & dvn | ||
73 | </p> | ||
74 | </section> | ||
75 | {% endblock body_content %} | ||
diff --git a/template/news/2019-06-DSTJ.html.j2 b/template/news/2019-06-DSTJ.html.j2 new file mode 100644 index 00000000..0d1d3c67 --- /dev/null +++ b/template/news/2019-06-DSTJ.html.j2 | |||
@@ -0,0 +1,14 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Peer DSTJ is dead, long live peer Y924</h1> | ||
4 | <p> | ||
5 | After some issues with our infrastructure we needed to replace our bootstrapping peer. To avoid problems when connecting to GNUnet the operator of a peer needs to update its node by removing the peer ID <i>DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</i> from the system. Here are two strategies to find copies of the respective file: | ||
6 | </p> | ||
7 | <ol> | ||
8 | <li><tt>$ locate DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</tt></li> | ||
9 | <li><tt>$ find / -name DSTJBRRKZ8TBW3FGK6B0M5QXWT9WYNZ45H5MCV4HY7ST64Q8T9F0</tt></li> | ||
10 | </ol> | ||
11 | <p> | ||
12 | Update: DSTJ has now been blacklisted. Please update your GNUnet peer. | ||
13 | </p> | ||
14 | {% endblock body_content %} | ||
diff --git a/template/news/2019-06.html.j2 b/template/news/2019-06.html.j2 new file mode 100644 index 00000000..295138b9 --- /dev/null +++ b/template/news/2019-06.html.j2 | |||
@@ -0,0 +1,7 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet Hacker Meeting 2019 at La Décentrale, Switzerland</h1> | ||
4 | <p> | ||
5 | The members of the GNUnet community met again in the wonderful souroundings of St. Imier to hack on GNUnet. New people joined our sessions until late at night. From bug squashing to digging our own dog food, from workshops to theoretical discussions of new services and usecases. And of course, pizza was in the game. | ||
6 | </p> | ||
7 | {% endblock body_content %} | ||
diff --git a/template/news/2019-07-GHM_Aug_2019.html.j2 b/template/news/2019-07-GHM_Aug_2019.html.j2 new file mode 100644 index 00000000..c846432e --- /dev/null +++ b/template/news/2019-07-GHM_Aug_2019.html.j2 | |||
@@ -0,0 +1,7 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet Hacker Meeting in August 2019 at Wernsdort (near Berlin)</h1> | ||
4 | <p> | ||
5 | In August 2019, some of us met in Wernsdorf for focused work on GNUnet. | ||
6 | </p> | ||
7 | {% endblock body_content %} | ||
diff --git a/template/news/2019-10-GNSSpec1.html.j2 b/template/news/2019-10-GNSSpec1.html.j2 new file mode 100644 index 00000000..3941c162 --- /dev/null +++ b/template/news/2019-10-GNSSpec1.html.j2 | |||
@@ -0,0 +1,19 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS Technical Specification Milestone 1/4</h1> | ||
4 | <p> | ||
5 | We are happy to announce the completion of the first milestone for the GNS Specification. The objective is to provide a detailed and comprehensive guide for implementors of the GNU Name System. The initial milestone consists of documenting the cryptographic principles of GNS data structures. This includes the specification of the GNS record wire and serialization formats as well as internationalization.<br> | ||
6 | <i>NOTE: The currently specified protocol is planned to be implemented for GNUnet 0.12. The current GNS implementation (0.11) exhibits minor but compatibility breaking deviations from this specification.</i> The draft specification <b>LSD001</b> can be found at: | ||
7 | </p> | ||
8 | <ul> | ||
9 | <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li> | ||
10 | <li><a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.txt">Link to TXT version</a></li> | ||
11 | <li><a href="https://git.gnunet.org/lsd0001.git/tree/draft-schanzen-gns.html">Link to HTML version</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The next milestone will bring the resolver logic specification. | ||
15 | </p> | ||
16 | <p> | ||
17 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>. | ||
18 | </p> | ||
19 | {% endblock body_content %} | ||
diff --git a/template/news/2019-10-ICANNPanel.html.j2 b/template/news/2019-10-ICANNPanel.html.j2 new file mode 100644 index 00000000..08885fa6 --- /dev/null +++ b/template/news/2019-10-ICANNPanel.html.j2 | |||
@@ -0,0 +1,13 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet project invited to ICANN66</h1> | ||
4 | <p> | ||
5 | We are delighted to announce that ICANN has invited the GNUnet project to speak at the <a href="https://meetings.icann.org/en/montreal66">next ICANN Annual General Meeting</a>. We have been invited to join a panel discussion on <i>Emerging Internet Identifier Technologies</i> in order to share our ideas and work on the <i>GNU Name System (GNS)</i>. ICANN generously offered to cover travel and accomodation. | ||
6 | </p> | ||
7 | <p> | ||
8 | The meeting will take place in Montreal between 2 - 7 November. The panel will tentatively be help on November 6th. | ||
9 | </p> | ||
10 | <p> | ||
11 | <b>UPDATE:</b> The panel is on Tueday, November 5th 13:30 EDT with the possibility of remote participation: <a href="https://66.schedule.icann.org/meetings/1116895">Link</a> | ||
12 | </p> | ||
13 | {% endblock body_content %} | ||
diff --git a/template/news/2019-11-ICANNUpdate.html.j2 b/template/news/2019-11-ICANNUpdate.html.j2 new file mode 100644 index 00000000..1edbbb8c --- /dev/null +++ b/template/news/2019-11-ICANNUpdate.html.j2 | |||
@@ -0,0 +1,10 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS@ICANN66</h1> | ||
4 | <p> | ||
5 | The <a href="https://meetings.icann.org/en/montreal66">ICANN Annual General Meeting</a> is concluded. We were invited to join a panel discussion on <i>Emerging Internet Identifier Technologies</i> in order to share our ideas and work on the <i>GNU Name System (GNS)</i>. | ||
6 | </p> | ||
7 | <p> | ||
8 | You can find the presentation on GNS in <a href="{{ url_localized('video.html') }}">our video section</a>. The handshake.org project, which proposes a decentralized, blockchain-based governance of the root zone (as opposed to governance by ICANN), joined us on the panel. The full video including questions and answers can be found <a href="https://icann.zoom.us/recording/share/M8N-Duq935XheIZoBedIwmi3VqRUAe2iOPwECiTNLxKwIumekTziMw?startTime=1572978711000">here</a>. | ||
9 | </p> | ||
10 | {% endblock body_content %} | ||
diff --git a/template/news/2019-12-UpcomingTalks.html.j2 b/template/news/2019-12-UpcomingTalks.html.j2 new file mode 100644 index 00000000..b92d1cdd --- /dev/null +++ b/template/news/2019-12-UpcomingTalks.html.j2 | |||
@@ -0,0 +1,73 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Upcoming GNUnet Talks</h1> | ||
4 | <p>There will be various talks in the next few months on GNUnet and related | ||
5 | projects on both the Chaos Communication Congress (36C3) as well as FOSDEM. | ||
6 | Here is an overview: | ||
7 | </p> | ||
8 | <h2>Privacy and Decentralization @ 36c3 (YBTI)</h2> | ||
9 | <p> | ||
10 | We are pleased to have 5 talks to present as part of our | ||
11 | "youbroketheinternet/wefixthenet" session, taking place on the | ||
12 | <a href="https://oio.social/">OIO (Open | ||
13 | Infrastructure Orbit)</a> stage: | ||
14 | </p> | ||
15 | |||
16 | <ul> | ||
17 | <li> | ||
18 | "re:claimID - Self-sovereign, Decentralised Identity Management and | ||
19 | Personal Data Sharing" by Hendrik Meyer zum Felde | ||
20 | will take place at 2019-12-27 18:30 in OIO Stage. | ||
21 | <a href="https://talks.oio.social/36c3-oio/talk/XHLTUD/">Info</a> | ||
22 | </li> | ||
23 | <li> | ||
24 | "Buying Snacks via NFC with GNU Taler" by Dominik Hofer | ||
25 | will take place at 2019-12-27 21:20 in OIO Stage | ||
26 | <a href="https://talks.oio.social/36c3-oio/talk/MMB78C/">Info</a> | ||
27 | </li> | ||
28 | <li> | ||
29 | "CloudCalypse 2: Social network with net2o" by Bernd Paysan | ||
30 | will take place at 2019-12-28 21:20 in OIO Stage | ||
31 | <a href="https://talks.oio.social/36c3-oio/talk/GUZH7V/">Info</a> | ||
32 | </li> | ||
33 | <li> | ||
34 | "Delta Chat: e-mail based messaging, the Rustocalypse and UX driven | ||
35 | approach" by holger krekel | ||
36 | will take place at 2019-12-29 17:40 in OIO Stage | ||
37 | <a href="https://talks.oio.social/36c3-oio/talk/WSLWVM/">Info</a> | ||
38 | </li> | ||
39 | <li> | ||
40 | "Cryptography of Killing Proof-of-Work" by Jeff Burdges | ||
41 | will take place at 2019-12-30 12:00 in OIO Stage | ||
42 | <a href="https://talks.oio.social/36c3-oio/talk/GGV8G3/">Info</a> | ||
43 | </li> | ||
44 | </ul> | ||
45 | |||
46 | <p> | ||
47 | In addition to these talks, we will be hosting a snack machine which | ||
48 | accepts <a href="https://taler.net">Taler</a> for payment. | ||
49 | The first of its kind! It will be filled | ||
50 | with various goodies, including Swiss chocolates, books, and electronics. | ||
51 | The machine will be located somewhere in the OIO assembly, and there | ||
52 | will be a station at which you may exchange Euro for digital Euro for | ||
53 | immediate use. | ||
54 | We welcome all to come try it out. :) | ||
55 | </p> | ||
56 | <h2>Decentralized Internet and Privacy devroom @FOSDEM 2020</h2> | ||
57 | <p> | ||
58 | We have 2 GNUnet-related talks at the | ||
59 | <a href="https://fosdem.org/2020/schedule/track/decentralized_internet_and_privacy/"> | ||
60 | Decentralized Internet and Privacy devroom</a> at FOSDEM 2020 in February: | ||
61 | </p> | ||
62 | <ul> | ||
63 | <li> | ||
64 | GNUnet: A network protocol stack for building secure, distributed, and | ||
65 | privacy-preserving applications | ||
66 | <a href="https://fosdem.org/2020/schedule/event/dip_gnunet/">Info</a> | ||
67 | </li> | ||
68 | <li> | ||
69 | Knocking Down the Nest: secushareBOX - p2p, encrypted IoT and beyond... | ||
70 | <a href="https://fosdem.org/2020/schedule/event/dip_secusharebox/">Info</a> | ||
71 | </li> | ||
72 | </ul> | ||
73 | {% endblock body_content %} | ||
diff --git a/template/news/2020-01-0.12.2.html.j2 b/template/news/2020-01-0.12.2.html.j2 new file mode 100644 index 00000000..21375aa6 --- /dev/null +++ b/template/news/2020-01-0.12.2.html.j2 | |||
@@ -0,0 +1,71 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.12.2 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.12.2. | ||
6 | <br> | ||
7 | This is a new bugfix release. | ||
8 | In terms of usability, users should be aware that there are still | ||
9 | <b>a large number of known open issues</b> in particular with respect to ease | ||
10 | of use, but also some critical privacy issues especially for mobile users. | ||
11 | Also, the nascent network is tiny and thus unlikely to | ||
12 | provide good anonymity or extensive amounts of interesting information. | ||
13 | As a result, the 0.12.2 release is still <b>only suitable for early adopters | ||
14 | with some reasonable pain tolerance</b>. | ||
15 | </p> | ||
16 | <h4>Download links</h4> | ||
17 | <ul> | ||
18 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz</a></li> | ||
19 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.12.2.tar.gz.sig</a></li> | ||
20 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz</a></li> | ||
21 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.12.0.tar.gz.sig</a></li> | ||
22 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz</a></li> | ||
23 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.12.0.tar.gz.sig</a></li> | ||
24 | </ul> | ||
25 | <p> | ||
26 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
27 | </p> | ||
28 | <p> | ||
29 | Note that due to mirror synchronization, not all links might be functional | ||
30 | early after the release. For direct access try | ||
31 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
32 | </p> | ||
33 | <h4>Noteworthy changes in 0.12.2 (since 0.12.1)</h4> | ||
34 | <ul> | ||
35 | <li> | ||
36 | <tt>GNS</tt>: Resolver clients are now able to specify a recursion depth limit. | ||
37 | </li> | ||
38 | <li> | ||
39 | <tt>TRANSPORT/TNG</tt>: The transport rewrite (aka TNG) is underway and | ||
40 | various transport components have been worked on, including TCP, UDP and UDS | ||
41 | communicators. | ||
42 | </li> | ||
43 | <li> | ||
44 | <tt>RECLAIM</tt>: Added preliminary support for third party attested | ||
45 | credentials. | ||
46 | </li> | ||
47 | <li> | ||
48 | <tt>UTIL</tt>: The cryptographic changes introduced in 0.12.0 broke ECDSA | ||
49 | ECDH and consequently other components. The offending ECDSA key normalization | ||
50 | was dropped. | ||
51 | </li> | ||
52 | </ul> | ||
53 | <h4>Known Issues</h4> | ||
54 | <ul> | ||
55 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
56 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
57 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
58 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
59 | <li>The RPS subsystem remains experimental.</li> | ||
60 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
61 | </ul> | ||
62 | <p> | ||
63 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
64 | </p> | ||
65 | |||
66 | <h4>Thanks</h4> | ||
67 | <p> | ||
68 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
69 | Christian Grothoff, Florian Dold, Christian Ulrich, dvn, lynx and Martin Schanzenbach. | ||
70 | </p> | ||
71 | {% endblock body_content %} | ||
diff --git a/template/news/2020-01-GNSSpec2.html.j2 b/template/news/2020-01-GNSSpec2.html.j2 new file mode 100644 index 00000000..e673d35d --- /dev/null +++ b/template/news/2020-01-GNSSpec2.html.j2 | |||
@@ -0,0 +1,28 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS Technical Specification Milestone 2/4</h1> | ||
4 | <p> | ||
5 | We are happy to announce the completion of the second milestone for the GNS | ||
6 | Specification. The second milestone consists of documenting the GNS name | ||
7 | resolution process and record handling.<br> | ||
8 | With the release of GNUnet 0.12.x, the currently specified protocol is | ||
9 | implemented according to the specification. As before, the draft specification | ||
10 | <b>LSD001</b> can be found at: | ||
11 | </p> | ||
12 | <ul> | ||
13 | <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li> | ||
14 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li> | ||
15 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li> | ||
16 | </ul> | ||
17 | <p> | ||
18 | As already announced on the <a href="https://lists.gnu.org/archive/html/gnunet-developers/2020-01/msg00000.html">mailing list</a>, | ||
19 | the Go implementation of GNS is also proceeding as planned and implements the | ||
20 | specification. | ||
21 | </p> | ||
22 | <p> | ||
23 | The next and third milestone will cover namespace revocation. | ||
24 | </p> | ||
25 | <p> | ||
26 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>. | ||
27 | </p> | ||
28 | {% endblock body_content %} | ||
diff --git a/template/news/2020-05-GHM_Jun_2020.html.j2 b/template/news/2020-05-GHM_Jun_2020.html.j2 new file mode 100644 index 00000000..f270d87d --- /dev/null +++ b/template/news/2020-05-GHM_Jun_2020.html.j2 | |||
@@ -0,0 +1,8 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>Online GNUnet Hacker Meeting in June 2020</h1> | ||
4 | <p> | ||
5 | We are happy to announce that we will have a GNUnet | ||
6 | Hacker Meeting from 17-21 of June 2020 taking place online. For more information see <a href="https://md.hasi.it/s/gnunet">here</a>. | ||
7 | </p> | ||
8 | {% endblock body_content %} | ||
diff --git a/template/news/2020-06-GNSSpec3.html.j2 b/template/news/2020-06-GNSSpec3.html.j2 new file mode 100644 index 00000000..2e69ccb9 --- /dev/null +++ b/template/news/2020-06-GNSSpec3.html.j2 | |||
@@ -0,0 +1,25 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS Technical Specification Milestone 3/4</h1> | ||
4 | <p> | ||
5 | We are happy to announce the completion of the third milestone for the GNS | ||
6 | Specification. The third milestone consists of documenting the GNS zone | ||
7 | revocation process. As part of this, we have reworked the proof-of-work | ||
8 | algorithms in GNUnet also used for GNS revocations.<br> | ||
9 | The (protocol breaking) changes will be released as part of GNUnet 0.13.0. | ||
10 | The specification document <b>LSD001</b> can be found at: | ||
11 | </p> | ||
12 | <ul> | ||
13 | <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li> | ||
14 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li> | ||
15 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li> | ||
16 | </ul> | ||
17 | <p> | ||
18 | In preparation for the fourth and last milestone, we have started the | ||
19 | <a href="https://mailarchive.ietf.org/arch/msg/secdispatch/Kj8zXoQssiFLp8bM5l5n1OtXt7s/">IETF process to find a working group</a> and expect to present our | ||
20 | work initially at <a href="https://ietf.org/how/meetings/108/">IETF 108</a>. | ||
21 | </p> | ||
22 | <p> | ||
23 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>. | ||
24 | </p> | ||
25 | {% endblock body_content %} | ||
diff --git a/template/news/2020-07-0.13.0.html.j2 b/template/news/2020-07-0.13.0.html.j2 new file mode 100644 index 00000000..ef8c0d89 --- /dev/null +++ b/template/news/2020-07-0.13.0.html.j2 | |||
@@ -0,0 +1,103 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.13.0 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.13.0. | ||
6 | <br> | ||
7 | This is a new major release. It breaks protocol compatibility with the 0.12.x versions. | ||
8 | Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with | ||
9 | the 0.12.x GNUnet network, and interactions between old and new peers | ||
10 | will result in signature verification failures. 0.12.x peers will <b>NOT</b> | ||
11 | be able to communicate with Git master or 0.13.x peers.<br/> | ||
12 | In terms of usability, users should be aware that there are still | ||
13 | <b>a large number of known open issues</b> in particular with respect to ease | ||
14 | of use, but also some critical privacy issues especially for mobile users. | ||
15 | Also, the nascent network is tiny and thus unlikely to | ||
16 | provide good anonymity or extensive amounts of interesting information. | ||
17 | As a result, the 0.13.0 release is still <b>only suitable for early adopters | ||
18 | with some reasonable pain tolerance</b>. | ||
19 | </p> | ||
20 | <h4>Download links</h4> | ||
21 | <ul> | ||
22 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz</a></li> | ||
23 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.0.tar.gz.sig</a></li> | ||
24 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz</a></li> | ||
25 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.0.tar.gz.sig</a></li> | ||
26 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz</a></li> | ||
27 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.13.0.tar.gz.sig</a></li> | ||
28 | </ul> | ||
29 | <p> | ||
30 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
31 | </p> | ||
32 | <p> | ||
33 | Note that due to mirror synchronization, not all links might be functional | ||
34 | early after the release. For direct access try | ||
35 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
36 | </p> | ||
37 | <h4>Noteworthy changes in 0.13.0 (since 0.12.2)</h4> | ||
38 | <ul> | ||
39 | <li><tt>GNS</tt>: | ||
40 | <ul> | ||
41 | <li>Aligned with specification <a href="https://lsd.gnunet.org/lsd0001/">LSD001</a>. | ||
42 | <li>NSS plugin "block" fixed. <a href="https://bugs.gnunet.org/view.php?id=5782">#5782</a></li> | ||
43 | <li>Broken set NICK API removed.<a href="https://bugs.gnunet.org/view.php?id=6092">#6092</a></li> | ||
44 | <li>New record flags: SUPPLEMENTAL. Records which are not explicitly | ||
45 | configured/published under a specific label but which are still | ||
46 | informational are returned by the resolver and flagged accordingly. <a href="https://bugs.gnunet.org/view.php?id=6103">#6103</a></li> | ||
47 | <li><tt>gnunet-namestore</tt> now complains when adding TLSA or SRV records outside of a BOX</li> | ||
48 | </ul> | ||
49 | </li> | ||
50 | <li> | ||
51 | <tt>CADET</tt>: Fixed tunnel establishment as well as an outstanding bug regarding tunnel destruction. <a href="https://bugs.gnunet.org/view.php?id=5822">#5822</a> | ||
52 | </li> | ||
53 | <li><tt>GNS/REVOCATION</tt>: Revocation proof of work has function changed to | ||
54 | argon2 and modified to reduce variance.</li> | ||
55 | <li><tt>RECLAIM</tt>: Increased ticket length to 256 bit. <a href="https://bugs.gnunet.org/view.php?id=6047">#6047</a></li> | ||
56 | <li><tt>TRANSPORT</tt>: UDP plugin moved to experimental as it is known to be unstable.</li> | ||
57 | <li><tt>UTIL</tt>: | ||
58 | <ul> | ||
59 | <li>Serialization / file format of ECDSA private keys harmonized with | ||
60 | other libraries. Old private keys will no longer work! <a href="https://bugs.gnunet.org/view.php?id=6070">#6070</a></li> | ||
61 | <li>Now using <a href="https://doc.libsodium.org/">libsodium</a> for EC | ||
62 | cryptography.</li> | ||
63 | <li>Builds against cURL which is not linked against gnutls are now possible but still not recommended. | ||
64 | Configure will warn that this will impede the GNS functionality. This change will make hostlist discovery | ||
65 | work more reliable for some distributions.</li> | ||
66 | <li><tt>GNUNET_free_non_null</tt> removed. <tt>GNUNET_free</tt> changed to not assert that the pointer is not NULL. | ||
67 | For reference see the <a href="https://taler.net/papers/codeblau-report-2020-q2.pdf">Taler security audit</a>.</li> | ||
68 | <li>AGPL request handlers added GNUnet and extension templates.</li> | ||
69 | </ul> | ||
70 | </li> | ||
71 | <li><b>(NEW) </b><tt>GANA Registry</tt>: We have established a registry to be used for names and numbers in GNUnet. | ||
72 | This includes constants for protocols including GNS record types and GNUnet peer-to-peer messages. See <a href="https://gana.gnunet.org">GANA</a>.</li> | ||
73 | <li><b>(NEW) </b><tt>Living Standards</tt>: LSD subdomain and LSD0001 website: <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li> | ||
74 | <li><b>(NEW) </b><tt>Continuous integration</tt>: <a href="https://buildbot.gnunet.org">Buildbot</a> is back.</li> | ||
75 | <li><tt>Buildsystem</tt>: A significant number of build system changes: | ||
76 | <ul> | ||
77 | <li>libmicrohttpd and libjansson are now required dependencies.</li> | ||
78 | <li>New dependency: <a href="https://doc.libsodium.org/">libsodium</a>.</li> | ||
79 | <li>Fixed an issue with libidn(2) detection.</tt> | ||
80 | </ul> | ||
81 | </li> | ||
82 | </ul> | ||
83 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
84 | the <a href="https://bugs.gnunet.org/roadmap_page.php?version_id=338">0.13.0 bugtracker</a>. | ||
85 | <h4>Known Issues</h4> | ||
86 | <ul> | ||
87 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
88 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
89 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
90 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
91 | <li>The RPS subsystem remains experimental.</li> | ||
92 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
93 | </ul> | ||
94 | <p> | ||
95 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
96 | </p> | ||
97 | |||
98 | <h4>Thanks</h4> | ||
99 | <p> | ||
100 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
101 | Christian Grothoff, Florian Dold, Jonathan Buchanan, t3sserakt, nikita and Martin Schanzenbach. | ||
102 | </p> | ||
103 | {% endblock body_content %} | ||
diff --git a/template/news/2020-07-0.13.1.html.j2 b/template/news/2020-07-0.13.1.html.j2 new file mode 100644 index 00000000..b7670242 --- /dev/null +++ b/template/news/2020-07-0.13.1.html.j2 | |||
@@ -0,0 +1,29 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.13.1 released</h1> | ||
4 | <p> | ||
5 | This is a bugfix release for gnunet and gnunet-gtk specifically. | ||
6 | <br> | ||
7 | For gnunet, no changes to the source have been made. However, | ||
8 | the default configuration had to be modified to support the changes | ||
9 | made in 0.13.0. | ||
10 | <br> | ||
11 | For gnunet-gtk, this fixes a more serious issue where the | ||
12 | 0.13.0 tarball failed to build. | ||
13 | </p> | ||
14 | <h4>Download links</h4> | ||
15 | <ul> | ||
16 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz</a></li> | ||
17 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.1.tar.gz.sig</a></li> | ||
18 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz</a></li> | ||
19 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.13.1.tar.gz.sig</a></li> | ||
20 | </ul> | ||
21 | <p> | ||
22 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
23 | </p> | ||
24 | <p> | ||
25 | Note that due to mirror synchronization, not all links might be functional | ||
26 | early after the release. For direct access try | ||
27 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
28 | </p> | ||
29 | {% endblock body_content %} | ||
diff --git a/template/news/2020-08-0.13.2.html.j2 b/template/news/2020-08-0.13.2.html.j2 new file mode 100644 index 00000000..3dfa7e61 --- /dev/null +++ b/template/news/2020-08-0.13.2.html.j2 | |||
@@ -0,0 +1,58 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.13.2 released</h1> | ||
4 | <p> | ||
5 | This is a bugfix release for gnunet 0.13.1.<br/> | ||
6 | It fixes some build issues and contains changes to the REST API | ||
7 | implmementation (no change in the API itself) as well as OpenID Connect related | ||
8 | fixes to re:claimID. | ||
9 | </p> | ||
10 | <h4>Download links</h4> | ||
11 | <ul> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.2.tar.gz.sig</a></li> | ||
14 | </ul> | ||
15 | <p> | ||
16 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
17 | </p> | ||
18 | <p> | ||
19 | Note that due to mirror synchronization, not all links might be functional | ||
20 | early after the release. For direct access try | ||
21 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
22 | </p> | ||
23 | <h4>Noteworthy changes in 0.13.2 (since 0.13.1)</h4> | ||
24 | <ul> | ||
25 | <li><tt>REST</tt>: | ||
26 | <ul> | ||
27 | <li>Plugins may now handle any namespace. <a href="https://bugs.gnunet.org/view.php?id=6462">#6462</a></li> | ||
28 | <li>Fixed incomplete/missing cleanup and teardown of REST plugins.</li> | ||
29 | </ul> | ||
30 | </li> | ||
31 | <li><tt>RECLAIM</tt>: | ||
32 | <ul> | ||
33 | <li>Support for <tt>/.well-known/openid-configuration</tt>. <a href="https://bugs.gnunet.org/view.php?id=6463">#6463</a></li> | ||
34 | <li>Support for standard scope values (<tt>profile, address, email, phone</tt>) and corresponding mapping to standard claim values</li> | ||
35 | <li>Correct processing of <tt>claims</tt> parameter for individual claim requests.</li> | ||
36 | <li>Support for <tt>POST</tt> token request.</li> | ||
37 | <li>Support for public clients (Token request without client secrets).</li> | ||
38 | <li>Fixed urlencoding of parameters on redirect</li> | ||
39 | </ul> | ||
40 | </li> | ||
41 | <li><tt>UTIL</tt>: New string API for percent-encode/decode.</li> | ||
42 | <li><tt>MYSQL</tt>: Fix version detection and build against mysql-8 and later. <a href="https://bugs.gnunet.org/view.php?id=6465">#6465</a></li> | ||
43 | <li><tt>POSTGRESQL</tt>: Ensure postgresql fails hard if there is an error in the SQL. <a href="https://bugs.gnunet.org/view.php?id=6437">#6437</a></li> | ||
44 | <li><tt>Extensions</tt>: | ||
45 | <ul> | ||
46 | <li>Load GNSRECORD plugins within GNUnet's context.</li> | ||
47 | <li>Add convenience function to return GNUnet's default configuration.</li> | ||
48 | </ul> | ||
49 | </li> | ||
50 | </ul> | ||
51 | |||
52 | <h4>Thanks</h4> | ||
53 | <p> | ||
54 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
55 | Christian Grothoff, Florian Dold, Alessio Vanni, t3sserakt, Martin Schanzenbach. | ||
56 | </p> | ||
57 | |||
58 | {% endblock body_content %} | ||
diff --git a/template/news/2020-09-0.13.3.html.j2 b/template/news/2020-09-0.13.3.html.j2 new file mode 100644 index 00000000..dc9440c3 --- /dev/null +++ b/template/news/2020-09-0.13.3.html.j2 | |||
@@ -0,0 +1,51 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.13.3 released</h1> | ||
4 | <p> | ||
5 | Continuing to "release early / release often", we present | ||
6 | GNUnet 0.13.3. This is a bugfix release for gnunet 0.13.2.<br/> | ||
7 | It fixes some build issues and contains major changes to | ||
8 | the re:claimID API. | ||
9 | </p> | ||
10 | <h4>Download links</h4> | ||
11 | <ul> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.13.3.tar.gz.sig</a></li> | ||
14 | </ul> | ||
15 | <p> | ||
16 | The GPG key used to sign is: <tt>3D11063C10F98D14BD24D1470B0998EF86F59B6A</tt> | ||
17 | </p> | ||
18 | <p> | ||
19 | Note that due to mirror synchronization, not all links might be functional | ||
20 | early after the release. For direct access try | ||
21 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
22 | </p> | ||
23 | <h4>Noteworthy changes in 0.13.3 (since 0.13.2)</h4> | ||
24 | <ul> | ||
25 | <li><tt>REST</tt>: | ||
26 | <ul> | ||
27 | <li>re:claimID attestation API change reflected in endpoint naming.</li> | ||
28 | <li>Fix regression in <tt>NAMESTORE</tt> REST API endpoint processing.</li> | ||
29 | </ul> | ||
30 | </li> | ||
31 | <li><tt>RECLAIM</tt>: | ||
32 | "Attestations" renamed to "Credentials". Credentials are now converted to "Presentations" when a ticket is issued in preparation | ||
33 | for <a href="https://www.w3.org/TR/vc-data-model/">DID-style VCs</a> and Privacy-ABCs. | ||
34 | </li> | ||
35 | <li><tt>UTIL</tt>: Fix <tt>gnunet-qr</tt> device parameter.</li> | ||
36 | <li><tt>SET</tt>: Separated into set intersection (SETI) and set union subsystems (SETU).</a></li> | ||
37 | <li><tt>BUILD</tt>: | ||
38 | <ul> | ||
39 | <li>Fix build on OpenBSD.</li> | ||
40 | <li>Correctly check for required libsodium version. <a href="https://bugs.gnunet.org/view.php?id=6506">#6506</a></li> | ||
41 | </ul> | ||
42 | </li> | ||
43 | </ul> | ||
44 | |||
45 | <h4>Thanks</h4> | ||
46 | <p> | ||
47 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
48 | Christian Grothoff, Jonathan Buchanan, Johannes Späth and Martin Schanzenbach. | ||
49 | </p> | ||
50 | |||
51 | {% endblock body_content %} | ||
diff --git a/template/news/2020-11-0.14.0.html.j2 b/template/news/2020-11-0.14.0.html.j2 new file mode 100644 index 00000000..853b4548 --- /dev/null +++ b/template/news/2020-11-0.14.0.html.j2 | |||
@@ -0,0 +1,81 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.14.0 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.14.0. | ||
6 | <br> | ||
7 | This is a new major release. It breaks protocol compatibility with the 0.13.x versions. | ||
8 | Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with | ||
9 | the 0.13.x GNUnet network, and interactions between old and new peers | ||
10 | will result in issues. 0.13.x peers will be able to communicate with Git | ||
11 | master or 0.13.x peers, but some services - in particular GNS - will not be compatible.<br/> | ||
12 | In terms of usability, users should be aware that there are still | ||
13 | <b>a large number of known open issues</b> in particular with respect to ease | ||
14 | of use, but also some critical privacy issues especially for mobile users. | ||
15 | Also, the nascent network is tiny and thus unlikely to | ||
16 | provide good anonymity or extensive amounts of interesting information. | ||
17 | As a result, the 0.14.0 release is still <b>only suitable for early adopters | ||
18 | with some reasonable pain tolerance</b>. | ||
19 | </p> | ||
20 | <h4>Download links</h4> | ||
21 | <ul> | ||
22 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz</a></li> | ||
23 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz.sig</a></li> | ||
24 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz</a></li> | ||
25 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz.sig</a></li> | ||
26 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz</a></li> | ||
27 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz.sig</a></li> | ||
28 | </ul> | ||
29 | <p> | ||
30 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
31 | </p> | ||
32 | <p> | ||
33 | Note that due to mirror synchronization, not all links might be functional | ||
34 | early after the release. For direct access try | ||
35 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
36 | </p> | ||
37 | <h4>Noteworthy changes in 0.14.0 (since 0.13.3)</h4> | ||
38 | <ul> | ||
39 | <li><tt>GNS</tt>: | ||
40 | <ul> | ||
41 | <li>Aligned with specification <a href="https://lsd.gnunet.org/lsd0001/">LSD001</a>. | ||
42 | <li>Crypto agility: The GNS protocol now supports other zone types besides ECDSA-based PKEYs. | ||
43 | However, the alternative EdDSA-based EDKEY crypto is not yet implemented. <a href="https://bugs.gnunet.org/view.php?id=6485">#6485</a></li> | ||
44 | <li>PKEY zones: ECDSA zone record sets are now encrypted using AES-CTR. <a href="https://bugs.gnunet.org/view.php?id=6487">#6487</a></li> | ||
45 | </ul> | ||
46 | </li> | ||
47 | <li> | ||
48 | <tt>IDENTITY</tt>: Identities can now be created either as ECDSA (default) or EdDSA key pairs.</li> | ||
49 | </li> | ||
50 | <li> | ||
51 | <tt>POSTGRESQL</tt>: Allow NULL value returns and fix test cases. <a href="https://bugs.gnunet.org/view.php?id=6524">#6524</a> | ||
52 | </li> | ||
53 | <li><tt>UTIL</tt>: | ||
54 | String time conversion functions no longer localized to preserve reversibility. <a href="https://bugs.gnunet.org/view.php?id=6615">#6615</a> | ||
55 | </li> | ||
56 | <li><tt>Buildsystem</tt>: README updates to clarify runtime/compile/optional dependencies</li> | ||
57 | <li><b>(NEW)</b> <tt>MESSENGER</tt>: New messenger component (experimental)</li> | ||
58 | </ul> | ||
59 | <p> | ||
60 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
61 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.14.0 bugtracker</a>. | ||
62 | </p> | ||
63 | <h4>Known Issues</h4> | ||
64 | <ul> | ||
65 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
66 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
67 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
68 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
69 | <li>The RPS subsystem remains experimental.</li> | ||
70 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
71 | </ul> | ||
72 | <p> | ||
73 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
74 | </p> | ||
75 | |||
76 | <h4>Thanks</h4> | ||
77 | <p> | ||
78 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
79 | Christian Grothoff, Daniel Golle, t3sserakt, TheJackiMonster and Martin Schanzenbach. | ||
80 | </p> | ||
81 | {% endblock body_content %} | ||
diff --git a/template/news/2020-11-GNSSpec4.html.j2 b/template/news/2020-11-GNSSpec4.html.j2 new file mode 100644 index 00000000..13e0f28d --- /dev/null +++ b/template/news/2020-11-GNSSpec4.html.j2 | |||
@@ -0,0 +1,45 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS Technical Specification Milestone 4/4 and Packaging 1+2</h1> | ||
4 | <p> | ||
5 | We are happy to announce the completion of the fourth and last milestone for the GNS | ||
6 | Specification. The fourth milestone consists of involving a broader community | ||
7 | for feedback and improvements: | ||
8 | <p> | ||
9 | <ul> | ||
10 | <li><a href="https://news.ycombinator.com/item?id=23766947">Hacker News</a></li> | ||
11 | <li><a href="https://datatracker.ietf.org/meeting/108/session/secdispatch">IETF 108 secdispatch</a> | ||
12 | (see also associated discussions on the mailinglist)</li> | ||
13 | <li><a href="https://centr.org/news/news/alternative-dns.html">Reporting on IETF secdispatch</a></li> | ||
14 | <li><a href="https://mailarchive.ietf.org/arch/msg/din/jkbYgEsyuZCknyYQxN-LxDtWpsY/">IRTF DINRG</a></li> | ||
15 | <li><a href="https://lists.gnu.org/archive/html/gnunet-developers/2020-07/msg00043.html">Mailing list</a></li> | ||
16 | </ul> | ||
17 | <p> | ||
18 | Based on this and private feedback received, we updated the draft and | ||
19 | the implementation. Most notably, GNS now supports alternative cryptographic | ||
20 | schemes for zone keys ("crypto agility") which allows alternative zone types. | ||
21 | The (protocol breaking) changes will be released as part of GNUnet 0.14.0. | ||
22 | The specification document <b>LSD001</b> can be found at: | ||
23 | </p> | ||
24 | <ul> | ||
25 | <li>Git: <a href="git://gnunet.org/lsd0001.git">LSD001</a></li> | ||
26 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li> | ||
27 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li> | ||
28 | <li><a href="https://datatracker.ietf.org/doc/draft-schanzen-gns/">Link to IETF Datatracker (updated less frequently)</a></li> | ||
29 | </ul> | ||
30 | <p> | ||
31 | Further, work on packaging has been done on Alpine (Packaging 1) and Debian (Packaging 2) packages. | ||
32 | The packaging for Alpine is complete, the Debian package is in progress as | ||
33 | review and final integration is out of our hands. For reference see also: | ||
34 | </p> | ||
35 | <ul> | ||
36 | <li><a href="https://pkgs.alpinelinux.org/packages?name=gnunet&branch=edge">Alpine package</a></li> | ||
37 | <li><a href="https://salsa.debian.org/debian/gnunet/-/merge_requests/3">Debian package</a></li> | ||
38 | </ul> | ||
39 | <p> | ||
40 | We will continue to engage with IETF/IRTF as much as possible (online or in-person) | ||
41 | including future presentations and discussions at IETF/IRTF. | ||
42 | There is still a packaging task open for Fedora (3) which is still work in progress. | ||
43 | This work was (and other aspects still are) generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>. | ||
44 | </p> | ||
45 | {% endblock body_content %} | ||
diff --git a/template/news/2021-03-0.14.1.html.j2 b/template/news/2021-03-0.14.1.html.j2 new file mode 100644 index 00000000..0249b984 --- /dev/null +++ b/template/news/2021-03-0.14.1.html.j2 | |||
@@ -0,0 +1,48 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.14.1</h1> | ||
4 | <p> | ||
5 | Continuing to "release early / release often", we present | ||
6 | GNUnet 0.14.1. This is a bugfix release for gnunet 0.14.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.14.1.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.14.1 (since 0.14.0)</h4> | ||
22 | <ul> | ||
23 | <li><tt>TNG</tt>: Various improvements to communicators. <a href="https://bugs.gnunet.org/view.php?id=6361">#6361</a>,<a href="https://bugs.gnunet.org/view.php?id=5550">#5550</a> | ||
24 | </li> | ||
25 | <li><tt>GNS</tt>: Use autogenerated records header file from GANA.</li> | ||
26 | <li><tt>FS</tt>: Improve modularity of FS structs. <a href="https://bugs.gnunet.org/view.php?id=6743">#6743</a></li> | ||
27 | <li><tt>SETU</tt>: Various improvements as part of the ongoing work on <a href="https://lsd.gnunet.org/lsd0003">LSD0003</a>.</li> | ||
28 | <li><tt>IDENTITY</tt>: Fix wrong key construction for anonymous ECDSA identity.</li> | ||
29 | <li><tt>RPS</tt>: Code cleanup mostly addressing warnings.</li> | ||
30 | <li><tt>UTIL</tt>: | ||
31 | <ul> | ||
32 | <li>Added a Base32 en/decoded CLI <tt>gnunet-base32</tt>.</li> | ||
33 | <li>Use timeflakes as UUIDs. <a href="https://bugs.gnunet.org/view.php?id=6716">#6716</a></li> | ||
34 | </ul> | ||
35 | </li> | ||
36 | <li><tt>Buildsystem</tt>: Fix libunistring detection. <a href="https://bugs.gnunet.org/view.php?id=6485">#6485</a></li> | ||
37 | </ul> | ||
38 | <p> | ||
39 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
40 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.14.1 bugtracker</a>. | ||
41 | </p> | ||
42 | |||
43 | <h4>Thanks</h4> | ||
44 | <p> | ||
45 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
46 | Christian Grothoff, Florian Dold, t3sserakt, TheJackiMonster, Elias Summermatter, Julius Bünger and Thien-Thi Nguyen. | ||
47 | </p> | ||
48 | {% endblock body_content %} | ||
diff --git a/template/news/2021-03-gsoc-update.html.j2 b/template/news/2021-03-gsoc-update.html.j2 new file mode 100644 index 00000000..d638549a --- /dev/null +++ b/template/news/2021-03-gsoc-update.html.j2 | |||
@@ -0,0 +1,13 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>No GSoC projects in 2021</h1> | ||
4 | <p> | ||
5 | For 2021, <a href="https://lists.gnu.org/archive/html/summer-of-code/2021-03/msg00000.html">GNU has not been selected as a GSoC organization</a>. | ||
6 | This also means that <a href="{{ url_localized('gsoc.html')}}">GNUnet GSoC | ||
7 | projects</a> will not be offered through the GSoC programme. | ||
8 | Thanks to all of those interested in our proposed projects and their efforts | ||
9 | in preparing proposals, including preliminary discussions with us. | ||
10 | If you are still interested in tackling any of the proposed open issues, you | ||
11 | are very welcome to do so. | ||
12 | <p> | ||
13 | {% endblock body_content %} | ||
diff --git a/template/news/2021-05-DISSENS.html.j2 b/template/news/2021-05-DISSENS.html.j2 new file mode 100644 index 00000000..d67f33a5 --- /dev/null +++ b/template/news/2021-05-DISSENS.html.j2 | |||
@@ -0,0 +1,67 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>DISSENS: Decentralized Identities for Self-sovereign End-users (NGI TRUST)</h1> | ||
4 | <p> | ||
5 | Since mid 2020, a consortium between <a class="link" href="https://taler.net">Taler Systems S.A.</a>, | ||
6 | the <a class="link" href="https://bfh.ch">Bern University of Applied Sciences</a> and <a class="link" href="https://aisec.fraunhofer.de">Fraunhofer AISEC</a> has been working | ||
7 | on bringing privacy-friendly payments using GNU Taler and self-sovereign | ||
8 | identity using GNUnet's <a class="link" href="https://reclaim.gnunet.org">re:claimID</a> | ||
9 | together in an e-commerce framework. | ||
10 | </p> | ||
11 | <p> | ||
12 | <img style="width: 100%; border: 1px solid #333" src="{{ url_static('dissens-overview.png')}}"/> | ||
13 | </p> | ||
14 | <h2>Content</h2> | ||
15 | <p> | ||
16 | Registrations of accounts prior to receiving services online is the standard process for commercial offerings on the Internet which depend on two corner stones of the Web: Payment processing and digital identities. The use of third-party identity provider services (IdPs) is practical as it delegates the task of verifying and storing personal information. The use of payment processors is convenient for the customer as it provides one-click payments. However, the quasi-oligopoly of services providers in those areas include Google and Facebook for identities and PayPal or Stripe for payment processing. Those corporations are not only based in privacy-unfriendly jurisdictions, but also exploit private data for profit. | ||
17 | </p> | ||
18 | <p> | ||
19 | DISSENS makes the case that what is urgently needed are fundamentally different, user-centric and privacy-friendly alternatives to the above. | ||
20 | Self-sovereign identity (SSI) management is the way to replace IdPs with a user-centric, decentralized mechanism where data and access control is fully under the control of the data subject. | ||
21 | In combination with a privacy-friendly payment system, DISSENS aims to achieve the same one-click user experience that is currently achieved by privacy-invasive account-based Web shops, but without the users having to setup accounts. | ||
22 | </p> | ||
23 | <p> | ||
24 | To achieve this, DISSENS integrates re:claimID with the GNU Taler payment system in a pilot in order to demonstrate the practical feasibility and benefits of privacy enhancing technologies for users and commercial service providers. | ||
25 | DISSENS also implements a reference scenario which includes credentials issued by the partners Fraunhofer AISEC and BFH for employees and students, respectively. Users are able to access and use a pilot service developed by Taler Systems S.A. while being able to claim specific discounts for students and researchers. | ||
26 | </p> | ||
27 | <p> | ||
28 | This approach offers significant benefits over existing solutions built using other SSI systems such as <a class="link" href="https://www.sovrin.org">Sovrin</a> or <a class="link" href="https://www.serto.id">serto</a> (formerly uPort): | ||
29 | </p> | ||
30 | <b>No gatekeepers; No vendor lock-in:</b> | ||
31 | <p> | ||
32 | The approach is completely open to issuers and does not impose any registration restrictions (such as registration fees) in order to define domain specific credentials. Further, the system does not impose a consortium-based governance model — which tend to eventually be driven by commercial interests and not consumer interests. The design enables all participants in the ecosystem to participate without prior onboarding while at the same time being offered full transparency and control regarding their personal data and processes involved. | ||
33 | </p> | ||
34 | <b>Support for non-interactive business processes:</b> | ||
35 | <p> | ||
36 | At the same time, unlike the SSI systems cited above, re:claimID offers a way to access user information without online interaction with the user. Offline access of shared identity data is a crucial requirement in almost any business process as such processes often occur after direct interaction with the user. For example, customer information such as billing addresses are required in — possibly recurring — back office billing processes which occur well after interaction with a customer. | ||
37 | </p> | ||
38 | <b>Scalability and sustainability:</b> | ||
39 | <p> | ||
40 | Finally, both re:claimID as the SSI system as well as Taler do not suffer from the usual predicament Blockchain-based systems find themselves in: Both systems do not require a decentralized, public ledger. This eliminates the need for consensus mechanisms, which do not scale and are ecologically unsustainable. In fact, DISSENS employs decentralization only where it provides the most value and use more efficient technology stacks where needed: re:claimID builds on top of the <a class="link" href="{{ url_localized('gns.html') }}">GNU Name System</a>, which makes use of a DHT, an efficient (O(log n)) peer-to-peer data structure. For payments, GNU Taler uses centralized infrastructure operated by audited and regulated exchange providers and facilitates account-less end-to-end interactions between customers and services where all parties have O(1) transaction costs. | ||
41 | </p> | ||
42 | <p> | ||
43 | The result of DISSENS will provide businesses and credential issuers with ready-to-use and standards-compliant templates to build privacy-friendly services in the Web. | ||
44 | The aim of the DISSENS project was to design a technology stack which combines privacy-friendly online payments with self-sovereign personal data management. The result enables users to be in complete control over their digital identity and personal information while at the same time being able to selectively share information necessary to use commercial services. The pilot demonstrates a sustainable, user-centric, standard-compliant and accessible use case for public service employees and students in the domain of commercial food delivery. | ||
45 | It serves as an easy-to-adapt template for the integration of other scenarios and use cases. | ||
46 | </p> | ||
47 | <h2>Future work</h2> | ||
48 | <p> | ||
49 | GNUnet is working on the underlying components mature to the point that Taler+re:claimID can be recommended to operators to enable for account-less shopping with or without verified credentials. This will also require the continuation of our | ||
50 | work on the low-level transport rewrite as it is a core component of GNS which | ||
51 | in turn is what makes re:claimID spin. | ||
52 | </p> | ||
53 | <h2>Links</h2> | ||
54 | <ul> | ||
55 | <li>Mid-project <a class="link" href="https://gnunet.org/~schanzen/2021-01-18-reclaimID-Taler-Shopping.webm">demonstration video</a> (~7 MB).</li> | ||
56 | <li><a class="link" href="https://git.gnunet.org/bibliography.git/plain/docs/dissens2021.pdf">The paper</a> (also accepted for publication without appendix at the <a class="link" href="https://oid2021.compute.dtu.dk/">Open Identity Summit 2021</a>)</li> | ||
57 | <li><a class="link" href="https://wordpress.org/plugins/gnu-taler-payment-for-woocommerce/">Taler WooCommerce plugin</a> (wordpress.org)</li> | ||
58 | <li>The privacy credential library <a class="link" href="https://github.com/Fraunhofer-AISEC/libpabc">libpabc</a> (github.com).</li> | ||
59 | <li><a class="link" href="https://git.taler.net/woocommerce-taler.git">Setup scripts and installation documentation for a Taler + re:claimID + WooCommerce service</a> (taler.net).</li> | ||
60 | <li><a class="link" href="https://git.gnunet.org/gnunet-presentations.git/plain/2021dissens/reclaim.pdf">Slide deck</a>.</li> | ||
61 | </ul> | ||
62 | <p> | ||
63 | </p> | ||
64 | <p> | ||
65 | This work is generously funded by <a class="link" href="https://www.ngi.eu">the EC's Next Generation Internet (NGI) initiative</a> as part of their <a class="link" href="https://www.ngi.eu/ngi-projects/ngi-trust/">NGI TRUST</a> programme. | ||
66 | </p> | ||
67 | {% endblock body_content %} | ||
diff --git a/template/news/2021-08-0.15.0.html.j2 b/template/news/2021-08-0.15.0.html.j2 new file mode 100644 index 00000000..89ff00ac --- /dev/null +++ b/template/news/2021-08-0.15.0.html.j2 | |||
@@ -0,0 +1,82 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNUnet 0.15.0 released</h1> | ||
4 | <p> | ||
5 | We are pleased to announce the release of GNUnet 0.15.0. | ||
6 | <br> | ||
7 | This is a new major release. It breaks protocol compatibility with the 0.14.x versions. | ||
8 | Please be aware that Git master is thus henceforth <b>INCOMPATIBLE</b> with | ||
9 | the 0.14.x GNUnet network, and interactions between old and new peers | ||
10 | will result in issues. 0.14.x peers will be able to communicate with Git | ||
11 | master or 0.14.x peers, but some services - in particular GNS - will not be compatible.<br/> | ||
12 | The MESSENGER service goes out of experimental to be used by | ||
13 | libraries and applications as dependency. It handles decentralized | ||
14 | messaging in flexible groups by using the CADET service and messages | ||
15 | can be signed with your ego from the IDENTITY service. The service | ||
16 | is still in an early stage, so its protocol (currently version 0.1) | ||
17 | will likely adapt or change in future releases to some degree.<br/> | ||
18 | In terms of usability, users should be aware that there are still | ||
19 | <b>a number of known open issues</b> in particular with respect to ease | ||
20 | of use, but also some critical privacy issues especially for mobile users. | ||
21 | Also, the nascent network is tiny and thus unlikely to | ||
22 | provide good anonymity or extensive amounts of interesting information. | ||
23 | As a result, the 0.15.0 release is still <b>only suitable for early adopters | ||
24 | with some reasonable pain tolerance</b>. | ||
25 | </p> | ||
26 | <h4>Download links</h4> | ||
27 | <ul> | ||
28 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.15.0.tar.gz">gnunet-0.15.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.15.0.tar.gz.sig">signature</a>)</li> | ||
29 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.15.0.tar.gz">gnunet-gtk-0.15.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.15.0.tar.gz.sig">signature</a>)</li> | ||
30 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.15.0.tar.gz">gnunet-fuse-0.15.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.15.0.tar.gz.sig">signature</a>)</li> | ||
31 | </ul> | ||
32 | <p> | ||
33 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
34 | </p> | ||
35 | <p> | ||
36 | Note that due to mirror synchronization, not all links might be functional | ||
37 | early after the release. For direct access try | ||
38 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
39 | </p> | ||
40 | <h4>Noteworthy changes in 0.15.0 (since 0.14.1)</h4> | ||
41 | <ul> | ||
42 | <li><tt>GNS</tt>: | ||
43 | <ul> | ||
44 | <li>First-come-first-served GNUnet top-level domain ".pin" zone key and website updated a. <a href="https://fcfs.gnunet.org/">Register here.</a> <a href="https://bugs.gnunet.org/view.php?id=6832">#6832</a></li> | ||
45 | <li>New <a href="https://lsd.gnunet.org/lsd0001/#name-edkey">EDKEY zone keys</a>.</li> | ||
46 | </ul> | ||
47 | </li> | ||
48 | <li><tt>SCALARPRODUCT</tt>: Crypto ported to libsodium improving performance. <a href="https://bugs.gnunet.org/view.php?id=6818">#6818</a></li> | ||
49 | <li><tt>RECLAIM</tt>: Added support for <a class="link" href="https://github.com/Fraunhofer-AISEC/libpabc">BBS+ blind signature credentials</a> for selective disclosure.</li> | ||
50 | <li><tt>UTIL</tt>: | ||
51 | <ul> | ||
52 | <li>Swap gnunet-config's default behaviour for the rewrite flag.</li> | ||
53 | <li>Config file is not not always written</li> | ||
54 | <li>Introduced new TIME helper functions</li> | ||
55 | </ul> | ||
56 | </li> | ||
57 | <li><tt>SETU</tt>: Implemented set union subsystem along with technical specification <a href="https://lsd.gnunet.org/lsd0003/">LSD0003</a>.</li> | ||
58 | <li><tt>MESSENGER</tt>: New messenger component moved out of experimental.</li> | ||
59 | </ul> | ||
60 | <p> | ||
61 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
62 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
63 | </p> | ||
64 | <h4>Known Issues</h4> | ||
65 | <ul> | ||
66 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
67 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
68 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
69 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
70 | <li>The RPS subsystem remains experimental.</li> | ||
71 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
72 | </ul> | ||
73 | <p> | ||
74 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
75 | </p> | ||
76 | |||
77 | <h4>Thanks</h4> | ||
78 | <p> | ||
79 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
80 | Christian Grothoff, Daniel Golle, Alessio Vanni, Thien-Thi Nguyen, Elias Summermatter, t3sserakt, TheJackiMonster and Martin Schanzenbach. | ||
81 | </p> | ||
82 | {% endblock body_content %} | ||
diff --git a/template/news/2021-12-GNSSpecISE.html.j2 b/template/news/2021-12-GNSSpecISE.html.j2 new file mode 100644 index 00000000..0b89efd0 --- /dev/null +++ b/template/news/2021-12-GNSSpecISE.html.j2 | |||
@@ -0,0 +1,28 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>GNS Technical Specification Call for Reviews</h1> | ||
4 | <p> | ||
5 | We are happy to announce that our GNS specification is currently under review | ||
6 | by the Independent Stream Editor (ISE). | ||
7 | We have already received feedback from the ISE and made significant, | ||
8 | mostly editorial changes to the specification. | ||
9 | </p> | ||
10 | <p> | ||
11 | We are inviting anyone reading this to review and provide feedback to the draft | ||
12 | and send it to <a href="mailto:gnunet-developers@gnu.org?subject=LSD0001">gnunet-developers@gnu.org</a>. | ||
13 | Even better, you could write an implementation in your favourite programming | ||
14 | language. | ||
15 | </p> | ||
16 | <p> | ||
17 | In other news, we are currently also working on the specification of the | ||
18 | <a href="https://lsd.gnunet.org/lsd0004">GNUnet DHT</a>. | ||
19 | </p> | ||
20 | <ul> | ||
21 | <li>IETF: <a href="https://datatracker.ietf.org/doc/draft-schanzen-gns/">Datatracker</a></li> | ||
22 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.txt">Link to TXT version</a></li> | ||
23 | <li><a href="https://lsd.gnunet.org/lsd0001/draft-schanzen-gns.html">Link to HTML version</a></li> | ||
24 | </ul> | ||
25 | <p> | ||
26 | This work was generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/project/GNS/">Search and discovery fund</a>. | ||
27 | </p> | ||
28 | {% endblock body_content %} | ||
diff --git a/template/news/2022-02-0.16.0.html.j2 b/template/news/2022-02-0.16.0.html.j2 new file mode 100644 index 00000000..631b622e --- /dev/null +++ b/template/news/2022-02-0.16.0.html.j2 | |||
@@ -0,0 +1,89 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.16.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of GNUnet 0.16.0. | ||
7 | <br/> | ||
8 | GNUnet is an alternative network stack for building secure, decentralized and | ||
9 | privacy-preserving distributed applications. | ||
10 | Our goal is to replace the old insecure Internet protocol stack. | ||
11 | Starting from an application for secure publication of files, it has grown to | ||
12 | include all kinds of basic protocol components and applications towards the | ||
13 | creation of a GNU internet. | ||
14 | </p> | ||
15 | <p> | ||
16 | This is a new major release. It breaks protocol compatibility with the 0.15.x versions. | ||
17 | Please be aware that Git master is thus henceforth (and has been for a | ||
18 | while) <b>INCOMPATIBLE</b> with | ||
19 | the 0.15.x GNUnet network, and interactions between old and new peers | ||
20 | will result in issues. 0.15.x peers will be able to communicate with Git | ||
21 | master or 0.16.x peers, but some services - in particular GNS - will not be compatible.<br/> | ||
22 | In terms of usability, users should be aware that there are still | ||
23 | <b>a number of known open issues</b> in particular with respect to ease | ||
24 | of use, but also some critical privacy issues especially for mobile users. | ||
25 | Also, the nascent network is tiny and thus unlikely to | ||
26 | provide good anonymity or extensive amounts of interesting information. | ||
27 | As a result, the 0.16.0 release is still <b>only suitable for early adopters | ||
28 | with some reasonable pain tolerance</b>. | ||
29 | </p> | ||
30 | <h4>Download links</h4> | ||
31 | <ul> | ||
32 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.0.tar.gz">gnunet-0.16.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.0.tar.gz.sig">signature</a>)</li> | ||
33 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.15.0.tar.gz">gnunet-gtk-0.16.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.16.0.tar.gz.sig">signature</a>)</li> | ||
34 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.15.0.tar.gz">gnunet-fuse-0.16.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.16.0.tar.gz.sig">signature</a>)</li> | ||
35 | </ul> | ||
36 | <p> | ||
37 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
38 | </p> | ||
39 | <p> | ||
40 | Note that due to mirror synchronization, not all links might be functional | ||
41 | early after the release. For direct access try | ||
42 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
43 | </p> | ||
44 | <h4>Noteworthy changes in 0.16.0 (since 0.15.3)</h4> | ||
45 | <ul> | ||
46 | <li><tt>GNS</tt>: | ||
47 | <ul> | ||
48 | <li>New record flag: CRITICAL. For records that must be processed otherwise resolution must fail. <a href="https://bugs.gnunet.org/view.php?id=7169">#7169</a></li> | ||
49 | <li>Deletion of records and reduction of expiration times is now properly handled with respect to monotonically increasing expiratin times. <a href="https://bugs.gnunet.org/view.php?id=7170">#7170</a></li> | ||
50 | <li>VPN tunnel establishment is moved out of the GNS resolver to be handled by applications (such as the DNS2GNS service). <a href="https://bugs.gnunet.org/view.php?id=7171">#7171</a></li> | ||
51 | <li>Introduces new record type REDIRECT which replaces the previous (ab)use of CNAME records. <a href="https://bugs.gnunet.org/view.php?id=7172">#7172</a></li> | ||
52 | <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li> | ||
53 | |||
54 | </ul> | ||
55 | </li> | ||
56 | <li><tt>DHT</tt>: | ||
57 | <ul> | ||
58 | <li>Routes can now be signed. <a href="https://bugs.gnunet.org/view.php?id=4164">#4164</a></li> | ||
59 | <li>Changed distance metric to a more traditional XOR. <a href="https://bugs.gnunet.org/view.php?id=7136">#7136</a></li> | ||
60 | <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li> | ||
61 | </ul> | ||
62 | </li> | ||
63 | <li><tt>RECLAIM</tt>: Added some preliminary support for Decentralized Identifier (DID) and Verifiable Credentials (VCs).</li> | ||
64 | <li><tt>UTIL</tt>: Add Clause-Schnorr blind signatures. For use in <a href="https://taler.net/en/news/2022-02.html">Taler</a>.</li> | ||
65 | <li><tt>BUILD</tt>: Building from git now requires <tt>recutils</tt>. The bootstrap will generate up-to-date header files from <a href="https://gana.gnunet.org">GANA</a>.</li> | ||
66 | </ul> | ||
67 | <p> | ||
68 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
69 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
70 | </p> | ||
71 | <h4>Known Issues</h4> | ||
72 | <ul> | ||
73 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
74 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
75 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
76 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
77 | <li>The RPS subsystem remains experimental.</li> | ||
78 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
79 | </ul> | ||
80 | <p> | ||
81 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
82 | </p> | ||
83 | |||
84 | <h4>Thanks</h4> | ||
85 | <p> | ||
86 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
87 | Christian Grothoff, Tristan Schwieren, Alessio Vanni, Florian Dold, Thien-Thi Nguyen, t3sserakt, Lucien Heuzeveldt, Gian Demarmels, madmurphy, TheJackiMonster and Martin Schanzenbach. | ||
88 | </p> | ||
89 | {% endblock body_content %} | ||
diff --git a/template/news/2022-03-0.16.1.html.j2 b/template/news/2022-03-0.16.1.html.j2 new file mode 100644 index 00000000..d39cf8ca --- /dev/null +++ b/template/news/2022-03-0.16.1.html.j2 | |||
@@ -0,0 +1,36 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.16.1</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.16.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.1.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.1.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.16.1 (since 0.16.0)</h4> | ||
22 | <ul> | ||
23 | <li><tt>GNS</tt>: There was a bug where private records were published.</li> | ||
24 | <li><tt>NAMESTORE</tt>: CLI now handles Tombstones better. There is also a warning for problematically short relative expiration times (<15 minutes) when adding new records.</li> | ||
25 | <li><tt>Buildsystem</tt>: | ||
26 | <ul> | ||
27 | <li>Fix libsodium detection. <a href="https://bugs.gnunet.org/view.php?id=7153">#7153</a></li> | ||
28 | <li>Fix for facilitating <tt>autoreconf</tt> with the released tarball.</li> | ||
29 | </ul> | ||
30 | </li> | ||
31 | </ul> | ||
32 | <p> | ||
33 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
34 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.16.1 bugtracker</a>. | ||
35 | </p> | ||
36 | {% endblock body_content %} | ||
diff --git a/template/news/2022-03-0.16.2.html.j2 b/template/news/2022-03-0.16.2.html.j2 new file mode 100644 index 00000000..5ea4d941 --- /dev/null +++ b/template/news/2022-03-0.16.2.html.j2 | |||
@@ -0,0 +1,32 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.16.2</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.16.1. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.16.2 (since 0.16.1)</h4> | ||
22 | <ul> | ||
23 | <li><tt>DHT</tt>: Fix path signature handling.</li> | ||
24 | <li><tt>GNS</tt>: Fix BOX handling in zone apex.</li> | ||
25 | <li><tt>NAMESTORE</tt>: Prevent storing under invalid labels.</li> | ||
26 | <li><tt>Buildsystem</tt>: Fix build on *BSD and Guix.</li> | ||
27 | </ul> | ||
28 | <p> | ||
29 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
30 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.16.2 bugtracker</a>. | ||
31 | </p> | ||
32 | {% endblock body_content %} | ||
diff --git a/template/news/2022-03-0.16.3.html.j2 b/template/news/2022-03-0.16.3.html.j2 new file mode 100644 index 00000000..2d8f376f --- /dev/null +++ b/template/news/2022-03-0.16.3.html.j2 | |||
@@ -0,0 +1,30 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.16.3</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.16.2. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.16.3 (since 0.16.2)</h4> | ||
22 | <ul> | ||
23 | <li><tt>GNS</tt>: Fix record processing in DHT.</li> | ||
24 | <li><tt>Buildsystem</tt>: Fix portability issues.</li> | ||
25 | </ul> | ||
26 | <p> | ||
27 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
28 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">0.16.2 bugtracker</a>. | ||
29 | </p> | ||
30 | {% endblock body_content %} | ||
diff --git a/template/news/2022-04-libgnunetchat-0.1.0.html.j2 b/template/news/2022-04-libgnunetchat-0.1.0.html.j2 new file mode 100644 index 00000000..9568827a --- /dev/null +++ b/template/news/2022-04-libgnunetchat-0.1.0.html.j2 | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>libgnunetchat 0.1.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of the client side library libgnunetchat 0.1.0. | ||
7 | <br/> | ||
8 | This library brings an abstraction layer using the client API from different GNUnet services to provide the functionality of a typical messenger application. The goal is to make developing such applications easier and independent of the GUI toolkit. So people can develop different interfaces being compatible with eachother despite visual differences, a few missing features or differences in overall design. | ||
9 | <br/> | ||
10 | The library relies on multiple services from GNUnet to implement its features. More information about that can be found <a href="https://git.gnunet.org/libgnunetchat.git/tree/README.md">here</a>. | ||
11 | </p> | ||
12 | <h4>Download links</h4> | ||
13 | <ul> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.0.tar.gz">libgnunetchat-0.1.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.0.tar.gz.sig">signature</a>)</li> | ||
15 | </ul> | ||
16 | <p> | ||
17 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
18 | </p> | ||
19 | <p> | ||
20 | Note that due to mirror synchronization, not all links might be functional | ||
21 | early after the release. For direct access try | ||
22 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <h4>Noteworthy changes in 0.1.0</h4> | ||
25 | <ul> | ||
26 | <li>This release requires the GNUnet Messenger Service 0.1!</li> | ||
27 | <li>It allows account management (creation, listing and deletion).</li> | ||
28 | <li>Clients are able to switch between accounts during runtime.</li> | ||
29 | <li>The client can rename an account or update its key.</li> | ||
30 | <li>Contact exchange is possible via lobbies in form of URIs to be shared as text form or potentially QR encoded.</li> | ||
31 | <li>Each resource allows handling a user pointer for the client application.</li> | ||
32 | <li>Contacts and groups can be managed individually and given a custom nick name.</li> | ||
33 | <li>It is possible to request and open a direct chat with any contact.</li> | ||
34 | <li>Groups allow listing their members with custom user pointers related to the group memberships.</li> | ||
35 | <li>Chats can be left explicitly.</li> | ||
36 | <li>Each chat will be represented as context resource abstracting the variant of chat.</li> | ||
37 | <li>It is possible to send text messages, send files, share files and send read receipts explicitly.</li> | ||
38 | <li>Received messages allow checking for a read receipt status.</li> | ||
39 | <li>Messages can be deleted with a custom delay.</li> | ||
40 | <li>Files in a chat can be fully managed (they can be uploaded, downloaded, unindexed and provide a decrypted temporary preview if necessary) while being encrypted individually.</li> | ||
41 | <li>The status of each operation (upload, download, unindex) regarding files can be tracked.</li> | ||
42 | <li>Received invitations to new chats can be accepted.</li> | ||
43 | </ul> | ||
44 | <p> | ||
45 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/libgnunetchat.git/tree/ChangeLog">ChangeLog</a>. | ||
46 | </p> | ||
47 | <h4>Known Issues</h4> | ||
48 | <ul> | ||
49 | <li>The test cases are not fully complete and they may fail because of timeouts erratically.</li> | ||
50 | </ul> | ||
51 | <p> | ||
52 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a>. | ||
53 | </p> | ||
54 | |||
55 | {% endblock body_content %} | ||
diff --git a/template/news/2022-05-messenger-gtk-0.7.0.html.j2 b/template/news/2022-05-messenger-gtk-0.7.0.html.j2 new file mode 100644 index 00000000..6c7c1982 --- /dev/null +++ b/template/news/2022-05-messenger-gtk-0.7.0.html.j2 | |||
@@ -0,0 +1,68 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>Messenger-GTK 0.7.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of the Messenger-GTK application. | ||
7 | <br/> | ||
8 | The application is a convergent GTK messaging application using the GNUnet Messenger service. The goal is to provide private and secure communication between any group of devices. The interface is also designed in a way to scale down to mobile and small screen devices like phones or tablets. | ||
9 | </p> | ||
10 | <p> | ||
11 | The application provides the following features: | ||
12 | </p> | ||
13 | <ul> | ||
14 | <li>Creating direct chats and group chats</li> | ||
15 | <li>Managing your contacts and groups</li> | ||
16 | <li>Invite contacts to a group</li> | ||
17 | <li>Sending text messages</li> | ||
18 | <li>Sending voice recordings</li> | ||
19 | <li>Sharing files privately</li> | ||
20 | <li>Deleting messages with any custom delay</li> | ||
21 | <li>Renaming contacts</li> | ||
22 | <li>Exchanging contact details physically</li> | ||
23 | <li>Verifying contact identities</li> | ||
24 | <li>Switching between different accounts</li> | ||
25 | </ul> | ||
26 | <p> | ||
27 | The application utilizes the previously released library "libgnunetchat" in a convergent graphical user interface. More information about that can be found <a href="https://git.gnunet.org/messenger-gtk.git/tree/README.md">here</a>. | ||
28 | </p> | ||
29 | <p> | ||
30 | It is also possible to install and try the application as flatpak. The application is already available on <a href="https://flathub.org/apps/details/org.gnunet.Messenger">flathub.org</a>. Otherwise you will find the source code ready to compile below as well. | ||
31 | </p> | ||
32 | <h4>Download links</h4> | ||
33 | <ul> | ||
34 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.7.0.tar.gz">messenger-gtk-0.7.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.7.0.tar.gz.sig">signature</a>)</li> | ||
35 | </ul> | ||
36 | <p> | ||
37 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
38 | </p> | ||
39 | <p> | ||
40 | Note that due to mirror synchronization, not all links might be functional | ||
41 | early after the release. For direct access try | ||
42 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
43 | </p> | ||
44 | <h4>Noteworthy changes in 0.7.0</h4> | ||
45 | <ul> | ||
46 | <li>The version iteration will be inherited by cadet-gtk as logical successor.</li> | ||
47 | <li>It is possible to create direct chats and group chats via physical or virtual exchange.</li> | ||
48 | <li>Groups and contacts can be named, left, verified or deleted.</li> | ||
49 | <li>Existing contacts can be invited to any private or public group.</li> | ||
50 | <li>Chats allow sending text messages, voice recordings or files.</li> | ||
51 | <li>Messages can be deleted with a custom delete or automatically.</li> | ||
52 | <li>Switching between different accounts can be done during runtime.</li> | ||
53 | </ul> | ||
54 | <p> | ||
55 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/messenger-gtk.git/tree/ChangeLog">ChangeLog</a>. | ||
56 | </p> | ||
57 | <h4>Known Issues</h4> | ||
58 | <ul> | ||
59 | <li>It is still difficult to get reliable chats between different devices. This might change with the upcoming changes on the GNUnet transport layer though.</li> | ||
60 | <li>It might happen that the FS service is not connected which might stop any file upload or stall it forever.</li> | ||
61 | <li>The webcam/camera to scan QR codes might not get picked up properly (for example it doesn't work yet with the Pinephone).</li> | ||
62 | <li>The application might crash at times. So consider it still being in development.</li> | ||
63 | </ul> | ||
64 | <p> | ||
65 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a>. | ||
66 | </p> | ||
67 | |||
68 | {% endblock body_content %} | ||
diff --git a/template/news/2022-06-0.17.0.html.j2 b/template/news/2022-06-0.17.0.html.j2 new file mode 100644 index 00000000..fea9e8f8 --- /dev/null +++ b/template/news/2022-06-0.17.0.html.j2 | |||
@@ -0,0 +1,87 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of GNUnet 0.17.0. | ||
7 | <br/> | ||
8 | GNUnet is an alternative network stack for building secure, decentralized and | ||
9 | privacy-preserving distributed applications. | ||
10 | Our goal is to replace the old insecure Internet protocol stack. | ||
11 | Starting from an application for secure publication of files, it has grown to | ||
12 | include all kinds of basic protocol components and applications towards the | ||
13 | creation of a GNU internet. | ||
14 | </p> | ||
15 | <p> | ||
16 | This is a new major release. It breaks protocol compatibility with the 0.16.x versions. | ||
17 | Please be aware that Git master is thus henceforth (and has been for a | ||
18 | while) <b>INCOMPATIBLE</b> with | ||
19 | the 0.16.x GNUnet network, and interactions between old and new peers | ||
20 | will result in issues. 0.16.x peers will be able to communicate with Git | ||
21 | master or 0.17.x peers, but some services - in particular the DHT - will not be compatible.<br/> | ||
22 | In terms of usability, users should be aware that there are still | ||
23 | <b>a number of known open issues</b> in particular with respect to ease | ||
24 | of use, but also some critical privacy issues especially for mobile users. | ||
25 | Also, the nascent network is tiny and thus unlikely to | ||
26 | provide good anonymity or extensive amounts of interesting information. | ||
27 | As a result, the 0.17.0 release is still <b>only suitable for early adopters | ||
28 | with some reasonable pain tolerance</b>. | ||
29 | </p> | ||
30 | <h4>Download links</h4> | ||
31 | <ul> | ||
32 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.0.tar.gz">gnunet-0.17.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.0.tar.gz.sig">signature</a>)</li> | ||
33 | </ul> | ||
34 | <p> | ||
35 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
36 | </p> | ||
37 | <p> | ||
38 | Note that due to mirror synchronization, not all links might be functional | ||
39 | early after the release. For direct access try | ||
40 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
41 | </p> | ||
42 | <h4>Noteworthy changes in 0.17.0 (since 0.16.3)</h4> | ||
43 | <ul> | ||
44 | <li><tt>GNS</tt>: | ||
45 | <ul> | ||
46 | <li>FCFSD: Allow configuration of relative expiration time of added records.</li> | ||
47 | <li>Aligned with breaking changes in specification. <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li> | ||
48 | </ul> | ||
49 | </li> | ||
50 | <li><tt>DHT</tt>: | ||
51 | <ul> | ||
52 | <li>Aligned and reordered message formats. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li> | ||
53 | <li>Moved block type definitions to <a href="https://gana.gnunet.org">GANA</a></li> | ||
54 | |||
55 | <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li> | ||
56 | </ul> | ||
57 | </li> | ||
58 | <li><tt>UTIL</tt>: | ||
59 | <ul> | ||
60 | <li>Fix scheduler bug with same-priority immediately-ready tasks possibly hogging the scheduler.</li> | ||
61 | <li>Fix mysql/mariadb detection.</li> | ||
62 | </ul> | ||
63 | </li> | ||
64 | </ul> | ||
65 | <p> | ||
66 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
67 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
68 | </p> | ||
69 | <h4>Known Issues</h4> | ||
70 | <ul> | ||
71 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
72 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
73 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
74 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
75 | <li>The RPS subsystem remains experimental.</li> | ||
76 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
77 | </ul> | ||
78 | <p> | ||
79 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
80 | </p> | ||
81 | |||
82 | <h4>Thanks</h4> | ||
83 | <p> | ||
84 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
85 | Christian Grothoff, Tristan Schwieren, Florian Dold, Thien-Thi Nguyen, t3sserakt, TheJackiMonster and Martin Schanzenbach. | ||
86 | </p> | ||
87 | {% endblock body_content %} | ||
diff --git a/template/news/2022-06-0.17.1.html.j2 b/template/news/2022-06-0.17.1.html.j2 new file mode 100644 index 00000000..fdf41608 --- /dev/null +++ b/template/news/2022-06-0.17.1.html.j2 | |||
@@ -0,0 +1,30 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.1</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.1.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.1.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.1.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.1.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.17.0 (since 0.17.1)</h4> | ||
22 | <ul> | ||
23 | <li><tt>DHT</tt>: Bugfix in HELLO message format. LSD0004 compliance.</li> | ||
24 | <li><tt>RECLAIM</tt>: OpenID Connect plugin now needs (optional) jose dependency.</li> | ||
25 | </ul> | ||
26 | <p> | ||
27 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
28 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bugtracker</a>. | ||
29 | </p> | ||
30 | {% endblock body_content %} | ||
diff --git a/template/news/2022-06-DHTSpec1.html.j2 b/template/news/2022-06-DHTSpec1.html.j2 new file mode 100644 index 00000000..9bebdf15 --- /dev/null +++ b/template/news/2022-06-DHTSpec1.html.j2 | |||
@@ -0,0 +1,39 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>DHT Technical Specification Milestones 1-3/5</h1> | ||
5 | <p> | ||
6 | We are happy to announce the completion of the following milestones for the DHT specification. The objective is to provide a detailed and comprehensive guide for implementors of the GNUnet DHT "R<sup>5</sup>N". | ||
7 | The milestones consist of documenting the base data structures and processes | ||
8 | of the protocol. | ||
9 | This includes the specification of the DHT message wire and serialization formats.<br> | ||
10 | </p> | ||
11 | <p> | ||
12 | Completed milestones overview: | ||
13 | <ol> | ||
14 | <li>Defined base data structures and processes that form the foundation of the protocol: Routing table, distance metrics, infrastructure messages, bootstrapping and base functions for block processing.</li> | ||
15 | <li>Defined the core data structures and processes that are specific to the R<sup>5</sup>N protocol: Block and peer filtering, routing table management and lookup algorithms.</li> | ||
16 | <li>The protocol was extended to support path signatures. This enables optional integrity protection of paths result messages have taken in a potentially rouge environment.</li> | ||
17 | </ol> | ||
18 | </p> | ||
19 | <p> | ||
20 | The current protocol is implemented as part of GNUnet 0.17.x and gnunet-go as | ||
21 | <a href="https://lists.gnu.org/archive/html/gnunet-developers/2022-06/msg00019.html">previously announced on the mailing list</a>. | ||
22 | </p> | ||
23 | <p> | ||
24 | <b>We invite any interested party to read the document and provide critical | ||
25 | review and feedback. This greatly helps us to improve the protocol | ||
26 | and help future implementations. Contact us at <a href="mailto:gnunet-developers@gnunet.org">the gnunet-developers mailing list</a></b>. | ||
27 | As part of the remaining milestones, the specification will be updated and | ||
28 | interoperability testing will be conducted. | ||
29 | Further, we aim to present the draft specification at IETF. | ||
30 | </p> | ||
31 | <ul> | ||
32 | <li><a href="https://lsd.gnunet.org/lsd0004/draft-schanzen-r5n.txt">Plain text version</a></li> | ||
33 | <li><a href="https://lsd.gnunet.org/lsd0004/draft-schanzen-r5n.html">HTML version</a></li> | ||
34 | <li><a href="https://git.gnunet.org/lsd0004.git">Git sources</a></li> | ||
35 | </ul> | ||
36 | <p> | ||
37 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/assure">NGI Assure fund</a>. | ||
38 | </p> | ||
39 | {% endblock body_content %} | ||
diff --git a/template/news/2022-07-0.17.2.html.j2 b/template/news/2022-07-0.17.2.html.j2 new file mode 100644 index 00000000..a1236da4 --- /dev/null +++ b/template/news/2022-07-0.17.2.html.j2 | |||
@@ -0,0 +1,31 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.2</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.1. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.2.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.2.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.2.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.2.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.17.1 (since 0.17.2)</h4> | ||
22 | <ul> | ||
23 | <li><tt>DHT</tt>: Various bugfixes in the protocol.</li> | ||
24 | <li><tt>RECLAIM</tt>: OpenID Connect plugin improvements.</li> | ||
25 | <li><tt>ABE</tt>: Removed.</li> | ||
26 | </ul> | ||
27 | <p> | ||
28 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
29 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bugtracker</a>. | ||
30 | </p> | ||
31 | {% endblock body_content %} | ||
diff --git a/template/news/2022-08-0.17.3.html.j2 b/template/news/2022-08-0.17.3.html.j2 new file mode 100644 index 00000000..288c645e --- /dev/null +++ b/template/news/2022-08-0.17.3.html.j2 | |||
@@ -0,0 +1,49 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.3</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.2. | ||
7 | In addition to the fixed in the source, the documentation websites including | ||
8 | the handbook have been updated and consolidated: <a href="https://docs.gnunet.org">https://docs.gnunet.org</a>. | ||
9 | </p> | ||
10 | <p> | ||
11 | Notably, the GNUnet project now publishes a GNS zone for its websites which can be used | ||
12 | to test resolution on any installation. | ||
13 | For example: | ||
14 | </p> | ||
15 | <p> | ||
16 | <code class="block"> | ||
17 | $ gnunet-gns -t ANY -u www.gnunet.org | ||
18 | </code> | ||
19 | </p> | ||
20 | <h4>Download links</h4> | ||
21 | <ul> | ||
22 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.3.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.3.tar.gz</a></li> | ||
23 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.3.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.3.tar.gz.sig</a></li> | ||
24 | </ul> | ||
25 | <p> | ||
26 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
27 | </p> | ||
28 | <p> | ||
29 | Note that due to mirror synchronization, not all links may be functional | ||
30 | early after the release. For direct access try | ||
31 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
32 | </p> | ||
33 | <h4>Noteworthy changes in 0.17.3 (since 0.17.2)</h4> | ||
34 | <ul> | ||
35 | <li><tt>DHT</tt>: Various bugfixes in the protocol.</li> | ||
36 | <li><tt>TRANSPORT</tt>: Fix HTTPS tests. <a href="https://bugs.gnunet.org/view.php?id=7257">#7257</a></li> | ||
37 | <li><tt>DOCUMENTATION</tt>: | ||
38 | <ul> | ||
39 | <li>Migrate from texinfo to sphinx.</li> | ||
40 | <li>Dropped dependency on texinfo.</li> | ||
41 | <li>Added dependency on sphinx.</li> | ||
42 | </ul> | ||
43 | </li> | ||
44 | </ul> | ||
45 | <p> | ||
46 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
47 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bugtracker</a>. | ||
48 | </p> | ||
49 | {% endblock body_content %} | ||
diff --git a/template/news/2022-08-0.17.4.html.j2 b/template/news/2022-08-0.17.4.html.j2 new file mode 100644 index 00000000..e3abfb59 --- /dev/null +++ b/template/news/2022-08-0.17.4.html.j2 | |||
@@ -0,0 +1,22 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.4</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.3 because of a missing file in the | ||
7 | tarball required to build the documentation. | ||
8 | </p> | ||
9 | <h4>Download links</h4> | ||
10 | <ul> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.4.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.4.tar.gz</a></li> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.4.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.4.tar.gz.sig</a></li> | ||
13 | </ul> | ||
14 | <p> | ||
15 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
16 | </p> | ||
17 | <p> | ||
18 | Note that due to mirror synchronization, not all links may be functional | ||
19 | early after the release. For direct access try | ||
20 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
21 | </p> | ||
22 | {% endblock body_content %} | ||
diff --git a/template/news/2022-09-0.17.5.html.j2 b/template/news/2022-09-0.17.5.html.j2 new file mode 100644 index 00000000..171ce3a1 --- /dev/null +++ b/template/news/2022-09-0.17.5.html.j2 | |||
@@ -0,0 +1,21 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.5</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.4.. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.5.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.5.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.5.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.5.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | {% endblock body_content %} | ||
diff --git a/template/news/2022-09-0.17.6.html.j2 b/template/news/2022-09-0.17.6.html.j2 new file mode 100644 index 00000000..8d28059b --- /dev/null +++ b/template/news/2022-09-0.17.6.html.j2 | |||
@@ -0,0 +1,35 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.17.6</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.17.5. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.6.tar.gz">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.6.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.17.6.tar.gz.sig">http://ftpmirror.gnu.org/gnunet/gnunet-0.17.6.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.17.6 (since 0.17.5)</h4> | ||
22 | <ul> | ||
23 | <li><tt>NAMESTORE</tt>: | ||
24 | <ul> | ||
25 | <li>Added transactional API. <a href="https://bugs.gnunet.org/view.php?id=7203">#7203</a></li> | ||
26 | <li>Removed heap storage storage plugin.</li> | ||
27 | </ul> | ||
28 | </li> | ||
29 | <li><tt>FS</tt>: Fix `-s` and `-o` options not working together in <tt>gnunet-search</tt></li> | ||
30 | <li><tt>REST</tt>: Added (optional) authentication for all rest endpoints. <a href="https://bugs.gnunet.org/view.php?id=5669">#5669</a> </li> | ||
31 | <li><tt>DOC</tt>: Doxygen is now built only if available. Sphinx is built on bootstrap. <a href="https://bugs.gnunet.org/view.php?id=7324">#7324</a> </li> | ||
32 | <li><tt>UTIL</tt>: Remove outdated test. <a href="https://bugs.gnunet.org/view.php?id=7361">#7361</a></li> | ||
33 | <li><tt>BUILD</tt>: Remove gnurl as dependency and improve cURL detection. <a href="https://bugs.gnunet.org/view.php?id=5084">#5084</a></li> | ||
34 | </ul> | ||
35 | {% endblock body_content %} | ||
diff --git a/template/news/2022-09-messenger-cli-0.1.0.html.j2 b/template/news/2022-09-messenger-cli-0.1.0.html.j2 new file mode 100644 index 00000000..f9829d6f --- /dev/null +++ b/template/news/2022-09-messenger-cli-0.1.0.html.j2 | |||
@@ -0,0 +1,56 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>messenger-cli 0.1.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of the messenger-cli application. | ||
7 | <br/> | ||
8 | The application is a counterpart for the terminal to the previous release of the GTK application using the GNUnet Messenger service. The goal is to provide private and secure communication between any group of devices. So server admins or users relying on a terminal focused window manager have now a proper option to utilize the service as well. | ||
9 | </p> | ||
10 | <p> | ||
11 | The application provides the following features: | ||
12 | </p> | ||
13 | <ul> | ||
14 | <li>Creating direct chats and group chats</li> | ||
15 | <li>Sending text messages</li> | ||
16 | <li>Sharing files privately</li> | ||
17 | <li>Deleting messages</li> | ||
18 | <li>Verifying contact identities</li> | ||
19 | <li>Switching between different accounts</li> | ||
20 | </ul> | ||
21 | <p> | ||
22 | The application utilizes the previously released library "libgnunetchat" in an user interface built with ncurses. It will adapt its different views depending on the terminal size to show most important information. The navigation is done via arrow-, ESCAPE, TAB, ENTER and DELETE keys. More information about that can be found <a href="https://git.gnunet.org/messenger-cli.git/tree/README.md">here</a>. | ||
23 | </p> | ||
24 | <h4>Download links</h4> | ||
25 | <ul> | ||
26 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.1.0.tar.gz">messenger-cli-0.1.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.1.0.tar.gz.sig">signature</a>)</li> | ||
27 | </ul> | ||
28 | <p> | ||
29 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
30 | </p> | ||
31 | <p> | ||
32 | Note that due to mirror synchronization, not all links might be functional | ||
33 | early after the release. For direct access try | ||
34 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
35 | </p> | ||
36 | <h4>Noteworthy changes in 0.1.0</h4> | ||
37 | <ul> | ||
38 | <li>It is possible to create direct chats and group chats via lobbies, shared keys or invitations</li> | ||
39 | <li>Members of a chats can be observed</li> | ||
40 | <li>Chats allow sending text messages or files</li> | ||
41 | <li>Messages can be deleted in any chat locally</li> | ||
42 | <li>Switching between different accounts can be done during runtime</li> | ||
43 | </ul> | ||
44 | <p> | ||
45 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/messenger-cli.git/tree/ChangeLog">ChangeLog</a>. | ||
46 | </p> | ||
47 | <h4>Known Issues</h4> | ||
48 | <ul> | ||
49 | <li>It is still difficult to get reliable chats between different devices. This might change with the upcoming changes on the GNUnet transport layer though.</li> | ||
50 | <li>It might happen that the FS service is not connected which might stop any file upload or stall it forever.</li> | ||
51 | </ul> | ||
52 | <p> | ||
53 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a>. | ||
54 | </p> | ||
55 | |||
56 | {% endblock body_content %} | ||
diff --git a/template/news/2022-10-0.18.0.html.j2 b/template/news/2022-10-0.18.0.html.j2 new file mode 100644 index 00000000..1f281b0e --- /dev/null +++ b/template/news/2022-10-0.18.0.html.j2 | |||
@@ -0,0 +1,98 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.18.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of GNUnet 0.18.0. | ||
7 | <br/> | ||
8 | GNUnet is an alternative network stack for building secure, decentralized and | ||
9 | privacy-preserving distributed applications. | ||
10 | Our goal is to replace the old insecure Internet protocol stack. | ||
11 | Starting from an application for secure publication of files, it has grown to | ||
12 | include all kinds of basic protocol components and applications towards the | ||
13 | creation of a GNU internet. | ||
14 | </p> | ||
15 | <p> | ||
16 | This is a new major release. It breaks protocol compatibility with the 0.17.x versions. | ||
17 | Please be aware that Git master is thus henceforth (and has been for a | ||
18 | while) <b>INCOMPATIBLE</b> with | ||
19 | the 0.17.x GNUnet network, and interactions between old and new peers | ||
20 | will result in issues. 0.17.x peers will be able to communicate with Git | ||
21 | master or 0.18.x peers, but some services - in particular the DHT - will not be compatible.<br/> | ||
22 | In terms of usability, users should be aware that there are still | ||
23 | <b>a number of known open issues</b> in particular with respect to ease | ||
24 | of use, but also some critical privacy issues especially for mobile users. | ||
25 | Also, the nascent network is tiny and thus unlikely to | ||
26 | provide good anonymity or extensive amounts of interesting information. | ||
27 | As a result, the 0.18.0 release is still <b>only suitable for early adopters | ||
28 | with some reasonable pain tolerance</b>. | ||
29 | </p> | ||
30 | <h4>Download links</h4> | ||
31 | <ul> | ||
32 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.18.0.tar.gz">gnunet-0.18.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.18.0.tar.gz.sig">signature</a>)</li> | ||
33 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.18.0.tar.gz">gnunet-gtk-0.18.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.18.0.tar.gz.sig">signature</a>)</li> | ||
34 | </ul> | ||
35 | <p> | ||
36 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
37 | </p> | ||
38 | <p> | ||
39 | Note that due to mirror synchronization, not all links might be functional | ||
40 | early after the release. For direct access try | ||
41 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
42 | </p> | ||
43 | <h4>Noteworthy changes in 0.18.0 (since 0.17.6)</h4> | ||
44 | <ul> | ||
45 | <li><tt>UTIL</tt>: Added <tt>enum GNUNET_ErrorCode</tt> for better error handling throughout the API.</li> | ||
46 | <li><tt>NAMESTORE</tt>: | ||
47 | <ul> | ||
48 | <li>Moved namecache updates out of namestore and into zonemaster. This fixes issues from version 0.17.6 with respect to premature namestore monitor update messages and zone propagation. [<a href="https://bugs.gnunet.org/view.php?id=7378">#7378</a>]</li> | ||
49 | <li>Added a new API for bulk imports: <tt>GNUNET_NAMESTORE_records_store2</tt>. The API can be combined with the transactional API in order to significantly improve namestore performance for lage zones. For postgres databases, storing records is around 20x faster than the old API. [<a href="https://bugs.gnunet.org/view.php?id=7379">#7379</a>]</li> | ||
50 | <li>New database setup utility <tt>gnunet-namestore-dbtool</tt>. Databases can be initialized and reset using this new CLI. Currently, database plugins still allow to initialize databases automatically as well by setting <tt>INIT_ON_CONNECT</tt> (Default: YES). [<a href="https://bugs.gnunet.org/view.php?id=7204">#7204</a>]</li> | ||
51 | <li>There are new APIs for zone iterations and monitoring which support filtering of records using <tt>GNUNET_GNSRECORD_Filter</tt>. By default, maintenance records such as <tt>TOMBSTONE</tt>s are filtered. [<a href="https://bugs.gnunet.org/view.php?id=7193">#7193</a>]</li> | ||
52 | <li>New zonefile import utility <tt>gnunet-namestore-zonefile</tt> that for DNS zone files. [<a href="https://bugs.gnunet.org/view.php?id=7396">#7396</a>]</li> | ||
53 | <li>Make use of new <tt>enum GNUNET_ErrorCode</tt> in C and REST API. [<a href="https://bugs.gnunet.org/view.php?id=7399">#7399</a>]</li> | ||
54 | <li>Included handling of orphaned GNS records. Records are orphaned of Egos are (accidentally) deleted which makes operations on records difficult but at the same time existing records are still published. [<a href="https://bugs.gnunet.org/view.php?id=7401">#7401</a>, <a href="https://bugs.gnunet.org/view.php?id=7402">#7402</a>]</li> | ||
55 | <li>Updated the <a href="https://docs.gnunet.org/developers/subsystems/namestore/namestore.html">C API documentation</a> to reflect the above changes.</li> | ||
56 | <li>Updated the <a href="https://docs.gnunet.org/users/gns.html">user documentation</a> to reflect the above changes and included various tutorials on zone management.</li> | ||
57 | <li>Updated the <a href="https://docs.gnunet.org/developers/rest/namestore.html">REST API and its documentation</a> to reflect the above changes.</li> | ||
58 | </ul> | ||
59 | </li> | ||
60 | <li><tt>ZONEMASTER</tt>: Zonemaster now uses worker threads for record signing.</li> | ||
61 | <li><tt>DHT</tt>: | ||
62 | <ul> | ||
63 | <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li> | ||
64 | </ul> | ||
65 | </li> | ||
66 | <li><tt>BUILD</tt>: | ||
67 | <ul> | ||
68 | <li>Fix mysql/mariadb detection (again). [<a href="https://bugs.gnunet.org/view.php?id=7356">#7356</a>]</li> | ||
69 | </ul> | ||
70 | </li> | ||
71 | <li><tt>PACKAGING</tt>: Revamped the <a href="https://git.gnunet.org/gnunet-rpm.git/">RPM package</a> available through <a href="https://copr.fedorainfracloud.org/coprs/schanzen/gnunet/">Fedora COPR</a> and <a href="https://bugzilla.redhat.com/show_bug.cgi?id=2094246">submitted it</a>. | ||
72 | </ul> | ||
73 | <p> | ||
74 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
75 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
76 | </p> | ||
77 | <h4>Known Issues</h4> | ||
78 | <ul> | ||
79 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
80 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
81 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
82 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
83 | <li>The RPS subsystem remains experimental.</li> | ||
84 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
85 | </ul> | ||
86 | <p> | ||
87 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
88 | </p> | ||
89 | |||
90 | <h4>Thanks</h4> | ||
91 | <p> | ||
92 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
93 | Bernd Fix, Christian Grothoff, Tristan Schwieren, madmurphy, Willow Liquorice, t3sserakt, TheJackiMonster and Martin Schanzenbach. | ||
94 | We are greatful for funding from <a href="https://nlnet.nl/discovery/">NGI Zero DISCOVERY</a> that | ||
95 | has supported several developers over the last four years to work on the | ||
96 | <a href="../gns.html">GNU Name System</a> and related subsystems. | ||
97 | </p> | ||
98 | {% endblock body_content %} | ||
diff --git a/template/news/2022-10-libgnunetchat-0.1.1.html.j2 b/template/news/2022-10-libgnunetchat-0.1.1.html.j2 new file mode 100644 index 00000000..2fc901da --- /dev/null +++ b/template/news/2022-10-libgnunetchat-0.1.1.html.j2 | |||
@@ -0,0 +1,21 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>libgnunetchat 0.1.1 released</h1> | ||
5 | <p> | ||
6 | This is mostly a bugfix release for libgnunetchat 0.1.0. But it will also update the build process of libgnunetchat to use GNU Automake and it will ensure compatibility with latest changes in GNUnet 0.18.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.1.tar.gz">libgnunetchat-0.1.1.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.1.tar.gz.sig">libgnunetchat-0.1.1.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | {% endblock body_content %} | ||
diff --git a/template/news/2022-11-0.18.1.html.j2 b/template/news/2022-11-0.18.1.html.j2 new file mode 100644 index 00000000..482a9ea4 --- /dev/null +++ b/template/news/2022-11-0.18.1.html.j2 | |||
@@ -0,0 +1,32 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.18.1</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.18.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.18.1.tar.gz">gnunet-0.18.1.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.18.1.tar.gz.sig">signature</a>)</li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.18.1.tar.gz">gnunet-gtk-0.18.1.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.18.1.tar.gz.sig">signature</a>)</li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.18.1 (since 0.18.0)</h4> | ||
22 | <ul> | ||
23 | <li><tt>IDENTITY</tt>: | ||
24 | <ul> | ||
25 | <li>Major internal API cleanup with respect to key serialization.</li> | ||
26 | <li>Removed deprecated default subsystem API.</li> | ||
27 | </ul> | ||
28 | </li> | ||
29 | <li><tt>TESTING</tt>: Fix broken tests.</li> | ||
30 | <li><tt>GTK</tt>: Update with recent changes to IDENTITY.</li> | ||
31 | </ul> | ||
32 | {% endblock body_content %} | ||
diff --git a/template/news/2022-11-NGI-Entrust-GNS-TLDs.html.j2 b/template/news/2022-11-NGI-Entrust-GNS-TLDs.html.j2 new file mode 100644 index 00000000..39759705 --- /dev/null +++ b/template/news/2022-11-NGI-Entrust-GNS-TLDs.html.j2 | |||
@@ -0,0 +1,42 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>NGI Zero Entrust: "GNS to DNS Migration and Zone Management"</h1> | ||
5 | <p> | ||
6 | We are happy to announce that we have successfully acquired funding for further | ||
7 | GNS development and polishing! | ||
8 | </p> | ||
9 | <p> | ||
10 | The GNU Name System specification is in its <a href="https://datatracker.ietf.org/doc/draft-schanzen-gns/">final stages</a>. | ||
11 | Migration paths and large-scale testing as well as generating interest in running GNS zones and registrars is the next logical step. | ||
12 | Hence, this project aims to | ||
13 | <ol> | ||
14 | <li>Facilitate the management of GNS zones by administrators.</li> | ||
15 | <li>Provide users with means to resolve real-world names by (partially) mirroring the DNS root zone.</li> | ||
16 | </ol> | ||
17 | </p> | ||
18 | <p> | ||
19 | <b>Ad 1.:</b> To ease adoption, a framework for GNS registrars will be developed for zone management. | ||
20 | The registrar framework will allow GNS zone administrators to provide | ||
21 | a web-interface for subdomain registration by other users. | ||
22 | The services may also be provided for a fee similar to how DNS domain registrars | ||
23 | operate to cover running costs. | ||
24 | The framework is envisioned to support integration of privacy-friendly payments with <a href="https://www.taler.net">GNU Taler</a>. | ||
25 | </p> | ||
26 | <p> | ||
27 | <b>Ad 2.:</b>We are already hosting and shipping a zone for <tt>gnunet.org</tt> as part of our GNS implementation. | ||
28 | To demonstrate how existing DNS registrars could migrate zones from DNS to GNS | ||
29 | we plan to run multiple GNS zones ourselves which contain the zone information from real-world DNS top-level domains. | ||
30 | This will also show how GNS can be used to secure the existing DNS namespace from | ||
31 | censorship and outages when used in parallel. | ||
32 | A selection of existing top-level domains for which <a href="https://jpmens.net/2021/05/18/dns-open-zone-data/">open data exists</a> will be hosted and served through GNS in order to facilitate the daily use of the name system. | ||
33 | We are are planning to integrate at least three DNS zones and publish them | ||
34 | through GNS for users to resolve in a default GNUnet installation. | ||
35 | </p> | ||
36 | <p> | ||
37 | Watch this space and the mailing list for updates! | ||
38 | </p> | ||
39 | <p> | ||
40 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/entrust/">NGI Zero Entrust Programme</a>. | ||
41 | </p> | ||
42 | {% endblock body_content %} | ||
diff --git a/template/news/2022-12-0.19.0.html.j2 b/template/news/2022-12-0.19.0.html.j2 new file mode 100644 index 00000000..b84370c0 --- /dev/null +++ b/template/news/2022-12-0.19.0.html.j2 | |||
@@ -0,0 +1,90 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.19.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of GNUnet 0.19.0. | ||
7 | <br/> | ||
8 | GNUnet is an alternative network stack for building secure, decentralized and | ||
9 | privacy-preserving distributed applications. | ||
10 | Our goal is to replace the old insecure Internet protocol stack. | ||
11 | Starting from an application for secure publication of files, it has grown to | ||
12 | include all kinds of basic protocol components and applications towards the | ||
13 | creation of a GNU internet. | ||
14 | </p> | ||
15 | <p> | ||
16 | This is a new major release. | ||
17 | It breaks protocol compatibility with the 0.18.x versions. | ||
18 | Please be aware that Git master is thus henceforth (and has been for a | ||
19 | while) <b>INCOMPATIBLE</b> with | ||
20 | the 0.18.x GNUnet network, and interactions between old and new peers | ||
21 | will result in issues. 0.18.x peers will be able to communicate with Git | ||
22 | master or 0.19.x peers, but some services will not be compatible.<br/> | ||
23 | In terms of usability, users should be aware that there are still | ||
24 | <b>a number of known open issues</b> in particular with respect to ease | ||
25 | of use, but also some critical privacy issues especially for mobile users. | ||
26 | Also, the nascent network is tiny and thus unlikely to | ||
27 | provide good anonymity or extensive amounts of interesting information. | ||
28 | As a result, the 0.19.0 release is still <b>only suitable for early adopters | ||
29 | with some reasonable pain tolerance</b>. | ||
30 | </p> | ||
31 | <h4>Download links</h4> | ||
32 | <ul> | ||
33 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.0.tar.gz">gnunet-0.19.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.0.tar.gz.sig">signature</a>)</li> | ||
34 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.19.0.tar.gz">gnunet-gtk-0.19.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.19.0.tar.gz.sig">signature</a>)</li> | ||
35 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.19.0.tar.gz">gnunet-fuse-0.19.0.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.19.0.tar.gz.sig">signature</a>)</li> | ||
36 | </ul> | ||
37 | <p> | ||
38 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
39 | </p> | ||
40 | <p> | ||
41 | Note that due to mirror synchronization, not all links might be functional | ||
42 | early after the release. For direct access try | ||
43 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
44 | </p> | ||
45 | <h4>Noteworthy changes in 0.19.0 (since 0.18.2)</h4> | ||
46 | <ul> | ||
47 | <li><tt>UTIL</tt>: Moved <tt>GNUNET_BIO_MetaData</tt> handling into <tt>FS</tt>.</li> | ||
48 | <li><tt>BUILD</tt>: <tt>platform.h</tt> removed as it should not be used by | ||
49 | third parties anyway. | ||
50 | <tt>gnunet_config.h</tt> is renamed to <tt>gnunet_private_config.h</tt> | ||
51 | and the new replacement <tt>gnunet_config.h</tt> is added to provide | ||
52 | build information for components linking against/using GNUnet.</li> | ||
53 | <li><tt>UTIL</tt>: Components part of <tt>gnunet_util_lib.h</tt> must now | ||
54 | be included through <tt>gnunet_util_lib.h</tt> and through that header | ||
55 | <b>only</b>.</li> | ||
56 | <li><tt>NAMESTORE</tt>: | ||
57 | <tt>gnunet-namestore</tt> can now parse a list of records into zones | ||
58 | from <tt>stdin</tt> in new <tt>recordline</tt> format. | ||
59 | </li> | ||
60 | <li><tt>GTK</tt>: Added an identity selector to the search to accomodate for | ||
61 | previously deprecated "default" identities for subsystems.</li> | ||
62 | <li>Other: Postgres plugins implementations modernized and previous regressions | ||
63 | fixed.</li> | ||
64 | </ul> | ||
65 | <p> | ||
66 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
67 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
68 | </p> | ||
69 | <h4>Known Issues</h4> | ||
70 | <ul> | ||
71 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
72 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
73 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
74 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
75 | <li>The RPS subsystem remains experimental.</li> | ||
76 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
77 | </ul> | ||
78 | <p> | ||
79 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
80 | </p> | ||
81 | |||
82 | <h4>Thanks</h4> | ||
83 | <p> | ||
84 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
85 | Christian Grothoff, Tristan Schwieren, madmurphy, t3sserakt, TheJackiMonster and Martin Schanzenbach. | ||
86 | <!--We are greatful for funding from <a href="https://nlnet.nl/discovery/">NGI Zero DISCOVERY</a> that | ||
87 | has supported several developers over the last four years to work on the | ||
88 | <a href="../gns.html">GNU Name System</a> and related subsystems.--> | ||
89 | </p> | ||
90 | {% endblock body_content %} | ||
diff --git a/template/news/2022-12-0.19.1.html.j2 b/template/news/2022-12-0.19.1.html.j2 new file mode 100644 index 00000000..6e3b86a2 --- /dev/null +++ b/template/news/2022-12-0.19.1.html.j2 | |||
@@ -0,0 +1,24 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.19.1</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.19.0. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.1.tar.gz">gnunet-0.19.1.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.1.tar.gz.sig">signature</a>)</li> | ||
11 | </ul> | ||
12 | <p> | ||
13 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
14 | </p> | ||
15 | <p> | ||
16 | Note that due to mirror synchronization, not all links may be functional | ||
17 | early after the release. For direct access try | ||
18 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
19 | </p> | ||
20 | <p> | ||
21 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
22 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
23 | </p> | ||
24 | {% endblock body_content %} | ||
diff --git a/template/news/2023-01-0.19.2.html.j2 b/template/news/2023-01-0.19.2.html.j2 new file mode 100644 index 00000000..2e85c512 --- /dev/null +++ b/template/news/2023-01-0.19.2.html.j2 | |||
@@ -0,0 +1,24 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GNUnet 0.19.2</h1> | ||
5 | <p> | ||
6 | This is a bugfix release for gnunet 0.19.1. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.2.tar.gz">gnunet-0.19.2.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.19.2.tar.gz.sig">signature</a>)</li> | ||
11 | </ul> | ||
12 | <p> | ||
13 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
14 | </p> | ||
15 | <p> | ||
16 | Note that due to mirror synchronization, not all links may be functional | ||
17 | early after the release. For direct access try | ||
18 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
19 | </p> | ||
20 | <p> | ||
21 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and | ||
22 | the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. | ||
23 | </p> | ||
24 | {% endblock body_content %} | ||
diff --git a/template/news/2023-02-0.19.3.html.j2 b/template/news/2023-02-0.19.3.html.j2 new file mode 100644 index 00000000..b62f17db --- /dev/null +++ b/template/news/2023-02-0.19.3.html.j2 | |||
@@ -0,0 +1,27 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | {% set newver = '0.19.3' %} | ||
4 | {% set oldver = '0.19.2' %} | ||
5 | <main id="maincontent"> | ||
6 | <h1>GNUnet {{newver}}</h1> | ||
7 | <p> | ||
8 | This is a bugfix release for gnunet {{oldver}}. | ||
9 | Note that starting with this release, we will no longer ship a verbose ChangeLog file in the tarball. The git log serves this purpose now. | ||
10 | </p> | ||
11 | <h4>Download links</h4> | ||
12 | <ul> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz">gnunet-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
14 | </ul> | ||
15 | <p> | ||
16 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
17 | </p> | ||
18 | <p> | ||
19 | Note that due to mirror synchronization, not all links may be functional | ||
20 | early after the release. For direct access try | ||
21 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
22 | </p> | ||
23 | <p> | ||
24 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}">git log</a>, the <a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}">NEWS</a> and | ||
25 | the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=417">bug tracker</a>. | ||
26 | </p> | ||
27 | {% endblock body_content %} | ||
diff --git a/template/news/2023-02-libgnunetchat-0.1.3.html.j2 b/template/news/2023-02-libgnunetchat-0.1.3.html.j2 new file mode 100644 index 00000000..f3c951eb --- /dev/null +++ b/template/news/2023-02-libgnunetchat-0.1.3.html.j2 | |||
@@ -0,0 +1,21 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>libgnunetchat 0.1.3 released</h1> | ||
5 | <p> | ||
6 | This is mostly a bugfix and compatibility release for libgnunetchat 0.1.2. But it will also change the build process of libgnunetchat to use Meson instead of GNU Automake and it will ensure compatibility with latest changes in GNUnet 0.19.0. The required version of GNUnet to build this library is 0.19.3 for compatibility reasons though. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.3.tar.xz">libgnunetchat-0.1.3.tar.xz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.3.tar.xz.sig">libgnunetchat-0.1.3.tar.xz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | {% endblock body_content %} | ||
diff --git a/template/news/2023-02-messenger-gtk-0.8.0.html.j2 b/template/news/2023-02-messenger-gtk-0.8.0.html.j2 new file mode 100644 index 00000000..ef1c31b4 --- /dev/null +++ b/template/news/2023-02-messenger-gtk-0.8.0.html.j2 | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>Messenger-GTK 0.8.0</h1> | ||
5 | <p> | ||
6 | Following the new release of "libgnunetchat" there have been some changes regarding the applications utilizing it. So we are pleased to announce the new release of the Messenger-GTK application. This release will be compatible with libgnunetchat 0.1.3 and GNUnet 0.19.3 upwards. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.8.0.tar.xz">messenger-gtk-0.8.0.tar.xz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.8.0.tar.xz.sig">messenger-gtk-0.8.0.tar.xz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.8.0</h4> | ||
22 | <ul> | ||
23 | <li>A simple media player has been added to the user interface to play received audio and video files without a third-party application.</li> | ||
24 | <li>Multiple crashes and breaking issues have been fixed.</li> | ||
25 | </ul> | ||
26 | <p> | ||
27 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/messenger-gtk.git/tree/ChangeLog">ChangeLog</a>. | ||
28 | </p> | ||
29 | <h4>Known Issues</h4> | ||
30 | <ul> | ||
31 | <li>Chats still require a reliable connection between GNUnet peers. So this still depends on the upcoming NAT traversal to be used outside of local networks for most users (see <a href="https://bugs.gnunet.org/view.php?id=5710">#5710</a>).</li> | ||
32 | <li>File sharing via the FS service should work in a GNUnet single-user setup but a multi-user setup breaks it (see <a href="https://bugs.gnunet.org/view.php?id=7355">#7355</a>)</li> | ||
33 | <li>Mobile devices might come with multiple sensors per camera which doesn't get recogniced by the GStreamer pipeline. As soon as libcamera supports those devices, there will be changes to utilize that fixing this issue.</li> | ||
34 | </ul> | ||
35 | <p> | ||
36 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a>. | ||
37 | </p> | ||
38 | <h2>messenger-cli 0.1.1</h2> | ||
39 | <p> | ||
40 | There's also a new release of the terminal application using the GNUnet Messenger service. But since that's only a release to provide compatibility with changes in its dependencies it is only a minor release without adding new features. | ||
41 | </p> | ||
42 | <h4>Download links</h4> | ||
43 | <ul> | ||
44 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.1.1.tar.xz">messenger-cli-0.1.1.tar.xz</a></li> | ||
45 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.1.1.tar.xz.sig">messenger-cli-0.1.1.tar.xz.sig</a></li> | ||
46 | </ul> | ||
47 | <p> | ||
48 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
49 | </p> | ||
50 | <p> | ||
51 | Note that due to mirror synchronization, not all links may be functional | ||
52 | early after the release. For direct access try | ||
53 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
54 | </p> | ||
55 | {% endblock body_content %} | ||
diff --git a/template/news/2023-04-0.19.4.html.j2 b/template/news/2023-04-0.19.4.html.j2 new file mode 100644 index 00000000..41b39572 --- /dev/null +++ b/template/news/2023-04-0.19.4.html.j2 | |||
@@ -0,0 +1,28 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | {% set newver = '0.19.4' %} | ||
4 | {% set oldver = '0.19.3' %} | ||
5 | <main id="maincontent"> | ||
6 | <h1>GNUnet {{newver}}</h1> | ||
7 | <p> | ||
8 | This is a bugfix release for gnunet {{oldver}}. | ||
9 | Special thanks goes out to ulfvonbelow who provided an array of patches. | ||
10 | This is not an April Fool's joke. | ||
11 | </p> | ||
12 | <h4>Download links</h4> | ||
13 | <ul> | ||
14 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz">gnunet-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
15 | </ul> | ||
16 | <p> | ||
17 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
18 | </p> | ||
19 | <p> | ||
20 | Note that due to mirror synchronization, not all links may be functional | ||
21 | early after the release. For direct access try | ||
22 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
23 | </p> | ||
24 | <p> | ||
25 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}">git log</a>, the <a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}">NEWS</a> and | ||
26 | the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=417">bug tracker</a>. | ||
27 | </p> | ||
28 | {% endblock body_content %} | ||
diff --git a/template/news/2023-08-GSoC-QUIC.html.j2 b/template/news/2023-08-GSoC-QUIC.html.j2 new file mode 100644 index 00000000..e9d41fc8 --- /dev/null +++ b/template/news/2023-08-GSoC-QUIC.html.j2 | |||
@@ -0,0 +1,36 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>GSoC Work Product: GNUnet over QUIC</h1> | ||
5 | <p> | ||
6 | Hi, my name is Marshall and throughout the summer of 2023 I worked on developing a new communicator for the GNUnet transport service. I learned a lot about GNUnet through my development experience. Here are some details about the journey! | ||
7 | </p> | ||
8 | <h2>Goals of the Project.</h2> | ||
9 | <p> | ||
10 | The goal of this project was to develop a new transport, QUIC, for the <a href="https://docs.gnunet.org/developers/transport-ng/transport-ng.html">Transport Next Generation (TNG) service</a>. TNG is a successor to the previous transport plugins and will be running in the fall 2023 GNUnet release. At the time of writing, GNUnet currently supports transports over TCP, UDP, and UNIX sockets. | ||
11 | I chose to implement a QUIC transport communicator due to the rising popularity and speed of this protocol. Because of this popularity, QUIC will be a great transport protocol for GNUnet traffic to sit on top of. QUIC is intended to be a faster alternative to TCP and tries to address some issues that TLS has. | ||
12 | </p> | ||
13 | <h2>What I completed.</h2> | ||
14 | <p> | ||
15 | One of the first steps was deciding on a library that can process QUIC packets and would be available to users running different operating systems. | ||
16 | We chose to go with <a href="https://github.com/cloudflare/quiche">Cloudflare's Quiche library</a> because the C API seemed simpler than other available libraries. Installing cloudflare-quiche via the Homebrew package manager (MacOS) did not actually install the libraries properly for linking with other C programs so I made a pull request in the Homebrew repository and <a href="https://github.com/Homebrew/homebrew-core/commit/227fa616059fdb2157628535b85a801bbb5613f5">fixed the formula</a>. | ||
17 | After this, I worked on handling the receiving functionality of the communicator. This involved reading from the socket then processing the QUIC packets using the Quiche library. Then I implemented the ability to send messages in a similar manner. One of the last steps involved connecting everything together with the transport service so that the communicator can receive information about peers and relay messages. | ||
18 | Once I finished these tasks, the QUIC communicator got merged upstream and is currently an experimental feature. This is due to the packaging situation with Quiche as it is difficult for some users to install the library, and there still may be bugs lingering in the QUIC communicator. More testing and refinement is needed to offer a truly robust and reliable communicator. | ||
19 | |||
20 | Link to source code: <a href="https://git.gnunet.org/gnunet.git/tree/src/transport/gnunet-communicator-quic.c">QUIC communicator</a>. | ||
21 | </p> | ||
22 | <h2>The current state.</h2> | ||
23 | <p> | ||
24 | The QUIC communicator currently functions and passes basic communicator tests. That being said, there are some latency issues that need to be addressed. Since the communicator suite is designed to run alongside the new TNG service, it is currently not usable since TNG is still under development (as mentioned previously). Mentioned below are some other things that have yet to be implemented in the QUIC communicator, but will be fixed in the future. | ||
25 | </p> | ||
26 | <h2>Future Work.</h2> | ||
27 | <p> | ||
28 | We still need to develop a more permanent solution to the certificate generation so that the Quiche API functions properly. This <a href="https://git.gnunet.org/gnunet.git/tree/src/transport/gnunet-transport-certificate-creation.in">certificate generation</a> has been done in previous implementations (for example the HTTPS plugin). Currently, we are using static, example certificates. Adding timers to each QUIC connection so that a timeout will trigger a connection to close also needs to be implemented. Finally, we should look into lowering the latency by finding points where the communicator is too slow and optimizing it. | ||
29 | </p> | ||
30 | <h2>Challenges I Encountered.</h2> | ||
31 | <p> | ||
32 | One of the challenges was reverse engineering the Quiche C API because it has such limited documentation. I learned how to make use of the API by looking at the very simple example client and server examples that are provided in the Quiche repository. There is documentation for the Rust API which seems to operate pretty similarly, so this was helpful too at times. I overcame this challenge with the help and guidance of my mentor Martin Schanzenbach. | ||
33 | </p> | ||
34 | <h2>Final notes.</h2> | ||
35 | Overall, my experience with GNUnet was fantastic. My mentors were friendly and consistently available when I needed help, and I thank them for that. I'm thankful for the GNUnet community for being welcoming and understanding toward new open source developers like myself. I had a lot of fun learning how GNUnet works while developing my project. I am looking forward to contributing to GNUnet in the future! | ||
36 | {% endblock body_content %} | ||
diff --git a/template/news/2023-09-0.20.0.html.j2 b/template/news/2023-09-0.20.0.html.j2 new file mode 100644 index 00000000..726cc78e --- /dev/null +++ b/template/news/2023-09-0.20.0.html.j2 | |||
@@ -0,0 +1,70 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | {% set newver = '0.20.0' %} | ||
4 | {% set oldver = '0.19.3' %} | ||
5 | <main id="maincontent"> | ||
6 | <h1>GNUnet {{newver}} released</h1> | ||
7 | <p> | ||
8 | We are pleased to announce the release of GNUnet {{newver}}. | ||
9 | <br/> | ||
10 | GNUnet is an alternative network stack for building secure, decentralized and | ||
11 | privacy-preserving distributed applications. | ||
12 | Our goal is to replace the old insecure Internet protocol stack. | ||
13 | Starting from an application for secure publication of files, it has grown to | ||
14 | include all kinds of basic protocol components and applications towards the | ||
15 | creation of a GNU internet. | ||
16 | </p> | ||
17 | <p> | ||
18 | This is a new major release. | ||
19 | It breaks protocol compatibility with the 0.19.x versions. | ||
20 | Please be aware that Git master is thus henceforth (and has been for a | ||
21 | while) <b>INCOMPATIBLE</b> with | ||
22 | the 0.19.x GNUnet network, and interactions between old and new peers | ||
23 | will result in issues. 0.19.x peers will be able to communicate with Git | ||
24 | master or 0.20.x peers, but some services will not be compatible.<br/> | ||
25 | In terms of usability, users should be aware that there are still | ||
26 | <b>a number of known open issues</b> in particular with respect to ease | ||
27 | of use, but also some critical privacy issues especially for mobile users. | ||
28 | Also, the nascent network is tiny and thus unlikely to | ||
29 | provide good anonymity or extensive amounts of interesting information. | ||
30 | As a result, the {{newver}} release is still <b>only suitable for early adopters | ||
31 | with some reasonable pain tolerance</b>. | ||
32 | </p> | ||
33 | <h4>Download links</h4> | ||
34 | <ul> | ||
35 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz">gnunet-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
36 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-{{newver}}.tar.gz">gnunet-gtk-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
37 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-{{newver}}.tar.gz">gnunet-fuse-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
38 | </ul> | ||
39 | <p> | ||
40 | The GPG key used to sign is: <a href="https://www.gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
41 | </p> | ||
42 | <p> | ||
43 | Note that due to mirror synchronization, not all links might be functional | ||
44 | early after the release. For direct access try | ||
45 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
46 | </p> | ||
47 | <h4>Changes</h4> | ||
48 | <p> | ||
49 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}">git log</a>, the <a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}">NEWS</a> and | ||
50 | the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=417">bug tracker</a>. | ||
51 | </p> | ||
52 | <h4>Known Issues</h4> | ||
53 | <ul> | ||
54 | <li>There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
55 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
56 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
57 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
58 | <li>The RPS subsystem remains experimental.</li> | ||
59 | <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> | ||
60 | </ul> | ||
61 | <p> | ||
62 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
63 | </p> | ||
64 | |||
65 | <h4>Thanks</h4> | ||
66 | <p> | ||
67 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
68 | Christian Grothoff, t3sserakt, TheJackiMonster, Marshall Stone, Özgür Kesim and Martin Schanzenbach. | ||
69 | </p> | ||
70 | {% endblock body_content %} | ||
diff --git a/template/news/2023-11-RFC9498.html.j2 b/template/news/2023-11-RFC9498.html.j2 new file mode 100644 index 00000000..1b00efc9 --- /dev/null +++ b/template/news/2023-11-RFC9498.html.j2 | |||
@@ -0,0 +1,48 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <h1>RFC 9498: The GNU Name System</h1> | ||
4 | <p> | ||
5 | We are happy to announce that our <i>The GNU Name System</i> (GNS) specification is now published as | ||
6 | <a href="https://www.rfc-editor.org/rfc/rfc9498.html">RFC 9498</a>. | ||
7 | </p> | ||
8 | <p> | ||
9 | GNS addresses long-standing <a href="https://www.wired.com/2014/03/quantum/">security</a> and | ||
10 | <a href="https://roarmag.org/essays/nsa-leak-domain-name-system/">privacy</a> issues in the ubiquitous | ||
11 | <a href="https://www.rfc-editor.org/rfc/rfc882">Domain Name System (DNS)</a>. | ||
12 | Previous attempts to secure DNS (<a href="https://www.rfc-editor.org/rfc/rfc9364">DNSSEC</a>) fail to address <a href="https://www.rfc-editor.org/rfc/rfc8324">critical security issues</a> | ||
13 | such as end-to-end security, query privacy, censorship, and centralization of root zone governance. | ||
14 | After 40 years of patching, it is time for a new beginning. | ||
15 | </p> | ||
16 | <p> | ||
17 | The GNU Name System is our contribution towards a decentralized and | ||
18 | censorship-resistant domain name resolution system that provides a | ||
19 | privacy-enhancing alternative to the Domain Name System (DNS). | ||
20 | </p> | ||
21 | <p> | ||
22 | As part of our work on RFC 9498, we have also contributed to the specification | ||
23 | of the <a href="https://www.rfc-editor.org/rfc/rfc9476.html">.alt top-level | ||
24 | domain</a> to be used by alternative name resolution systems and have | ||
25 | established <a href="https://gana.gnunet.org/dot-alt/dot_alt.html">the GANA registry for ".alt"</a>. | ||
26 | </p> | ||
27 | <p> | ||
28 | GNS is implemented according to RFC 9598 in GNUnet 0.20.0. It is also implemented | ||
29 | as part of <a href="https://git.gnunet.org/gnunet-go.git/">GNUnet-Go</a>. | ||
30 | </p> | ||
31 | <p> | ||
32 | We thank all reviewers for their comments. | ||
33 | In particular, we thank D. J. Bernstein, S. Bortzmeyer, A. Farrel, E. Lear, and R. Salz for their insightful and detailed technical reviews. | ||
34 | We thank J. Yao and J. Klensin for the internationalization reviews. | ||
35 | We thank Dr. J. Appelbaum for suggesting the name "GNU Name System" and Dr. Richard Stallman for approving its use. | ||
36 | We thank T. Lange and M. Wachs for their earlier contributions to the design and implementation of GNS. | ||
37 | We thank J. Yao and J. Klensin for the internationalization reviews. | ||
38 | We thank <a href="https://nlnet.nl">NLnet</a> and <a href="https://nlnet.nl/project/GNS/">NGI DISCOVERY</a> for funding work on the GNU Name System. | ||
39 | </p> | ||
40 | <p> | ||
41 | The work does not stop here: We encourage further implementations of RFC 9498 | ||
42 | to learn more both in terms of technical documentation and actual deployment | ||
43 | experiences. | ||
44 | Further, we are currently working on the specification of the | ||
45 | <a href="https://lsd.gnunet.org/lsd0004">R<sup>5</sup>N DHT</a> and <a href="https://lsd.gnunet.org/lsd0003">BFT Set Reconciliation</a> which are underlying | ||
46 | building blocks of GNS in GNUnet and not covered by RFC 9498. | ||
47 | </p> | ||
48 | {% endblock body_content %} | ||
diff --git a/template/news/2023-12-NGI-Entrust-GNS-TLDs-Update.html.j2 b/template/news/2023-12-NGI-Entrust-GNS-TLDs-Update.html.j2 new file mode 100644 index 00000000..98e01420 --- /dev/null +++ b/template/news/2023-12-NGI-Entrust-GNS-TLDs-Update.html.j2 | |||
@@ -0,0 +1,32 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>Update for NGI Zero Entrust: GNS to DNS Migration and Zone Management</h1> | ||
5 | <p> | ||
6 | We are happy to announce that we have successfully completed two Milestones: | ||
7 | <ul> | ||
8 | <li>Milestone 2a: A GNS Registrar Backend.</li> | ||
9 | <li>Milestone 2b: A GNS Registrar Frontend.</li> | ||
10 | </ul> | ||
11 | </p> | ||
12 | <p> | ||
13 | The resulting code can be found <a href="https://git.gnunet.org/gnunet-gns-registrar.git/">in the usual place</a>. | ||
14 | There are no tarballs available for the time being. | ||
15 | The component is built with simplicity and privacy in mind: There are <b>no</b> accounts required; we also refrained from using JavaScript for the front end (for now). | ||
16 | This component effectively replaces the "first-come, first-served" GNS name registration service previously shipped as part of GNUnet. | ||
17 | Hence the service at <a href="https://fcfs.gnunet.org">https://fcfs.gnunet.org</a> has been replaced. | ||
18 | The registrar integrates with <a href="https://www.taler.net">GNU Taler</a>, allowing you to test both functionalities at the same time! | ||
19 | Don't worry, you do not have to use actual money, as you can use the demo currency from the <a href="https://demo.taler.net">Taler demonstrator</a> to register names for a relatively small portion of the play money you receive when you sign up there. | ||
20 | </p> | ||
21 | <p> | ||
22 | We encourage you to try it out now and register you own zone key. | ||
23 | We plan to ship this zone in the default configuration of the upcoming GNUnet 0.21 release under the domain ".pin.gns.alt". | ||
24 | Note that current releases are incompatible with GNUnet, and this also applies to the node connected to our registrar deployment. | ||
25 | </p> | ||
26 | <p> | ||
27 | Watch this space and the mailing list for updates! | ||
28 | </p> | ||
29 | <p> | ||
30 | This work is generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their <a href="https://nlnet.nl/entrust/">NGI Zero Entrust Programme</a>. | ||
31 | </p> | ||
32 | {% endblock body_content %} | ||
diff --git a/template/news/2024-02-NGI-Webinar-GNS.html.j2 b/template/news/2024-02-NGI-Webinar-GNS.html.j2 new file mode 100644 index 00000000..7bb55931 --- /dev/null +++ b/template/news/2024-02-NGI-Webinar-GNS.html.j2 | |||
@@ -0,0 +1,16 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>NGI Webinar: The GNU Name System and the road to publishing an RFC</h1> | ||
5 | <p> | ||
6 | We have been invited by <a href="https://nlnet.nl">NLnet</a> to present the | ||
7 | GNU Name System and our efforts to create and publish <a href="https://www.rfc-editor.org/rfc/rfc9498.html">RFC 9498</a>. | ||
8 | </p> | ||
9 | <p> | ||
10 | You can find the recording and slides on the <a href="https://nlnet.nl/events/20240222/index.html">NLnet webinar page</a>. | ||
11 | It includes a live demo of our <a href="https://fcfs.gnunet.org">GNS registrar</a> with integrated <a href="https://taler.net">GNU Taler</a> payments. | ||
12 | </p> | ||
13 | <p> | ||
14 | The work on GNS was generously funded by <a href="https://nlnet.nl">NLnet</a> as part of their NGI Search and Discovery and <a href="https://nlnet.nl/entrust/">NGI Zero Entrust Programme</a>. | ||
15 | </p> | ||
16 | {% endblock body_content %} | ||
diff --git a/template/news/2024-03-0.21.0.html.j2 b/template/news/2024-03-0.21.0.html.j2 new file mode 100644 index 00000000..8c8d900a --- /dev/null +++ b/template/news/2024-03-0.21.0.html.j2 | |||
@@ -0,0 +1,77 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | {% set newver = '0.21.0' %} | ||
4 | {% set oldver = '0.20.0' %} | ||
5 | <main id="maincontent"> | ||
6 | <h1>GNUnet {{newver}} released</h1> | ||
7 | <p> | ||
8 | We are pleased to announce the release of GNUnet {{newver}}. | ||
9 | <br/> | ||
10 | GNUnet is an alternative network stack for building secure, decentralized and | ||
11 | privacy-preserving distributed applications. | ||
12 | Our goal is to replace the old insecure Internet protocol stack. | ||
13 | Starting from an application for secure publication of files, it has grown to | ||
14 | include all kinds of basic protocol components and applications towards the | ||
15 | creation of a GNU internet. | ||
16 | </p> | ||
17 | <p> | ||
18 | This release marks a noteworthy milestone in that it includes a completely | ||
19 | new <a href="https://docs.gnunet.org/v0.21.0/users/subsystems.html#transport-ng-next-generation-transport-management">transport layer</a>. | ||
20 | It lays the groundwork for fixing some major design issues and may also | ||
21 | already alleviate a variety of issues seen in previous releases related to | ||
22 | connectivity. | ||
23 | This change also deprecates our testbed and ATS subsystem. | ||
24 | </p> | ||
25 | <p> | ||
26 | This is a new major release. | ||
27 | It breaks protocol compatibility with the 0.20.x versions. | ||
28 | Please be aware that Git master is thus henceforth (and has been for a | ||
29 | while) <b>INCOMPATIBLE</b> with | ||
30 | the 0.20.x GNUnet network, and interactions between old and new peers | ||
31 | will result in issues. | ||
32 | In terms of usability, users should be aware that there are still | ||
33 | <b>a number of known open issues</b> in particular with respect to ease | ||
34 | of use, but also some critical privacy issues especially for mobile users. | ||
35 | Also, the nascent network is tiny and thus unlikely to | ||
36 | provide good anonymity or extensive amounts of interesting information. | ||
37 | As a result, the {{newver}} release is still <b>only suitable for early adopters | ||
38 | with some reasonable pain tolerance</b>. | ||
39 | </p> | ||
40 | <h4>Download links</h4> | ||
41 | <ul> | ||
42 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz">gnunet-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
43 | <li><a href="https://buildbot.gnunet.org/releases/gnunet-{{newver}}-meson.tar.gz">gnunet-{{newver}}-meson.tar.gz</a> (<a href="https://buildbot.gnunet.org/releases/gnunet-{{newver}}-meson.tar.gz.sig">signature</a>) <i>NEW: Test tarball made using the meson build system.</i></li> | ||
44 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-{{newver}}.tar.gz">gnunet-gtk-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
45 | <li><a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-{{newver}}.tar.gz">gnunet-fuse-{{newver}}.tar.gz</a> (<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-{{newver}}.tar.gz.sig">signature</a>)</li> | ||
46 | </ul> | ||
47 | <p> | ||
48 | The GPG key used to sign is: <a href="https://www.gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
49 | </p> | ||
50 | <p> | ||
51 | Note that due to mirror synchronization, not all links might be functional | ||
52 | early after the release. For direct access try | ||
53 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
54 | </p> | ||
55 | <h4>Changes</h4> | ||
56 | <p> | ||
57 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}">git log</a>, the <a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}">NEWS</a> and | ||
58 | the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=417">bug tracker</a>. | ||
59 | </p> | ||
60 | <h4>Known Issues</h4> | ||
61 | <ul> | ||
62 | <li>There are known major design issues in the CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.</li> | ||
63 | <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> | ||
64 | <li>There are known moderate design issues in FS that also impact usability and performance.</li> | ||
65 | <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> | ||
66 | <li>The RPS subsystem remains experimental.</li> | ||
67 | </ul> | ||
68 | <p> | ||
69 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a> which lists about 190 more specific issues. | ||
70 | </p> | ||
71 | |||
72 | <h4>Thanks</h4> | ||
73 | <p> | ||
74 | This release was the work of many people. The following people contributed code and were thus easily identified: | ||
75 | Christian Grothoff, t3sserakt, TheJackiMonster, Pedram Fardzadeh, dvn, Sebastian Nadler and Martin Schanzenbach. | ||
76 | </p> | ||
77 | {% endblock body_content %} | ||
diff --git a/template/news/2024-03-0.21.1.html.j2 b/template/news/2024-03-0.21.1.html.j2 new file mode 100644 index 00000000..432ee63c --- /dev/null +++ b/template/news/2024-03-0.21.1.html.j2 | |||
@@ -0,0 +1,29 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | {% set newver = '0.21.1' %} | ||
4 | {% set oldver = '0.21.0' %} | ||
5 | <main id="maincontent"> | ||
6 | <h1>GNUnet {{newver}}</h1> | ||
7 | <p> | ||
8 | This is a bugfix release for gnunet {{oldver}}. | ||
9 | It primarily addresses some connectivity issues introduced with our new transport subsystem. | ||
10 | </p> | ||
11 | <p> | ||
12 | <h4>Links</h4> | ||
13 | <ul> | ||
14 | <li>Source: <a href="https://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz">https://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz</a> (<a href="https://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig">https://ftpmirror.gnu.org/gnunet/gnunet-{{newver}}.tar.gz.sig</a>)</li> | ||
15 | <li>Source (meson): <a href="https://buildbot.gnunet.org/releases/gnunet-{{newver}}-meson.tar.gz">https://buildbot.gnunet.org/gnunet-{{newver}}-meson.tar.gz</a> (<a href="https://buildbot.gnunet.org/gnunet-{{newver}}-meson.tar.gz.sig">https://buildbot.gnunet.org/gnunet-{{newver}}-meson.tar.gz.sig</a>)</li> | ||
16 | <li>Detailed list of changes: <a href="https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}">https://git.gnunet.org/gnunet.git/log/?h=v{{newver}}</a></li> | ||
17 | <li>NEWS: <a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}">https://git.gnunet.org/gnunet.git/tree/NEWS?h=v{{newver}}</a></li> | ||
18 | <li>The list of closed issues in the bug tracker: <a href="https://bugs.gnunet.org/changelog_page.php?version_id=437">https://bugs.gnunet.org/changelog_page.php?version_id=437</a></li> | ||
19 | </ul> | ||
20 | </p> | ||
21 | <p> | ||
22 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
23 | </p> | ||
24 | <p> | ||
25 | Note that due to mirror synchronization, not all links may be functional | ||
26 | early after the release. For direct access try | ||
27 | <a href="https://ftp.gnu.org/gnu/gnunet/">https://ftp.gnu.org/gnu/gnunet/</a> | ||
28 | </p> | ||
29 | {% endblock body_content %} | ||
diff --git a/template/news/2024-03-libgnunetchat-0.3.0.html.j2 b/template/news/2024-03-libgnunetchat-0.3.0.html.j2 new file mode 100644 index 00000000..796e1ff6 --- /dev/null +++ b/template/news/2024-03-libgnunetchat-0.3.0.html.j2 | |||
@@ -0,0 +1,43 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>libgnunetchat 0.3.0 released</h1> | ||
5 | <p> | ||
6 | We are pleased to announce the release of libgnunetchat 0.3.0. | ||
7 | <br/> | ||
8 | This is a major new release bringing compatibility with the major changes in the Messenger service from latest GNUnet release 0.21.0 adding new message kinds, adjusting message processing and key management. This release will also require your GNUnet to be at least 0.21.0 because of that. | ||
9 | </p> | ||
10 | <h4>Download links</h4> | ||
11 | <ul> | ||
12 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.3.0.tar.gz">libgnunetchat-0.3.0.tar.gz</a></li> | ||
13 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.3.0.tar.gz.sig">libgnunetchat-0.3.0.tar.gz.sig</a></li> | ||
14 | </ul> | ||
15 | <p> | ||
16 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
17 | </p> | ||
18 | <p> | ||
19 | Note that due to mirror synchronization, not all links may be functional | ||
20 | early after the release. For direct access try | ||
21 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
22 | </p> | ||
23 | <h4>Noteworthy changes in 0.3.0</h4> | ||
24 | <ul> | ||
25 | <li>This release requires the GNUnet Messenger Service 0.3!</li> | ||
26 | <li>It allows ticket management for tickets sent from contacts.</li> | ||
27 | <li>Deletions or other updates of messages result in separate event calls.</li> | ||
28 | <li>It is possible to tag messages or contacts.</li> | ||
29 | <li>Invitations can be rejected via tag messages.</li> | ||
30 | <li>Contacts can be blocked or unblocked which results in filtering messages.</li> | ||
31 | <li>Processing of messages is ensured by enforcing logical order of callbacks while querying old messages.</li> | ||
32 | <li>Private messages are readable to its sender.</li> | ||
33 | <li>Messages provide information about its recipient.</li> | ||
34 | <li>Logouts get processed on application level on exit.</li> | ||
35 | <li>Delays message callbacks depending on message kind (deletion with custom delay).</li> | ||
36 | <li>New debug tools are available to visualize the message graph.</li> | ||
37 | <li>Add test case for message receivement.</li> | ||
38 | <li>Multiple issues are fixed.</li> | ||
39 | </ul> | ||
40 | <p> | ||
41 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/libgnunetchat.git/tree/ChangeLog">ChangeLog</a>. | ||
42 | </p> | ||
43 | {% endblock body_content %} | ||
diff --git a/template/news/2024-03-libgnunetchat-0.3.1.html.j2 b/template/news/2024-03-libgnunetchat-0.3.1.html.j2 new file mode 100644 index 00000000..a0c1d743 --- /dev/null +++ b/template/news/2024-03-libgnunetchat-0.3.1.html.j2 | |||
@@ -0,0 +1,21 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>libgnunetchat 0.3.1 released</h1> | ||
5 | <p> | ||
6 | This is mostly a bugfix release for libgnunetchat 0.3.0 to reduce build issues. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.3.1.tar.gz">libgnunetchat-0.3.1.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.3.1.tar.gz.sig">libgnunetchat-0.3.1.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | {% endblock body_content %} | ||
diff --git a/template/news/2024-03-messenger-gtk-0.9.0.html.j2 b/template/news/2024-03-messenger-gtk-0.9.0.html.j2 new file mode 100644 index 00000000..9e1add98 --- /dev/null +++ b/template/news/2024-03-messenger-gtk-0.9.0.html.j2 | |||
@@ -0,0 +1,55 @@ | |||
1 | {% extends "common/news.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <h1>Messenger-GTK 0.9.0</h1> | ||
5 | <p> | ||
6 | Following the new release of "libgnunetchat" there have been some changes regarding the applications utilizing it. So we are pleased to announce the new release of the Messenger-GTK application. This release will be compatible with libgnunetchat 0.3.0 and GNUnet 0.21.0 upwards. | ||
7 | </p> | ||
8 | <h4>Download links</h4> | ||
9 | <ul> | ||
10 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.9.0.tar.gz">messenger-gtk-0.9.0.tar.gz</a></li> | ||
11 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.9.0.tar.gz.sig">messenger-gtk-0.9.0.tar.gz.sig</a></li> | ||
12 | </ul> | ||
13 | <p> | ||
14 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
15 | </p> | ||
16 | <p> | ||
17 | Note that due to mirror synchronization, not all links may be functional | ||
18 | early after the release. For direct access try | ||
19 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
20 | </p> | ||
21 | <h4>Noteworthy changes in 0.9.0</h4> | ||
22 | <ul> | ||
23 | <li>Contacts can be blocked and unblocked to filter chat messages.</li> | ||
24 | <li>Requests for permission to use a camera, autostart the application and running it in background.</li> | ||
25 | <li>Camera sensors can be selected to exchange contact information.</li> | ||
26 | </ul> | ||
27 | <p> | ||
28 | A detailed list of changes can be found in the <a href="https://git.gnunet.org/messenger-gtk.git/tree/ChangeLog">ChangeLog</a>. | ||
29 | </p> | ||
30 | <h4>Known Issues</h4> | ||
31 | <ul> | ||
32 | <li>Chats still require a reliable connection between GNUnet peers. So this still depends on the upcoming NAT traversal to be used outside of local networks for most users (see <a href="https://bugs.gnunet.org/view.php?id=5710">#5710</a>).</li> | ||
33 | <li>File sharing via the FS service should work in a GNUnet single-user setup but a multi-user setup breaks it (see <a href="https://bugs.gnunet.org/view.php?id=7355">#7355</a>)</li> | ||
34 | </ul> | ||
35 | <p> | ||
36 | In addition to this list, you may also want to consult our bug tracker at <a href="https://bugs.gnunet.org/">bugs.gnunet.org</a>. | ||
37 | </p> | ||
38 | <h2>messenger-cli 0.2.0</h2> | ||
39 | <p> | ||
40 | There's also a new release of the terminal application using the GNUnet Messenger service. This release will ensure compatibility with changes in libgnunetchat 0.3.0 and GNUnet 0.21.0. | ||
41 | </p> | ||
42 | <h4>Download links</h4> | ||
43 | <ul> | ||
44 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.2.0.tar.gz">messenger-cli-0.2.0.tar.gz</a></li> | ||
45 | <li><a href="http://ftpmirror.gnu.org/gnunet/messenger-cli-0.2.0.tar.gz.sig">messenger-cli-0.2.0.tar.gz.sig</a></li> | ||
46 | </ul> | ||
47 | <p> | ||
48 | The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> | ||
49 | </p> | ||
50 | <p> | ||
51 | Note that due to mirror synchronization, not all links may be functional | ||
52 | early after the release. For direct access try | ||
53 | <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a> | ||
54 | </p> | ||
55 | {% endblock body_content %} | ||
diff --git a/template/news/index.html.j2 b/template/news/index.html.j2 new file mode 100644 index 00000000..8bfd973b --- /dev/null +++ b/template/news/index.html.j2 | |||
@@ -0,0 +1,58 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <div class="container-fluid"> | ||
5 | <div class="container"> | ||
6 | <article> | ||
7 | <div class="row"> | ||
8 | <div class="container text-center"> | ||
9 | <h1>{{ _("News") }}<a name="news"></a></h1> | ||
10 | <section> | ||
11 | <p> | ||
12 | {% trans %} | ||
13 | News posts about changes related to | ||
14 | GNUnet such as releases and events | ||
15 | {% endtrans %} | ||
16 | – | ||
17 | <a href="{{ url_localized('rss.xml') }}">{{ _("subscribe to our RSS feed") }}</a> | ||
18 | </p> | ||
19 | </section> | ||
20 | </div> | ||
21 | </div> | ||
22 | <div class="row"> | ||
23 | {% for year, yitem in newsdata|selectattr('date.year', 'gt', 2023)|groupby('date.year')|reverse %} | ||
24 | <b>{{ year }}</b> | ||
25 | <ul class="timeline"> | ||
26 | {% for item in yitem %} | ||
27 | <li> | ||
28 | <section class="item-preview"> | ||
29 | <header> | ||
30 | <h3>{{ item['title']|e }}</h3> | ||
31 | <p class="item-date"> | ||
32 | {{ item['date'] }} | ||
33 | </p> | ||
34 | </header> | ||
35 | <p class="item-abstract"> | ||
36 | <!--{{ get_abstract('news/' + item['page'], 500) }} <br/>--> | ||
37 | [<a href="{{ url_localized('news/' + item['page']) }}" title="{{ item['date']}}">{{ _("read more") }}</a>] | ||
38 | </p> | ||
39 | </section> | ||
40 | </li> | ||
41 | {% endfor %} | ||
42 | </ul> | ||
43 | {% endfor %} | ||
44 | </div> | ||
45 | <h2> | ||
46 | {% trans %} | ||
47 | News archives: | ||
48 | {% endtrans %} | ||
49 | </h2> | ||
50 | <ul> | ||
51 | {% for year, yitem in newsdata|selectattr('date.year', 'lt', 2024)|groupby('date.year')|reverse %} | ||
52 | <li><a href="{{ 'oldnews-' + year|string + '.html' }}">{{ year }} ({{yitem|length}})</a></li> | ||
53 | {% endfor %} | ||
54 | </ul> | ||
55 | </article> | ||
56 | </div> | ||
57 | </div> | ||
58 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2011.html.j2 b/template/news/oldnews-2011.html.j2 new file mode 100644 index 00000000..39e76a48 --- /dev/null +++ b/template/news/oldnews-2011.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2011) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2013.html.j2 b/template/news/oldnews-2013.html.j2 new file mode 100644 index 00000000..d725f006 --- /dev/null +++ b/template/news/oldnews-2013.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2013) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2018.html.j2 b/template/news/oldnews-2018.html.j2 new file mode 100644 index 00000000..3056892c --- /dev/null +++ b/template/news/oldnews-2018.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2018) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2019.html.j2 b/template/news/oldnews-2019.html.j2 new file mode 100644 index 00000000..23691b6c --- /dev/null +++ b/template/news/oldnews-2019.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2019) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2020.html.j2 b/template/news/oldnews-2020.html.j2 new file mode 100644 index 00000000..87030010 --- /dev/null +++ b/template/news/oldnews-2020.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2020) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2021.html.j2 b/template/news/oldnews-2021.html.j2 new file mode 100644 index 00000000..df4e89d0 --- /dev/null +++ b/template/news/oldnews-2021.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2021) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2022.html.j2 b/template/news/oldnews-2022.html.j2 new file mode 100644 index 00000000..c01ca3f5 --- /dev/null +++ b/template/news/oldnews-2022.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2022) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/news/oldnews-2023.html.j2 b/template/news/oldnews-2023.html.j2 new file mode 100644 index 00000000..1a634262 --- /dev/null +++ b/template/news/oldnews-2023.html.j2 | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% from "common/old-news.j2.inc" import oldnews with context %} | ||
3 | {% block body_content %} | ||
4 | {{ oldnews(2023) }} | ||
5 | {% endblock body_content %} | ||
diff --git a/template/probnat/api.html.j2 b/template/probnat/api.html.j2 new file mode 100644 index 00000000..64267f69 --- /dev/null +++ b/template/probnat/api.html.j2 | |||
@@ -0,0 +1,54 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("API Documentation") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Sync Protocol</h2> | ||
19 | |||
20 | <section> | ||
21 | |||
22 | <p> | ||
23 | {% trans %} | ||
24 | To use the probabilistic NAT traversal library, the peers to be connected must first be synchronized. For that, each peer has to use two API calls.<br/><br/> | ||
25 | |||
26 | enum GNUNET_GenericReturnValue<br/> | ||
27 | GNUNET_is_burst_ready (struct GNUNET_TIME_Relative rtt_avarage,<br/> | ||
28 |              struct GNUNET_BurstSync *burst_sync,<br/> | ||
29 |              GNUNET_SCHEDULER_TaskCallback task,<br/> | ||
30 |              struct GNUNET_StartBurstCls *task_cls)<br/><br/> | ||
31 | |||
32 | and<br/><br/> | ||
33 | |||
34 | struct GNUNET_BurstSync *<br/> | ||
35 | GNUNET_get_burst_sync_msg (struct GNUNET_TIME_Relative rtt_avarage,<br/> | ||
36 |              enum GNUNET_GenericReturnValue sync_ready)<br/><br/> | ||
37 | |||
38 | |||
39 | The second is to create the synchronisation message which the caller has to send to the other peer. | ||
40 | Within GNUnet the Distance Vector DV protocol is used for sending the synchronisation message. Applications which do not want to use the complete GNUnet stack have to use transportion by other means.<br/><br/> | ||
41 | |||
42 | The API call needs two parameters. The avarage round trip time rtt_avarage has to be provided by the callers application. In GNUnet this information is constantly calculated from messages delivered by DV. Again, applications not using the GNUnet stack have to assemble this information by themself. The round trip time has to be calculated as the time a message needs to arrive at another peer plus the time a response to this message needs to travel back. The messages used to measure this time needs to be send via the same transportion mechanism like the burst synchromisation method. The value used in the API should be an average over several RTTs. rtt_average is measured in microseconds. <br/><br/> | ||
43 | |||
44 | The second parameter is returned by the first API call and must be temporarily stored to use it in the second. This is the burst synchromisation method, which encapsulates the RTT calculated by the sending peer, and if that peer is ready to sync.<br/><br/> | ||
45 | |||
46 | The first API call also needs the avarage RTT and the synchronisation message received from another peer. The callback is called, if both peers are ready to synchronize. Therefore the callback should start the burst mode which will finally do the hole punch for NAT traversal. One can find an example in the GNUnet code src/service/transport/gnunet-service-transport.c in the function handle_flow_control. <br/><br/> | ||
47 | {% endtrans %} | ||
48 | </p> | ||
49 | </section> | ||
50 | </div> | ||
51 | </div> | ||
52 | |||
53 | </article> | ||
54 | {% endblock body_content %} | ||
diff --git a/template/probnat/index.html.j2 b/template/probnat/index.html.j2 new file mode 100644 index 00000000..39700c83 --- /dev/null +++ b/template/probnat/index.html.j2 | |||
@@ -0,0 +1,240 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Probabilistic NAT Traversal") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="#idea">{{ _("Project motivation") }}</a> | ||
14 | <a class="nav-link" href="#milestones">{{ _("Milestones") }}</a> | ||
15 | <a class="nav-link" href="#milestone1">{{ _("Milestone 1") }}</a> | ||
16 | <a class="nav-link" href="#milestone2">{{ _("Milestone 2") }}</a> | ||
17 | <a class="nav-link" href="#milestone3">{{ _("Milestone 3") }}</a> | ||
18 | <a class="nav-link" href="#milestone4">{{ _("Milestone 4") }}</a> | ||
19 | <a class="nav-link" href="#milestone5">{{ _("Milestone 5") }}</a> | ||
20 | <a class="nav-link" href="#milestone6">{{ _("Milestone 6") }}</a> | ||
21 | <a class="nav-link" href="#milestone6">{{ _("Milestone 7") }}</a> | ||
22 | </nav> | ||
23 | </div> | ||
24 | <div class="col"> | ||
25 | |||
26 | <section> | ||
27 | <p> | ||
28 | {% trans %} | ||
29 | This project was funded through the NGI Assure Fund, a fund established by <a href="https://nlnet.nl/project/ProbabilisticNAT">NLnet</a>.</br> | ||
30 | {% endtrans %} | ||
31 | </p> | ||
32 | </section> | ||
33 | |||
34 | |||
35 | <h2><a name="idea" class="subnav-anchor"></a>{{ _("Project motivation") }}</h2></br> | ||
36 | |||
37 | <section> | ||
38 | <h4>The Problem</h4></br> | ||
39 | <p> | ||
40 | {% trans %} | ||
41 | For establishing a peer to peer (p2p) network among regular internet users, unhindered connectivity is anything but self-evident. Today consumer devices are often not directly reachable via the internet but quite often are behind a so called NAT delivering only indirect internet connectivity. | ||
42 | {% endtrans %} | ||
43 | </p></br> | ||
44 | </section> | ||
45 | |||
46 | <section> | ||
47 | <h4>NAT Traversal Methods</h4></br> | ||
48 | <p> | ||
49 | {% trans %} | ||
50 | There are several methods to reach peers who are behind a NAT, but there are as many reasons those existing methods might fail. Manual configuration for example, as it is possible for example with home routers, often does not work for mobile devices like mobile phones. A further category of methods is subsumed under the term NAT hole punching. This exploits a behavior of the gateway that keeps the port of an outgoing packet open for a potential response. To make this port known to another peer a third peer is needed who is not behind a NAT. Using this method for a privacy preserving network like GNUnet, this could facilitate eclipse attacks (isolating a peer) which then can be used for deanonymization attacks and cencorship. Also any additional infrastructure needed to provide some kind of functionality has to be maintained by someone, becoming a target and/or point of failure. Therefore this method is not suitable. More sophisticated methods like "Autonomous NAT Traversal (pwnat)" using ICMP fake message, which do not need a third party for the initiation of the connection, are not successful in all circumstances, because this method depend on the behavior of the NAT firewall. All methods have in common that the external IP address of the peer behind the NAT must be known. | ||
51 | {% endtrans %} | ||
52 | </p></br> | ||
53 | </section> | ||
54 | |||
55 | <section> | ||
56 | <h4>Alternative Solution</h4></br> | ||
57 | <p> | ||
58 | {% trans %} | ||
59 | Two peers trying to connect to each other will send out a burst of connection attempts to the other peer on different ports. The sheer vast amount of connections attempts from both side will lead to a high probability that two connection attempts from both peers onto the same port will be at the same time leading to a successful connection between those peers. If two natted peers are using the method to start a burst of connection attempts, this method still needs the global IP of the other peer and a “start signal” to coordinate. In the NGI Assure project <a href="../l2o">L2O</a> we are establishing a backchannel with neighbourhood routing over an ad-hoc distance vector protocol to solve the problem of not directly connected peers. The peers serving as hops to a distant peer which are a direct neighbour of the start or end peer on that path do know the global IP address of the start or end peer. If those two peers like to use the burst method for hole punching the global IP address is known. Via the distance vector protocol we are also able to communicate the "start signal". | ||
60 | {% endtrans %} | ||
61 | </p></br> | ||
62 | </section> | ||
63 | |||
64 | <section> | ||
65 | <h4>Usage</h4></br> | ||
66 | <p> | ||
67 | {% trans %} | ||
68 | We we have encapsulated the functionality in a library. The library can be used under the following requirements: | ||
69 | <ul> | ||
70 | <li>The caller of the API has to know the external IP address of the other peer.</li> | ||
71 | <li>The peers trying to communicate with each other need an indirect way to exchange messages in order to synchronize with each other.</li> | ||
72 | </ul> | ||
73 | |||
74 | These two requirements are not covered by the library. For more details have a look <a href="api.html">here</a>. | ||
75 | {% endtrans %} | ||
76 | </p></br> | ||
77 | </section> | ||
78 | |||
79 | <h2><a name="milestones" class="subnav-anchor"></a>{{ _("Milestones") }}</h2></br> | ||
80 | |||
81 | <p>The next milestone to be reached is milestone 1.</p></br> | ||
82 | |||
83 | <h3><a name="milestone1" class="subnav-anchor"></a>{{ _("Milestone 1 Test Infrastructure") }}</h3></br> | ||
84 | <section> | ||
85 | <p> | ||
86 | {% trans %} | ||
87 | Extending the testing framework, which was already designed and implemented for the L2O | ||
88 | project. <a href="mile1.html">Details</a> | ||
89 | |||
90 | <ul> | ||
91 | <li>Enhance the testing framework with a new kind of component (NAT component).</li> | ||
92 | <li>Implement logic to keep ports open used during network translation.</li> | ||
93 | <li>Extend the test framework configuration to configure the new components.</li> | ||
94 | </ul></br> | ||
95 | {% endtrans %} | ||
96 | </p> | ||
97 | <h4>Deliverable</h4></br> | ||
98 | <p> | ||
99 | {% trans %} | ||
100 | Test case which tests the new testing functionality. Adding documentation. | ||
101 | {% endtrans %} | ||
102 | </p></br> | ||
103 | </section> | ||
104 | |||
105 | <h3><a name="milestone2" class="subnav-anchor"></a>{{ _("Milestone 2 Synchronization") }}</h3></br> | ||
106 | <section> | ||
107 | <p> | ||
108 | {% trans %} | ||
109 | This task is to implement the protocol that is doing the signaling for synchronizing two peers | ||
110 | which do like to connect to each other. <a href="mile2.html">Details</a> | ||
111 | <ul> | ||
112 | <li>Two peers which got connected via DV signaling each other being behind a NAT.</li> | ||
113 | <li>Learning the external IP address+port from already connected peers, exchange with the | ||
114 | peers that want to connect.</li> | ||
115 | <li>Set a common start time. One peer is selected to be leading (comparing peer ids like it is | ||
116 | done in CADET)</li> | ||
117 | </ul> | ||
118 | {% endtrans %} | ||
119 | </p></br> | ||
120 | <h4>Deliverable</h4></br> | ||
121 | <p> | ||
122 | {% trans %} | ||
123 | Deliverable of this milestone is integrating the protocol implementation into the GNUnet | ||
124 | stack, a test case which tests that two peers successfully exchange the messages of the | ||
125 | implemented protocol until the condition is reached that both nodes are ready for the burst | ||
126 | mode. Additionally there will be a protocol documentation. | ||
127 | {% endtrans %} | ||
128 | </p></br> | ||
129 | </section> | ||
130 | |||
131 | <h3><a name="milestone3" class="subnav-anchor"></a>{{ _("Milestone 3 Burst Protocol") }}</h3></br> | ||
132 | <section> | ||
133 | <p> | ||
134 | {% trans %} | ||
135 | Burst to establish connectivity (IP_RAW, SYN send for TCP; normal for UDP). A burst of | ||
136 | synchronized (same ports on each peer) connection attempts on all available ports will lead to a | ||
137 | high probability for a successful connection.The connection in the TCP case is not final, because | ||
138 | the TCP connection is only done in the user space. | ||
139 | {% endtrans %} | ||
140 | </p></br> | ||
141 | <h4>Deliverable</h4> | ||
142 | <p> | ||
143 | {% trans %} | ||
144 | The protocol implementation will be integrated into the GNUnet stack, one Test case will | ||
145 | test two peers are finaly connected (UDP case), another test case for TCP tests if both | ||
146 | peers end up at the same port and the protocol will be documented. | ||
147 | {% endtrans %} | ||
148 | </p></br> | ||
149 | </section> | ||
150 | |||
151 | <h3><a name="milestone4" class="subnav-anchor"></a>{{ _("Milestone 4 TCP Repair") }}</h3></br> | ||
152 | <section> | ||
153 | <p> | ||
154 | {% trans %} | ||
155 | For the TCP case the connection was established sending packages from user space using raw | ||
156 | sockets. To let the kernel know about the TCP connection we will use the “repair mode” of the | ||
157 | setsockopt() system call. | ||
158 | {% endtrans %} | ||
159 | </p></br> | ||
160 | <h4>Deliverable</h4></br> | ||
161 | <p> | ||
162 | {% trans %} | ||
163 | Integration into the GNUnet stack and a test case testing two peers are finaly (kernel TCP | ||
164 | socket) connected. | ||
165 | {% endtrans %} | ||
166 | </p></br> | ||
167 | </section> | ||
168 | |||
169 | <h3><a name="milestone5" class="subnav-anchor"></a>{{ _("Milestone 5 Privilege Minimization") }}</h3><br/> | ||
170 | <section> | ||
171 | <p> | ||
172 | {% trans %} | ||
173 | Privilege minimization, using SUID/SGID helpers with required capabilities. We need privileged | ||
174 | access to system resources for some parts of the protocol, e.g. the TCP repair mode. This task | ||
175 | will implement helper executables which are doing this privileged access, to be used by other | ||
176 | components not having special privileges. (see § 2.2.1 Access Control, The GNUnet System, | ||
177 | https://grothoff.org/christian/habil.pdf) | ||
178 | {% endtrans %} | ||
179 | </p><br/> | ||
180 | <h4>Deliverable</h4><br/> | ||
181 | <p> | ||
182 | {% trans %} | ||
183 | Helper executables and cli applications using the helpers. Integration into the GNUnet | ||
184 | stack. Man pages for the cli applications. First release of all the implementation. | ||
185 | {% endtrans %} | ||
186 | </p><br/> | ||
187 | </section> | ||
188 | |||
189 | <h3><a name="milestone6" class="subnav-anchor"></a>{{ _("Milestone 6 Android Test Infrastructure") }}</h3><br/> | ||
190 | <section> | ||
191 | <p> | ||
192 | {% trans %} | ||
193 | In this milestone the test framework will be enhanced to run a headless android studio emulator on a namespace node. With this emulator an android device running on that node shall be emulated. Two devices running on different nodes should reach each other via the test framework network. For doing the network connection an app should run on each device. This app should do the networking with a small c library. With this c library we like to test if networking and file access is possible with a c library running using the NDK of Android. | ||
194 | {% endtrans %} | ||
195 | </p><br/> | ||
196 | <h4>Deliverable</h4><br/> | ||
197 | <p> | ||
198 | {% trans %} | ||
199 | The deliverable of this milestone is twofold: the scripts for automation and the automated tests themselves, and a report on the outcome of these tests. If the test case starting an Android app on two nodes doing network communication between those two apps and each app accessing its own filesystem will not work as expected, the task includes an overview of potential approaches for achieving the desired outcomes in other ways. | ||
200 | {% endtrans %} | ||
201 | </p><br/> | ||
202 | </section> | ||
203 | |||
204 | <h3><a name="milestone6" class="subnav-anchor"></a>{{ _("Milestone 7 GNUnet event loop on Android") }}</h3><br/> | ||
205 | <section> | ||
206 | <p> | ||
207 | {% trans %} | ||
208 | The c library should also start the GNUnet event loop. Therefore the library will be enhanced by a minimal part of the GNUnet stack to start the event loop. The testing code will be enhanced to use the event loop. | ||
209 | {% endtrans %} | ||
210 | </p><br/> | ||
211 | <h4>Deliverable</h4><br/> | ||
212 | <p> | ||
213 | {% trans %} | ||
214 | The deliverable of this milestone is twofold: the scripts for automation and the automated tests themselves, and a report on the outcome of these tests. If the test case testing the same functionality as in milestone 6, but using the GNUnet event loop, will not work as expected, the task includes an overview of potential approaches for achieving the desired outcomes in other ways. | ||
215 | {% endtrans %} | ||
216 | </p><br/> | ||
217 | </section> | ||
218 | |||
219 | <h3><a name="milestone6" class="subnav-anchor"></a>{{ _("Milestone 8 Enhance GNUnet stack on Android") }}</h3><br/> | ||
220 | <section> | ||
221 | <p> | ||
222 | {% trans %} | ||
223 | The working test cases of milestone 6 and 7 are prerequisites to tackle this milestone! The library will be enhanced to incorporate the parts of the GNUnet stack necessary to run the test case implemented in the milestones 1 -4. | ||
224 | {% endtrans %} | ||
225 | </p><br/> | ||
226 | <h4>Deliverable</h4><br/> | ||
227 | <p> | ||
228 | {% trans %} | ||
229 | Test case testing the same functionality as in milestone 1 - 4 running on Android. | ||
230 | {% endtrans %} | ||
231 | </p><br/> | ||
232 | </section> | ||
233 | |||
234 | |||
235 | |||
236 | </div> | ||
237 | </div> | ||
238 | |||
239 | </article> | ||
240 | {% endblock body_content %} | ||
diff --git a/template/probnat/mile1.html.j2 b/template/probnat/mile1.html.j2 new file mode 100644 index 00000000..a06f1d6d --- /dev/null +++ b/template/probnat/mile1.html.j2 | |||
@@ -0,0 +1,84 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Probabilistic NAT Traversal") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 1</h2> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("See revision <a href=\"https://git.gnunet.org/gnunet.git/commit/?h=dev/t3ss/probnatt&id=4b2303a35baa05a966543f036b43bb0cfaf22ab5\">4b2303a</a> on branch dev/t3ss/probnatt") }}</h4> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <table width="100%"> | ||
25 | <tr> | ||
26 | <td width="40%" style="vertical-align: top;">src/service/transport/nat_router.sh</td><td width="60%" style="vertical-align: top;">Test framework router component to fake kernel behavior to keep a port of an outgoing connection open.</td> | ||
27 | <tr> | ||
28 | <td></td><td> </td> | ||
29 | </tr> | ||
30 | <tr> | ||
31 | <td width="40%" style="vertical-align: top;">scripts/netjail/nat_node_test.sh</td><td width="60%" style="vertical-align: top;">Test script to just send test messages to another node to open up a port.</td> | ||
32 | </tr> | ||
33 | <tr> | ||
34 | <td width="40%" style="vertical-align: top;">scripts/netjail/getmsg.sh</td><td width="60%" style="vertical-align: top;">Test script to receive test messages from nat_node_test.sh.</td> | ||
35 | <tr> | ||
36 | <td></td><td> </td> | ||
37 | </tr> | ||
38 | <tr> | ||
39 | <td width="40%" style="vertical-align: top;">test_transport_plugin_cmd_nat_mapping.c</td><td width="60%" style="vertical-align: top;">Testcase to start the script which sends test messages to open up ports.</td> | ||
40 | <tr> | ||
41 | <td></td><td> </td> | ||
42 | </tr> | ||
43 | <tr> | ||
44 | <td width="40%" style="vertical-align: top;">test_transport_nat_mapping_topo.conf</td><td width="60%" style="vertical-align: top;">Configuration for the test case.</td> | ||
45 | <tr> | ||
46 | <td></td><td> </td> | ||
47 | </tr> | ||
48 | <tr> | ||
49 | <td width="40%" style="vertical-align: top;">test_transport_nat_mapping.sh</td><td width="60%" style="vertical-align: top;">Script to start the test case.</td> | ||
50 | <tr> | ||
51 | <td></td><td> </td> | ||
52 | </tr> | ||
53 | <tr> | ||
54 | <td width="40%" style="vertical-align: top;">scripts/Makefile.am</td><td width="60%" style="vertical-align: top;">Added nat_node_test.sh and getmsg.sh.</td> | ||
55 | <tr> | ||
56 | <td></td><td> </td> | ||
57 | </tr> | ||
58 | <tr> | ||
59 | <td width="40%" style="vertical-align: top;">scripts/netjail/netjail_start.sh</td><td width="60%" style="vertical-align: top;">Added node nummber parameter to node start script, and make the script run in background.</td> | ||
60 | <tr> | ||
61 | <td></td><td> </td> | ||
62 | </tr> | ||
63 | <tr> | ||
64 | <td width="40%" style="vertical-align: top;">scripts/netjail/netjail_stop.sh</td><td width="60%" style="vertical-align: top;">Added node nummber parameter to node stop script.</td> | ||
65 | <tr> | ||
66 | <td></td><td> </td> | ||
67 | </tr> | ||
68 | <tr> | ||
69 | <td width="40%" style="vertical-align: top;">src/service/testing/testing_api_cmd_exec_bash_script.c</td><td width="60%" style="vertical-align: top;">Bugfixing the script that was initially implemented to do explorative testing of transport integrsation, and which is now also used to start the script which sends test messages.</td> | ||
70 | </tr> | ||
71 | <tr> | ||
72 | <td width="40%" style="vertical-align: top;">src/service/transport/Makefile.am</td><td width="60%" style="vertical-align: top;">Added test_transport_plugin_cmd_nat_mapping.c</td> | ||
73 | </tr> | ||
74 | </table> | ||
75 | {% endtrans %} | ||
76 | </p> | ||
77 | </section> | ||
78 | |||
79 | |||
80 | </div> | ||
81 | </div> | ||
82 | |||
83 | </article> | ||
84 | {% endblock body_content %} | ||
diff --git a/template/probnat/mile2.html.j2 b/template/probnat/mile2.html.j2 new file mode 100644 index 00000000..2d76796a --- /dev/null +++ b/template/probnat/mile2.html.j2 | |||
@@ -0,0 +1,105 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <main id="maincontent"> | ||
4 | <article class="container"> | ||
5 | |||
6 | <header> | ||
7 | <h1>{{ _("NGI Assure project: Probabilistic NAT Traversal") }}</h1> | ||
8 | </header> | ||
9 | |||
10 | <div class="row"> | ||
11 | <div class="col-2 d-none d-lg-block"><!-- for large viewports show menu for better orientation --> | ||
12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | ||
13 | <a class="nav-link" href="index.html#idea">{{ _("Project main page") }}</a> | ||
14 | </nav> | ||
15 | </div> | ||
16 | <div class="col"> | ||
17 | |||
18 | <h2>Implementation details milestone 2</h2> | ||
19 | |||
20 | <section> | ||
21 | <h4><a name="netjail" class="subnav-anchor"></a>{{ _("See revision <a href=\"https://git.gnunet.org/gnunet.git/commit/?h=dev/t3ss/probnatt&id=d0c59f236c93e43a21f9ef0e14e54d5f8bb952bd\">d0c59f2</a>, <a href=\"https://git.gnunet.org/gnunet.git/commit/?h=dev/t3ss/probnatt&id=16b5da18df2d725bbcaa2e6efa05c793492ab445\">16b5da1</a>, <a href=\"https://git.gnunet.org/gnunet.git/commit/?h=dev/t3ss/probnatt&id=c1ef824f95612bea94a28563151efa99e18f47f6\">c1ef824</a> and <a href=\"https://git.gnunet.org/gnunet.git/commit/?h=dev/t3ss/probnatt&id=8de6f974d0fe210e03e891b365613e0bc4a2ceea\">8de6f97</a> on branch dev/t3ss/probnatt") }}</h4> | ||
22 | <p> | ||
23 | {% trans %} | ||
24 | <table width="100%"> | ||
25 | <tr> | ||
26 | <td width="40%" style="vertical-align: top;">scripts/testing-ng/emu_run.sh</td><td width="60%" style="vertical-align: top;">Script to run several cli commands to start and configure the virtual Android devices.</td> | ||
27 | <tr> | ||
28 | <td></td><td> </td> | ||
29 | </tr> | ||
30 | <tr> | ||
31 | <td width="40%" style="vertical-align: top;">scripts/Makefile.am</td><td width="60%" style="vertical-align: top;">Added emu_run.sh script to makefile.</td> | ||
32 | </tr> | ||
33 | <tr> | ||
34 | <td></td><td> </td> | ||
35 | </tr> | ||
36 | <tr> | ||
37 | <td width="40%" style="vertical-align: top;">src/service/core/test_core_plugin_cmd_run_emu.c</td><td width="60%" style="vertical-align: top;">Test case to run a setup with two natted Android devices in separate subnetworks and one global reachable node.</td> | ||
38 | <tr> | ||
39 | <td></td><td> </td> | ||
40 | </tr> | ||
41 | <tr> | ||
42 | <td width="40%" style="vertical-align: top;">src/service/core/Makefile.am</td><td width="60%" style="vertical-align: top;">Adding test case to makefile.</td> | ||
43 | <tr> | ||
44 | <td></td><td> </td> | ||
45 | </tr> | ||
46 | <tr> | ||
47 | <td width="40%" style="vertical-align: top;">src/service/core/test_core_run_emu_topo.conf</td><td width="60%" style="vertical-align: top;">Configuration for the test case.</td> | ||
48 | <tr> | ||
49 | <tr> | ||
50 | <td></td><td> </td> | ||
51 | </tr> | ||
52 | <tr> | ||
53 | <td width="40%" style="vertical-align: top;">src/service/transport/gnunet-service-transport.c</td><td width="60%" style="vertical-align: top;">Added request to ask arm service for services configured to start and checking if they have started. Added check in log file to se if communicators already connected with transport service.</td> | ||
54 | <tr> | ||
55 | <td></td><td> </td> | ||
56 | </tr> | ||
57 | <tr> | ||
58 | <td width="40%" style="vertical-align: top;">include/gnunet_transport_testing_ng_lib.h</td><td width="60%" style="vertical-align: top;">Changes in header file for check of running services and connected communicaors.</td> | ||
59 | </tr> | ||
60 | <tr> | ||
61 | <td></td><td> </td> | ||
62 | </tr> | ||
63 | <tr> | ||
64 | <td width="40%" style="vertical-align: top;">src/service/transport/gnunet-service-transport.c</td><td width="60%" style="vertical-align: top;">Added functionality to synchronize two peers by comparing the measured RTT of both peers. This code was moved to the util library. For use of that library have a look <a href="api.html">here</a></td> | ||
65 | <tr> | ||
66 | <td></td><td> </td> | ||
67 | </tr> | ||
68 | <tr> | ||
69 | <td width="40%" style="vertical-align: top;">src/service/core/Makefile.am</td><td width="60%" style="vertical-align: top;">Adding test case to makefile.</td> | ||
70 | <tr> | ||
71 | <td></td><td> </td> | ||
72 | </tr> | ||
73 | <tr> | ||
74 | <td width="40%" style="vertical-align: top;">test_core_just_run_topo.conf</td><td width="60%" style="vertical-align: top;">Change the configuration file to just run peers to manually test to have a setup with two natted peers in separate subnetworks and one global reachable peer.</td> | ||
75 | <tr> | ||
76 | <tr> | ||
77 | <td></td><td> </td> | ||
78 | </tr> | ||
79 | <tr> | ||
80 | <td width="40%" style="vertical-align: top;">src/include/gnunet_protocols.h</td><td width="60%" style="vertical-align: top;">Added the burst sync message to the header file.</td> | ||
81 | <tr> | ||
82 | <tr> | ||
83 | <td></td><td> </td> | ||
84 | </tr> | ||
85 | <tr> | ||
86 | <td width="40%" style="vertical-align: top;">src/include/gnunet_util_lib.h</td><td width="60%" style="vertical-align: top;">Added the new API to the util library.</td> | ||
87 | <tr> | ||
88 | <tr> | ||
89 | <td></td><td> </td> | ||
90 | </tr> | ||
91 | <tr> | ||
92 | <td width="40%" style="vertical-align: top;">src/lib/util/Makefile.am</td><td width="60%" style="vertical-align: top;">Added the new API to the Makefile.</td> | ||
93 | <tr> | ||
94 | <tr> | ||
95 | <td></td><td> </td> | ||
96 | </tr> | ||
97 | </table> | ||
98 | {% endtrans %} | ||
99 | </p> | ||
100 | </section> | ||
101 | </div> | ||
102 | </div> | ||
103 | |||
104 | </article> | ||
105 | {% endblock body_content %} \ No newline at end of file | ||
diff --git a/template/reclaim/faq.html.j2 b/template/reclaim/faq.html.j2 new file mode 100644 index 00000000..b49b8f6c --- /dev/null +++ b/template/reclaim/faq.html.j2 | |||
@@ -0,0 +1,26 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / FAQ | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("Frequently asked questions") }}</h2> | ||
7 | <br/> | ||
8 | <div class="container"> | ||
9 | <ul class="fa-ul"> | ||
10 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How is re:claimID different from</b> <i><insert other identity provider service here> ?</i></li> | ||
11 | <li><i class="fa-li fas fa-comment"></i> Unlike most other identity provider services, re:claimID is not operated by a single service provider or even a federated consortium of service providers. Instead, it is a fully decentralised service operated implicitly by its users. Consequently, large-scale data monetisation, mass-surveillance and other (ab)use of personal data is inherently mitigated.</li> | ||
12 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How much does re:claimID cost?</b></li> | ||
13 | <li><i class="fa-li fas fa-comment"></i> re:claimID is Free Software. We argue that in order for an identity system to be a credible solution for self-sovereign citizens to exercise their right to digital self determination, open and free software as well as services are indispensible.</li> | ||
14 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How does re:claimID work?</b></li> | ||
15 | <li><i class="fa-li fas fa-comment"></i> re:claimID uses the GNU Name System as identity and attribute directory service. In order to allow the user to enforce access control decisions, we use a cryptographic access control layer. However, the user is not required to manage any cryptographic keys or manage zones in a namespace. This is done under the hood by re:claimID.</li> | ||
16 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>How does a website know the attribute data share via re:claimID is correct?</b></li> | ||
17 | <li><i class="fa-li fas fa-comment"></i> Short answer: It doesn't. | ||
18 | Long answer: Identities are initially self-asserted by the user. re:claimID could, however, also be used to share third party attested attributes (e.g. X.509 certificates). Further, have integrated <a href="https://github.com/Fraunhofer-AISEC/libpabc">Privacy-ABCs</a> for <a href="{{ url_localized('news/2021-05-DISSENS.html') }}">this use case</a>.</li> | ||
19 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>Who is behind re:claimID?</b></li> | ||
20 | <li><i class="fa-li fas fa-comment"></i> re:claimID was initially developed at <a href="https://aisec.fraunhofer.de">Fraunhofer AISEC</a> and is part of GNUnet.</li> | ||
21 | <li class="mt-4"><i class="fa-li fas fa-question-circle"></i> <b>I found a bug!</b></li> | ||
22 | <li><i class="fa-li fas fa-comment"></i> We aim to continuously develop and improve re:claimID. Help us by <a href="https://bugs.gnunet.org">reporting any issues you encounter</a>.</li> | ||
23 | </ul> | ||
24 | |||
25 | </div> | ||
26 | {% endblock body_content %} | ||
diff --git a/template/reclaim/idps.html.j2 b/template/reclaim/idps.html.j2 new file mode 100644 index 00000000..5101b0d7 --- /dev/null +++ b/template/reclaim/idps.html.j2 | |||
@@ -0,0 +1,30 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / IdPs | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("For IdPs") }}</h2> | ||
7 | <br/> | ||
8 | <div class="container"> | ||
9 | <h2><b>Step 1:</b> OpenID Service</h2> | ||
10 | As an identity provider and credential issuer, you need to setup an OpenID Connect server. There are many servers out there. For a list of servers, check out the <a href="https://openid.net/developers/certified/">OpenID website</a>. | ||
11 | One important caveat is that the server should allow you to issue user information inside the signed "ID Token". | ||
12 | The configuration regarding what user information goes into the token is of course completely under your discretion. | ||
13 | |||
14 | <h2 class="mt-5"><b>Step 2:</b> Configuring the reclaimID client</h2> | ||
15 | reclaimID uses special client values which must be registered at the OpenID server. The values are: | ||
16 | <ul> | ||
17 | <li><b>Client ID</b>: reclaimid</li> | ||
18 | <li><b>Client secret</b>: none (public client)</li> | ||
19 | <li><b>Redirect URI</b>: https://ui.reclaim</li> | ||
20 | <li><b>Grant type</b>: Authorization code</li> | ||
21 | <li><b>PKCE</b>: enabled (Optional but highly recommended)</li> | ||
22 | </ul> | ||
23 | |||
24 | <h2 class="mt-5"><b>Step 3:</b> Configuring a webfinger</h2> | ||
25 | You must support the webfinger-based <a href="https://openid.net/specs/openid-connect-discovery-1_0.html">OpenID Connect service discovery</a>. | ||
26 | Whenever the user configures an email address for an identity, reclaimID will try to discover the issuing identity provider through the OIDC Discovery protocol. This includes a <a href="https://openid.net/specs/openid-connect-discovery-1_0.html#EmailSyntax">request to the authority part of the email address</a>. | ||
27 | |||
28 | The response should point reclaimID to the actual OpenID Connect service <a href="https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata">serving the issuer medatata</a>. reclaimID will try to request all scopes which are listed in the metadata, but does not expect all of them to be granted. | ||
29 | </div> | ||
30 | {% endblock body_content %} | ||
diff --git a/template/reclaim/index.html.j2 b/template/reclaim/index.html.j2 new file mode 100644 index 00000000..c52b9ad6 --- /dev/null +++ b/template/reclaim/index.html.j2 | |||
@@ -0,0 +1,102 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="container"> | ||
4 | <div class="row"> | ||
5 | <div class="container text-center"> | ||
6 | <img style="width:50%" src="{{ url_static('images/reclaim_logo.png') }}" alt="reclaimID" /> | ||
7 | <br/> | ||
8 | <p class="mt-4">{{ _("Self-sovereign, Decentralised Identity Management and Personal Data Sharing") }}</p> | ||
9 | </div> | ||
10 | </div> | ||
11 | </div> | ||
12 | <div class="container-fluid greybox"> | ||
13 | <div class="container"> | ||
14 | <div class="row"> | ||
15 | <div class="col-lg-2"></div> | ||
16 | <div class="col-lg-6"> | ||
17 | <section> | ||
18 | <h2>{{ _("Self-sovereign") }}</h2> | ||
19 | <p> | ||
20 | {% trans %} | ||
21 | You manage your identities and attributes locally on your computer. No need to trust a third party service with your data. | ||
22 | {% endtrans %} | ||
23 | </p> | ||
24 | </section> | ||
25 | </div> | ||
26 | <div class="col-lg-3 homepageicon"> | ||
27 | <span class="fas fa-fist-raised"></span> | ||
28 | </div> | ||
29 | </div> | ||
30 | </div> | ||
31 | </div> | ||
32 | <div class="container-fluid"> | ||
33 | <div class="container"> | ||
34 | <div class="row"> | ||
35 | <div class="col-lg-2 homepageicon"> | ||
36 | <span class="fas fa-project-diagram"></span> | ||
37 | </div> | ||
38 | <div class="col-lg-6"> | ||
39 | <section> | ||
40 | <h2>{{ _("Decentralized") }}</h2> | ||
41 | <p> | ||
42 | {% trans %} | ||
43 | You can share your identity attributes securely over a decentralized name system. This allows your friends to access your shared data without the need of a trusted third party. | ||
44 | {% endtrans %} | ||
45 | </p> | ||
46 | </section> | ||
47 | </div> | ||
48 | </div> | ||
49 | </div> | ||
50 | </div> | ||
51 | |||
52 | <div class="container-fluid greybox"> | ||
53 | <div class="container"> | ||
54 | <div class="row"> | ||
55 | <div class="col-lg-2"></div> | ||
56 | <div class="col-lg-6"> | ||
57 | <section> | ||
58 | <h2>{{ _("Standard-compliant") }}</h2> | ||
59 | <p> | ||
60 | {% trans %} | ||
61 | You can use OpenID Connect to integrate reclaim in your web sites. | ||
62 | {% endtrans %} | ||
63 | </p> | ||
64 | </section> | ||
65 | </div> | ||
66 | <div class="col-lg-3 homepageicon"> | ||
67 | <span class="fab fa-openid"></span> | ||
68 | </div> | ||
69 | </div> | ||
70 | </div> | ||
71 | </div> | ||
72 | <hr/> | ||
73 | <div class="container-fluid"> | ||
74 | <div class="container"> | ||
75 | <div class="row"> | ||
76 | <div class="col-md-4 mt-1"> | ||
77 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/tech.html') }}"><i class="fas fa-cubes"></i><br/>{{ _("Technology") }}</a> | ||
78 | </div> | ||
79 | <div class="col-md-4 mt-1"> | ||
80 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/motivation.html') }}"><i class="fas fa-fire"></i><br/>{{ _("Motivation") }}</a> | ||
81 | </div> | ||
82 | <div class="col-md-4 mt-1"> | ||
83 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/faq.html') }}"><i class="fas fa-question"></i><br/>{{ _("FAQ") }}</a> | ||
84 | </div> | ||
85 | |||
86 | </div> | ||
87 | <div class="row"> | ||
88 | <div class="col-md-4 mt-1"> | ||
89 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/users.html') }}"><i class="fas fa-user"></i><br/>{{ _("For users") }}</a> | ||
90 | </div> | ||
91 | <div class="col-md-4 mt-1"> | ||
92 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/websites.html') }}"><i class="fas fa-globe"></i><br/>{{ _("For websites") }}</a> | ||
93 | </div> | ||
94 | <div class="col-md-4 mt-1"> | ||
95 | <a class="frontpage btn btn-primary btn-lg" href="{{ url_localized('reclaim/idps.html') }}"><i class="fas fa-users"></i><br/>{{ _("For IdPs") }}</a> | ||
96 | </div> | ||
97 | </div> | ||
98 | </div> | ||
99 | </div> | ||
100 | |||
101 | |||
102 | {% endblock body_content %} | ||
diff --git a/template/reclaim/motivation.html.j2 b/template/reclaim/motivation.html.j2 new file mode 100644 index 00000000..880c504e --- /dev/null +++ b/template/reclaim/motivation.html.j2 | |||
@@ -0,0 +1,34 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Motivation | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("Motivation") }}</h2> | ||
7 | <br/> | ||
8 | <div class="container"> | ||
9 | <p> | ||
10 | Today, users are often required to share personal data, like email addresses, to use services on the web. As part of normal service operation, such as notifications or billing, services require access to -- ideally fresh and correct -- user data. | ||
11 | Sharing attributes in the Web today is often done via centralized service providers to reduce data redundancy and to give services access to current, up-to-date information even if the user is currently offline. | ||
12 | Abuse of this power is theoretically limited by local laws and regulations. | ||
13 | But, the past has shown that even well-meaning identity providers struggle to keep user data safe as they become major targets for hackers and nation state actors while striving for monetizing anonymized statistics from these data. | ||
14 | We advocate for a new, decentralized way for users to manage their identities for the following reasons: | ||
15 | </p> | ||
16 | <ul class="fa-ul"> | ||
17 | <li><i class="fa-li fas fa-caret-right"></i> The current state of omniscient identity providers is a significant threat to the users' privacy.</li> | ||
18 | <li><i class="fa-li fas fa-caret-right"></i> Users must completely trust the service provider with respect to protecting the integrity and confidentiality of their identity in their interest.</li> | ||
19 | <li><i class="fa-li fas fa-caret-right"></i> The service provider itself is facing substantial liability risks given the responsibility of securely managing potentially sensitive personal data of millions of users.</li> | ||
20 | </ul> | ||
21 | |||
22 | <p>re:claimID is built as a service on top of the peer-to-peer framework <a href="https://gnunet.org">GNUnet</a>.<br/> | ||
23 | It emerged from research conducted by the research group "Secure | ||
24 | Applications and Services" at the <a href="https://www.aisec.fraunhofer.de/de/fields-of-expertise/projekte/reclaim.html">Fraunhofer AISEC</a> research institute.<br/> | ||
25 | A scientific, peer-reviewed paper on the theoretical foundations of re:claimID | ||
26 | was published at <a href="https://ieeexplore.ieee.org/document/8456003">TrustCom 2018</a> | ||
27 | (<a href="https://arxiv.org/abs/1805.06253v1">Arxiv</a>).<br/> re:claimID is | ||
28 | primarily developed in the | ||
29 | <a href="https://git.gnunet.org/gnunet.git/tree/src/reclaim">GNUnet source tree</a>. | ||
30 | Accompanying tools and sources can be found in the | ||
31 | <a href="https://git.gnunet.org/">Git repositories</a>. | ||
32 | </p> | ||
33 | </div> | ||
34 | {% endblock body_content %} | ||
diff --git a/template/reclaim/tech.html.j2 b/template/reclaim/tech.html.j2 new file mode 100644 index 00000000..4223cf5b --- /dev/null +++ b/template/reclaim/tech.html.j2 | |||
@@ -0,0 +1,115 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Technology | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("Overview") }}</h2> | ||
7 | <div style="text-align:center"> | ||
8 | <img style="width:50%" src="{{ url_static('images/reclaim/reclaim_eq.png') }}"/> | ||
9 | </div> | ||
10 | <br/> | ||
11 | <div class="container"> | ||
12 | <div class="row"> | ||
13 | <div class="col-lg-6"> | ||
14 | <h3> | ||
15 | {{ _("Decentralised identity directory") }} | ||
16 | </h3> | ||
17 | <p> | ||
18 | {% trans %} | ||
19 | The decentralised GNU Name System (GNS) gives users full and exclusive authority over their attributes by sharing them over user-owned namespaces. | ||
20 | {% endtrans %} | ||
21 | </p> | ||
22 | </div> | ||
23 | <div class="col-lg-6"> | ||
24 | <div> | ||
25 | <h3> | ||
26 | {{ _("Cryptographic access control") }} | ||
27 | </h3> | ||
28 | </div> | ||
29 | <p> | ||
30 | {% trans %} | ||
31 | Users regularly publish fresh, up-to-date attributes which can be retrieved and | ||
32 | read only by authorized relying parties parties without direct user interaction -- even if the user is offline! | ||
33 | {% endtrans %} | ||
34 | </p> | ||
35 | </div> | ||
36 | </div> | ||
37 | </div> | ||
38 | <hr/> | ||
39 | <h2 class="text-center">{{ _("Principles") }}</h2> | ||
40 | <div class="container-fluid greybox"> | ||
41 | <div class="container"> | ||
42 | <div class="row"> | ||
43 | <div class="col-lg-1"></div> | ||
44 | <div class="col-lg-6"> | ||
45 | <section> | ||
46 | <h2>{{ _("Identity and attribute management") }}</h2> | ||
47 | <p> | ||
48 | {% trans %} | ||
49 | Users regularly publish fresh, up-to-date attributes which can be retrieved by requesting parties without direct user interaction -- even if the user is offline! | ||
50 | Access to attributes is controlled through an ecryption based access | ||
51 | control layer. | ||
52 | {% endtrans %} | ||
53 | </p> | ||
54 | </section> | ||
55 | </div> | ||
56 | <div class="col-lg-5 homepageicon"> | ||
57 | <a href="{{ url_static('images/reclaim/Reclaim-2.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-2.png') }}"/></a> | ||
58 | </div> | ||
59 | </div> | ||
60 | </div> | ||
61 | </div> | ||
62 | <div class="container-fluid"> | ||
63 | <div class="container"> | ||
64 | <div class="row"> | ||
65 | <div class="col-lg-5 homepageicon"> | ||
66 | <a href="{{ url_static('images/reclaim/Reclaim-3.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-3.png') }}"/></a> | ||
67 | |||
68 | </div> | ||
69 | <div class="col-lg-6"> | ||
70 | <section> | ||
71 | <h2>{{ _("Authorization") }}</h2> | ||
72 | <p> | ||
73 | {% trans %} | ||
74 | To access attributes, requesting parties request authorization from the | ||
75 | user thrugh the use of OpenID Connect. | ||
76 | If access is granted, the relying party is given the necessary decryption | ||
77 | key material. | ||
78 | The user may at any time revoke this access or modify the authorization decision. | ||
79 | {% endtrans %} | ||
80 | </p> | ||
81 | </section> | ||
82 | </div> | ||
83 | </div> | ||
84 | </div> | ||
85 | |||
86 | <div class="container-fluid greybox"> | ||
87 | <div class="container"> | ||
88 | <div class="row"> | ||
89 | <div class="col-lg-1"></div> | ||
90 | <div class="col-lg-6"> | ||
91 | <section> | ||
92 | <h2>{{ _("Attribute retrieval") }}</h2> | ||
93 | <p> | ||
94 | {% trans %} | ||
95 | Relying parties retrieve encrypted identity data from the decentralised | ||
96 | directory. | ||
97 | It is able to decrypt all those attributes that the user has authorized | ||
98 | it to access using the respective key. | ||
99 | {% endtrans %} | ||
100 | </p> | ||
101 | </section> | ||
102 | </div> | ||
103 | <div class="col-lg-5 homepageicon"> | ||
104 | <a href="{{ url_static('images/reclaim/Reclaim-4.png') }}"><img style="width:100%" src="{{ url_static('images/reclaim/Reclaim-4.png') }}"/></a> | ||
105 | </div> | ||
106 | </div> | ||
107 | </div> | ||
108 | </div> | ||
109 | <hr/> | ||
110 | <h2 style="text-align:center" class="mt-2">Videos and Talks</h2> | ||
111 | <ul class="fa-ul"> | ||
112 | <li><i class="fa-li fas fa-caret-right"></i> <a href="https://youtu.be/PlSX-o36Wus?t=5371">IETF Meeting #104; Privacy Enhancements and Assessments Research Group - March 2019</a> (<a href="https://git.gnunet.org/presentations.git/plain/IETF104/slides-104-pearg-reclaim-00.pdf">Slides</a>)</li> | ||
113 | <li><i class="fa-li fas fa-caret-right"></i> <a href="https://media.ccc.de/v/ds19-10383-re_claimid">Datenspuren 2019 - September 2019 (German)</a> (<a href="https://git.gnunet.org/presentations.git/plain/datenspuren2019/datenspuren2019.pdf">Slides</a>, English)</li> | ||
114 | </ul> | ||
115 | {% endblock body_content %} | ||
diff --git a/template/reclaim/users.html.j2 b/template/reclaim/users.html.j2 new file mode 100644 index 00000000..cac0a997 --- /dev/null +++ b/template/reclaim/users.html.j2 | |||
@@ -0,0 +1,40 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Users | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("For users") }}</h2> | ||
7 | <br/> | ||
8 | <div class="container"> | ||
9 | <h2><b>Step 1:</b> Installation</h2> | ||
10 | <p> | ||
11 | Please use the <a href="{{ url_localized('install.html') }}">GNUnet installation guides</a>. | ||
12 | </p> | ||
13 | <h2 class="mt-5"><b>Step 2:</b> Browser plugin</h2> | ||
14 | |||
15 | <p>You also need to install a browser plugin:</p> | ||
16 | <div class="centering"> | ||
17 | <a class="btn btn-primary" target="_blank" rel="noopener noreferrer" | ||
18 | href="https://addons.mozilla.org/addon/reclaimid/"><i class="fab fa-firefox"></i> Mozilla Firefox</a> | ||
19 | <a class="btn btn-primary" target="_blank" rel="noopener noreferrer" | ||
20 | href="https://chrome.google.com/webstore/detail/reclaimid/jiogompmdejcnacmlnjhnaicgkefcfll"><i class="fab fa-chrome"></i> Chrome / Chromium</a> | ||
21 | </div> | ||
22 | <br/> | ||
23 | <h2 class="mt-5"><b>Step 3:</b> Creating your first identity</h2> | ||
24 | <p>Almost there. Now try adding a new identity at <a href="https://ui.reclaim">your local re:claimID instance</a> and add some attributes to it. | ||
25 | <br/> | ||
26 | |||
27 | <!--<h2 class="mt-5">Websites supporting re:claimID</h2> | ||
28 | <p>To test a login with one of your re:claimID identities, you can go to one of the websites supporting it:</p> | ||
29 | <ul> | ||
30 | <li><a href="https://demo.reclaim-identity.io">Our demo messaging board</a> (<a href="https://gitlab.com/reclaimid/demo">Source</a>)</li> | ||
31 | <li><a href="https://eusec.clouditor.io">Clouditor EUSEC project page</a></li> | ||
32 | </ul>--> | ||
33 | |||
34 | |||
35 | <h2 class="mt-5">Troubleshooting</h2> | ||
36 | In case you encounter any problems, please check for <a href="https://bugs.gnunet.org">known issues and report bugs to help us improve re:claimID!</a> | ||
37 | |||
38 | |||
39 | </div> | ||
40 | {% endblock body_content %} | ||
diff --git a/template/reclaim/websites.html.j2 b/template/reclaim/websites.html.j2 new file mode 100644 index 00000000..9966ca1d --- /dev/null +++ b/template/reclaim/websites.html.j2 | |||
@@ -0,0 +1,44 @@ | |||
1 | {% extends "common/base.j2" %} | ||
2 | {% block body_content %} | ||
3 | <div class="m-3"> | ||
4 | <a class="mt-2 mb-2" href="{{ url_localized('reclaim/index.html') }}">reclaimID</a> / Websites | ||
5 | </div> | ||
6 | <h2 class="text-center">{{ _("For websites") }}</h2> | ||
7 | <div class="container"> | ||
8 | <h2><b>Step 1:</b> Installation</h2> | ||
9 | <p> | ||
10 | Please use the <a href="{{ url_localized('install.html') }}">GNUnet installation guides</a>. | ||
11 | </p> | ||
12 | <h2 class="mt-5"><b>Step 2:</b> Registering an OpenID Connect client</h2> | ||
13 | <p>The easiest way to manage OpenID Connect client is through our CLI tool:</p> | ||
14 | <code class="block">$ gem install reclaim-oidc</code> | ||
15 | <p>To register an OpenID Connect client, execute:</p> | ||
16 | <code class="block">$ reclaim-oidc --add --client-name myclient --redirect-uri https://mywebsite.com/oidc_cb --description "My Client"</code> | ||
17 | <p>You can list all registered clients and your local OpenID Connect metadata required to initiate an authorization code flow by executing:</p> | ||
18 | <code class="block">$ reclaim-oidc --list </code> | ||
19 | <p>The response will look like this</p> | ||
20 | <code class="block">OpenID Connect Provider Information:<br/> | ||
21 | ------------------------------------<br/> | ||
22 | Authorize Endpoint: http://localhost:7776/openid/authorize<br/> | ||
23 | Token Endpoint: http://localhost:7776/openid/token<br/> | ||
24 | JSON-Web-Token Algorithm: HS512<br/> | ||
25 | JSON-Web-Token key: secret<br/> | ||
26 | Example Authorization Redirect:<br/> | ||
27 | https://api.reclaim/openid/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>&response_type=code&scope=email%20full_name&nonce=1234<br/> | ||
28 | <br/> | ||
29 | Registered Clients:<br/> | ||
30 | -------------------<br/> | ||
31 | name: myclient<br/> | ||
32 | client_id: <client_id><br/> | ||
33 | client_secret: <client_secret><br/> | ||
34 | description: My Client<br/> | ||
35 | redirect_uri: https://mywebsite.com/oidc_cb<br/> | ||
36 | ... | ||
37 | </code> | ||
38 | <div class="alert alert-info"><b>NOTE</b>: The client secrets and JWT token signing keys can be configured. However, due to the fact that re:claimID endpoint are running on your local machine, they are not critical.</div> | ||
39 | |||
40 | <h2 class="mt-5"><b>Step 3:</b> Website integration</h2> | ||
41 | <p>You can use the information above to integrate re:claimID as a generic <a href="https://openid.net/specs/openid-connect-core-1_0.html">OpenID Connect Identity Provider</a> into the web application of your choice. The integration steps for this part depend on the application you use. Hence, please refer to your respective documentation or the OpenID Connect specifications. | ||
42 | </p> | ||
43 | </div> | ||
44 | {% endblock body_content %} | ||
diff --git a/template/roadmap.html.j2 b/template/roadmap.html.j2 index 22c01a41..09d0b7a7 100644 --- a/template/roadmap.html.j2 +++ b/template/roadmap.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <div class="container"> | 4 | <div class="container"> |
4 | <div class="row"> | 5 | <div class="row"> |
5 | <div class="container text-center"> | 6 | <div class="container text-center"> |
@@ -10,49 +11,41 @@ | |||
10 | The roadmap is subject to change and its primary purpose it to indicate the current work in progress and future work as well as the path to a stable release. Goals which are currently in active development are marked in <b>bold</b>. | 11 | The roadmap is subject to change and its primary purpose it to indicate the current work in progress and future work as well as the path to a stable release. Goals which are currently in active development are marked in <b>bold</b>. |
11 | </p> | 12 | </p> |
12 | <ul class="timeline"> | 13 | <ul class="timeline"> |
13 | <li> | 14 | <!--<li> |
14 | <section class="item-preview"> | 15 | <section class="item-preview"> |
15 | <header> | 16 | <header> |
16 | <h3>Short term</h3> | 17 | <h3>Short term</h3> |
17 | <p class="item-date"> | 18 | <p class="item-date"> |
18 | <0.15 | 19 | ≤0.17 |
19 | </p> | 20 | </p> |
20 | <p class="item-abstract"> | 21 | <p class="item-abstract"> |
21 | <ul class="fa-ul"> | ||
22 | <li><span class="fa-li"><i class="far fa-check-square"></i></span><a href="https://gana.gnunet.org">Setup and use names and numbers registration (GANA) for GNUnet | ||
23 | subsystems.</a></li> | ||
24 | <li><span class="fa-li"><i class="far fa-check-square"></i></span><a href="https://lsd.gnunet.org/lsd0001/">GNU Name System technical specification.</a></li> | ||
25 | </ul> | ||
26 | </p> | 22 | </p> |
27 | </header> | 23 | </header> |
28 | </p> | 24 | </p> |
29 | </section> | 25 | </section> |
30 | </li> | 26 | </li>--> |
31 | <li> | 27 | <li> |
32 | <section class="item-preview"> | 28 | <section class="item-preview"> |
33 | <header> | 29 | <header> |
34 | <h3>Medium term</h3> | 30 | <h3>Medium term</h3> |
35 | <p class="item-date"> | 31 | <p class="item-date"> |
36 | ≥0.15 | 32 | <1.0 |
37 | </p> | 33 | </p> |
38 | <p class="item-abstract"> | 34 | <p class="item-abstract"> |
39 | <ul class="fa-ul"> | 35 | <ul class="fa-ul"> |
40 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>TNG</b>: Transport rewrite. [<a href="https://bugs.gnunet.org/search.php?tag_string=tng">Open issues</a>] | 36 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>TRANSPORT-NG (TNG): Transport layer redesign.</b> [<a href="https://bugs.gnunet.org/search.php?tag_string=tng">Open issues</a>] |
41 | <ul class="fa-ul"> | 37 | <ul class="fa-ul"> |
42 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>TNG service</b></li> | 38 | <li><span class="fa-li"><i class="far fa-check-square"></i></span>TNG service</li> |
43 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>TCP communicator</b></li> | 39 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>QUIC communicator</b></li> |
44 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>UDP communicator</b></li> | 40 | <li><span class="fa-li"><i class="far fa-check-square"></i></span>TCP communicator</li> |
45 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>UNIX Domain Socket communicator</b></li> | 41 | <li><span class="fa-li"><i class="far fa-check-square"></i></span>UDP communicator</li> |
46 | <li><span class="fa-li"><i class="far fa-square"></i></span>NAT</li> | 42 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>UNIX Domain Socket communicator</b></li> |
43 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>NAT</b></li> | ||
47 | </ul> | 44 | </ul> |
48 | </li> | 45 | </li> |
49 | <li><span class="fa-li"><i class="far fa-square"></i></span>CORE/CADET: Performance and correctness improvements.</li> | 46 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>CORE-NG (CONG): Performance and correctness improvements. [<a href="https://bugs.gnunet.org/view.php?id=8596">Open issues</a>]</b></li> |
50 | <li><span class="fa-li"><i class="far fa-square"></i></span>DHT: Improvements including signed paths and stability improvements. Technical specification.</li> | 47 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>DHT: Technical specification. [<a href="https://lsd.gnunet.org/lsd0004">Draft</a>]</b></li> |
51 | <li><span class="fa-li"><i class="far fa-square"></i></span>SET improvements to code quality and correctness.</li> | 48 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>Large-scale GNS TLD mirror deployment.</b> [<a href="https://bugs.gnunet.org/view_all_bug_page.php?filter=65f5e2e289d96">Open issues</a>]</li> |
52 | <li><span class="fa-li"><i class="far fa-square"></i></span>CONVERSATION improvements to performance, latency hiding and usability.</li> | ||
53 | <li><span class="fa-li"><i class="far fa-square"></i></span>RECLAIM: Technical specification.</li> | ||
54 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>Stable and usable documentation.</b></li> | ||
55 | <li><span class="fa-li"><i class="far fa-square"></i></span><b>GNUnet packages available and up-to-date in distributions.</b></li> | ||
56 | </ul> | 49 | </ul> |
57 | </p> | 50 | </p> |
58 | </header> | 51 | </header> |
@@ -69,10 +62,14 @@ | |||
69 | <p class="item-abstract"> | 62 | <p class="item-abstract"> |
70 | <ul class="fa-ul"> | 63 | <ul class="fa-ul"> |
71 | <li><span class="fa-li"><i class="far fa-square"></i></span>Stable release.</li> | 64 | <li><span class="fa-li"><i class="far fa-square"></i></span>Stable release.</li> |
65 | <li><span class="fa-li"><i class="far fa-square"></i></span>CADET: Performance and correctness improvements.</li> | ||
72 | <li><span class="fa-li"><i class="far fa-square"></i></span>Onion routing with RPS</li> | 66 | <li><span class="fa-li"><i class="far fa-square"></i></span>Onion routing with RPS</li> |
73 | <li><span class="fa-li"><i class="far fa-square"></i></span>Mix network, pEp integration on top of mix network</li> | 67 | <li><span class="fa-li"><i class="far fa-square"></i></span>Mix network, pEp integration on top of mix network</li> |
74 | <li><span class="fa-li"><i class="far fa-square"></i></span>Collaborative filtering / news distribution</li> | 68 | <li><span class="fa-li"><i class="far fa-square"></i></span>Collaborative filtering / news distribution</li> |
69 | <li><span class="fa-li"><i class="far fa-square"></i></span>CONVERSATION improvements to performance, latency hiding and usability.</li> | ||
75 | <li><span class="fa-li"><i class="far fa-square"></i></span>Improved FS design, proper integration with GNS</li> | 70 | <li><span class="fa-li"><i class="far fa-square"></i></span>Improved FS design, proper integration with GNS</li> |
71 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>Stable and usable documentation.</b></li> | ||
72 | <li><span class="fa-li"><i class="far fa-minus-square"></i></span><b>GNUnet packages available and up-to-date in distributions.</b></li> | ||
76 | </ul> | 73 | </ul> |
77 | </p> | 74 | </p> |
78 | </header> | 75 | </header> |
diff --git a/template/rss.xml.j2 b/template/rss.xml.j2 new file mode 100644 index 00000000..6ee0a279 --- /dev/null +++ b/template/rss.xml.j2 | |||
@@ -0,0 +1,46 @@ | |||
1 | {# | ||
2 | # Copyright (C) 2019, 2020 GNUnet e.V. | ||
3 | # | ||
4 | # This code is derived from code contributed to GNUnet eV | ||
5 | # by nikita <nikita@n0.is>. | ||
6 | # | ||
7 | # Permission to use, copy, modify, and/or distribute this software for | ||
8 | # any purpose with or without fee is hereby granted. | ||
9 | # | ||
10 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL | ||
11 | # WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED | ||
12 | # WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE | ||
13 | # AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | ||
14 | # DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR | ||
15 | # PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | ||
16 | # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | ||
17 | # PERFORMANCE OF THIS SOFTWARE. | ||
18 | # | ||
19 | # SPDX-License-Identifier: 0BSD | ||
20 | #} | ||
21 | <?xml version="1.0" encoding="UTF-8"?> | ||
22 | <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> | ||
23 | <channel> | ||
24 | <atom:link href="{{ siteconf['baseurl'] }}{{ lang }}/rss.xml" rel="self" type="application/rss+xml" /> | ||
25 | <title>{{ siteconf['rsstitle'] }}</title> | ||
26 | <language>{{ lang }}</language> | ||
27 | <description>{{ siteconf['rssdescr']|e }}</description> | ||
28 | <link>{{ siteconf['baseurl'] }}/</link> | ||
29 | <lastBuildDate>{{ now }}</lastBuildDate> | ||
30 | {% for newspostitem in newsposts %} | ||
31 | <item> | ||
32 | <guid>{{ siteconf['baseurl'] }}{{ lang }}{{ siteconf['newsloc'] }}{{ newspostitem['page'] }}</guid> | ||
33 | <link>{{ siteconf['baseurl'] }}{{ lang }}{{ siteconf['newsloc'] }}{{ newspostitem['page'] }}</link> | ||
34 | <pubDate>{{ conv_date_rfc822(newspostitem["date"]) }}</pubDate> | ||
35 | <title>{{ newspostitem['title']|e }}</title> | ||
36 | <description> | ||
37 | <![CDATA[ | ||
38 | {% filter extract_body %} | ||
39 | {% include ('news/' + newspostitem['page'] + ".j2") %} | ||
40 | {% endfilter %} | ||
41 | ]]> | ||
42 | </description> | ||
43 | </item> | ||
44 | {% endfor %} | ||
45 | </channel> | ||
46 | </rss> | ||
diff --git a/template/use.html.j2 b/template/use.html.j2 index 8dc7abd5..2ad5b6ef 100644 --- a/template/use.html.j2 +++ b/template/use.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <article class="container"> | 4 | <article class="container"> |
4 | 5 | ||
5 | <header> | 6 | <header> |
@@ -11,7 +12,7 @@ | |||
11 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> | 12 | <nav class="nav subnav position-fixed flex-column border-right" style="position:fixed"> |
12 | <a class="nav-link" href="#filesharing">{{ _("Filesharing") }}</a> | 13 | <a class="nav-link" href="#filesharing">{{ _("Filesharing") }}</a> |
13 | <a class="nav-link" href="#cadet">{{ _("CADET") }}</a> | 14 | <a class="nav-link" href="#cadet">{{ _("CADET") }}</a> |
14 | <a class="nav-link" href="#groupchat">{{ _("Minimal Groupchat") }}</a> | 15 | <a class="nav-link" href="#messenger">{{ _("Convenient Messenger") }}</a> |
15 | <a class="nav-link" href="#gns_cli">{{ _("GNS with CLI") }}</a> | 16 | <a class="nav-link" href="#gns_cli">{{ _("GNS with CLI") }}</a> |
16 | <a class="nav-link" href="#gns_browser">{{ _("GNS with Browser") }}</a> | 17 | <a class="nav-link" href="#gns_browser">{{ _("GNS with Browser") }}</a> |
17 | <a class="nav-link" href="#vpn">{{ _("VPN") }}</a> | 18 | <a class="nav-link" href="#vpn">{{ _("VPN") }}</a> |
@@ -20,7 +21,7 @@ | |||
20 | </nav> | 21 | </nav> |
21 | </div> | 22 | </div> |
22 | 23 | ||
23 | <div class="col"> | 24 | <div class="col" style="padding-left: 35px"> |
24 | <section> | 25 | <section> |
25 | <p> | 26 | <p> |
26 | This document is just a brief introduction on what can be done with GNUnet. Find out much more in our <a ref="https://docs.gnunet.org/">documentation</a>, e.g. in the section <a href="https://docs.gnunet.org/handbook/gnunet.html#toc-Using-GNUnet-1">"using GNUnet"</a> in the handbook. | 27 | This document is just a brief introduction on what can be done with GNUnet. Find out much more in our <a ref="https://docs.gnunet.org/">documentation</a>, e.g. in the section <a href="https://docs.gnunet.org/handbook/gnunet.html#toc-Using-GNUnet-1">"using GNUnet"</a> in the handbook. |
@@ -213,72 +214,52 @@ | |||
213 | </p> | 214 | </p> |
214 | </section> | 215 | </section> |
215 | 216 | ||
216 | |||
217 | |||
218 | <section> | 217 | <section> |
219 | <h3><a name="groupchat" class="subnav-anchor"></a>{{ _("Chatting with a (simple) client") }}</h3> | 218 | <h3><a name="messenger" class="subnav-anchor"></a>{{ _("Chatting with a convenient client") }}</h3> |
220 | <div class="alert" style="background-color: #419edb;"> | 219 | <p> |
221 | <div class="alert-content"> | 220 | To make chatting a tiny bit easier and prettier, we need to install additional software. |
222 | Notice: The groupchat code is not working with the actual GNUnet release atm! | 221 | </p> |
223 | </div> | 222 | <p> |
224 | </div> | 223 | You can select one of the options listed <a href="applications.html">here</a> under applications |
225 | <p> | 224 | using the <a href="https://docs.gnunet.org/handbook/gnunet.html#MESSENGER-Subsystem">Messenger service</a>. |
226 | To make chatting a tiny bit easier and prettier, we need to install and compile additional software. | 225 | Those are generally compatible with each other using the same underlying |
227 | If you join the chat mentioned below and no one is there, feel free to ping on | 226 | <a href="https://git.gnunet.org/libgnunetchat.git/">library</a> but tell apart in their user interface and design. |
228 | IRC/freenode #gnunet and ask if someone can join in to test with you! (But we are | 227 | </p> |
229 | trying to be there as often as possible). | 228 | <p> |
230 | </p> | 229 | In other words: You can choose by your own preference how to chat. |
231 | <p> | 230 | </p> |
232 | First we have to install the Nim programming language. Please refer to their <a href="https://nim-lang.org/install.html">project site</a> for further details. The preferred method is using you distributions package manager, e.g. for Debian it would look like this: | 231 | <p> |
233 | </p> | 232 | After you have picked an application (for example <a href="https://git.gnunet.org/messenger-gtk.git/">Messenger-GTK</a> |
234 | <code> | 233 | or <a href="https://git.gnunet.org/messenger-cli.git/">messenger-cli</a>), follow the instructions for build and installation. |
235 | $ sudo apt install nim<br> | 234 | Notice that depending on the picked application, you might need additional dependencies besides the library for the chatting |
236 | $ nim --version<br> | 235 | functionality. |
237 | Nim Compiler Version 1.2.2 [Linux: amd64]<br> | 236 | </p> |
238 | Compiled at 2020-06-16<br> | 237 | <p> |
239 | Copyright (c) 2006-2020 by Andreas Rumpf<br> | 238 | Once you installed the application and started it, a dialog should open to ask you for an account to use or whether you want |
240 | <br> | 239 | to create a new one. An account is pretty much an identity which can also be used for <a href="#gns_cli">GNS</a> capabilities. |
241 | active boot switches: -d:release -d:nativeStackTrace<br> | 240 | Accounts don't require any information besides a chosen identifier or nick. |
242 | </code> | 241 | </p> |
243 | <p> | 242 | <p> |
244 | If the displayed version is <b>1.2.2 or newer</b>, we have a compatible version and can continue downloading and compiling the groupchat. If the version is older (like on Ubuntu 18.04) we can install Nim using a tool called <i>choosenim</i>: | 243 | Next step is to enter a chat room via your application. The easiest step is choosing a public chat room which is similar to |
245 | </p> | 244 | communicate via <a href="#cadet">CADET</a> through a shared port. Look for a function to add a new room or "platform". |
246 | <code> | 245 | You should be able to enter any sort of text as key for the room and confirm. |
247 | $ curl https://nim-lang.org/choosenim/init.sh -sSf | sh | 246 | </p> |
248 | </code> | 247 | <p> |
249 | <p> | 248 | A chat room should open using the entered key as identifier and any other person you share the key with should be able to join |
250 | Then we follow the onscreen instructions. More information can be found in the <a href="https://nim-lang.org/install.html">official documentation</a>. | 249 | this room as well using one of the compatible applications as linked above. From here you can simply write text in a proper field |
251 | </p> | 250 | and send it as a message to communicate. |
252 | <p>In the onscreen instructions you'll be ask to add a line to your bashrc - once you've done that, re-read your bash environment to make the change active: | 251 | </p> |
253 | </p> | 252 | <p> |
254 | <code> | 253 | In case of any more advanced functionality it is recommended to look for a guide or more detailed information on the source of the |
255 | $ source ~/.bashrc | 254 | used application since implementations can vary, especially the design of user interface. |
256 | </code> | 255 | </p> |
257 | 256 | <p> | |
258 | <p> | 257 | Also you can always use the simplified command line tool `gnunet-messenger` provided by GNUnet itself to open or join a chat with |
259 | After we have installed (and maybe upgraded) Nim we download and compile the GNUnet groupchat application: | 258 | its key in a similar way as described above. See the more detailed information in the |
260 | </p> | 259 | <a href="https://docs.gnunet.org/handbook/gnunet.html#Using-the-GNUnet-Messenger">handbook</a> to use it. |
261 | <p> | 260 | </p> |
262 | <code> | ||
263 | $ git clone https://git.gnunet.org/groupchat.git<br> | ||
264 | $ cd groupchat<br> | ||
265 | $ make<br> | ||
266 | </code> | ||
267 | <p> | ||
268 | <p> | ||
269 | We can now try to enter a chat server running on another GNUnet node using the command: | ||
270 | </p> | ||
271 | <p> | ||
272 | <code> | ||
273 | $ LD_LIBRARY_PATH=/path/to/gnunetlibs ./groupchat --config=/path/to/gnunet.conf --server=88RXABKJNMT426FY81N2DXN0M2X37SW5Q1NR005YPDZ1Q7A22CHG --port=t3ss --nick=YOURNICK<br> | ||
274 | </code> | ||
275 | <p> | ||
276 | The peer key and port name given in this example should work as they are almost always online and running groupchat on port "t3ss". | ||
277 | <p> | ||
278 | </section> | 261 | </section> |
279 | 262 | ||
280 | |||
281 | |||
282 | <section> | 263 | <section> |
283 | <h3><a name="gns_cli" class="subnav-anchor"></a>{{ _("Name resolution using GNS on the command line") }}</h3> | 264 | <h3><a name="gns_cli" class="subnav-anchor"></a>{{ _("Name resolution using GNS on the command line") }}</h3> |
284 | <p>The GNU Name Service (GNS) is a fully decentralized alternative to the Domain Name System (DNS). Where GNS does not suffer the same major <a href="https://en.wikipedia.org/wiki/Domain_Name_System#Security_issues">security flaws as DNS</a>. | 265 | <p>The GNU Name Service (GNS) is a fully decentralized alternative to the Domain Name System (DNS). Where GNS does not suffer the same major <a href="https://en.wikipedia.org/wiki/Domain_Name_System#Security_issues">security flaws as DNS</a>. |
diff --git a/template/video.html.j2 b/template/video.html.j2 index fe1316b8..f1af3a32 100644 --- a/template/video.html.j2 +++ b/template/video.html.j2 | |||
@@ -1,5 +1,6 @@ | |||
1 | {% extends "common/base.j2" %} | 1 | {% extends "common/base.j2" %} |
2 | {% block body_content %} | 2 | {% block body_content %} |
3 | <main id="maincontent"> | ||
3 | <!-- | 4 | <!-- |
4 | FIXME | 5 | FIXME |
5 | - some links are missing | 6 | - some links are missing |