diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-02-26 15:21:06 +0100 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-02-26 15:21:06 +0100 |
commit | f84332478fe0dcd7a52798b023f0c550305cde4a (patch) | |
tree | 2be7460356f23a8854fc03d6183418ff54f0ffc6 | |
parent | 35a0e115242bb699974f3fde93b422e0de094c43 (diff) |
add 0.16 news!
-rw-r--r-- | locale/ar/LC_MESSAGES/messages.po | 596 | ||||
-rw-r--r-- | locale/de/LC_MESSAGES/messages.po | 624 | ||||
-rw-r--r-- | locale/es/LC_MESSAGES/messages.po | 630 | ||||
-rw-r--r-- | locale/fr/LC_MESSAGES/messages.po | 618 | ||||
-rw-r--r-- | locale/hi/LC_MESSAGES/messages.po | 598 | ||||
-rw-r--r-- | locale/it/LC_MESSAGES/messages.po | 618 | ||||
-rw-r--r-- | locale/ja/LC_MESSAGES/messages.po | 630 | ||||
-rw-r--r-- | locale/ko/LC_MESSAGES/messages.po | 598 | ||||
-rw-r--r-- | locale/messages.pot | 625 | ||||
-rw-r--r-- | locale/pt/LC_MESSAGES/messages.po | 594 | ||||
-rw-r--r-- | locale/zh_Hant/LC_MESSAGES/messages.po | 620 | ||||
-rw-r--r-- | template/news/2022-02-0.16.0.html.j2 | 80 | ||||
-rw-r--r-- | www.yml | 3 |
13 files changed, 6713 insertions, 121 deletions
diff --git a/locale/ar/LC_MESSAGES/messages.po b/locale/ar/LC_MESSAGES/messages.po index 75ad3f1b..39e4853d 100644 --- a/locale/ar/LC_MESSAGES/messages.po +++ b/locale/ar/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-05-21 14:59+0000\n" "Last-Translator: Shorouk Hassouna <shoroukhassuna@gmail.com>\n" "Language-Team: Arabic <http://weblate.taler.net/projects/gnunet/website/ar/" @@ -446,15 +446,15 @@ msgid "" msgstr "" #: template/applications.html.j2:160 -msgid "Cadet-GTK" +msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" #: template/applications.html.j2:180 @@ -2719,7 +2719,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 msgid "Configuration" msgstr "" @@ -2910,6 +2911,587 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "التوثيق" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +msgid "Topology Configuration" +msgstr "" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "ارشيف الاخبار:" diff --git a/locale/de/LC_MESSAGES/messages.po b/locale/de/LC_MESSAGES/messages.po index 709b1335..a6b47a44 100644 --- a/locale/de/LC_MESSAGES/messages.po +++ b/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-08-30 19:06+0000\n" "Last-Translator: Stefan <eintritt@hotmail.com>\n" "Language-Team: German <http://weblate.taler.net/projects/gnunet/website/de/" @@ -542,21 +542,16 @@ msgstr "" "Prüfung von Schlüsseln einsetzen." #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "Cadet-GTK" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> ist " -"eine praktische, aber funktionsreiche grafische Anwendung, die " -"Nachrichtenübermittlung unter Verwendung des CADET-Subsystem ermöglicht. Es " -"wurde unter Verwendung von GTK und libhandy für eine konvergente Gestaltung " -"entwickelt." #: template/applications.html.j2:180 msgid "groupchat" @@ -3870,7 +3865,8 @@ msgstr "Tutorial: GNUnet auf NetBSD 8.0 CURRENT" msgid "Tutorial: GNUnet on OpenWrt" msgstr "Tutorial: GNUnet auf OpenWrt" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 msgid "Configuration" msgstr "Konfiguration" @@ -4121,6 +4117,593 @@ msgstr "Oh mein Gott, ihr habt mir mein Internet kaputt gemacht" msgid "Videos related to GNUnet" msgstr "Videos zu GNUnet" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Motivation" +msgid "Project motivation" +msgstr "Motivation" + +#: template/l2o/index.html.j2:13 +#, fuzzy +#| msgid "GNUnet is a framework" +msgid "New Test Framework" +msgstr "GNUnet ist ein Rahmen" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +#, fuzzy +#| msgid "GNUnet is a framework" +msgid "New Test Framwork" +msgstr "GNUnet ist ein Rahmen" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Configuration" +msgid "Topology Configuration" +msgstr "Konfiguration" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "Nachrichten-Archive" @@ -4275,6 +4858,21 @@ msgstr "" "alle Attribute zu entschlüsseln, zu denen der Nutzer ihm Zugang mittels des " "zugehörigen Schlüssels eingeräumt hat." +#~ msgid "Cadet-GTK" +#~ msgstr "Cadet-GTK" + +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "ist eine praktische, aber funktionsreiche grafische Anwendung, die " +#~ "Nachrichtenübermittlung unter Verwendung des CADET-Subsystem ermöglicht. " +#~ "Es wurde unter Verwendung von GTK und libhandy für eine konvergente " +#~ "Gestaltung entwickelt." + #~ msgid "The IRC channel" #~ msgstr "Der IRC Kanal" diff --git a/locale/es/LC_MESSAGES/messages.po b/locale/es/LC_MESSAGES/messages.po index b55a261d..20945ed2 100644 --- a/locale/es/LC_MESSAGES/messages.po +++ b/locale/es/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-06-09 05:22+0000\n" "Last-Translator: Samira Tamboura <samiratg8@hotmail.com>\n" "Language-Team: Spanish <http://weblate.taler.net/projects/gnunet/website/es/" @@ -555,26 +555,16 @@ msgstr "" "verificar claves." #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "Cadet-GTK" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 -#, fuzzy -#| msgid "" -#| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " -#| "is a convenient but feature-rich graphical application providing " -#| "messaging using especially the CADET subsystem. It is developed using GTK " -#| "and libhandy for a convergent design." msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a>es " -"una sencilla aplicación gráfica con abundantes herramientas, que ofrece un " -"servicio de mensajería usando principalmente el subsistema CADET. Es " -"desarrollado con GTK y libhandy para un diseño convergente." #: template/applications.html.j2:180 #, fuzzy @@ -3567,7 +3557,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -3766,6 +3757,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "Documentación" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "Integración continua" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "Archivo IRC:" @@ -3916,6 +4490,26 @@ msgstr "" "directorio descentralizado. Puede desencriptar todos esos atributos que el " "usuario le ha autorizado a acceder utilizando la clave respectiva." +#~ msgid "Cadet-GTK" +#~ msgstr "Cadet-GTK" + +#, fuzzy +#~| msgid "" +#~| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~| "is a convenient but feature-rich graphical application providing " +#~| "messaging using especially the CADET subsystem. It is developed using " +#~| "GTK and libhandy for a convergent design." +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a>es " +#~ "una sencilla aplicación gráfica con abundantes herramientas, que ofrece " +#~ "un servicio de mensajería usando principalmente el subsistema CADET. Es " +#~ "desarrollado con GTK y libhandy para un diseño convergente." + #~ msgid "The IRC channel" #~ msgstr "El canal IRC" diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index 93f11b3d..97f0a5b3 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-09-28 14:59+0000\n" "Last-Translator: Axelle Dimpre <axelle.dimpre@gmail.com>\n" "Language-Team: French <http://weblate.taler.net/projects/gnunet/website/fr/" @@ -541,20 +541,16 @@ msgstr "" "protocoles cryptographiques pour vérifier les clés." #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "Cadet-GTK" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> est " -"une interface graphique modeste mais riche en caractéristiques qui fournit " -"des services de messagerie en utilisant notamment le sous-système CADET. Il " -"est développé avec GTK et libhandy pour un design cohérent." #: template/applications.html.j2:180 msgid "groupchat" @@ -2980,7 +2976,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -3178,6 +3175,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "Vidéos en lien avec GNUnet" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "Documentation" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "Intégration continue" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "Archives des actualités :" @@ -3302,6 +3882,20 @@ msgid "" "authorized it to access using the respective key." msgstr "" +#~ msgid "Cadet-GTK" +#~ msgstr "Cadet-GTK" + +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "est une interface graphique modeste mais riche en caractéristiques qui " +#~ "fournit des services de messagerie en utilisant notamment le sous-système " +#~ "CADET. Il est développé avec GTK et libhandy pour un design cohérent." + #~ msgid "The IRC channel" #~ msgstr "La chaîne IRC" diff --git a/locale/hi/LC_MESSAGES/messages.po b/locale/hi/LC_MESSAGES/messages.po index 14b963bf..6284af60 100644 --- a/locale/hi/LC_MESSAGES/messages.po +++ b/locale/hi/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-03-09 18:35+0000\n" "Last-Translator: Jigisha Sharma <jigishas38@gmail.com>\n" "Language-Team: Hindi <http://weblate.taler.net/projects/gnunet/website/hi/>\n" @@ -431,15 +431,15 @@ msgid "" msgstr "" #: template/applications.html.j2:160 -msgid "Cadet-GTK" +msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" #: template/applications.html.j2:180 @@ -2714,7 +2714,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -2907,6 +2908,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "प्रलेखन" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "लगातार एकीकरण" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "समाचार पुरालेख:" diff --git a/locale/it/LC_MESSAGES/messages.po b/locale/it/LC_MESSAGES/messages.po index 65198d66..511b67dd 100644 --- a/locale/it/LC_MESSAGES/messages.po +++ b/locale/it/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-06-19 12:58+0000\n" "Last-Translator: Francesca Cipriani <cesca.cipriani@gmail.com>\n" "Language-Team: Italian <http://weblate.taler.net/projects/gnunet/website/it/" @@ -543,20 +543,16 @@ msgstr "" "crittografati per verificare le chiavi." #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "Cadet-GTK" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> è " -"un'applicazione grafica conveniente ma allo stesso tempo ricca di " -"funzionalità che fornisce messaggistica utilizzando il sottosistema CADET. È " -"sviluppata con GTK e libhandy per un design convergente." #: template/applications.html.j2:180 msgid "groupchat" @@ -3550,7 +3546,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -3749,6 +3746,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Motivation" +msgid "Project motivation" +msgstr "Motivazione" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "Integrazione continuativa" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "Archivi delle notizie:" @@ -3871,6 +4451,20 @@ msgid "" "authorized it to access using the respective key." msgstr "" +#~ msgid "Cadet-GTK" +#~ msgstr "Cadet-GTK" + +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> è " +#~ "un'applicazione grafica conveniente ma allo stesso tempo ricca di " +#~ "funzionalità che fornisce messaggistica utilizzando il sottosistema " +#~ "CADET. È sviluppata con GTK e libhandy per un design convergente." + #~ msgid "The IRC channel" #~ msgstr "Canale IRC" diff --git a/locale/ja/LC_MESSAGES/messages.po b/locale/ja/LC_MESSAGES/messages.po index 93287d18..b1605afb 100644 --- a/locale/ja/LC_MESSAGES/messages.po +++ b/locale/ja/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-04-15 10:31+0000\n" "Last-Translator: Kanoko Kondo <yves0625@gmail.com>\n" "Language-Team: Japanese <http://weblate.taler.net/projects/gnunet/website/ja/" @@ -529,26 +529,16 @@ msgstr "" "し、新たな暗号化プロトコルで鍵を検証します。" #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "Cadet-GTK" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 -#, fuzzy -#| msgid "" -#| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " -#| "is a convenient but feature-rich graphical application providing " -#| "messaging using especially the CADET subsystem. It is developed using GTK " -#| "and libhandy for a convergent design." msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> は、" -"高い利便性と豊富な機能を備えたグラフィカル アプリケーションで、特に CADET サ" -"ブシステムを使用してメッセージ機能を提供します。GTK と libhandy を利用して開" -"発されいます。" #: template/applications.html.j2:180 msgid "groupchat" @@ -3227,7 +3217,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -3426,6 +3417,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "資料" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "継続的なインテグレーション" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "アーカイブ" @@ -3550,6 +4124,26 @@ msgid "" "authorized it to access using the respective key." msgstr "" +#~ msgid "Cadet-GTK" +#~ msgstr "Cadet-GTK" + +#, fuzzy +#~| msgid "" +#~| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~| "is a convenient but feature-rich graphical application providing " +#~| "messaging using especially the CADET subsystem. It is developed using " +#~| "GTK and libhandy for a convergent design." +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "は、高い利便性と豊富な機能を備えたグラフィカル アプリケーションで、特に " +#~ "CADET サブシステムを使用してメッセージ機能を提供します。GTK と libhandy を" +#~ "利用して開発されいます。" + #~ msgid "The IRC channel" #~ msgstr "IRC チャネル" diff --git a/locale/ko/LC_MESSAGES/messages.po b/locale/ko/LC_MESSAGES/messages.po index cca22377..f996e702 100644 --- a/locale/ko/LC_MESSAGES/messages.po +++ b/locale/ko/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-04-11 02:59+0000\n" "Last-Translator: Chaewon Park <wonnie0624@gmail.com>\n" "Language-Team: Korean <http://weblate.taler.net/projects/gnunet/website/ko/" @@ -443,15 +443,15 @@ msgid "" msgstr "" #: template/applications.html.j2:160 -msgid "Cadet-GTK" +msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" #: template/applications.html.j2:180 @@ -2726,7 +2726,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 #, fuzzy #| msgid "Continuous Integration" msgid "Configuration" @@ -2919,6 +2920,589 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Documentation" +msgid "Project motivation" +msgstr "문서" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Continuous Integration" +msgid "Topology Configuration" +msgstr "지속적 통합" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "뉴스 아카이브:" diff --git a/locale/messages.pot b/locale/messages.pot index 976c9f93..38bd7169 100644 --- a/locale/messages.pot +++ b/locale/messages.pot @@ -1,14 +1,14 @@ # Translations template for PROJECT. -# Copyright (C) 2021 ORGANIZATION +# Copyright (C) 2022 ORGANIZATION # This file is distributed under the same license as the PROJECT project. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2021. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -435,15 +435,15 @@ msgid "" msgstr "" #: template/applications.html.j2:160 -msgid "Cadet-GTK" +msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " -"is a convenient but feature-rich graphical application providing " -"messaging using the CADET subsystem. It is developed using GTK and " -"libhandy for a convergent design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> " +"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." msgstr "" #: template/applications.html.j2:180 @@ -2741,7 +2741,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 msgid "Configuration" msgstr "" @@ -2937,6 +2938,612 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +msgid "Project motivation" +msgstr "" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established " +"by <a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. " +"<ul> <li>SUID helpers to setup network namespace and starting peers with " +"network namespace.</li> <li>Basic transport-level operations (get " +"address, send, receive, connect).</li> <li>Peers connected through test " +"and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of" +" the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> " +"<li>Block execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in " +"the GNUnet continuous integration (CI)). <a " +"href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional " +"communication and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a " +"href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly " +"connected. Therefore peers have to act as relay. To achieve this I will " +"implement the distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT." +" The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will finish the project with a performance " +"analysis to optimize the selection logic. <ul> <li>Queue management. " +"<li>Interpeer project synergy <ol> <li>Analysis of the interpeer project " +"in regard to integrate it into GNUnet.</li> <li>Optional integration into" +" GNUnet, if it can be done at all and in a reasonable amount of " +"work.</li> </ol> <li>Commands for performance measurement(s).</li> " +"<li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of " +"the interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> " +"</td> </tr> <tr> <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> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> " +"</td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> " +"</td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> " +"</tr> <tr> <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> </tr> " +"<tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with " +"new tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"</tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr>" +" <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng " +"testing framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +msgid "Topology Configuration" +msgstr "" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined " +"in two example test scripts</br></br> " +"test_transport_send_simple.sh</br></br> and</br></br> " +"test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table" +" width=\"100%\"> <tr> <td width=\"10%\" style=\"vertical-align: " +"top;\">M</td><td width=\"90%\" style=\"vertical-align: top;\">The number " +"of natted subnets in the topology.</td> </tr> <tr> <td></td><td> </td> " +"</tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">N</td><td " +"width=\"90%\" style=\"vertical-align: top;\">The number of nodes in each " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">X</td><td width=\"90%\" style=\"vertical-" +"align: top;\">The Number of globally known (not natted) nodes.</td> </tr>" +" <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-" +"align: top;\">K</td><td width=\"90%\" style=\"vertical-align: top;\"> A " +"globally known (not natted) node. The number value identifies the " +"node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">T</td><td width=\"90%\" style=\"vertical-" +"align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: " +"top;\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of" +" a subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">P</td><td width=\"90%\" " +"style=\"vertical-align: top;\">A subnet node with two key values, the " +"first one for identifying the subnet and the second for identifying the " +"node in the subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">connect</td><td " +"width=\"90%\" style=\"vertical-align: top;\">Can be one of several " +"grouped values of the P, K or R key. Configuring a connection to another " +"node. </br></br> The value of the connect key is a node key (P or K) with" +" two resp. one number value identifying the node, and an additional value" +" configuring a protocol. </br></br> If the connect key is used in a line " +"configuring a node it is used to configure a connection, which will " +"result in the node identified by the line P or K key will try to connect " +"nodes also identified with the P or K key via the configured " +"protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td " +"width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value of " +"the R key. The value of the tcp_port can be 0 or 1, if a port forwarding " +"to the first (index 1) node of a subnet is not or is configured for the " +"tcp protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">udp_port</td><td " +"width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value of " +"the R key. The value of the tcp_port can be 0 or 1, if a port forwarding " +"to the first (index 1) node of a subnet is not or is configured for the " +"udp protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">plugin</td><td width=\"90%\"" +" style=\"vertical-align: top;\">Can be a grouped value of the P or K key." +" The value is the name of a plugin which will run on that peer instead of" +" the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "" diff --git a/locale/pt/LC_MESSAGES/messages.po b/locale/pt/LC_MESSAGES/messages.po index 2505bff8..9e47361f 100644 --- a/locale/pt/LC_MESSAGES/messages.po +++ b/locale/pt/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -429,15 +429,15 @@ msgid "" msgstr "" #: template/applications.html.j2:160 -msgid "Cadet-GTK" +msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" #: template/applications.html.j2:180 @@ -2682,7 +2682,8 @@ msgstr "" msgid "Tutorial: GNUnet on OpenWrt" msgstr "" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 msgid "Configuration" msgstr "" @@ -2871,6 +2872,585 @@ msgstr "" msgid "Videos related to GNUnet" msgstr "" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +msgid "Project motivation" +msgstr "" + +#: template/l2o/index.html.j2:13 +msgid "New Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +msgid "New Test Framwork" +msgstr "" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +msgid "Topology Configuration" +msgstr "" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "" diff --git a/locale/zh_Hant/LC_MESSAGES/messages.po b/locale/zh_Hant/LC_MESSAGES/messages.po index 3477ff24..afe66136 100644 --- a/locale/zh_Hant/LC_MESSAGES/messages.po +++ b/locale/zh_Hant/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-09-29 13:55+0200\n" +"POT-Creation-Date: 2022-02-25 20:18+0100\n" "PO-Revision-Date: 2021-08-24 08:59+0000\n" "Last-Translator: Ting-Yi Fu <futingyi0215@gmail.com>\n" "Language-Team: Chinese (Traditional) <http://weblate.taler.net/projects/" @@ -494,19 +494,16 @@ msgstr "" "新的加密協議來驗證密鑰。" #: template/applications.html.j2:160 -msgid "Cadet-GTK" -msgstr "學員GTK (Cadet-GTK)" +msgid "Messenger-GTK" +msgstr "" #: template/applications.html.j2:162 msgid "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " -"convenient but feature-rich graphical application providing messaging using " -"the CADET subsystem. It is developed using GTK and libhandy for a convergent " -"design." +"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> 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." msgstr "" -"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是一" -"種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息傳遞。" -"其使用 GTK 和 libhandy 開發的以收斂設計。" #: template/applications.html.j2:180 msgid "groupchat" @@ -3369,7 +3366,8 @@ msgstr "教學:NetBSD 8.0 當前上的 GNUnet" msgid "Tutorial: GNUnet on OpenWrt" msgstr "教學:OpenWrt 上的 GNUnet" -#: template/install-on-openwrt.html.j2:47 +#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113 +#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92 msgid "Configuration" msgstr "配置" @@ -3600,6 +3598,593 @@ msgstr "天哪,你們打破了我的網際網路" msgid "Videos related to GNUnet" msgstr "與 GNUnet 相關的影片" +#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6 +#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6 +#: template/l2o/testng.html.j2:6 +msgid "NGI Assure project: Layer-2-Overlay" +msgstr "" + +#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34 +#, fuzzy +#| msgid "Motivation" +msgid "Project motivation" +msgstr "動機" + +#: template/l2o/index.html.j2:13 +#, fuzzy +#| msgid "GNUnet is a framework" +msgid "New Test Framework" +msgstr "GNUnet 是一個框架" + +#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74 +msgid "Milestones" +msgstr "" + +#: template/l2o/index.html.j2:15 +msgid "Milestone 1" +msgstr "" + +#: template/l2o/index.html.j2:16 +msgid "Milestone 2" +msgstr "" + +#: template/l2o/index.html.j2:17 +msgid "Milestone 3" +msgstr "" + +#: template/l2o/index.html.j2:18 +msgid "Milestone 4" +msgstr "" + +#: template/l2o/index.html.j2:19 +msgid "Milestone 5" +msgstr "" + +#: template/l2o/index.html.j2:20 +msgid "Milestone 6" +msgstr "" + +#: template/l2o/index.html.j2:27 +msgid "" +"This project was funded through the NGI Assure Fund, a fund established by " +"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>." +msgstr "" + +#: template/l2o/index.html.j2:39 +msgid "" +"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. 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. 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). 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>." +msgstr "" + +#: template/l2o/index.html.j2:50 +#, fuzzy +#| msgid "GNUnet is a framework" +msgid "New Test Framwork" +msgstr "GNUnet 是一個框架" + +#: template/l2o/index.html.j2:54 +msgid "Command Style Pattern" +msgstr "" + +#: template/l2o/index.html.j2:58 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:64 +msgid "Netjails" +msgstr "" + +#: template/l2o/index.html.j2:68 +msgid "" +"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>." +msgstr "" + +#: template/l2o/index.html.j2:78 +msgid "Milestone 1 Test Infrastructure and minimal Test Case" +msgstr "" + +#: template/l2o/index.html.j2:81 +msgid "" +"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. <ul> <li>SUID helpers to setup " +"network namespace and starting peers with network namespace.</li> <li>Basic " +"transport-level operations (get address, send, receive, connect).</li> " +"<li>Peers connected through test and transfer data.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:93 +msgid "" +"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. <a href=\"mile1.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:101 +msgid "Milestone 2 Enhancing Test Framework" +msgstr "" + +#: template/l2o/index.html.j2:104 +msgid "" +"To test more complex functionality we need to enhance the capabilities of " +"the testing framework. Hooks for performance measurement will be " +"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block " +"execution of commands at a peer. (Barriers).</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:114 +msgid "" +"Outcome of this deliverable are advanced test case (again verifiable in the " +"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:122 +msgid "Milestone 3 UDP integration" +msgstr "" + +#: template/l2o/index.html.j2:125 +msgid "" +"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). <ul> <li>unidirectional communication " +"and backchannels.</li> <li>UDP broadcast.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:135 +msgid "" +"The CI contains test case which uses the UDP protocol to message between " +"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>" +msgstr "" + +#: template/l2o/index.html.j2:143 +msgid "Milestone 4 Distance Vector" +msgstr "" + +#: template/l2o/index.html.j2:146 +msgid "" +"In this subtask I will enhance connectivity to peers not directly connected. " +"Therefore peers have to act as relay. To achieve this I will implement the " +"distance vector protocol." +msgstr "" + +#: template/l2o/index.html.j2:152 +msgid "" +"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." +msgstr "" + +#: template/l2o/index.html.j2:158 +msgid "Milestone 5 NAT Traversal" +msgstr "" + +#: template/l2o/index.html.j2:161 +msgid "" +"This subtask will make peers behind NAT reachable. Two simple traversal " +"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> " +"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:171 +msgid "" +"The CI contains test case with a peer setup containing peer behind a NAT. " +"The test cases 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." +msgstr "" + +#: template/l2o/index.html.j2:178 +msgid "Milestone 6 Optimization" +msgstr "" + +#: template/l2o/index.html.j2:181 +msgid "" +"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. 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. I will " +"finish the project with a performance analysis to optimize the selection " +"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> " +"<li>Analysis of the interpeer project in regard to integrate it into GNUnet." +"</li> <li>Optional integration into GNUnet, if it can be done at all and in " +"a reasonable amount of work.</li> </ol> <li>Commands for performance " +"measurement(s).</li> <li>Performance analysis.</li> </ul>" +msgstr "" + +#: template/l2o/index.html.j2:201 +msgid "" +"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. Documentation of the " +"interpeer project analysis." +msgstr "" + +#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12 +#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12 +msgid "Project main page" +msgstr "" + +#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20 +#: template/l2o/mile3.html.j2:29 +msgid "Master Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> " +"<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> <tr> <td></td><td> </" +"td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> </table>" +msgstr "" + +#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48 +#: template/l2o/mile3.html.j2:66 +msgid "Local Loop" +msgstr "" + +#: template/l2o/mile1.html.j2:67 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></" +"td><td> </td> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> </" +"table>" +msgstr "" + +#: template/l2o/mile1.html.j2:115 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> " +"<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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:22 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <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> <tr> " +"<td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:50 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile2.html.j2:65 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:20 +msgid "Bug fixing" +msgstr "" + +#: template/l2o/mile3.html.j2:22 +msgid "" +"Some bugs in the tng service and communicator code which were found with new " +"tests were fixed." +msgstr "" + +#: template/l2o/mile3.html.j2:31 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> <tr> <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> </tr> " +"</table>" +msgstr "" + +#: template/l2o/mile3.html.j2:68 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> " +"<tr> <td></td><td> </td> </tr> <tr> <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> </tr> <tr> <td></td><td> </td> </tr> " +"<tr> <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> </tr> </table>" +msgstr "" + +#: template/l2o/mile3.html.j2:94 +msgid "" +"<table width=\"100%\"> <tr> <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> <tr> <td></td><td> </td> </tr> <tr> <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> <tr> </table>" +msgstr "" + +#: template/l2o/testng.html.j2:20 +msgid "Netjail setup and execution" +msgstr "" + +#: template/l2o/testng.html.j2:22 +msgid "" +"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. We have three scripts for the test setup: <ul> " +"<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> <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> <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> </ul> 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." +msgstr "" + +#: template/l2o/testng.html.j2:38 +msgid "CMD helper and testcase plugins" +msgstr "" + +#: template/l2o/testng.html.j2:42 +msgid "" +"Although netjail_exec.sh can execute an arbitrary command in the ng testing " +"framework a special command is used: gnunet-cmds-helper 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." +msgstr "" + +#: template/l2o/testng.html.j2:48 +msgid "Command Pattern" +msgstr "" + +#: template/l2o/testng.html.j2:52 +msgid "" +"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." +msgstr "" + +#: template/l2o/testng.html.j2:57 +#, fuzzy +#| msgid "Configuration" +msgid "Topology Configuration" +msgstr "配置" + +#: template/l2o/testng.html.j2:61 +msgid "" +"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> Both method can be examined in two " +"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</" +"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the " +"configuration is as follows.</br></br> 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.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> " +"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" " +"style=\"vertical-align: top;\">The number of natted subnets in the topology." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;" +"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </" +"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width=" +"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not " +"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%" +"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-" +"align: top;\"> A globally known (not natted) node. The number value " +"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style=" +"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> " +"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;" +"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a " +"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" " +"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-" +"align: top;\">A subnet node with two key values, the first one for " +"identifying the subnet and the second for identifying the node in the subnet." +"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be one of several grouped values of the P, K or R key. " +"Configuring a connection to another node. </br></br> The value of the " +"connect key is a node key (P or K) with two resp. one number value " +"identifying the node, and an additional value configuring a protocol. </br></" +"br> If the connect key is used in a line configuring a node it is used to " +"configure a connection, which will result in the node identified by the line " +"P or K key will try to connect nodes also identified with the P or K key via " +"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td " +"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" " +"style=\"vertical-align: top;\">Can be a grouped value of the R key. The " +"value of the tcp_port can be 0 or 1, if a port forwarding to the first " +"(index 1) node of a subnet is not or is configured for the tcp protocol.</" +"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=" +"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-" +"align: top;\">Can be a grouped value of the R key. The value of the tcp_port " +"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet " +"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> " +"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</" +"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value " +"of the P or K key. The value is the name of a plugin which will run on that " +"peer instead of the default plugin defined by key K.</td> </tr> </table>" +msgstr "" + #: template/news/index.html.j2:45 msgid "News archives:" msgstr "新聞檔案:" @@ -3731,6 +4316,19 @@ msgstr "" "依賴方從分散的目錄中檢索加密的身份數據。它能夠使用相應的密鑰解密所有用戶已授" "權訪問的屬性。" +#~ msgid "Cadet-GTK" +#~ msgstr "學員GTK (Cadet-GTK)" + +#~ msgid "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " +#~ "is a convenient but feature-rich graphical application providing " +#~ "messaging using the CADET subsystem. It is developed using GTK and " +#~ "libhandy for a convergent design." +#~ msgstr "" +#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是" +#~ "一種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息" +#~ "傳遞。其使用 GTK 和 libhandy 開發的以收斂設計。" + #~ msgid "The IRC channel" #~ msgstr "IRC頻道" 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..aaa55302 --- /dev/null +++ b/template/news/2022-02-0.16.0.html.j2 @@ -0,0 +1,80 @@ +{% extends "common/news.j2" %} +{% block body_content %} + <h1>GNUnet 0.16.0 released</h1> +<p> + We are pleased to announce the release of GNUnet 0.16.0. +<br> + This is a new major release. It breaks protocol compatibility with the 0.15.x versions. + Please be aware that Git master is thus henceforth (and has been for a + while) <b>INCOMPATIBLE</b> with + the 0.15.x GNUnet network, and interactions between old and new peers + will result in issues. 0.15.x peers will be able to communicate with Git + master or 0.16.x peers, but some services - in particular GNS - will not be compatible.<br/> + In terms of usability, users should be aware that there are still + <b>a 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 and thus unlikely to + provide good anonymity or extensive amounts of interesting information. + As a result, the 0.16.0 release is still <b>only suitable for early adopters + with some reasonable pain tolerance</b>. +</p> +<h4>Download links</h4> +<ul> + <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> + <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> + <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> +</ul> +<p> + The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a> +</p> +<p> + 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> +</p> +<h4>Noteworthy changes in 0.16.0 (since 0.15.3)</h4> +<ul> + <li><tt>GNS</tt>: + <ul> + <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> + <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> + <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> + <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> + <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li> + + </ul> + </li> + <li><tt>DHT</tt>: + <ul> + <li>Routes can now be signed. <a href="https://bugs.gnunet.org/view.php?id=4164">#4164</a></li> + <li>Changed distance metric to a more traditional XOR. <a href="https://bugs.gnunet.org/view.php?id=7136">#7136</a></li> + <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li> + </ul> + </li> + <li><tt>RECLAIM</tt>: Added some preliminary support for Decentralized Identifier (DID) and Verifiable Credentials (VCs).</li> + <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> + <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> +</ul> +<p> + A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and + the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>. +</p> +<h4>Known Issues</h4> +<ul> + <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> + <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li> + <li>There are known moderate design issues in FS that also impact usability and performance.</li> + <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li> + <li>The RPS subsystem remains experimental.</li> + <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li> +</ul> +<p> + 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. +</p> + +<h4>Thanks</h4> +<p> + This release was the work of many people. The following people contributed code and were thus easily identified: + Christian Grothoff, Tristan Schwieren, Alessio Vanni, Florian Dold, Thien-Thi Nguyen, t3sserakt, Lucien Heuzeveldt, Gian Demarmels, madmurphy, TheJackiMonster and Martin Schanzenbach. +</p> +{% endblock body_content %} @@ -29,6 +29,9 @@ meetingnotes: 2019: 2019-12-27 2020: 2020-12-30 newsposts: + - page: 2022-02-0.16.0.html + date: 2022-02-25 + title: GNUnet 0.16.0 - page: 2021-12-GNSSpecISE.html date: 2021-12-28 title: GNS Technical Specification Call for Reviews |