aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schanzenbach <schanzen@gnunet.org>2022-02-26 15:21:06 +0100
committerMartin Schanzenbach <schanzen@gnunet.org>2022-02-26 15:21:06 +0100
commitf84332478fe0dcd7a52798b023f0c550305cde4a (patch)
tree2be7460356f23a8854fc03d6183418ff54f0ffc6
parent35a0e115242bb699974f3fde93b422e0de094c43 (diff)
downloadwww-f84332478fe0dcd7a52798b023f0c550305cde4a.tar.gz
www-f84332478fe0dcd7a52798b023f0c550305cde4a.zip
add 0.16 news!
-rw-r--r--locale/ar/LC_MESSAGES/messages.po596
-rw-r--r--locale/de/LC_MESSAGES/messages.po624
-rw-r--r--locale/es/LC_MESSAGES/messages.po630
-rw-r--r--locale/fr/LC_MESSAGES/messages.po618
-rw-r--r--locale/hi/LC_MESSAGES/messages.po598
-rw-r--r--locale/it/LC_MESSAGES/messages.po618
-rw-r--r--locale/ja/LC_MESSAGES/messages.po630
-rw-r--r--locale/ko/LC_MESSAGES/messages.po598
-rw-r--r--locale/messages.pot625
-rw-r--r--locale/pt/LC_MESSAGES/messages.po594
-rw-r--r--locale/zh_Hant/LC_MESSAGES/messages.po620
-rw-r--r--template/news/2022-02-0.16.0.html.j280
-rw-r--r--www.yml3
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-05-21 14:59+0000\n" 11"PO-Revision-Date: 2021-05-21 14:59+0000\n"
12"Last-Translator: Shorouk Hassouna <shoroukhassuna@gmail.com>\n" 12"Last-Translator: Shorouk Hassouna <shoroukhassuna@gmail.com>\n"
13"Language-Team: Arabic <http://weblate.taler.net/projects/gnunet/website/ar/" 13"Language-Team: Arabic <http://weblate.taler.net/projects/gnunet/website/ar/"
@@ -446,15 +446,15 @@ msgid ""
446msgstr "" 446msgstr ""
447 447
448#: template/applications.html.j2:160 448#: template/applications.html.j2:160
449msgid "Cadet-GTK" 449msgid "Messenger-GTK"
450msgstr "" 450msgstr ""
451 451
452#: template/applications.html.j2:162 452#: template/applications.html.j2:162
453msgid "" 453msgid ""
454"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 454"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
455"convenient but feature-rich graphical application providing messaging using " 455"convergent GTK messaging application using the GNUnet Messenger service. The "
456"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 456"goal is to provide private and secure communication between any group of "
457"design." 457"devices."
458msgstr "" 458msgstr ""
459 459
460#: template/applications.html.j2:180 460#: template/applications.html.j2:180
@@ -2719,7 +2719,8 @@ msgstr ""
2719msgid "Tutorial: GNUnet on OpenWrt" 2719msgid "Tutorial: GNUnet on OpenWrt"
2720msgstr "" 2720msgstr ""
2721 2721
2722#: template/install-on-openwrt.html.j2:47 2722#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2723#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2723msgid "Configuration" 2724msgid "Configuration"
2724msgstr "" 2725msgstr ""
2725 2726
@@ -2910,6 +2911,587 @@ msgstr ""
2910msgid "Videos related to GNUnet" 2911msgid "Videos related to GNUnet"
2911msgstr "" 2912msgstr ""
2912 2913
2914#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
2915#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
2916#: template/l2o/testng.html.j2:6
2917msgid "NGI Assure project: Layer-2-Overlay"
2918msgstr ""
2919
2920#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
2921#, fuzzy
2922#| msgid "Documentation"
2923msgid "Project motivation"
2924msgstr "التوثيق"
2925
2926#: template/l2o/index.html.j2:13
2927msgid "New Test Framework"
2928msgstr ""
2929
2930#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
2931msgid "Milestones"
2932msgstr ""
2933
2934#: template/l2o/index.html.j2:15
2935msgid "Milestone 1"
2936msgstr ""
2937
2938#: template/l2o/index.html.j2:16
2939msgid "Milestone 2"
2940msgstr ""
2941
2942#: template/l2o/index.html.j2:17
2943msgid "Milestone 3"
2944msgstr ""
2945
2946#: template/l2o/index.html.j2:18
2947msgid "Milestone 4"
2948msgstr ""
2949
2950#: template/l2o/index.html.j2:19
2951msgid "Milestone 5"
2952msgstr ""
2953
2954#: template/l2o/index.html.j2:20
2955msgid "Milestone 6"
2956msgstr ""
2957
2958#: template/l2o/index.html.j2:27
2959msgid ""
2960"This project was funded through the NGI Assure Fund, a fund established by "
2961"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
2962msgstr ""
2963
2964#: template/l2o/index.html.j2:39
2965msgid ""
2966"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
2967"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
2968"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
2969"the ATS subsystem for bandwidth allocation and choosing plugins has several "
2970"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
2971"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
2972"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
2973"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
2974"Next Generation (TNG) subsystem. One major change in the design is to "
2975"separate the protocol plugins into processes (now called communicators) "
2976"detached from the main transport service. Three communicators were already "
2977"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
2978"maintain, because it is cluttered with \"manipulation\" support code for "
2979"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
2980"especially with TESTBED which has its own design flaws, and test code which "
2981"is very hard to read to get an idea what the test code is doing. Therefore "
2982"the first task (milestone 1) is to implement a new testing framework which "
2983"uses network namespaces to make testing of TNG much easier. Have a look into "
2984"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
2985"\">milestones</a>."
2986msgstr ""
2987
2988#: template/l2o/index.html.j2:50
2989msgid "New Test Framwork"
2990msgstr ""
2991
2992#: template/l2o/index.html.j2:54
2993msgid "Command Style Pattern"
2994msgstr ""
2995
2996#: template/l2o/index.html.j2:58
2997msgid ""
2998"The new style of writing tests in GNUnet is borrowed from the <a href="
2999"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3000"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3001"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3002"test environment for each peer, to start a single peers and sending a simple "
3003"test message. Because some commands depend on other commands to be finished, "
3004"and those commands are asynchronous, we needed additional functionality in "
3005"the command interpreter library to block execution until some commands are "
3006"finished (e.g. all peers needs to be running, before peers starting to send "
3007"messages). For a detailed description have a look into the <a href=\"testng."
3008"html\">testing ng documentation</a>."
3009msgstr ""
3010
3011#: template/l2o/index.html.j2:64
3012msgid "Netjails"
3013msgstr ""
3014
3015#: template/l2o/index.html.j2:68
3016msgid ""
3017"To do extensive testing of the new transport implementation one needs to "
3018"simulate various network topologies to enable faking network characteristics "
3019"like lossy connections or firewalls. To achieve this we are working with <a "
3020"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3021"namespace</a>. We have commands for starting and stopping network "
3022"namespaces. Those commands are scripts, which are using several shell "
3023"commands to setup the network namespace. A third script then is responsible "
3024"for start a GNUnet helper. This helper can load plugins. Each plugin "
3025"represents some test case. Per node in the network namespaces one helper is "
3026"started, which means on each node is a local interpreter loop running. For a "
3027"detailed description have a look into the <a href=\"testng.html\">testing ng "
3028"documentation</a>."
3029msgstr ""
3030
3031#: template/l2o/index.html.j2:78
3032msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3033msgstr ""
3034
3035#: template/l2o/index.html.j2:81
3036msgid ""
3037"The first subtask consists of implementing a framework for setting up VLANs "
3038"between network namespaces and a framework to test communication between "
3039"peers which are running in those VLANs. Finally a minimal Test Case will be "
3040"implemented. Despite the fact that the transport service is already able to "
3041"use several communicators (transport protocol implementations), it will only "
3042"use the tcp communicator, not the unix socket nor the udp communicator, "
3043"which already are in place and working. <ul> <li>SUID helpers to setup "
3044"network namespace and starting peers with network namespace.</li> <li>Basic "
3045"transport-level operations (get address, send, receive, connect).</li> "
3046"<li>Peers connected through test and transfer data.</li> </ul>"
3047msgstr ""
3048
3049#: template/l2o/index.html.j2:93
3050msgid ""
3051"First MVP which uses the TCP communicator to send messages between peers. "
3052"The deliverable can be verified through out the specific test cases running "
3053"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3054msgstr ""
3055
3056#: template/l2o/index.html.j2:101
3057msgid "Milestone 2 Enhancing Test Framework"
3058msgstr ""
3059
3060#: template/l2o/index.html.j2:104
3061msgid ""
3062"To test more complex functionality we need to enhance the capabilities of "
3063"the testing framework. Hooks for performance measurement will be "
3064"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3065"execution of commands at a peer. (Barriers).</li> </ul>"
3066msgstr ""
3067
3068#: template/l2o/index.html.j2:114
3069msgid ""
3070"Outcome of this deliverable are advanced test case (again verifiable in the "
3071"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3072msgstr ""
3073
3074#: template/l2o/index.html.j2:122
3075msgid "Milestone 3 UDP integration"
3076msgstr ""
3077
3078#: template/l2o/index.html.j2:125
3079msgid ""
3080"With this subtask I will implement enhanced L2O features like using "
3081"unidirectional transport protocols with backchannels. Addresses by which a "
3082"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3083"this milestone the transport service will be able to use more than one "
3084"communicator (pluggable transport). <ul> <li>unidirectional communication "
3085"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3086msgstr ""
3087
3088#: template/l2o/index.html.j2:135
3089msgid ""
3090"The CI contains test case which uses the UDP protocol to message between "
3091"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3092msgstr ""
3093
3094#: template/l2o/index.html.j2:143
3095msgid "Milestone 4 Distance Vector"
3096msgstr ""
3097
3098#: template/l2o/index.html.j2:146
3099msgid ""
3100"In this subtask I will enhance connectivity to peers not directly connected. "
3101"Therefore peers have to act as relay. To achieve this I will implement the "
3102"distance vector protocol."
3103msgstr ""
3104
3105#: template/l2o/index.html.j2:152
3106msgid ""
3107"The CI contains test cases with a setup of peers not connected directly. The "
3108"test cases proof that each peer can reach any other peer."
3109msgstr ""
3110
3111#: template/l2o/index.html.j2:158
3112msgid "Milestone 5 NAT Traversal"
3113msgstr ""
3114
3115#: template/l2o/index.html.j2:161
3116msgid ""
3117"This subtask will make peers behind NAT reachable. Two simple traversal "
3118"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3119"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3120msgstr ""
3121
3122#: template/l2o/index.html.j2:171
3123msgid ""
3124"The CI contains test case with a peer setup containing peer behind a NAT. "
3125"The test cases proof that each peer can be reached, even if that peer is "
3126"behind a NAT. The test case are measuring the performance. This measurement "
3127"is used to compare with the outcome of the next milestone. This result of "
3128"this milestone will be a first stable release."
3129msgstr ""
3130
3131#: template/l2o/index.html.j2:178
3132msgid "Milestone 6 Optimization"
3133msgstr ""
3134
3135#: template/l2o/index.html.j2:181
3136msgid ""
3137"In this subtask I will implement algorithms (flow and congestion control, "
3138"quality of service optimizations) which will select the optimal transport "
3139"protocol for a given situation. I will analyze potential performance gains "
3140"by integrating libraries of the interpeer project. If the effort of "
3141"integrating interpeer presumably would lead to better performance than other "
3142"optimizations of the same amount of work, this integration is done. I will "
3143"finish the project with a performance analysis to optimize the selection "
3144"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3145"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3146"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3147"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3148"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3149msgstr ""
3150
3151#: template/l2o/index.html.j2:201
3152msgid ""
3153"The test cases in the CI are measuring the performance gains. This "
3154"measurement can be compared with the measurement of milestone 5. Again one "
3155"outcome of this milestone will be a stable release. Documentation of the "
3156"interpeer project analysis."
3157msgstr ""
3158
3159#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3160#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3161msgid "Project main page"
3162msgstr ""
3163
3164#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3165#: template/l2o/mile3.html.j2:29
3166msgid "Master Loop"
3167msgstr ""
3168
3169#: template/l2o/mile1.html.j2:22
3170msgid ""
3171"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3172"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3173"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3174"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3175"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3176"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3177"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3178"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3179"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3180"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3181"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3182"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3183"to execute a local test interpreter per node. Will be execute by the "
3184"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3185"\" style=\"vertical-align: top;\">src/testing/"
3186"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3187"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3188"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3189"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3190"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3191"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3192"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3193"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3194"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3195"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3196"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3197"td><td> </td> </tr> </table>"
3198msgstr ""
3199
3200#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3201#: template/l2o/mile3.html.j2:66
3202msgid "Local Loop"
3203msgstr ""
3204
3205#: template/l2o/mile1.html.j2:67
3206msgid ""
3207"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3208"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3209"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3210"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3211"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3212"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3213"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3214"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3215"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3216"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3217"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3218"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3219"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3220"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3221"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3222"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3223"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3224"align: top;\">Command to send a simple message from one peer to another.</"
3225"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3226"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3227"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3228"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3229"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3230"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3231"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3232"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3233"a message to the master loop, if the local loop has finished.</td> <tr> </"
3234"table>"
3235msgstr ""
3236
3237#: template/l2o/mile1.html.j2:115
3238msgid ""
3239"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3240"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3241"style=\"vertical-align: top;\">Configuration for the first node running "
3242"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3243"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3244"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3245"align: top;\">Configuration for the second node running during the simple "
3246"send test case.</td> </tr> </table>"
3247msgstr ""
3248
3249#: template/l2o/mile2.html.j2:22
3250msgid ""
3251"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3252"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3253"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3254"checks, if a kernel parameter is set to allow unprivileged users to create "
3255"network namespaces. The script than starts the following gerneric binary in "
3256"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3257"\" style=\"vertical-align: top;\">src/transport/"
3258"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3259"align: top;\">A generic binary to start a test case which will be configured "
3260"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3261"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3262"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3263"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3264"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3265"\">Script which reads the topology from a file for the use in the other "
3266"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3267"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3268"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3269"topology data.</td> </tr> </table>"
3270msgstr ""
3271
3272#: template/l2o/mile2.html.j2:50
3273msgid ""
3274"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3275"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3276"\"vertical-align: top;\">Command to send a message to the master loop if a "
3277"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3278"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3279"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3280"align: top;\">Command to send a message to the master loop if a peer is "
3281"ready to shutdown.</td> </tr> </table>"
3282msgstr ""
3283
3284#: template/l2o/mile2.html.j2:65
3285msgid ""
3286"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3287"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3288"\"vertical-align: top;\">Command now uses a configuration template for the "
3289"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3290"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3291"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3292"file for the simple send test case.</td> <tr> </table>"
3293msgstr ""
3294
3295#: template/l2o/mile3.html.j2:20
3296msgid "Bug fixing"
3297msgstr ""
3298
3299#: template/l2o/mile3.html.j2:22
3300msgid ""
3301"Some bugs in the tng service and communicator code which were found with new "
3302"tests were fixed."
3303msgstr ""
3304
3305#: template/l2o/mile3.html.j2:31
3306msgid ""
3307"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3308"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3309"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3310"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3311"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3312"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3313"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3314"\" style=\"vertical-align: top;\">src/transport/"
3315"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3316"align: top;\">Added script as an example to start a test with inline "
3317"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3318"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3319"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3320"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3321"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3322"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3323"start script to configure port forwarding for specific protocols (tcp, udp)."
3324"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3325"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3326"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3327"</table>"
3328msgstr ""
3329
3330#: template/l2o/mile3.html.j2:68
3331msgid ""
3332"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3333"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3334"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3335"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3336"\" style=\"vertical-align: top;\">src/transport/"
3337"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3338"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3339"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3340"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3341"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3342"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3343"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3344"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3345"\"vertical-align: top;\">Command to block the local loop until triggered by "
3346"a external signal.</td> </tr> </table>"
3347msgstr ""
3348
3349#: template/l2o/mile3.html.j2:94
3350msgid ""
3351"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3352"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3353"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3354"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3355"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3356"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3357"file for the udp backchannel test case.</td> <tr> </table>"
3358msgstr ""
3359
3360#: template/l2o/testng.html.j2:20
3361msgid "Netjail setup and execution"
3362msgstr ""
3363
3364#: template/l2o/testng.html.j2:22
3365msgid ""
3366"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3367"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3368"isolated from each other to test how GNUnet nodes with limited connectivity "
3369"behave, and how the new transport next generation implementation can help to "
3370"circumvent the connectivity obstacles. The network namespaces are span a "
3371"network with globally known nodes and several subnets separated from each "
3372"other via a single router. We have three scripts for the test setup: <ul> "
3373"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3374"takes three arguments. The first is either the name of a configuration for "
3375"the test setup topology or a string containing the topology information. The "
3376"second is the process id of the test. The third is a flag if the first "
3377"parameter contains the name of the configuration file or the topology string."
3378"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3379"namespace. This script takes eight arguments. The first is the index of a "
3380"node in a namespace for which we like to execute a command. The second is "
3381"the index of the namespace of the node. The third is the command to execute, "
3382"the fourth is the number of subnets, the fifth the number of nodes in each "
3383"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3384"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3385"is a flag is the topology information is given via a topology file of a "
3386"string containing the topology information..</li> <li>netjail_stop.sh: A "
3387"script which remove all the network namespace setup by netjail_start.sh. The "
3388"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3389"generic test binary (test_transport_start_with_config) which will start the "
3390"above mentioned scripts. Because creating network namespaces is only "
3391"permitted for privileged users the generic test binary is not start "
3392"directly, but via scripts. This script starts the generic binary using the "
3393"command unshare. Using unshare one can create a namespace with its own user "
3394"namespace, where creating network namespaces is allowed. Precondition to do "
3395"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3396"parameter."
3397msgstr ""
3398
3399#: template/l2o/testng.html.j2:38
3400msgid "CMD helper and testcase plugins"
3401msgstr ""
3402
3403#: template/l2o/testng.html.j2:42
3404msgid ""
3405"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3406"framework a special command is used: gnunet-cmds-helper This commands itself "
3407"is of a special kind named helper processes which communicates via "
3408"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3409"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3410"plugins are implementations of an api which is used to start different test "
3411"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3412"plugin defines the commands which are running in a local interpreter loop "
3413"started by the helper on that specific network namespace node. The plugins "
3414"are also responsible for the communication via the helper with the master "
3415"interpreter loop."
3416msgstr ""
3417
3418#: template/l2o/testng.html.j2:48
3419msgid "Command Pattern"
3420msgstr ""
3421
3422#: template/l2o/testng.html.j2:52
3423msgid ""
3424"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3425"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3426"extended to handle asychronous commands. Therefore a struct "
3427"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3428"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3429"interpreter_next function of the interpreter loop (blocking asynchronous "
3430"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3431"the asynchronous task finished, but also can be any other function to be "
3432"executed when the asynchronous task is non blocking."
3433msgstr ""
3434
3435#: template/l2o/testng.html.j2:57
3436msgid "Topology Configuration"
3437msgstr ""
3438
3439#: template/l2o/testng.html.j2:61
3440msgid ""
3441"The topology of the netjail setup can be configured via a configuration "
3442"file, or with a configuration string handed over to the generic binary for "
3443"starting netjail based tests.</br></br> Both method can be examined in two "
3444"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3445"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3446"configuration is as follows.</br></br> The configuration string is "
3447"structured by lines and the delimiter ':' used for seperating key/value(s) "
3448"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3449"value and '|' to separate a group of values from the key/value(s) pair "
3450"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3451"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3452"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3453"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3454"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3455"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3456"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3457"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3458"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3459"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3460"align: top;\"> A globally known (not natted) node. The number value "
3461"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3462"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3463"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3464"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3465"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3466"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3467"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3468"align: top;\">A subnet node with two key values, the first one for "
3469"identifying the subnet and the second for identifying the node in the subnet."
3470"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3471"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3472"align: top;\">Can be one of several grouped values of the P, K or R key. "
3473"Configuring a connection to another node. </br></br> The value of the "
3474"connect key is a node key (P or K) with two resp. one number value "
3475"identifying the node, and an additional value configuring a protocol. </br></"
3476"br> If the connect key is used in a line configuring a node it is used to "
3477"configure a connection, which will result in the node identified by the line "
3478"P or K key will try to connect nodes also identified with the P or K key via "
3479"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3480"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3481"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3482"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3483"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3484"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3485"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3486"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3487"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3488"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3489"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3490"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3491"of the P or K key. The value is the name of a plugin which will run on that "
3492"peer instead of the default plugin defined by key K.</td> </tr> </table>"
3493msgstr ""
3494
2913#: template/news/index.html.j2:45 3495#: template/news/index.html.j2:45
2914msgid "News archives:" 3496msgid "News archives:"
2915msgstr "ارشيف الاخبار:" 3497msgstr "ارشيف الاخبار:"
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-08-30 19:06+0000\n" 11"PO-Revision-Date: 2021-08-30 19:06+0000\n"
12"Last-Translator: Stefan <eintritt@hotmail.com>\n" 12"Last-Translator: Stefan <eintritt@hotmail.com>\n"
13"Language-Team: German <http://weblate.taler.net/projects/gnunet/website/de/" 13"Language-Team: German <http://weblate.taler.net/projects/gnunet/website/de/"
@@ -542,21 +542,16 @@ msgstr ""
542"Prüfung von Schlüsseln einsetzen." 542"Prüfung von Schlüsseln einsetzen."
543 543
544#: template/applications.html.j2:160 544#: template/applications.html.j2:160
545msgid "Cadet-GTK" 545msgid "Messenger-GTK"
546msgstr "Cadet-GTK" 546msgstr ""
547 547
548#: template/applications.html.j2:162 548#: template/applications.html.j2:162
549msgid "" 549msgid ""
550"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 550"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
551"convenient but feature-rich graphical application providing messaging using " 551"convergent GTK messaging application using the GNUnet Messenger service. The "
552"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 552"goal is to provide private and secure communication between any group of "
553"design." 553"devices."
554msgstr "" 554msgstr ""
555"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> ist "
556"eine praktische, aber funktionsreiche grafische Anwendung, die "
557"Nachrichtenübermittlung unter Verwendung des CADET-Subsystem ermöglicht. Es "
558"wurde unter Verwendung von GTK und libhandy für eine konvergente Gestaltung "
559"entwickelt."
560 555
561#: template/applications.html.j2:180 556#: template/applications.html.j2:180
562msgid "groupchat" 557msgid "groupchat"
@@ -3870,7 +3865,8 @@ msgstr "Tutorial: GNUnet auf NetBSD 8.0 CURRENT"
3870msgid "Tutorial: GNUnet on OpenWrt" 3865msgid "Tutorial: GNUnet on OpenWrt"
3871msgstr "Tutorial: GNUnet auf OpenWrt" 3866msgstr "Tutorial: GNUnet auf OpenWrt"
3872 3867
3873#: template/install-on-openwrt.html.j2:47 3868#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
3869#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
3874msgid "Configuration" 3870msgid "Configuration"
3875msgstr "Konfiguration" 3871msgstr "Konfiguration"
3876 3872
@@ -4121,6 +4117,593 @@ msgstr "Oh mein Gott, ihr habt mir mein Internet kaputt gemacht"
4121msgid "Videos related to GNUnet" 4117msgid "Videos related to GNUnet"
4122msgstr "Videos zu GNUnet" 4118msgstr "Videos zu GNUnet"
4123 4119
4120#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
4121#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
4122#: template/l2o/testng.html.j2:6
4123msgid "NGI Assure project: Layer-2-Overlay"
4124msgstr ""
4125
4126#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
4127#, fuzzy
4128#| msgid "Motivation"
4129msgid "Project motivation"
4130msgstr "Motivation"
4131
4132#: template/l2o/index.html.j2:13
4133#, fuzzy
4134#| msgid "GNUnet is a framework"
4135msgid "New Test Framework"
4136msgstr "GNUnet ist ein Rahmen"
4137
4138#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
4139msgid "Milestones"
4140msgstr ""
4141
4142#: template/l2o/index.html.j2:15
4143msgid "Milestone 1"
4144msgstr ""
4145
4146#: template/l2o/index.html.j2:16
4147msgid "Milestone 2"
4148msgstr ""
4149
4150#: template/l2o/index.html.j2:17
4151msgid "Milestone 3"
4152msgstr ""
4153
4154#: template/l2o/index.html.j2:18
4155msgid "Milestone 4"
4156msgstr ""
4157
4158#: template/l2o/index.html.j2:19
4159msgid "Milestone 5"
4160msgstr ""
4161
4162#: template/l2o/index.html.j2:20
4163msgid "Milestone 6"
4164msgstr ""
4165
4166#: template/l2o/index.html.j2:27
4167msgid ""
4168"This project was funded through the NGI Assure Fund, a fund established by "
4169"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
4170msgstr ""
4171
4172#: template/l2o/index.html.j2:39
4173msgid ""
4174"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
4175"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
4176"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
4177"the ATS subsystem for bandwidth allocation and choosing plugins has several "
4178"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
4179"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
4180"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
4181"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
4182"Next Generation (TNG) subsystem. One major change in the design is to "
4183"separate the protocol plugins into processes (now called communicators) "
4184"detached from the main transport service. Three communicators were already "
4185"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
4186"maintain, because it is cluttered with \"manipulation\" support code for "
4187"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
4188"especially with TESTBED which has its own design flaws, and test code which "
4189"is very hard to read to get an idea what the test code is doing. Therefore "
4190"the first task (milestone 1) is to implement a new testing framework which "
4191"uses network namespaces to make testing of TNG much easier. Have a look into "
4192"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
4193"\">milestones</a>."
4194msgstr ""
4195
4196#: template/l2o/index.html.j2:50
4197#, fuzzy
4198#| msgid "GNUnet is a framework"
4199msgid "New Test Framwork"
4200msgstr "GNUnet ist ein Rahmen"
4201
4202#: template/l2o/index.html.j2:54
4203msgid "Command Style Pattern"
4204msgstr ""
4205
4206#: template/l2o/index.html.j2:58
4207msgid ""
4208"The new style of writing tests in GNUnet is borrowed from the <a href="
4209"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
4210"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
4211"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
4212"test environment for each peer, to start a single peers and sending a simple "
4213"test message. Because some commands depend on other commands to be finished, "
4214"and those commands are asynchronous, we needed additional functionality in "
4215"the command interpreter library to block execution until some commands are "
4216"finished (e.g. all peers needs to be running, before peers starting to send "
4217"messages). For a detailed description have a look into the <a href=\"testng."
4218"html\">testing ng documentation</a>."
4219msgstr ""
4220
4221#: template/l2o/index.html.j2:64
4222msgid "Netjails"
4223msgstr ""
4224
4225#: template/l2o/index.html.j2:68
4226msgid ""
4227"To do extensive testing of the new transport implementation one needs to "
4228"simulate various network topologies to enable faking network characteristics "
4229"like lossy connections or firewalls. To achieve this we are working with <a "
4230"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
4231"namespace</a>. We have commands for starting and stopping network "
4232"namespaces. Those commands are scripts, which are using several shell "
4233"commands to setup the network namespace. A third script then is responsible "
4234"for start a GNUnet helper. This helper can load plugins. Each plugin "
4235"represents some test case. Per node in the network namespaces one helper is "
4236"started, which means on each node is a local interpreter loop running. For a "
4237"detailed description have a look into the <a href=\"testng.html\">testing ng "
4238"documentation</a>."
4239msgstr ""
4240
4241#: template/l2o/index.html.j2:78
4242msgid "Milestone 1 Test Infrastructure and minimal Test Case"
4243msgstr ""
4244
4245#: template/l2o/index.html.j2:81
4246msgid ""
4247"The first subtask consists of implementing a framework for setting up VLANs "
4248"between network namespaces and a framework to test communication between "
4249"peers which are running in those VLANs. Finally a minimal Test Case will be "
4250"implemented. Despite the fact that the transport service is already able to "
4251"use several communicators (transport protocol implementations), it will only "
4252"use the tcp communicator, not the unix socket nor the udp communicator, "
4253"which already are in place and working. <ul> <li>SUID helpers to setup "
4254"network namespace and starting peers with network namespace.</li> <li>Basic "
4255"transport-level operations (get address, send, receive, connect).</li> "
4256"<li>Peers connected through test and transfer data.</li> </ul>"
4257msgstr ""
4258
4259#: template/l2o/index.html.j2:93
4260msgid ""
4261"First MVP which uses the TCP communicator to send messages between peers. "
4262"The deliverable can be verified through out the specific test cases running "
4263"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
4264msgstr ""
4265
4266#: template/l2o/index.html.j2:101
4267msgid "Milestone 2 Enhancing Test Framework"
4268msgstr ""
4269
4270#: template/l2o/index.html.j2:104
4271msgid ""
4272"To test more complex functionality we need to enhance the capabilities of "
4273"the testing framework. Hooks for performance measurement will be "
4274"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
4275"execution of commands at a peer. (Barriers).</li> </ul>"
4276msgstr ""
4277
4278#: template/l2o/index.html.j2:114
4279msgid ""
4280"Outcome of this deliverable are advanced test case (again verifiable in the "
4281"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
4282msgstr ""
4283
4284#: template/l2o/index.html.j2:122
4285msgid "Milestone 3 UDP integration"
4286msgstr ""
4287
4288#: template/l2o/index.html.j2:125
4289msgid ""
4290"With this subtask I will implement enhanced L2O features like using "
4291"unidirectional transport protocols with backchannels. Addresses by which a "
4292"peer can be reached can be delivered on handshake or by UDP broadcast. With "
4293"this milestone the transport service will be able to use more than one "
4294"communicator (pluggable transport). <ul> <li>unidirectional communication "
4295"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
4296msgstr ""
4297
4298#: template/l2o/index.html.j2:135
4299msgid ""
4300"The CI contains test case which uses the UDP protocol to message between "
4301"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
4302msgstr ""
4303
4304#: template/l2o/index.html.j2:143
4305msgid "Milestone 4 Distance Vector"
4306msgstr ""
4307
4308#: template/l2o/index.html.j2:146
4309msgid ""
4310"In this subtask I will enhance connectivity to peers not directly connected. "
4311"Therefore peers have to act as relay. To achieve this I will implement the "
4312"distance vector protocol."
4313msgstr ""
4314
4315#: template/l2o/index.html.j2:152
4316msgid ""
4317"The CI contains test cases with a setup of peers not connected directly. The "
4318"test cases proof that each peer can reach any other peer."
4319msgstr ""
4320
4321#: template/l2o/index.html.j2:158
4322msgid "Milestone 5 NAT Traversal"
4323msgstr ""
4324
4325#: template/l2o/index.html.j2:161
4326msgid ""
4327"This subtask will make peers behind NAT reachable. Two simple traversal "
4328"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
4329"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
4330msgstr ""
4331
4332#: template/l2o/index.html.j2:171
4333msgid ""
4334"The CI contains test case with a peer setup containing peer behind a NAT. "
4335"The test cases proof that each peer can be reached, even if that peer is "
4336"behind a NAT. The test case are measuring the performance. This measurement "
4337"is used to compare with the outcome of the next milestone. This result of "
4338"this milestone will be a first stable release."
4339msgstr ""
4340
4341#: template/l2o/index.html.j2:178
4342msgid "Milestone 6 Optimization"
4343msgstr ""
4344
4345#: template/l2o/index.html.j2:181
4346msgid ""
4347"In this subtask I will implement algorithms (flow and congestion control, "
4348"quality of service optimizations) which will select the optimal transport "
4349"protocol for a given situation. I will analyze potential performance gains "
4350"by integrating libraries of the interpeer project. If the effort of "
4351"integrating interpeer presumably would lead to better performance than other "
4352"optimizations of the same amount of work, this integration is done. I will "
4353"finish the project with a performance analysis to optimize the selection "
4354"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
4355"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
4356"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
4357"a reasonable amount of work.</li> </ol> <li>Commands for performance "
4358"measurement(s).</li> <li>Performance analysis.</li> </ul>"
4359msgstr ""
4360
4361#: template/l2o/index.html.j2:201
4362msgid ""
4363"The test cases in the CI are measuring the performance gains. This "
4364"measurement can be compared with the measurement of milestone 5. Again one "
4365"outcome of this milestone will be a stable release. Documentation of the "
4366"interpeer project analysis."
4367msgstr ""
4368
4369#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
4370#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
4371msgid "Project main page"
4372msgstr ""
4373
4374#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
4375#: template/l2o/mile3.html.j2:29
4376msgid "Master Loop"
4377msgstr ""
4378
4379#: template/l2o/mile1.html.j2:22
4380msgid ""
4381"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4382"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
4383"style=\"vertical-align: top;\">Binary for starting the simple send test. "
4384"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4385"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4386"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
4387"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
4388"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4389"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
4390"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
4391"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4392"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
4393"to execute a local test interpreter per node. Will be execute by the "
4394"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4395"\" style=\"vertical-align: top;\">src/testing/"
4396"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
4397"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
4398"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4399"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
4400"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
4401"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4402"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
4403"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
4404"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4405"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
4406"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
4407"td><td> </td> </tr> </table>"
4408msgstr ""
4409
4410#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
4411#: template/l2o/mile3.html.j2:66
4412msgid "Local Loop"
4413msgstr ""
4414
4415#: template/l2o/mile1.html.j2:67
4416msgid ""
4417"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4418"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
4419"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
4420"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4421"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
4422"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
4423"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4424"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
4425"\" style=\"vertical-align: top;\">Command to create a local test system.</"
4426"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4427"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
4428"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
4429"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4430"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
4431"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
4432"<td></td><td> </td> </tr> <tr> <td>src/transport/"
4433"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
4434"align: top;\">Command to send a simple message from one peer to another.</"
4435"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4436"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
4437"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
4438"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4439"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
4440"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
4441"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4442"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
4443"a message to the master loop, if the local loop has finished.</td> <tr> </"
4444"table>"
4445msgstr ""
4446
4447#: template/l2o/mile1.html.j2:115
4448msgid ""
4449"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4450"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
4451"style=\"vertical-align: top;\">Configuration for the first node running "
4452"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
4453"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
4454"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
4455"align: top;\">Configuration for the second node running during the simple "
4456"send test case.</td> </tr> </table>"
4457msgstr ""
4458
4459#: template/l2o/mile2.html.j2:22
4460msgid ""
4461"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4462"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
4463"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
4464"checks, if a kernel parameter is set to allow unprivileged users to create "
4465"network namespaces. The script than starts the following gerneric binary in "
4466"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4467"\" style=\"vertical-align: top;\">src/transport/"
4468"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
4469"align: top;\">A generic binary to start a test case which will be configured "
4470"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4471"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
4472"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
4473"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4474"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
4475"\">Script which reads the topology from a file for the use in the other "
4476"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
4477"style=\"vertical-align: top;\">All already existing commands.</td><td width="
4478"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
4479"topology data.</td> </tr> </table>"
4480msgstr ""
4481
4482#: template/l2o/mile2.html.j2:50
4483msgid ""
4484"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4485"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
4486"\"vertical-align: top;\">Command to send a message to the master loop if a "
4487"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4488"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4489"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
4490"align: top;\">Command to send a message to the master loop if a peer is "
4491"ready to shutdown.</td> </tr> </table>"
4492msgstr ""
4493
4494#: template/l2o/mile2.html.j2:65
4495msgid ""
4496"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4497"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
4498"\"vertical-align: top;\">Command now uses a configuration template for the "
4499"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4500"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
4501"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
4502"file for the simple send test case.</td> <tr> </table>"
4503msgstr ""
4504
4505#: template/l2o/mile3.html.j2:20
4506msgid "Bug fixing"
4507msgstr ""
4508
4509#: template/l2o/mile3.html.j2:22
4510msgid ""
4511"Some bugs in the tng service and communicator code which were found with new "
4512"tests were fixed."
4513msgstr ""
4514
4515#: template/l2o/mile3.html.j2:31
4516msgid ""
4517"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4518"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
4519"style=\"vertical-align: top;\">Added script to start the udp backchannel "
4520"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4521"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
4522"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
4523"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4524"\" style=\"vertical-align: top;\">src/transport/"
4525"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
4526"align: top;\">Added script as an example to start a test with inline "
4527"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4528"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
4529"\" style=\"vertical-align: top;\">Changed code to handle strings with "
4530"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4531"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4532"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
4533"start script to configure port forwarding for specific protocols (tcp, udp)."
4534"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4535"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
4536"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
4537"</table>"
4538msgstr ""
4539
4540#: template/l2o/mile3.html.j2:68
4541msgid ""
4542"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4543"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
4544"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
4545"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4546"\" style=\"vertical-align: top;\">src/transport/"
4547"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
4548"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
4549"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
4550"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
4551"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
4552"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
4553"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
4554"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
4555"\"vertical-align: top;\">Command to block the local loop until triggered by "
4556"a external signal.</td> </tr> </table>"
4557msgstr ""
4558
4559#: template/l2o/mile3.html.j2:94
4560msgid ""
4561"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4562"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
4563"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
4564"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
4565"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
4566"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
4567"file for the udp backchannel test case.</td> <tr> </table>"
4568msgstr ""
4569
4570#: template/l2o/testng.html.j2:20
4571msgid "Netjail setup and execution"
4572msgstr ""
4573
4574#: template/l2o/testng.html.j2:22
4575msgid ""
4576"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
4577"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
4578"isolated from each other to test how GNUnet nodes with limited connectivity "
4579"behave, and how the new transport next generation implementation can help to "
4580"circumvent the connectivity obstacles. The network namespaces are span a "
4581"network with globally known nodes and several subnets separated from each "
4582"other via a single router. We have three scripts for the test setup: <ul> "
4583"<li>netjail_start.sh: A script to setup the network namespaces. This script "
4584"takes three arguments. The first is either the name of a configuration for "
4585"the test setup topology or a string containing the topology information. The "
4586"second is the process id of the test. The third is a flag if the first "
4587"parameter contains the name of the configuration file or the topology string."
4588"</li> <li>netjail_exec.sh: A script to run some command in a specific "
4589"namespace. This script takes eight arguments. The first is the index of a "
4590"node in a namespace for which we like to execute a command. The second is "
4591"the index of the namespace of the node. The third is the command to execute, "
4592"the fourth is the number of subnets, the fifth the number of nodes in each "
4593"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
4594"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
4595"is a flag is the topology information is given via a topology file of a "
4596"string containing the topology information..</li> <li>netjail_stop.sh: A "
4597"script which remove all the network namespace setup by netjail_start.sh. The "
4598"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
4599"generic test binary (test_transport_start_with_config) which will start the "
4600"above mentioned scripts. Because creating network namespaces is only "
4601"permitted for privileged users the generic test binary is not start "
4602"directly, but via scripts. This script starts the generic binary using the "
4603"command unshare. Using unshare one can create a namespace with its own user "
4604"namespace, where creating network namespaces is allowed. Precondition to do "
4605"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
4606"parameter."
4607msgstr ""
4608
4609#: template/l2o/testng.html.j2:38
4610msgid "CMD helper and testcase plugins"
4611msgstr ""
4612
4613#: template/l2o/testng.html.j2:42
4614msgid ""
4615"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
4616"framework a special command is used: gnunet-cmds-helper This commands itself "
4617"is of a special kind named helper processes which communicates via "
4618"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
4619"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
4620"plugins are implementations of an api which is used to start different test "
4621"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
4622"plugin defines the commands which are running in a local interpreter loop "
4623"started by the helper on that specific network namespace node. The plugins "
4624"are also responsible for the communication via the helper with the master "
4625"interpreter loop."
4626msgstr ""
4627
4628#: template/l2o/testng.html.j2:48
4629msgid "Command Pattern"
4630msgstr ""
4631
4632#: template/l2o/testng.html.j2:52
4633msgid ""
4634"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
4635"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
4636"extended to handle asychronous commands. Therefore a struct "
4637"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
4638"default the continuation function of GNUNET_TESTING_AsyncContext is the "
4639"interpreter_next function of the interpreter loop (blocking asynchronous "
4640"command) which will be executed calling GNUNET_TESTING_async_finish, when "
4641"the asynchronous task finished, but also can be any other function to be "
4642"executed when the asynchronous task is non blocking."
4643msgstr ""
4644
4645#: template/l2o/testng.html.j2:57
4646#, fuzzy
4647#| msgid "Configuration"
4648msgid "Topology Configuration"
4649msgstr "Konfiguration"
4650
4651#: template/l2o/testng.html.j2:61
4652msgid ""
4653"The topology of the netjail setup can be configured via a configuration "
4654"file, or with a configuration string handed over to the generic binary for "
4655"starting netjail based tests.</br></br> Both method can be examined in two "
4656"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
4657"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
4658"configuration is as follows.</br></br> The configuration string is "
4659"structured by lines and the delimiter ':' used for seperating key/value(s) "
4660"pairs and the chars '{' and '}' for grouping several key/value pairs as "
4661"value and '|' to separate a group of values from the key/value(s) pair "
4662"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
4663"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
4664"style=\"vertical-align: top;\">The number of natted subnets in the topology."
4665"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4666"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
4667"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
4668"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
4669"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
4670"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
4671"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
4672"align: top;\"> A globally known (not natted) node. The number value "
4673"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4674"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
4675"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
4676"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
4677"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
4678"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
4679"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
4680"align: top;\">A subnet node with two key values, the first one for "
4681"identifying the subnet and the second for identifying the node in the subnet."
4682"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4683"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
4684"align: top;\">Can be one of several grouped values of the P, K or R key. "
4685"Configuring a connection to another node. </br></br> The value of the "
4686"connect key is a node key (P or K) with two resp. one number value "
4687"identifying the node, and an additional value configuring a protocol. </br></"
4688"br> If the connect key is used in a line configuring a node it is used to "
4689"configure a connection, which will result in the node identified by the line "
4690"P or K key will try to connect nodes also identified with the P or K key via "
4691"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4692"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
4693"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
4694"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
4695"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
4696"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4697"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
4698"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
4699"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
4700"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
4701"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
4702"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
4703"of the P or K key. The value is the name of a plugin which will run on that "
4704"peer instead of the default plugin defined by key K.</td> </tr> </table>"
4705msgstr ""
4706
4124#: template/news/index.html.j2:45 4707#: template/news/index.html.j2:45
4125msgid "News archives:" 4708msgid "News archives:"
4126msgstr "Nachrichten-Archive" 4709msgstr "Nachrichten-Archive"
@@ -4275,6 +4858,21 @@ msgstr ""
4275"alle Attribute zu entschlüsseln, zu denen der Nutzer ihm Zugang mittels des " 4858"alle Attribute zu entschlüsseln, zu denen der Nutzer ihm Zugang mittels des "
4276"zugehörigen Schlüssels eingeräumt hat." 4859"zugehörigen Schlüssels eingeräumt hat."
4277 4860
4861#~ msgid "Cadet-GTK"
4862#~ msgstr "Cadet-GTK"
4863
4864#~ msgid ""
4865#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4866#~ "is a convenient but feature-rich graphical application providing "
4867#~ "messaging using the CADET subsystem. It is developed using GTK and "
4868#~ "libhandy for a convergent design."
4869#~ msgstr ""
4870#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4871#~ "ist eine praktische, aber funktionsreiche grafische Anwendung, die "
4872#~ "Nachrichtenübermittlung unter Verwendung des CADET-Subsystem ermöglicht. "
4873#~ "Es wurde unter Verwendung von GTK und libhandy für eine konvergente "
4874#~ "Gestaltung entwickelt."
4875
4278#~ msgid "The IRC channel" 4876#~ msgid "The IRC channel"
4279#~ msgstr "Der IRC Kanal" 4877#~ msgstr "Der IRC Kanal"
4280 4878
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-06-09 05:22+0000\n" 11"PO-Revision-Date: 2021-06-09 05:22+0000\n"
12"Last-Translator: Samira Tamboura <samiratg8@hotmail.com>\n" 12"Last-Translator: Samira Tamboura <samiratg8@hotmail.com>\n"
13"Language-Team: Spanish <http://weblate.taler.net/projects/gnunet/website/es/" 13"Language-Team: Spanish <http://weblate.taler.net/projects/gnunet/website/es/"
@@ -555,26 +555,16 @@ msgstr ""
555"verificar claves." 555"verificar claves."
556 556
557#: template/applications.html.j2:160 557#: template/applications.html.j2:160
558msgid "Cadet-GTK" 558msgid "Messenger-GTK"
559msgstr "Cadet-GTK" 559msgstr ""
560 560
561#: template/applications.html.j2:162 561#: template/applications.html.j2:162
562#, fuzzy
563#| msgid ""
564#| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
565#| "is a convenient but feature-rich graphical application providing "
566#| "messaging using especially the CADET subsystem. It is developed using GTK "
567#| "and libhandy for a convergent design."
568msgid "" 562msgid ""
569"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 563"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
570"convenient but feature-rich graphical application providing messaging using " 564"convergent GTK messaging application using the GNUnet Messenger service. The "
571"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 565"goal is to provide private and secure communication between any group of "
572"design." 566"devices."
573msgstr "" 567msgstr ""
574"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a>es "
575"una sencilla aplicación gráfica con abundantes herramientas, que ofrece un "
576"servicio de mensajería usando principalmente el subsistema CADET. Es "
577"desarrollado con GTK y libhandy para un diseño convergente."
578 568
579#: template/applications.html.j2:180 569#: template/applications.html.j2:180
580#, fuzzy 570#, fuzzy
@@ -3567,7 +3557,8 @@ msgstr ""
3567msgid "Tutorial: GNUnet on OpenWrt" 3557msgid "Tutorial: GNUnet on OpenWrt"
3568msgstr "" 3558msgstr ""
3569 3559
3570#: template/install-on-openwrt.html.j2:47 3560#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
3561#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
3571#, fuzzy 3562#, fuzzy
3572#| msgid "Continuous Integration" 3563#| msgid "Continuous Integration"
3573msgid "Configuration" 3564msgid "Configuration"
@@ -3766,6 +3757,589 @@ msgstr ""
3766msgid "Videos related to GNUnet" 3757msgid "Videos related to GNUnet"
3767msgstr "" 3758msgstr ""
3768 3759
3760#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
3761#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
3762#: template/l2o/testng.html.j2:6
3763msgid "NGI Assure project: Layer-2-Overlay"
3764msgstr ""
3765
3766#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
3767#, fuzzy
3768#| msgid "Documentation"
3769msgid "Project motivation"
3770msgstr "Documentación"
3771
3772#: template/l2o/index.html.j2:13
3773msgid "New Test Framework"
3774msgstr ""
3775
3776#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
3777msgid "Milestones"
3778msgstr ""
3779
3780#: template/l2o/index.html.j2:15
3781msgid "Milestone 1"
3782msgstr ""
3783
3784#: template/l2o/index.html.j2:16
3785msgid "Milestone 2"
3786msgstr ""
3787
3788#: template/l2o/index.html.j2:17
3789msgid "Milestone 3"
3790msgstr ""
3791
3792#: template/l2o/index.html.j2:18
3793msgid "Milestone 4"
3794msgstr ""
3795
3796#: template/l2o/index.html.j2:19
3797msgid "Milestone 5"
3798msgstr ""
3799
3800#: template/l2o/index.html.j2:20
3801msgid "Milestone 6"
3802msgstr ""
3803
3804#: template/l2o/index.html.j2:27
3805msgid ""
3806"This project was funded through the NGI Assure Fund, a fund established by "
3807"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
3808msgstr ""
3809
3810#: template/l2o/index.html.j2:39
3811msgid ""
3812"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
3813"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
3814"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
3815"the ATS subsystem for bandwidth allocation and choosing plugins has several "
3816"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
3817"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
3818"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
3819"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
3820"Next Generation (TNG) subsystem. One major change in the design is to "
3821"separate the protocol plugins into processes (now called communicators) "
3822"detached from the main transport service. Three communicators were already "
3823"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
3824"maintain, because it is cluttered with \"manipulation\" support code for "
3825"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
3826"especially with TESTBED which has its own design flaws, and test code which "
3827"is very hard to read to get an idea what the test code is doing. Therefore "
3828"the first task (milestone 1) is to implement a new testing framework which "
3829"uses network namespaces to make testing of TNG much easier. Have a look into "
3830"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
3831"\">milestones</a>."
3832msgstr ""
3833
3834#: template/l2o/index.html.j2:50
3835msgid "New Test Framwork"
3836msgstr ""
3837
3838#: template/l2o/index.html.j2:54
3839msgid "Command Style Pattern"
3840msgstr ""
3841
3842#: template/l2o/index.html.j2:58
3843msgid ""
3844"The new style of writing tests in GNUnet is borrowed from the <a href="
3845"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3846"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3847"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3848"test environment for each peer, to start a single peers and sending a simple "
3849"test message. Because some commands depend on other commands to be finished, "
3850"and those commands are asynchronous, we needed additional functionality in "
3851"the command interpreter library to block execution until some commands are "
3852"finished (e.g. all peers needs to be running, before peers starting to send "
3853"messages). For a detailed description have a look into the <a href=\"testng."
3854"html\">testing ng documentation</a>."
3855msgstr ""
3856
3857#: template/l2o/index.html.j2:64
3858msgid "Netjails"
3859msgstr ""
3860
3861#: template/l2o/index.html.j2:68
3862msgid ""
3863"To do extensive testing of the new transport implementation one needs to "
3864"simulate various network topologies to enable faking network characteristics "
3865"like lossy connections or firewalls. To achieve this we are working with <a "
3866"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3867"namespace</a>. We have commands for starting and stopping network "
3868"namespaces. Those commands are scripts, which are using several shell "
3869"commands to setup the network namespace. A third script then is responsible "
3870"for start a GNUnet helper. This helper can load plugins. Each plugin "
3871"represents some test case. Per node in the network namespaces one helper is "
3872"started, which means on each node is a local interpreter loop running. For a "
3873"detailed description have a look into the <a href=\"testng.html\">testing ng "
3874"documentation</a>."
3875msgstr ""
3876
3877#: template/l2o/index.html.j2:78
3878msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3879msgstr ""
3880
3881#: template/l2o/index.html.j2:81
3882msgid ""
3883"The first subtask consists of implementing a framework for setting up VLANs "
3884"between network namespaces and a framework to test communication between "
3885"peers which are running in those VLANs. Finally a minimal Test Case will be "
3886"implemented. Despite the fact that the transport service is already able to "
3887"use several communicators (transport protocol implementations), it will only "
3888"use the tcp communicator, not the unix socket nor the udp communicator, "
3889"which already are in place and working. <ul> <li>SUID helpers to setup "
3890"network namespace and starting peers with network namespace.</li> <li>Basic "
3891"transport-level operations (get address, send, receive, connect).</li> "
3892"<li>Peers connected through test and transfer data.</li> </ul>"
3893msgstr ""
3894
3895#: template/l2o/index.html.j2:93
3896msgid ""
3897"First MVP which uses the TCP communicator to send messages between peers. "
3898"The deliverable can be verified through out the specific test cases running "
3899"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3900msgstr ""
3901
3902#: template/l2o/index.html.j2:101
3903msgid "Milestone 2 Enhancing Test Framework"
3904msgstr ""
3905
3906#: template/l2o/index.html.j2:104
3907msgid ""
3908"To test more complex functionality we need to enhance the capabilities of "
3909"the testing framework. Hooks for performance measurement will be "
3910"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3911"execution of commands at a peer. (Barriers).</li> </ul>"
3912msgstr ""
3913
3914#: template/l2o/index.html.j2:114
3915msgid ""
3916"Outcome of this deliverable are advanced test case (again verifiable in the "
3917"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3918msgstr ""
3919
3920#: template/l2o/index.html.j2:122
3921msgid "Milestone 3 UDP integration"
3922msgstr ""
3923
3924#: template/l2o/index.html.j2:125
3925msgid ""
3926"With this subtask I will implement enhanced L2O features like using "
3927"unidirectional transport protocols with backchannels. Addresses by which a "
3928"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3929"this milestone the transport service will be able to use more than one "
3930"communicator (pluggable transport). <ul> <li>unidirectional communication "
3931"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3932msgstr ""
3933
3934#: template/l2o/index.html.j2:135
3935msgid ""
3936"The CI contains test case which uses the UDP protocol to message between "
3937"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3938msgstr ""
3939
3940#: template/l2o/index.html.j2:143
3941msgid "Milestone 4 Distance Vector"
3942msgstr ""
3943
3944#: template/l2o/index.html.j2:146
3945msgid ""
3946"In this subtask I will enhance connectivity to peers not directly connected. "
3947"Therefore peers have to act as relay. To achieve this I will implement the "
3948"distance vector protocol."
3949msgstr ""
3950
3951#: template/l2o/index.html.j2:152
3952msgid ""
3953"The CI contains test cases with a setup of peers not connected directly. The "
3954"test cases proof that each peer can reach any other peer."
3955msgstr ""
3956
3957#: template/l2o/index.html.j2:158
3958msgid "Milestone 5 NAT Traversal"
3959msgstr ""
3960
3961#: template/l2o/index.html.j2:161
3962msgid ""
3963"This subtask will make peers behind NAT reachable. Two simple traversal "
3964"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3965"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3966msgstr ""
3967
3968#: template/l2o/index.html.j2:171
3969msgid ""
3970"The CI contains test case with a peer setup containing peer behind a NAT. "
3971"The test cases proof that each peer can be reached, even if that peer is "
3972"behind a NAT. The test case are measuring the performance. This measurement "
3973"is used to compare with the outcome of the next milestone. This result of "
3974"this milestone will be a first stable release."
3975msgstr ""
3976
3977#: template/l2o/index.html.j2:178
3978msgid "Milestone 6 Optimization"
3979msgstr ""
3980
3981#: template/l2o/index.html.j2:181
3982msgid ""
3983"In this subtask I will implement algorithms (flow and congestion control, "
3984"quality of service optimizations) which will select the optimal transport "
3985"protocol for a given situation. I will analyze potential performance gains "
3986"by integrating libraries of the interpeer project. If the effort of "
3987"integrating interpeer presumably would lead to better performance than other "
3988"optimizations of the same amount of work, this integration is done. I will "
3989"finish the project with a performance analysis to optimize the selection "
3990"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3991"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3992"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3993"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3994"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3995msgstr ""
3996
3997#: template/l2o/index.html.j2:201
3998msgid ""
3999"The test cases in the CI are measuring the performance gains. This "
4000"measurement can be compared with the measurement of milestone 5. Again one "
4001"outcome of this milestone will be a stable release. Documentation of the "
4002"interpeer project analysis."
4003msgstr ""
4004
4005#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
4006#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
4007msgid "Project main page"
4008msgstr ""
4009
4010#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
4011#: template/l2o/mile3.html.j2:29
4012msgid "Master Loop"
4013msgstr ""
4014
4015#: template/l2o/mile1.html.j2:22
4016msgid ""
4017"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4018"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
4019"style=\"vertical-align: top;\">Binary for starting the simple send test. "
4020"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4021"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4022"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
4023"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
4024"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4025"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
4026"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
4027"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4028"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
4029"to execute a local test interpreter per node. Will be execute by the "
4030"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4031"\" style=\"vertical-align: top;\">src/testing/"
4032"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
4033"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
4034"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4035"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
4036"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
4037"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4038"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
4039"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
4040"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4041"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
4042"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
4043"td><td> </td> </tr> </table>"
4044msgstr ""
4045
4046#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
4047#: template/l2o/mile3.html.j2:66
4048msgid "Local Loop"
4049msgstr ""
4050
4051#: template/l2o/mile1.html.j2:67
4052msgid ""
4053"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4054"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
4055"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
4056"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4057"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
4058"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
4059"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4060"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
4061"\" style=\"vertical-align: top;\">Command to create a local test system.</"
4062"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4063"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
4064"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
4065"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4066"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
4067"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
4068"<td></td><td> </td> </tr> <tr> <td>src/transport/"
4069"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
4070"align: top;\">Command to send a simple message from one peer to another.</"
4071"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4072"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
4073"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
4074"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4075"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
4076"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
4077"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4078"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
4079"a message to the master loop, if the local loop has finished.</td> <tr> </"
4080"table>"
4081msgstr ""
4082
4083#: template/l2o/mile1.html.j2:115
4084msgid ""
4085"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4086"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
4087"style=\"vertical-align: top;\">Configuration for the first node running "
4088"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
4089"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
4090"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
4091"align: top;\">Configuration for the second node running during the simple "
4092"send test case.</td> </tr> </table>"
4093msgstr ""
4094
4095#: template/l2o/mile2.html.j2:22
4096msgid ""
4097"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4098"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
4099"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
4100"checks, if a kernel parameter is set to allow unprivileged users to create "
4101"network namespaces. The script than starts the following gerneric binary in "
4102"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4103"\" style=\"vertical-align: top;\">src/transport/"
4104"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
4105"align: top;\">A generic binary to start a test case which will be configured "
4106"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4107"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
4108"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
4109"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4110"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
4111"\">Script which reads the topology from a file for the use in the other "
4112"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
4113"style=\"vertical-align: top;\">All already existing commands.</td><td width="
4114"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
4115"topology data.</td> </tr> </table>"
4116msgstr ""
4117
4118#: template/l2o/mile2.html.j2:50
4119msgid ""
4120"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4121"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
4122"\"vertical-align: top;\">Command to send a message to the master loop if a "
4123"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4124"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4125"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
4126"align: top;\">Command to send a message to the master loop if a peer is "
4127"ready to shutdown.</td> </tr> </table>"
4128msgstr ""
4129
4130#: template/l2o/mile2.html.j2:65
4131msgid ""
4132"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4133"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
4134"\"vertical-align: top;\">Command now uses a configuration template for the "
4135"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4136"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
4137"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
4138"file for the simple send test case.</td> <tr> </table>"
4139msgstr ""
4140
4141#: template/l2o/mile3.html.j2:20
4142msgid "Bug fixing"
4143msgstr ""
4144
4145#: template/l2o/mile3.html.j2:22
4146msgid ""
4147"Some bugs in the tng service and communicator code which were found with new "
4148"tests were fixed."
4149msgstr ""
4150
4151#: template/l2o/mile3.html.j2:31
4152msgid ""
4153"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4154"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
4155"style=\"vertical-align: top;\">Added script to start the udp backchannel "
4156"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4157"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
4158"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
4159"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4160"\" style=\"vertical-align: top;\">src/transport/"
4161"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
4162"align: top;\">Added script as an example to start a test with inline "
4163"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4164"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
4165"\" style=\"vertical-align: top;\">Changed code to handle strings with "
4166"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4167"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4168"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
4169"start script to configure port forwarding for specific protocols (tcp, udp)."
4170"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4171"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
4172"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
4173"</table>"
4174msgstr ""
4175
4176#: template/l2o/mile3.html.j2:68
4177msgid ""
4178"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4179"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
4180"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
4181"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4182"\" style=\"vertical-align: top;\">src/transport/"
4183"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
4184"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
4185"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
4186"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
4187"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
4188"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
4189"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
4190"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
4191"\"vertical-align: top;\">Command to block the local loop until triggered by "
4192"a external signal.</td> </tr> </table>"
4193msgstr ""
4194
4195#: template/l2o/mile3.html.j2:94
4196msgid ""
4197"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4198"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
4199"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
4200"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
4201"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
4202"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
4203"file for the udp backchannel test case.</td> <tr> </table>"
4204msgstr ""
4205
4206#: template/l2o/testng.html.j2:20
4207msgid "Netjail setup and execution"
4208msgstr ""
4209
4210#: template/l2o/testng.html.j2:22
4211msgid ""
4212"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
4213"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
4214"isolated from each other to test how GNUnet nodes with limited connectivity "
4215"behave, and how the new transport next generation implementation can help to "
4216"circumvent the connectivity obstacles. The network namespaces are span a "
4217"network with globally known nodes and several subnets separated from each "
4218"other via a single router. We have three scripts for the test setup: <ul> "
4219"<li>netjail_start.sh: A script to setup the network namespaces. This script "
4220"takes three arguments. The first is either the name of a configuration for "
4221"the test setup topology or a string containing the topology information. The "
4222"second is the process id of the test. The third is a flag if the first "
4223"parameter contains the name of the configuration file or the topology string."
4224"</li> <li>netjail_exec.sh: A script to run some command in a specific "
4225"namespace. This script takes eight arguments. The first is the index of a "
4226"node in a namespace for which we like to execute a command. The second is "
4227"the index of the namespace of the node. The third is the command to execute, "
4228"the fourth is the number of subnets, the fifth the number of nodes in each "
4229"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
4230"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
4231"is a flag is the topology information is given via a topology file of a "
4232"string containing the topology information..</li> <li>netjail_stop.sh: A "
4233"script which remove all the network namespace setup by netjail_start.sh. The "
4234"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
4235"generic test binary (test_transport_start_with_config) which will start the "
4236"above mentioned scripts. Because creating network namespaces is only "
4237"permitted for privileged users the generic test binary is not start "
4238"directly, but via scripts. This script starts the generic binary using the "
4239"command unshare. Using unshare one can create a namespace with its own user "
4240"namespace, where creating network namespaces is allowed. Precondition to do "
4241"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
4242"parameter."
4243msgstr ""
4244
4245#: template/l2o/testng.html.j2:38
4246msgid "CMD helper and testcase plugins"
4247msgstr ""
4248
4249#: template/l2o/testng.html.j2:42
4250msgid ""
4251"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
4252"framework a special command is used: gnunet-cmds-helper This commands itself "
4253"is of a special kind named helper processes which communicates via "
4254"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
4255"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
4256"plugins are implementations of an api which is used to start different test "
4257"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
4258"plugin defines the commands which are running in a local interpreter loop "
4259"started by the helper on that specific network namespace node. The plugins "
4260"are also responsible for the communication via the helper with the master "
4261"interpreter loop."
4262msgstr ""
4263
4264#: template/l2o/testng.html.j2:48
4265msgid "Command Pattern"
4266msgstr ""
4267
4268#: template/l2o/testng.html.j2:52
4269msgid ""
4270"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
4271"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
4272"extended to handle asychronous commands. Therefore a struct "
4273"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
4274"default the continuation function of GNUNET_TESTING_AsyncContext is the "
4275"interpreter_next function of the interpreter loop (blocking asynchronous "
4276"command) which will be executed calling GNUNET_TESTING_async_finish, when "
4277"the asynchronous task finished, but also can be any other function to be "
4278"executed when the asynchronous task is non blocking."
4279msgstr ""
4280
4281#: template/l2o/testng.html.j2:57
4282#, fuzzy
4283#| msgid "Continuous Integration"
4284msgid "Topology Configuration"
4285msgstr "Integración continua"
4286
4287#: template/l2o/testng.html.j2:61
4288msgid ""
4289"The topology of the netjail setup can be configured via a configuration "
4290"file, or with a configuration string handed over to the generic binary for "
4291"starting netjail based tests.</br></br> Both method can be examined in two "
4292"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
4293"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
4294"configuration is as follows.</br></br> The configuration string is "
4295"structured by lines and the delimiter ':' used for seperating key/value(s) "
4296"pairs and the chars '{' and '}' for grouping several key/value pairs as "
4297"value and '|' to separate a group of values from the key/value(s) pair "
4298"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
4299"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
4300"style=\"vertical-align: top;\">The number of natted subnets in the topology."
4301"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4302"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
4303"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
4304"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
4305"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
4306"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
4307"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
4308"align: top;\"> A globally known (not natted) node. The number value "
4309"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4310"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
4311"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
4312"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
4313"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
4314"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
4315"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
4316"align: top;\">A subnet node with two key values, the first one for "
4317"identifying the subnet and the second for identifying the node in the subnet."
4318"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4319"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
4320"align: top;\">Can be one of several grouped values of the P, K or R key. "
4321"Configuring a connection to another node. </br></br> The value of the "
4322"connect key is a node key (P or K) with two resp. one number value "
4323"identifying the node, and an additional value configuring a protocol. </br></"
4324"br> If the connect key is used in a line configuring a node it is used to "
4325"configure a connection, which will result in the node identified by the line "
4326"P or K key will try to connect nodes also identified with the P or K key via "
4327"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4328"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
4329"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
4330"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
4331"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
4332"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4333"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
4334"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
4335"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
4336"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
4337"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
4338"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
4339"of the P or K key. The value is the name of a plugin which will run on that "
4340"peer instead of the default plugin defined by key K.</td> </tr> </table>"
4341msgstr ""
4342
3769#: template/news/index.html.j2:45 4343#: template/news/index.html.j2:45
3770msgid "News archives:" 4344msgid "News archives:"
3771msgstr "Archivo IRC:" 4345msgstr "Archivo IRC:"
@@ -3916,6 +4490,26 @@ msgstr ""
3916"directorio descentralizado. Puede desencriptar todos esos atributos que el " 4490"directorio descentralizado. Puede desencriptar todos esos atributos que el "
3917"usuario le ha autorizado a acceder utilizando la clave respectiva." 4491"usuario le ha autorizado a acceder utilizando la clave respectiva."
3918 4492
4493#~ msgid "Cadet-GTK"
4494#~ msgstr "Cadet-GTK"
4495
4496#, fuzzy
4497#~| msgid ""
4498#~| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4499#~| "is a convenient but feature-rich graphical application providing "
4500#~| "messaging using especially the CADET subsystem. It is developed using "
4501#~| "GTK and libhandy for a convergent design."
4502#~ msgid ""
4503#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4504#~ "is a convenient but feature-rich graphical application providing "
4505#~ "messaging using the CADET subsystem. It is developed using GTK and "
4506#~ "libhandy for a convergent design."
4507#~ msgstr ""
4508#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a>es "
4509#~ "una sencilla aplicación gráfica con abundantes herramientas, que ofrece "
4510#~ "un servicio de mensajería usando principalmente el subsistema CADET. Es "
4511#~ "desarrollado con GTK y libhandy para un diseño convergente."
4512
3919#~ msgid "The IRC channel" 4513#~ msgid "The IRC channel"
3920#~ msgstr "El canal IRC" 4514#~ msgstr "El canal IRC"
3921 4515
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-09-28 14:59+0000\n" 11"PO-Revision-Date: 2021-09-28 14:59+0000\n"
12"Last-Translator: Axelle Dimpre <axelle.dimpre@gmail.com>\n" 12"Last-Translator: Axelle Dimpre <axelle.dimpre@gmail.com>\n"
13"Language-Team: French <http://weblate.taler.net/projects/gnunet/website/fr/" 13"Language-Team: French <http://weblate.taler.net/projects/gnunet/website/fr/"
@@ -541,20 +541,16 @@ msgstr ""
541"protocoles cryptographiques pour vérifier les clés." 541"protocoles cryptographiques pour vérifier les clés."
542 542
543#: template/applications.html.j2:160 543#: template/applications.html.j2:160
544msgid "Cadet-GTK" 544msgid "Messenger-GTK"
545msgstr "Cadet-GTK" 545msgstr ""
546 546
547#: template/applications.html.j2:162 547#: template/applications.html.j2:162
548msgid "" 548msgid ""
549"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 549"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
550"convenient but feature-rich graphical application providing messaging using " 550"convergent GTK messaging application using the GNUnet Messenger service. The "
551"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 551"goal is to provide private and secure communication between any group of "
552"design." 552"devices."
553msgstr "" 553msgstr ""
554"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> est "
555"une interface graphique modeste mais riche en caractéristiques qui fournit "
556"des services de messagerie en utilisant notamment le sous-système CADET. Il "
557"est développé avec GTK et libhandy pour un design cohérent."
558 554
559#: template/applications.html.j2:180 555#: template/applications.html.j2:180
560msgid "groupchat" 556msgid "groupchat"
@@ -2980,7 +2976,8 @@ msgstr ""
2980msgid "Tutorial: GNUnet on OpenWrt" 2976msgid "Tutorial: GNUnet on OpenWrt"
2981msgstr "" 2977msgstr ""
2982 2978
2983#: template/install-on-openwrt.html.j2:47 2979#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2980#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2984#, fuzzy 2981#, fuzzy
2985#| msgid "Continuous Integration" 2982#| msgid "Continuous Integration"
2986msgid "Configuration" 2983msgid "Configuration"
@@ -3178,6 +3175,589 @@ msgstr ""
3178msgid "Videos related to GNUnet" 3175msgid "Videos related to GNUnet"
3179msgstr "Vidéos en lien avec GNUnet" 3176msgstr "Vidéos en lien avec GNUnet"
3180 3177
3178#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
3179#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
3180#: template/l2o/testng.html.j2:6
3181msgid "NGI Assure project: Layer-2-Overlay"
3182msgstr ""
3183
3184#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
3185#, fuzzy
3186#| msgid "Documentation"
3187msgid "Project motivation"
3188msgstr "Documentation"
3189
3190#: template/l2o/index.html.j2:13
3191msgid "New Test Framework"
3192msgstr ""
3193
3194#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
3195msgid "Milestones"
3196msgstr ""
3197
3198#: template/l2o/index.html.j2:15
3199msgid "Milestone 1"
3200msgstr ""
3201
3202#: template/l2o/index.html.j2:16
3203msgid "Milestone 2"
3204msgstr ""
3205
3206#: template/l2o/index.html.j2:17
3207msgid "Milestone 3"
3208msgstr ""
3209
3210#: template/l2o/index.html.j2:18
3211msgid "Milestone 4"
3212msgstr ""
3213
3214#: template/l2o/index.html.j2:19
3215msgid "Milestone 5"
3216msgstr ""
3217
3218#: template/l2o/index.html.j2:20
3219msgid "Milestone 6"
3220msgstr ""
3221
3222#: template/l2o/index.html.j2:27
3223msgid ""
3224"This project was funded through the NGI Assure Fund, a fund established by "
3225"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
3226msgstr ""
3227
3228#: template/l2o/index.html.j2:39
3229msgid ""
3230"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
3231"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
3232"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
3233"the ATS subsystem for bandwidth allocation and choosing plugins has several "
3234"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
3235"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
3236"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
3237"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
3238"Next Generation (TNG) subsystem. One major change in the design is to "
3239"separate the protocol plugins into processes (now called communicators) "
3240"detached from the main transport service. Three communicators were already "
3241"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
3242"maintain, because it is cluttered with \"manipulation\" support code for "
3243"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
3244"especially with TESTBED which has its own design flaws, and test code which "
3245"is very hard to read to get an idea what the test code is doing. Therefore "
3246"the first task (milestone 1) is to implement a new testing framework which "
3247"uses network namespaces to make testing of TNG much easier. Have a look into "
3248"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
3249"\">milestones</a>."
3250msgstr ""
3251
3252#: template/l2o/index.html.j2:50
3253msgid "New Test Framwork"
3254msgstr ""
3255
3256#: template/l2o/index.html.j2:54
3257msgid "Command Style Pattern"
3258msgstr ""
3259
3260#: template/l2o/index.html.j2:58
3261msgid ""
3262"The new style of writing tests in GNUnet is borrowed from the <a href="
3263"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3264"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3265"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3266"test environment for each peer, to start a single peers and sending a simple "
3267"test message. Because some commands depend on other commands to be finished, "
3268"and those commands are asynchronous, we needed additional functionality in "
3269"the command interpreter library to block execution until some commands are "
3270"finished (e.g. all peers needs to be running, before peers starting to send "
3271"messages). For a detailed description have a look into the <a href=\"testng."
3272"html\">testing ng documentation</a>."
3273msgstr ""
3274
3275#: template/l2o/index.html.j2:64
3276msgid "Netjails"
3277msgstr ""
3278
3279#: template/l2o/index.html.j2:68
3280msgid ""
3281"To do extensive testing of the new transport implementation one needs to "
3282"simulate various network topologies to enable faking network characteristics "
3283"like lossy connections or firewalls. To achieve this we are working with <a "
3284"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3285"namespace</a>. We have commands for starting and stopping network "
3286"namespaces. Those commands are scripts, which are using several shell "
3287"commands to setup the network namespace. A third script then is responsible "
3288"for start a GNUnet helper. This helper can load plugins. Each plugin "
3289"represents some test case. Per node in the network namespaces one helper is "
3290"started, which means on each node is a local interpreter loop running. For a "
3291"detailed description have a look into the <a href=\"testng.html\">testing ng "
3292"documentation</a>."
3293msgstr ""
3294
3295#: template/l2o/index.html.j2:78
3296msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3297msgstr ""
3298
3299#: template/l2o/index.html.j2:81
3300msgid ""
3301"The first subtask consists of implementing a framework for setting up VLANs "
3302"between network namespaces and a framework to test communication between "
3303"peers which are running in those VLANs. Finally a minimal Test Case will be "
3304"implemented. Despite the fact that the transport service is already able to "
3305"use several communicators (transport protocol implementations), it will only "
3306"use the tcp communicator, not the unix socket nor the udp communicator, "
3307"which already are in place and working. <ul> <li>SUID helpers to setup "
3308"network namespace and starting peers with network namespace.</li> <li>Basic "
3309"transport-level operations (get address, send, receive, connect).</li> "
3310"<li>Peers connected through test and transfer data.</li> </ul>"
3311msgstr ""
3312
3313#: template/l2o/index.html.j2:93
3314msgid ""
3315"First MVP which uses the TCP communicator to send messages between peers. "
3316"The deliverable can be verified through out the specific test cases running "
3317"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3318msgstr ""
3319
3320#: template/l2o/index.html.j2:101
3321msgid "Milestone 2 Enhancing Test Framework"
3322msgstr ""
3323
3324#: template/l2o/index.html.j2:104
3325msgid ""
3326"To test more complex functionality we need to enhance the capabilities of "
3327"the testing framework. Hooks for performance measurement will be "
3328"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3329"execution of commands at a peer. (Barriers).</li> </ul>"
3330msgstr ""
3331
3332#: template/l2o/index.html.j2:114
3333msgid ""
3334"Outcome of this deliverable are advanced test case (again verifiable in the "
3335"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3336msgstr ""
3337
3338#: template/l2o/index.html.j2:122
3339msgid "Milestone 3 UDP integration"
3340msgstr ""
3341
3342#: template/l2o/index.html.j2:125
3343msgid ""
3344"With this subtask I will implement enhanced L2O features like using "
3345"unidirectional transport protocols with backchannels. Addresses by which a "
3346"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3347"this milestone the transport service will be able to use more than one "
3348"communicator (pluggable transport). <ul> <li>unidirectional communication "
3349"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3350msgstr ""
3351
3352#: template/l2o/index.html.j2:135
3353msgid ""
3354"The CI contains test case which uses the UDP protocol to message between "
3355"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3356msgstr ""
3357
3358#: template/l2o/index.html.j2:143
3359msgid "Milestone 4 Distance Vector"
3360msgstr ""
3361
3362#: template/l2o/index.html.j2:146
3363msgid ""
3364"In this subtask I will enhance connectivity to peers not directly connected. "
3365"Therefore peers have to act as relay. To achieve this I will implement the "
3366"distance vector protocol."
3367msgstr ""
3368
3369#: template/l2o/index.html.j2:152
3370msgid ""
3371"The CI contains test cases with a setup of peers not connected directly. The "
3372"test cases proof that each peer can reach any other peer."
3373msgstr ""
3374
3375#: template/l2o/index.html.j2:158
3376msgid "Milestone 5 NAT Traversal"
3377msgstr ""
3378
3379#: template/l2o/index.html.j2:161
3380msgid ""
3381"This subtask will make peers behind NAT reachable. Two simple traversal "
3382"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3383"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3384msgstr ""
3385
3386#: template/l2o/index.html.j2:171
3387msgid ""
3388"The CI contains test case with a peer setup containing peer behind a NAT. "
3389"The test cases proof that each peer can be reached, even if that peer is "
3390"behind a NAT. The test case are measuring the performance. This measurement "
3391"is used to compare with the outcome of the next milestone. This result of "
3392"this milestone will be a first stable release."
3393msgstr ""
3394
3395#: template/l2o/index.html.j2:178
3396msgid "Milestone 6 Optimization"
3397msgstr ""
3398
3399#: template/l2o/index.html.j2:181
3400msgid ""
3401"In this subtask I will implement algorithms (flow and congestion control, "
3402"quality of service optimizations) which will select the optimal transport "
3403"protocol for a given situation. I will analyze potential performance gains "
3404"by integrating libraries of the interpeer project. If the effort of "
3405"integrating interpeer presumably would lead to better performance than other "
3406"optimizations of the same amount of work, this integration is done. I will "
3407"finish the project with a performance analysis to optimize the selection "
3408"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3409"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3410"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3411"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3412"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3413msgstr ""
3414
3415#: template/l2o/index.html.j2:201
3416msgid ""
3417"The test cases in the CI are measuring the performance gains. This "
3418"measurement can be compared with the measurement of milestone 5. Again one "
3419"outcome of this milestone will be a stable release. Documentation of the "
3420"interpeer project analysis."
3421msgstr ""
3422
3423#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3424#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3425msgid "Project main page"
3426msgstr ""
3427
3428#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3429#: template/l2o/mile3.html.j2:29
3430msgid "Master Loop"
3431msgstr ""
3432
3433#: template/l2o/mile1.html.j2:22
3434msgid ""
3435"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3436"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3437"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3438"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3439"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3440"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3441"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3442"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3443"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3444"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3445"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3446"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3447"to execute a local test interpreter per node. Will be execute by the "
3448"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3449"\" style=\"vertical-align: top;\">src/testing/"
3450"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3451"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3452"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3453"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3454"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3455"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3456"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3457"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3458"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3459"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3460"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3461"td><td> </td> </tr> </table>"
3462msgstr ""
3463
3464#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3465#: template/l2o/mile3.html.j2:66
3466msgid "Local Loop"
3467msgstr ""
3468
3469#: template/l2o/mile1.html.j2:67
3470msgid ""
3471"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3472"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3473"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3474"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3475"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3476"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3477"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3478"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3479"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3480"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3481"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3482"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3483"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3484"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3485"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3486"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3487"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3488"align: top;\">Command to send a simple message from one peer to another.</"
3489"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3490"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3491"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3492"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3493"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3494"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3495"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3496"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3497"a message to the master loop, if the local loop has finished.</td> <tr> </"
3498"table>"
3499msgstr ""
3500
3501#: template/l2o/mile1.html.j2:115
3502msgid ""
3503"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3504"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3505"style=\"vertical-align: top;\">Configuration for the first node running "
3506"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3507"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3508"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3509"align: top;\">Configuration for the second node running during the simple "
3510"send test case.</td> </tr> </table>"
3511msgstr ""
3512
3513#: template/l2o/mile2.html.j2:22
3514msgid ""
3515"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3516"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3517"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3518"checks, if a kernel parameter is set to allow unprivileged users to create "
3519"network namespaces. The script than starts the following gerneric binary in "
3520"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3521"\" style=\"vertical-align: top;\">src/transport/"
3522"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3523"align: top;\">A generic binary to start a test case which will be configured "
3524"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3525"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3526"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3527"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3528"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3529"\">Script which reads the topology from a file for the use in the other "
3530"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3531"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3532"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3533"topology data.</td> </tr> </table>"
3534msgstr ""
3535
3536#: template/l2o/mile2.html.j2:50
3537msgid ""
3538"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3539"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3540"\"vertical-align: top;\">Command to send a message to the master loop if a "
3541"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3542"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3543"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3544"align: top;\">Command to send a message to the master loop if a peer is "
3545"ready to shutdown.</td> </tr> </table>"
3546msgstr ""
3547
3548#: template/l2o/mile2.html.j2:65
3549msgid ""
3550"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3551"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3552"\"vertical-align: top;\">Command now uses a configuration template for the "
3553"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3554"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3555"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3556"file for the simple send test case.</td> <tr> </table>"
3557msgstr ""
3558
3559#: template/l2o/mile3.html.j2:20
3560msgid "Bug fixing"
3561msgstr ""
3562
3563#: template/l2o/mile3.html.j2:22
3564msgid ""
3565"Some bugs in the tng service and communicator code which were found with new "
3566"tests were fixed."
3567msgstr ""
3568
3569#: template/l2o/mile3.html.j2:31
3570msgid ""
3571"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3572"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3573"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3574"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3575"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3576"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3577"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3578"\" style=\"vertical-align: top;\">src/transport/"
3579"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3580"align: top;\">Added script as an example to start a test with inline "
3581"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3582"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3583"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3584"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3585"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3586"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3587"start script to configure port forwarding for specific protocols (tcp, udp)."
3588"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3589"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3590"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3591"</table>"
3592msgstr ""
3593
3594#: template/l2o/mile3.html.j2:68
3595msgid ""
3596"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3597"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3598"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3599"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3600"\" style=\"vertical-align: top;\">src/transport/"
3601"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3602"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3603"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3604"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3605"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3606"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3607"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3608"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3609"\"vertical-align: top;\">Command to block the local loop until triggered by "
3610"a external signal.</td> </tr> </table>"
3611msgstr ""
3612
3613#: template/l2o/mile3.html.j2:94
3614msgid ""
3615"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3616"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3617"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3618"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3619"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3620"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3621"file for the udp backchannel test case.</td> <tr> </table>"
3622msgstr ""
3623
3624#: template/l2o/testng.html.j2:20
3625msgid "Netjail setup and execution"
3626msgstr ""
3627
3628#: template/l2o/testng.html.j2:22
3629msgid ""
3630"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3631"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3632"isolated from each other to test how GNUnet nodes with limited connectivity "
3633"behave, and how the new transport next generation implementation can help to "
3634"circumvent the connectivity obstacles. The network namespaces are span a "
3635"network with globally known nodes and several subnets separated from each "
3636"other via a single router. We have three scripts for the test setup: <ul> "
3637"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3638"takes three arguments. The first is either the name of a configuration for "
3639"the test setup topology or a string containing the topology information. The "
3640"second is the process id of the test. The third is a flag if the first "
3641"parameter contains the name of the configuration file or the topology string."
3642"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3643"namespace. This script takes eight arguments. The first is the index of a "
3644"node in a namespace for which we like to execute a command. The second is "
3645"the index of the namespace of the node. The third is the command to execute, "
3646"the fourth is the number of subnets, the fifth the number of nodes in each "
3647"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3648"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3649"is a flag is the topology information is given via a topology file of a "
3650"string containing the topology information..</li> <li>netjail_stop.sh: A "
3651"script which remove all the network namespace setup by netjail_start.sh. The "
3652"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3653"generic test binary (test_transport_start_with_config) which will start the "
3654"above mentioned scripts. Because creating network namespaces is only "
3655"permitted for privileged users the generic test binary is not start "
3656"directly, but via scripts. This script starts the generic binary using the "
3657"command unshare. Using unshare one can create a namespace with its own user "
3658"namespace, where creating network namespaces is allowed. Precondition to do "
3659"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3660"parameter."
3661msgstr ""
3662
3663#: template/l2o/testng.html.j2:38
3664msgid "CMD helper and testcase plugins"
3665msgstr ""
3666
3667#: template/l2o/testng.html.j2:42
3668msgid ""
3669"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3670"framework a special command is used: gnunet-cmds-helper This commands itself "
3671"is of a special kind named helper processes which communicates via "
3672"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3673"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3674"plugins are implementations of an api which is used to start different test "
3675"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3676"plugin defines the commands which are running in a local interpreter loop "
3677"started by the helper on that specific network namespace node. The plugins "
3678"are also responsible for the communication via the helper with the master "
3679"interpreter loop."
3680msgstr ""
3681
3682#: template/l2o/testng.html.j2:48
3683msgid "Command Pattern"
3684msgstr ""
3685
3686#: template/l2o/testng.html.j2:52
3687msgid ""
3688"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3689"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3690"extended to handle asychronous commands. Therefore a struct "
3691"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3692"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3693"interpreter_next function of the interpreter loop (blocking asynchronous "
3694"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3695"the asynchronous task finished, but also can be any other function to be "
3696"executed when the asynchronous task is non blocking."
3697msgstr ""
3698
3699#: template/l2o/testng.html.j2:57
3700#, fuzzy
3701#| msgid "Continuous Integration"
3702msgid "Topology Configuration"
3703msgstr "Intégration continue"
3704
3705#: template/l2o/testng.html.j2:61
3706msgid ""
3707"The topology of the netjail setup can be configured via a configuration "
3708"file, or with a configuration string handed over to the generic binary for "
3709"starting netjail based tests.</br></br> Both method can be examined in two "
3710"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3711"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3712"configuration is as follows.</br></br> The configuration string is "
3713"structured by lines and the delimiter ':' used for seperating key/value(s) "
3714"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3715"value and '|' to separate a group of values from the key/value(s) pair "
3716"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3717"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3718"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3719"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3720"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3721"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3722"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3723"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3724"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3725"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3726"align: top;\"> A globally known (not natted) node. The number value "
3727"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3728"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3729"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3730"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3731"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3732"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3733"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3734"align: top;\">A subnet node with two key values, the first one for "
3735"identifying the subnet and the second for identifying the node in the subnet."
3736"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3737"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3738"align: top;\">Can be one of several grouped values of the P, K or R key. "
3739"Configuring a connection to another node. </br></br> The value of the "
3740"connect key is a node key (P or K) with two resp. one number value "
3741"identifying the node, and an additional value configuring a protocol. </br></"
3742"br> If the connect key is used in a line configuring a node it is used to "
3743"configure a connection, which will result in the node identified by the line "
3744"P or K key will try to connect nodes also identified with the P or K key via "
3745"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3746"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3747"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3748"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3749"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3750"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3751"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3752"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3753"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3754"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3755"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3756"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3757"of the P or K key. The value is the name of a plugin which will run on that "
3758"peer instead of the default plugin defined by key K.</td> </tr> </table>"
3759msgstr ""
3760
3181#: template/news/index.html.j2:45 3761#: template/news/index.html.j2:45
3182msgid "News archives:" 3762msgid "News archives:"
3183msgstr "Archives des actualités :" 3763msgstr "Archives des actualités :"
@@ -3302,6 +3882,20 @@ msgid ""
3302"authorized it to access using the respective key." 3882"authorized it to access using the respective key."
3303msgstr "" 3883msgstr ""
3304 3884
3885#~ msgid "Cadet-GTK"
3886#~ msgstr "Cadet-GTK"
3887
3888#~ msgid ""
3889#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
3890#~ "is a convenient but feature-rich graphical application providing "
3891#~ "messaging using the CADET subsystem. It is developed using GTK and "
3892#~ "libhandy for a convergent design."
3893#~ msgstr ""
3894#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
3895#~ "est une interface graphique modeste mais riche en caractéristiques qui "
3896#~ "fournit des services de messagerie en utilisant notamment le sous-système "
3897#~ "CADET. Il est développé avec GTK et libhandy pour un design cohérent."
3898
3305#~ msgid "The IRC channel" 3899#~ msgid "The IRC channel"
3306#~ msgstr "La chaîne IRC" 3900#~ msgstr "La chaîne IRC"
3307 3901
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-03-09 18:35+0000\n" 11"PO-Revision-Date: 2021-03-09 18:35+0000\n"
12"Last-Translator: Jigisha Sharma <jigishas38@gmail.com>\n" 12"Last-Translator: Jigisha Sharma <jigishas38@gmail.com>\n"
13"Language-Team: Hindi <http://weblate.taler.net/projects/gnunet/website/hi/>\n" 13"Language-Team: Hindi <http://weblate.taler.net/projects/gnunet/website/hi/>\n"
@@ -431,15 +431,15 @@ msgid ""
431msgstr "" 431msgstr ""
432 432
433#: template/applications.html.j2:160 433#: template/applications.html.j2:160
434msgid "Cadet-GTK" 434msgid "Messenger-GTK"
435msgstr "" 435msgstr ""
436 436
437#: template/applications.html.j2:162 437#: template/applications.html.j2:162
438msgid "" 438msgid ""
439"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 439"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
440"convenient but feature-rich graphical application providing messaging using " 440"convergent GTK messaging application using the GNUnet Messenger service. The "
441"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 441"goal is to provide private and secure communication between any group of "
442"design." 442"devices."
443msgstr "" 443msgstr ""
444 444
445#: template/applications.html.j2:180 445#: template/applications.html.j2:180
@@ -2714,7 +2714,8 @@ msgstr ""
2714msgid "Tutorial: GNUnet on OpenWrt" 2714msgid "Tutorial: GNUnet on OpenWrt"
2715msgstr "" 2715msgstr ""
2716 2716
2717#: template/install-on-openwrt.html.j2:47 2717#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2718#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2718#, fuzzy 2719#, fuzzy
2719#| msgid "Continuous Integration" 2720#| msgid "Continuous Integration"
2720msgid "Configuration" 2721msgid "Configuration"
@@ -2907,6 +2908,589 @@ msgstr ""
2907msgid "Videos related to GNUnet" 2908msgid "Videos related to GNUnet"
2908msgstr "" 2909msgstr ""
2909 2910
2911#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
2912#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
2913#: template/l2o/testng.html.j2:6
2914msgid "NGI Assure project: Layer-2-Overlay"
2915msgstr ""
2916
2917#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
2918#, fuzzy
2919#| msgid "Documentation"
2920msgid "Project motivation"
2921msgstr "प्रलेखन"
2922
2923#: template/l2o/index.html.j2:13
2924msgid "New Test Framework"
2925msgstr ""
2926
2927#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
2928msgid "Milestones"
2929msgstr ""
2930
2931#: template/l2o/index.html.j2:15
2932msgid "Milestone 1"
2933msgstr ""
2934
2935#: template/l2o/index.html.j2:16
2936msgid "Milestone 2"
2937msgstr ""
2938
2939#: template/l2o/index.html.j2:17
2940msgid "Milestone 3"
2941msgstr ""
2942
2943#: template/l2o/index.html.j2:18
2944msgid "Milestone 4"
2945msgstr ""
2946
2947#: template/l2o/index.html.j2:19
2948msgid "Milestone 5"
2949msgstr ""
2950
2951#: template/l2o/index.html.j2:20
2952msgid "Milestone 6"
2953msgstr ""
2954
2955#: template/l2o/index.html.j2:27
2956msgid ""
2957"This project was funded through the NGI Assure Fund, a fund established by "
2958"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
2959msgstr ""
2960
2961#: template/l2o/index.html.j2:39
2962msgid ""
2963"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
2964"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
2965"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
2966"the ATS subsystem for bandwidth allocation and choosing plugins has several "
2967"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
2968"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
2969"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
2970"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
2971"Next Generation (TNG) subsystem. One major change in the design is to "
2972"separate the protocol plugins into processes (now called communicators) "
2973"detached from the main transport service. Three communicators were already "
2974"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
2975"maintain, because it is cluttered with \"manipulation\" support code for "
2976"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
2977"especially with TESTBED which has its own design flaws, and test code which "
2978"is very hard to read to get an idea what the test code is doing. Therefore "
2979"the first task (milestone 1) is to implement a new testing framework which "
2980"uses network namespaces to make testing of TNG much easier. Have a look into "
2981"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
2982"\">milestones</a>."
2983msgstr ""
2984
2985#: template/l2o/index.html.j2:50
2986msgid "New Test Framwork"
2987msgstr ""
2988
2989#: template/l2o/index.html.j2:54
2990msgid "Command Style Pattern"
2991msgstr ""
2992
2993#: template/l2o/index.html.j2:58
2994msgid ""
2995"The new style of writing tests in GNUnet is borrowed from the <a href="
2996"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
2997"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
2998"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
2999"test environment for each peer, to start a single peers and sending a simple "
3000"test message. Because some commands depend on other commands to be finished, "
3001"and those commands are asynchronous, we needed additional functionality in "
3002"the command interpreter library to block execution until some commands are "
3003"finished (e.g. all peers needs to be running, before peers starting to send "
3004"messages). For a detailed description have a look into the <a href=\"testng."
3005"html\">testing ng documentation</a>."
3006msgstr ""
3007
3008#: template/l2o/index.html.j2:64
3009msgid "Netjails"
3010msgstr ""
3011
3012#: template/l2o/index.html.j2:68
3013msgid ""
3014"To do extensive testing of the new transport implementation one needs to "
3015"simulate various network topologies to enable faking network characteristics "
3016"like lossy connections or firewalls. To achieve this we are working with <a "
3017"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3018"namespace</a>. We have commands for starting and stopping network "
3019"namespaces. Those commands are scripts, which are using several shell "
3020"commands to setup the network namespace. A third script then is responsible "
3021"for start a GNUnet helper. This helper can load plugins. Each plugin "
3022"represents some test case. Per node in the network namespaces one helper is "
3023"started, which means on each node is a local interpreter loop running. For a "
3024"detailed description have a look into the <a href=\"testng.html\">testing ng "
3025"documentation</a>."
3026msgstr ""
3027
3028#: template/l2o/index.html.j2:78
3029msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3030msgstr ""
3031
3032#: template/l2o/index.html.j2:81
3033msgid ""
3034"The first subtask consists of implementing a framework for setting up VLANs "
3035"between network namespaces and a framework to test communication between "
3036"peers which are running in those VLANs. Finally a minimal Test Case will be "
3037"implemented. Despite the fact that the transport service is already able to "
3038"use several communicators (transport protocol implementations), it will only "
3039"use the tcp communicator, not the unix socket nor the udp communicator, "
3040"which already are in place and working. <ul> <li>SUID helpers to setup "
3041"network namespace and starting peers with network namespace.</li> <li>Basic "
3042"transport-level operations (get address, send, receive, connect).</li> "
3043"<li>Peers connected through test and transfer data.</li> </ul>"
3044msgstr ""
3045
3046#: template/l2o/index.html.j2:93
3047msgid ""
3048"First MVP which uses the TCP communicator to send messages between peers. "
3049"The deliverable can be verified through out the specific test cases running "
3050"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3051msgstr ""
3052
3053#: template/l2o/index.html.j2:101
3054msgid "Milestone 2 Enhancing Test Framework"
3055msgstr ""
3056
3057#: template/l2o/index.html.j2:104
3058msgid ""
3059"To test more complex functionality we need to enhance the capabilities of "
3060"the testing framework. Hooks for performance measurement will be "
3061"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3062"execution of commands at a peer. (Barriers).</li> </ul>"
3063msgstr ""
3064
3065#: template/l2o/index.html.j2:114
3066msgid ""
3067"Outcome of this deliverable are advanced test case (again verifiable in the "
3068"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3069msgstr ""
3070
3071#: template/l2o/index.html.j2:122
3072msgid "Milestone 3 UDP integration"
3073msgstr ""
3074
3075#: template/l2o/index.html.j2:125
3076msgid ""
3077"With this subtask I will implement enhanced L2O features like using "
3078"unidirectional transport protocols with backchannels. Addresses by which a "
3079"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3080"this milestone the transport service will be able to use more than one "
3081"communicator (pluggable transport). <ul> <li>unidirectional communication "
3082"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3083msgstr ""
3084
3085#: template/l2o/index.html.j2:135
3086msgid ""
3087"The CI contains test case which uses the UDP protocol to message between "
3088"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3089msgstr ""
3090
3091#: template/l2o/index.html.j2:143
3092msgid "Milestone 4 Distance Vector"
3093msgstr ""
3094
3095#: template/l2o/index.html.j2:146
3096msgid ""
3097"In this subtask I will enhance connectivity to peers not directly connected. "
3098"Therefore peers have to act as relay. To achieve this I will implement the "
3099"distance vector protocol."
3100msgstr ""
3101
3102#: template/l2o/index.html.j2:152
3103msgid ""
3104"The CI contains test cases with a setup of peers not connected directly. The "
3105"test cases proof that each peer can reach any other peer."
3106msgstr ""
3107
3108#: template/l2o/index.html.j2:158
3109msgid "Milestone 5 NAT Traversal"
3110msgstr ""
3111
3112#: template/l2o/index.html.j2:161
3113msgid ""
3114"This subtask will make peers behind NAT reachable. Two simple traversal "
3115"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3116"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3117msgstr ""
3118
3119#: template/l2o/index.html.j2:171
3120msgid ""
3121"The CI contains test case with a peer setup containing peer behind a NAT. "
3122"The test cases proof that each peer can be reached, even if that peer is "
3123"behind a NAT. The test case are measuring the performance. This measurement "
3124"is used to compare with the outcome of the next milestone. This result of "
3125"this milestone will be a first stable release."
3126msgstr ""
3127
3128#: template/l2o/index.html.j2:178
3129msgid "Milestone 6 Optimization"
3130msgstr ""
3131
3132#: template/l2o/index.html.j2:181
3133msgid ""
3134"In this subtask I will implement algorithms (flow and congestion control, "
3135"quality of service optimizations) which will select the optimal transport "
3136"protocol for a given situation. I will analyze potential performance gains "
3137"by integrating libraries of the interpeer project. If the effort of "
3138"integrating interpeer presumably would lead to better performance than other "
3139"optimizations of the same amount of work, this integration is done. I will "
3140"finish the project with a performance analysis to optimize the selection "
3141"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3142"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3143"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3144"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3145"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3146msgstr ""
3147
3148#: template/l2o/index.html.j2:201
3149msgid ""
3150"The test cases in the CI are measuring the performance gains. This "
3151"measurement can be compared with the measurement of milestone 5. Again one "
3152"outcome of this milestone will be a stable release. Documentation of the "
3153"interpeer project analysis."
3154msgstr ""
3155
3156#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3157#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3158msgid "Project main page"
3159msgstr ""
3160
3161#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3162#: template/l2o/mile3.html.j2:29
3163msgid "Master Loop"
3164msgstr ""
3165
3166#: template/l2o/mile1.html.j2:22
3167msgid ""
3168"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3169"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3170"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3171"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3172"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3173"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3174"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3175"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3176"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3177"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3178"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3179"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3180"to execute a local test interpreter per node. Will be execute by the "
3181"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3182"\" style=\"vertical-align: top;\">src/testing/"
3183"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3184"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3185"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3186"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3187"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3188"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3189"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3190"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3191"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3192"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3193"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3194"td><td> </td> </tr> </table>"
3195msgstr ""
3196
3197#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3198#: template/l2o/mile3.html.j2:66
3199msgid "Local Loop"
3200msgstr ""
3201
3202#: template/l2o/mile1.html.j2:67
3203msgid ""
3204"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3205"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3206"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3207"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3208"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3209"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3210"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3211"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3212"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3213"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3214"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3215"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3216"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3217"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3218"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3219"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3220"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3221"align: top;\">Command to send a simple message from one peer to another.</"
3222"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3223"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3224"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3225"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3226"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3227"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3228"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3229"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3230"a message to the master loop, if the local loop has finished.</td> <tr> </"
3231"table>"
3232msgstr ""
3233
3234#: template/l2o/mile1.html.j2:115
3235msgid ""
3236"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3237"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3238"style=\"vertical-align: top;\">Configuration for the first node running "
3239"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3240"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3241"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3242"align: top;\">Configuration for the second node running during the simple "
3243"send test case.</td> </tr> </table>"
3244msgstr ""
3245
3246#: template/l2o/mile2.html.j2:22
3247msgid ""
3248"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3249"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3250"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3251"checks, if a kernel parameter is set to allow unprivileged users to create "
3252"network namespaces. The script than starts the following gerneric binary in "
3253"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3254"\" style=\"vertical-align: top;\">src/transport/"
3255"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3256"align: top;\">A generic binary to start a test case which will be configured "
3257"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3258"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3259"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3260"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3261"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3262"\">Script which reads the topology from a file for the use in the other "
3263"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3264"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3265"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3266"topology data.</td> </tr> </table>"
3267msgstr ""
3268
3269#: template/l2o/mile2.html.j2:50
3270msgid ""
3271"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3272"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3273"\"vertical-align: top;\">Command to send a message to the master loop if a "
3274"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3275"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3276"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3277"align: top;\">Command to send a message to the master loop if a peer is "
3278"ready to shutdown.</td> </tr> </table>"
3279msgstr ""
3280
3281#: template/l2o/mile2.html.j2:65
3282msgid ""
3283"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3284"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3285"\"vertical-align: top;\">Command now uses a configuration template for the "
3286"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3287"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3288"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3289"file for the simple send test case.</td> <tr> </table>"
3290msgstr ""
3291
3292#: template/l2o/mile3.html.j2:20
3293msgid "Bug fixing"
3294msgstr ""
3295
3296#: template/l2o/mile3.html.j2:22
3297msgid ""
3298"Some bugs in the tng service and communicator code which were found with new "
3299"tests were fixed."
3300msgstr ""
3301
3302#: template/l2o/mile3.html.j2:31
3303msgid ""
3304"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3305"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3306"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3307"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3308"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3309"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3310"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3311"\" style=\"vertical-align: top;\">src/transport/"
3312"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3313"align: top;\">Added script as an example to start a test with inline "
3314"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3315"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3316"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3317"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3318"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3319"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3320"start script to configure port forwarding for specific protocols (tcp, udp)."
3321"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3322"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3323"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3324"</table>"
3325msgstr ""
3326
3327#: template/l2o/mile3.html.j2:68
3328msgid ""
3329"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3330"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3331"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3332"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3333"\" style=\"vertical-align: top;\">src/transport/"
3334"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3335"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3336"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3337"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3338"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3339"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3340"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3341"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3342"\"vertical-align: top;\">Command to block the local loop until triggered by "
3343"a external signal.</td> </tr> </table>"
3344msgstr ""
3345
3346#: template/l2o/mile3.html.j2:94
3347msgid ""
3348"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3349"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3350"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3351"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3352"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3353"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3354"file for the udp backchannel test case.</td> <tr> </table>"
3355msgstr ""
3356
3357#: template/l2o/testng.html.j2:20
3358msgid "Netjail setup and execution"
3359msgstr ""
3360
3361#: template/l2o/testng.html.j2:22
3362msgid ""
3363"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3364"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3365"isolated from each other to test how GNUnet nodes with limited connectivity "
3366"behave, and how the new transport next generation implementation can help to "
3367"circumvent the connectivity obstacles. The network namespaces are span a "
3368"network with globally known nodes and several subnets separated from each "
3369"other via a single router. We have three scripts for the test setup: <ul> "
3370"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3371"takes three arguments. The first is either the name of a configuration for "
3372"the test setup topology or a string containing the topology information. The "
3373"second is the process id of the test. The third is a flag if the first "
3374"parameter contains the name of the configuration file or the topology string."
3375"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3376"namespace. This script takes eight arguments. The first is the index of a "
3377"node in a namespace for which we like to execute a command. The second is "
3378"the index of the namespace of the node. The third is the command to execute, "
3379"the fourth is the number of subnets, the fifth the number of nodes in each "
3380"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3381"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3382"is a flag is the topology information is given via a topology file of a "
3383"string containing the topology information..</li> <li>netjail_stop.sh: A "
3384"script which remove all the network namespace setup by netjail_start.sh. The "
3385"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3386"generic test binary (test_transport_start_with_config) which will start the "
3387"above mentioned scripts. Because creating network namespaces is only "
3388"permitted for privileged users the generic test binary is not start "
3389"directly, but via scripts. This script starts the generic binary using the "
3390"command unshare. Using unshare one can create a namespace with its own user "
3391"namespace, where creating network namespaces is allowed. Precondition to do "
3392"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3393"parameter."
3394msgstr ""
3395
3396#: template/l2o/testng.html.j2:38
3397msgid "CMD helper and testcase plugins"
3398msgstr ""
3399
3400#: template/l2o/testng.html.j2:42
3401msgid ""
3402"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3403"framework a special command is used: gnunet-cmds-helper This commands itself "
3404"is of a special kind named helper processes which communicates via "
3405"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3406"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3407"plugins are implementations of an api which is used to start different test "
3408"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3409"plugin defines the commands which are running in a local interpreter loop "
3410"started by the helper on that specific network namespace node. The plugins "
3411"are also responsible for the communication via the helper with the master "
3412"interpreter loop."
3413msgstr ""
3414
3415#: template/l2o/testng.html.j2:48
3416msgid "Command Pattern"
3417msgstr ""
3418
3419#: template/l2o/testng.html.j2:52
3420msgid ""
3421"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3422"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3423"extended to handle asychronous commands. Therefore a struct "
3424"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3425"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3426"interpreter_next function of the interpreter loop (blocking asynchronous "
3427"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3428"the asynchronous task finished, but also can be any other function to be "
3429"executed when the asynchronous task is non blocking."
3430msgstr ""
3431
3432#: template/l2o/testng.html.j2:57
3433#, fuzzy
3434#| msgid "Continuous Integration"
3435msgid "Topology Configuration"
3436msgstr "लगातार एकीकरण"
3437
3438#: template/l2o/testng.html.j2:61
3439msgid ""
3440"The topology of the netjail setup can be configured via a configuration "
3441"file, or with a configuration string handed over to the generic binary for "
3442"starting netjail based tests.</br></br> Both method can be examined in two "
3443"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3444"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3445"configuration is as follows.</br></br> The configuration string is "
3446"structured by lines and the delimiter ':' used for seperating key/value(s) "
3447"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3448"value and '|' to separate a group of values from the key/value(s) pair "
3449"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3450"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3451"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3452"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3453"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3454"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3455"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3456"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3457"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3458"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3459"align: top;\"> A globally known (not natted) node. The number value "
3460"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3461"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3462"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3463"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3464"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3465"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3466"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3467"align: top;\">A subnet node with two key values, the first one for "
3468"identifying the subnet and the second for identifying the node in the subnet."
3469"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3470"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3471"align: top;\">Can be one of several grouped values of the P, K or R key. "
3472"Configuring a connection to another node. </br></br> The value of the "
3473"connect key is a node key (P or K) with two resp. one number value "
3474"identifying the node, and an additional value configuring a protocol. </br></"
3475"br> If the connect key is used in a line configuring a node it is used to "
3476"configure a connection, which will result in the node identified by the line "
3477"P or K key will try to connect nodes also identified with the P or K key via "
3478"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3479"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3480"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3481"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3482"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3483"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3484"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3485"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3486"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3487"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3488"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3489"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3490"of the P or K key. The value is the name of a plugin which will run on that "
3491"peer instead of the default plugin defined by key K.</td> </tr> </table>"
3492msgstr ""
3493
2910#: template/news/index.html.j2:45 3494#: template/news/index.html.j2:45
2911msgid "News archives:" 3495msgid "News archives:"
2912msgstr "समाचार पुरालेख:" 3496msgstr "समाचार पुरालेख:"
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-06-19 12:58+0000\n" 11"PO-Revision-Date: 2021-06-19 12:58+0000\n"
12"Last-Translator: Francesca Cipriani <cesca.cipriani@gmail.com>\n" 12"Last-Translator: Francesca Cipriani <cesca.cipriani@gmail.com>\n"
13"Language-Team: Italian <http://weblate.taler.net/projects/gnunet/website/it/" 13"Language-Team: Italian <http://weblate.taler.net/projects/gnunet/website/it/"
@@ -543,20 +543,16 @@ msgstr ""
543"crittografati per verificare le chiavi." 543"crittografati per verificare le chiavi."
544 544
545#: template/applications.html.j2:160 545#: template/applications.html.j2:160
546msgid "Cadet-GTK" 546msgid "Messenger-GTK"
547msgstr "Cadet-GTK" 547msgstr ""
548 548
549#: template/applications.html.j2:162 549#: template/applications.html.j2:162
550msgid "" 550msgid ""
551"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 551"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
552"convenient but feature-rich graphical application providing messaging using " 552"convergent GTK messaging application using the GNUnet Messenger service. The "
553"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 553"goal is to provide private and secure communication between any group of "
554"design." 554"devices."
555msgstr "" 555msgstr ""
556"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> è "
557"un'applicazione grafica conveniente ma allo stesso tempo ricca di "
558"funzionalità che fornisce messaggistica utilizzando il sottosistema CADET. È "
559"sviluppata con GTK e libhandy per un design convergente."
560 556
561#: template/applications.html.j2:180 557#: template/applications.html.j2:180
562msgid "groupchat" 558msgid "groupchat"
@@ -3550,7 +3546,8 @@ msgstr ""
3550msgid "Tutorial: GNUnet on OpenWrt" 3546msgid "Tutorial: GNUnet on OpenWrt"
3551msgstr "" 3547msgstr ""
3552 3548
3553#: template/install-on-openwrt.html.j2:47 3549#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
3550#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
3554#, fuzzy 3551#, fuzzy
3555#| msgid "Continuous Integration" 3552#| msgid "Continuous Integration"
3556msgid "Configuration" 3553msgid "Configuration"
@@ -3749,6 +3746,589 @@ msgstr ""
3749msgid "Videos related to GNUnet" 3746msgid "Videos related to GNUnet"
3750msgstr "" 3747msgstr ""
3751 3748
3749#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
3750#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
3751#: template/l2o/testng.html.j2:6
3752msgid "NGI Assure project: Layer-2-Overlay"
3753msgstr ""
3754
3755#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
3756#, fuzzy
3757#| msgid "Motivation"
3758msgid "Project motivation"
3759msgstr "Motivazione"
3760
3761#: template/l2o/index.html.j2:13
3762msgid "New Test Framework"
3763msgstr ""
3764
3765#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
3766msgid "Milestones"
3767msgstr ""
3768
3769#: template/l2o/index.html.j2:15
3770msgid "Milestone 1"
3771msgstr ""
3772
3773#: template/l2o/index.html.j2:16
3774msgid "Milestone 2"
3775msgstr ""
3776
3777#: template/l2o/index.html.j2:17
3778msgid "Milestone 3"
3779msgstr ""
3780
3781#: template/l2o/index.html.j2:18
3782msgid "Milestone 4"
3783msgstr ""
3784
3785#: template/l2o/index.html.j2:19
3786msgid "Milestone 5"
3787msgstr ""
3788
3789#: template/l2o/index.html.j2:20
3790msgid "Milestone 6"
3791msgstr ""
3792
3793#: template/l2o/index.html.j2:27
3794msgid ""
3795"This project was funded through the NGI Assure Fund, a fund established by "
3796"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
3797msgstr ""
3798
3799#: template/l2o/index.html.j2:39
3800msgid ""
3801"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
3802"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
3803"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
3804"the ATS subsystem for bandwidth allocation and choosing plugins has several "
3805"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
3806"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
3807"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
3808"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
3809"Next Generation (TNG) subsystem. One major change in the design is to "
3810"separate the protocol plugins into processes (now called communicators) "
3811"detached from the main transport service. Three communicators were already "
3812"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
3813"maintain, because it is cluttered with \"manipulation\" support code for "
3814"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
3815"especially with TESTBED which has its own design flaws, and test code which "
3816"is very hard to read to get an idea what the test code is doing. Therefore "
3817"the first task (milestone 1) is to implement a new testing framework which "
3818"uses network namespaces to make testing of TNG much easier. Have a look into "
3819"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
3820"\">milestones</a>."
3821msgstr ""
3822
3823#: template/l2o/index.html.j2:50
3824msgid "New Test Framwork"
3825msgstr ""
3826
3827#: template/l2o/index.html.j2:54
3828msgid "Command Style Pattern"
3829msgstr ""
3830
3831#: template/l2o/index.html.j2:58
3832msgid ""
3833"The new style of writing tests in GNUnet is borrowed from the <a href="
3834"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3835"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3836"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3837"test environment for each peer, to start a single peers and sending a simple "
3838"test message. Because some commands depend on other commands to be finished, "
3839"and those commands are asynchronous, we needed additional functionality in "
3840"the command interpreter library to block execution until some commands are "
3841"finished (e.g. all peers needs to be running, before peers starting to send "
3842"messages). For a detailed description have a look into the <a href=\"testng."
3843"html\">testing ng documentation</a>."
3844msgstr ""
3845
3846#: template/l2o/index.html.j2:64
3847msgid "Netjails"
3848msgstr ""
3849
3850#: template/l2o/index.html.j2:68
3851msgid ""
3852"To do extensive testing of the new transport implementation one needs to "
3853"simulate various network topologies to enable faking network characteristics "
3854"like lossy connections or firewalls. To achieve this we are working with <a "
3855"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3856"namespace</a>. We have commands for starting and stopping network "
3857"namespaces. Those commands are scripts, which are using several shell "
3858"commands to setup the network namespace. A third script then is responsible "
3859"for start a GNUnet helper. This helper can load plugins. Each plugin "
3860"represents some test case. Per node in the network namespaces one helper is "
3861"started, which means on each node is a local interpreter loop running. For a "
3862"detailed description have a look into the <a href=\"testng.html\">testing ng "
3863"documentation</a>."
3864msgstr ""
3865
3866#: template/l2o/index.html.j2:78
3867msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3868msgstr ""
3869
3870#: template/l2o/index.html.j2:81
3871msgid ""
3872"The first subtask consists of implementing a framework for setting up VLANs "
3873"between network namespaces and a framework to test communication between "
3874"peers which are running in those VLANs. Finally a minimal Test Case will be "
3875"implemented. Despite the fact that the transport service is already able to "
3876"use several communicators (transport protocol implementations), it will only "
3877"use the tcp communicator, not the unix socket nor the udp communicator, "
3878"which already are in place and working. <ul> <li>SUID helpers to setup "
3879"network namespace and starting peers with network namespace.</li> <li>Basic "
3880"transport-level operations (get address, send, receive, connect).</li> "
3881"<li>Peers connected through test and transfer data.</li> </ul>"
3882msgstr ""
3883
3884#: template/l2o/index.html.j2:93
3885msgid ""
3886"First MVP which uses the TCP communicator to send messages between peers. "
3887"The deliverable can be verified through out the specific test cases running "
3888"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3889msgstr ""
3890
3891#: template/l2o/index.html.j2:101
3892msgid "Milestone 2 Enhancing Test Framework"
3893msgstr ""
3894
3895#: template/l2o/index.html.j2:104
3896msgid ""
3897"To test more complex functionality we need to enhance the capabilities of "
3898"the testing framework. Hooks for performance measurement will be "
3899"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3900"execution of commands at a peer. (Barriers).</li> </ul>"
3901msgstr ""
3902
3903#: template/l2o/index.html.j2:114
3904msgid ""
3905"Outcome of this deliverable are advanced test case (again verifiable in the "
3906"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3907msgstr ""
3908
3909#: template/l2o/index.html.j2:122
3910msgid "Milestone 3 UDP integration"
3911msgstr ""
3912
3913#: template/l2o/index.html.j2:125
3914msgid ""
3915"With this subtask I will implement enhanced L2O features like using "
3916"unidirectional transport protocols with backchannels. Addresses by which a "
3917"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3918"this milestone the transport service will be able to use more than one "
3919"communicator (pluggable transport). <ul> <li>unidirectional communication "
3920"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3921msgstr ""
3922
3923#: template/l2o/index.html.j2:135
3924msgid ""
3925"The CI contains test case which uses the UDP protocol to message between "
3926"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3927msgstr ""
3928
3929#: template/l2o/index.html.j2:143
3930msgid "Milestone 4 Distance Vector"
3931msgstr ""
3932
3933#: template/l2o/index.html.j2:146
3934msgid ""
3935"In this subtask I will enhance connectivity to peers not directly connected. "
3936"Therefore peers have to act as relay. To achieve this I will implement the "
3937"distance vector protocol."
3938msgstr ""
3939
3940#: template/l2o/index.html.j2:152
3941msgid ""
3942"The CI contains test cases with a setup of peers not connected directly. The "
3943"test cases proof that each peer can reach any other peer."
3944msgstr ""
3945
3946#: template/l2o/index.html.j2:158
3947msgid "Milestone 5 NAT Traversal"
3948msgstr ""
3949
3950#: template/l2o/index.html.j2:161
3951msgid ""
3952"This subtask will make peers behind NAT reachable. Two simple traversal "
3953"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3954"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3955msgstr ""
3956
3957#: template/l2o/index.html.j2:171
3958msgid ""
3959"The CI contains test case with a peer setup containing peer behind a NAT. "
3960"The test cases proof that each peer can be reached, even if that peer is "
3961"behind a NAT. The test case are measuring the performance. This measurement "
3962"is used to compare with the outcome of the next milestone. This result of "
3963"this milestone will be a first stable release."
3964msgstr ""
3965
3966#: template/l2o/index.html.j2:178
3967msgid "Milestone 6 Optimization"
3968msgstr ""
3969
3970#: template/l2o/index.html.j2:181
3971msgid ""
3972"In this subtask I will implement algorithms (flow and congestion control, "
3973"quality of service optimizations) which will select the optimal transport "
3974"protocol for a given situation. I will analyze potential performance gains "
3975"by integrating libraries of the interpeer project. If the effort of "
3976"integrating interpeer presumably would lead to better performance than other "
3977"optimizations of the same amount of work, this integration is done. I will "
3978"finish the project with a performance analysis to optimize the selection "
3979"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3980"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3981"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3982"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3983"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3984msgstr ""
3985
3986#: template/l2o/index.html.j2:201
3987msgid ""
3988"The test cases in the CI are measuring the performance gains. This "
3989"measurement can be compared with the measurement of milestone 5. Again one "
3990"outcome of this milestone will be a stable release. Documentation of the "
3991"interpeer project analysis."
3992msgstr ""
3993
3994#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3995#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3996msgid "Project main page"
3997msgstr ""
3998
3999#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
4000#: template/l2o/mile3.html.j2:29
4001msgid "Master Loop"
4002msgstr ""
4003
4004#: template/l2o/mile1.html.j2:22
4005msgid ""
4006"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4007"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
4008"style=\"vertical-align: top;\">Binary for starting the simple send test. "
4009"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4010"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4011"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
4012"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
4013"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4014"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
4015"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
4016"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4017"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
4018"to execute a local test interpreter per node. Will be execute by the "
4019"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4020"\" style=\"vertical-align: top;\">src/testing/"
4021"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
4022"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
4023"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4024"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
4025"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
4026"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4027"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
4028"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
4029"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4030"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
4031"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
4032"td><td> </td> </tr> </table>"
4033msgstr ""
4034
4035#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
4036#: template/l2o/mile3.html.j2:66
4037msgid "Local Loop"
4038msgstr ""
4039
4040#: template/l2o/mile1.html.j2:67
4041msgid ""
4042"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4043"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
4044"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
4045"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4046"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
4047"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
4048"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4049"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
4050"\" style=\"vertical-align: top;\">Command to create a local test system.</"
4051"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4052"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
4053"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
4054"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4055"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
4056"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
4057"<td></td><td> </td> </tr> <tr> <td>src/transport/"
4058"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
4059"align: top;\">Command to send a simple message from one peer to another.</"
4060"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4061"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
4062"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
4063"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4064"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
4065"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
4066"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4067"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
4068"a message to the master loop, if the local loop has finished.</td> <tr> </"
4069"table>"
4070msgstr ""
4071
4072#: template/l2o/mile1.html.j2:115
4073msgid ""
4074"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4075"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
4076"style=\"vertical-align: top;\">Configuration for the first node running "
4077"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
4078"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
4079"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
4080"align: top;\">Configuration for the second node running during the simple "
4081"send test case.</td> </tr> </table>"
4082msgstr ""
4083
4084#: template/l2o/mile2.html.j2:22
4085msgid ""
4086"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4087"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
4088"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
4089"checks, if a kernel parameter is set to allow unprivileged users to create "
4090"network namespaces. The script than starts the following gerneric binary in "
4091"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4092"\" style=\"vertical-align: top;\">src/transport/"
4093"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
4094"align: top;\">A generic binary to start a test case which will be configured "
4095"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
4096"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
4097"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
4098"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4099"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
4100"\">Script which reads the topology from a file for the use in the other "
4101"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
4102"style=\"vertical-align: top;\">All already existing commands.</td><td width="
4103"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
4104"topology data.</td> </tr> </table>"
4105msgstr ""
4106
4107#: template/l2o/mile2.html.j2:50
4108msgid ""
4109"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4110"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
4111"\"vertical-align: top;\">Command to send a message to the master loop if a "
4112"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4113"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
4114"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
4115"align: top;\">Command to send a message to the master loop if a peer is "
4116"ready to shutdown.</td> </tr> </table>"
4117msgstr ""
4118
4119#: template/l2o/mile2.html.j2:65
4120msgid ""
4121"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
4122"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
4123"\"vertical-align: top;\">Command now uses a configuration template for the "
4124"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
4125"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
4126"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
4127"file for the simple send test case.</td> <tr> </table>"
4128msgstr ""
4129
4130#: template/l2o/mile3.html.j2:20
4131msgid "Bug fixing"
4132msgstr ""
4133
4134#: template/l2o/mile3.html.j2:22
4135msgid ""
4136"Some bugs in the tng service and communicator code which were found with new "
4137"tests were fixed."
4138msgstr ""
4139
4140#: template/l2o/mile3.html.j2:31
4141msgid ""
4142"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4143"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
4144"style=\"vertical-align: top;\">Added script to start the udp backchannel "
4145"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4146"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
4147"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
4148"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4149"\" style=\"vertical-align: top;\">src/transport/"
4150"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
4151"align: top;\">Added script as an example to start a test with inline "
4152"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4153"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
4154"\" style=\"vertical-align: top;\">Changed code to handle strings with "
4155"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4156"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4157"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
4158"start script to configure port forwarding for specific protocols (tcp, udp)."
4159"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4160"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
4161"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
4162"</table>"
4163msgstr ""
4164
4165#: template/l2o/mile3.html.j2:68
4166msgid ""
4167"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4168"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
4169"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
4170"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4171"\" style=\"vertical-align: top;\">src/transport/"
4172"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
4173"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
4174"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
4175"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
4176"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
4177"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
4178"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
4179"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
4180"\"vertical-align: top;\">Command to block the local loop until triggered by "
4181"a external signal.</td> </tr> </table>"
4182msgstr ""
4183
4184#: template/l2o/mile3.html.j2:94
4185msgid ""
4186"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4187"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
4188"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
4189"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
4190"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
4191"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
4192"file for the udp backchannel test case.</td> <tr> </table>"
4193msgstr ""
4194
4195#: template/l2o/testng.html.j2:20
4196msgid "Netjail setup and execution"
4197msgstr ""
4198
4199#: template/l2o/testng.html.j2:22
4200msgid ""
4201"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
4202"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
4203"isolated from each other to test how GNUnet nodes with limited connectivity "
4204"behave, and how the new transport next generation implementation can help to "
4205"circumvent the connectivity obstacles. The network namespaces are span a "
4206"network with globally known nodes and several subnets separated from each "
4207"other via a single router. We have three scripts for the test setup: <ul> "
4208"<li>netjail_start.sh: A script to setup the network namespaces. This script "
4209"takes three arguments. The first is either the name of a configuration for "
4210"the test setup topology or a string containing the topology information. The "
4211"second is the process id of the test. The third is a flag if the first "
4212"parameter contains the name of the configuration file or the topology string."
4213"</li> <li>netjail_exec.sh: A script to run some command in a specific "
4214"namespace. This script takes eight arguments. The first is the index of a "
4215"node in a namespace for which we like to execute a command. The second is "
4216"the index of the namespace of the node. The third is the command to execute, "
4217"the fourth is the number of subnets, the fifth the number of nodes in each "
4218"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
4219"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
4220"is a flag is the topology information is given via a topology file of a "
4221"string containing the topology information..</li> <li>netjail_stop.sh: A "
4222"script which remove all the network namespace setup by netjail_start.sh. The "
4223"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
4224"generic test binary (test_transport_start_with_config) which will start the "
4225"above mentioned scripts. Because creating network namespaces is only "
4226"permitted for privileged users the generic test binary is not start "
4227"directly, but via scripts. This script starts the generic binary using the "
4228"command unshare. Using unshare one can create a namespace with its own user "
4229"namespace, where creating network namespaces is allowed. Precondition to do "
4230"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
4231"parameter."
4232msgstr ""
4233
4234#: template/l2o/testng.html.j2:38
4235msgid "CMD helper and testcase plugins"
4236msgstr ""
4237
4238#: template/l2o/testng.html.j2:42
4239msgid ""
4240"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
4241"framework a special command is used: gnunet-cmds-helper This commands itself "
4242"is of a special kind named helper processes which communicates via "
4243"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
4244"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
4245"plugins are implementations of an api which is used to start different test "
4246"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
4247"plugin defines the commands which are running in a local interpreter loop "
4248"started by the helper on that specific network namespace node. The plugins "
4249"are also responsible for the communication via the helper with the master "
4250"interpreter loop."
4251msgstr ""
4252
4253#: template/l2o/testng.html.j2:48
4254msgid "Command Pattern"
4255msgstr ""
4256
4257#: template/l2o/testng.html.j2:52
4258msgid ""
4259"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
4260"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
4261"extended to handle asychronous commands. Therefore a struct "
4262"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
4263"default the continuation function of GNUNET_TESTING_AsyncContext is the "
4264"interpreter_next function of the interpreter loop (blocking asynchronous "
4265"command) which will be executed calling GNUNET_TESTING_async_finish, when "
4266"the asynchronous task finished, but also can be any other function to be "
4267"executed when the asynchronous task is non blocking."
4268msgstr ""
4269
4270#: template/l2o/testng.html.j2:57
4271#, fuzzy
4272#| msgid "Continuous Integration"
4273msgid "Topology Configuration"
4274msgstr "Integrazione continuativa"
4275
4276#: template/l2o/testng.html.j2:61
4277msgid ""
4278"The topology of the netjail setup can be configured via a configuration "
4279"file, or with a configuration string handed over to the generic binary for "
4280"starting netjail based tests.</br></br> Both method can be examined in two "
4281"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
4282"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
4283"configuration is as follows.</br></br> The configuration string is "
4284"structured by lines and the delimiter ':' used for seperating key/value(s) "
4285"pairs and the chars '{' and '}' for grouping several key/value pairs as "
4286"value and '|' to separate a group of values from the key/value(s) pair "
4287"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
4288"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
4289"style=\"vertical-align: top;\">The number of natted subnets in the topology."
4290"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4291"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
4292"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
4293"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
4294"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
4295"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
4296"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
4297"align: top;\"> A globally known (not natted) node. The number value "
4298"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4299"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
4300"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
4301"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
4302"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
4303"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
4304"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
4305"align: top;\">A subnet node with two key values, the first one for "
4306"identifying the subnet and the second for identifying the node in the subnet."
4307"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4308"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
4309"align: top;\">Can be one of several grouped values of the P, K or R key. "
4310"Configuring a connection to another node. </br></br> The value of the "
4311"connect key is a node key (P or K) with two resp. one number value "
4312"identifying the node, and an additional value configuring a protocol. </br></"
4313"br> If the connect key is used in a line configuring a node it is used to "
4314"configure a connection, which will result in the node identified by the line "
4315"P or K key will try to connect nodes also identified with the P or K key via "
4316"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4317"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
4318"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
4319"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
4320"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
4321"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4322"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
4323"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
4324"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
4325"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
4326"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
4327"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
4328"of the P or K key. The value is the name of a plugin which will run on that "
4329"peer instead of the default plugin defined by key K.</td> </tr> </table>"
4330msgstr ""
4331
3752#: template/news/index.html.j2:45 4332#: template/news/index.html.j2:45
3753msgid "News archives:" 4333msgid "News archives:"
3754msgstr "Archivi delle notizie:" 4334msgstr "Archivi delle notizie:"
@@ -3871,6 +4451,20 @@ msgid ""
3871"authorized it to access using the respective key." 4451"authorized it to access using the respective key."
3872msgstr "" 4452msgstr ""
3873 4453
4454#~ msgid "Cadet-GTK"
4455#~ msgstr "Cadet-GTK"
4456
4457#~ msgid ""
4458#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4459#~ "is a convenient but feature-rich graphical application providing "
4460#~ "messaging using the CADET subsystem. It is developed using GTK and "
4461#~ "libhandy for a convergent design."
4462#~ msgstr ""
4463#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> è "
4464#~ "un'applicazione grafica conveniente ma allo stesso tempo ricca di "
4465#~ "funzionalità che fornisce messaggistica utilizzando il sottosistema "
4466#~ "CADET. È sviluppata con GTK e libhandy per un design convergente."
4467
3874#~ msgid "The IRC channel" 4468#~ msgid "The IRC channel"
3875#~ msgstr "Canale IRC" 4469#~ msgstr "Canale IRC"
3876 4470
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-04-15 10:31+0000\n" 11"PO-Revision-Date: 2021-04-15 10:31+0000\n"
12"Last-Translator: Kanoko Kondo <yves0625@gmail.com>\n" 12"Last-Translator: Kanoko Kondo <yves0625@gmail.com>\n"
13"Language-Team: Japanese <http://weblate.taler.net/projects/gnunet/website/ja/" 13"Language-Team: Japanese <http://weblate.taler.net/projects/gnunet/website/ja/"
@@ -529,26 +529,16 @@ msgstr ""
529"し、新たな暗号化プロトコルで鍵を検証します。" 529"し、新たな暗号化プロトコルで鍵を検証します。"
530 530
531#: template/applications.html.j2:160 531#: template/applications.html.j2:160
532msgid "Cadet-GTK" 532msgid "Messenger-GTK"
533msgstr "Cadet-GTK" 533msgstr ""
534 534
535#: template/applications.html.j2:162 535#: template/applications.html.j2:162
536#, fuzzy
537#| msgid ""
538#| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
539#| "is a convenient but feature-rich graphical application providing "
540#| "messaging using especially the CADET subsystem. It is developed using GTK "
541#| "and libhandy for a convergent design."
542msgid "" 536msgid ""
543"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 537"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
544"convenient but feature-rich graphical application providing messaging using " 538"convergent GTK messaging application using the GNUnet Messenger service. The "
545"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 539"goal is to provide private and secure communication between any group of "
546"design." 540"devices."
547msgstr "" 541msgstr ""
548"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> は、"
549"高い利便性と豊富な機能を備えたグラフィカル アプリケーションで、特に CADET サ"
550"ブシステムを使用してメッセージ機能を提供します。GTK と libhandy を利用して開"
551"発されいます。"
552 542
553#: template/applications.html.j2:180 543#: template/applications.html.j2:180
554msgid "groupchat" 544msgid "groupchat"
@@ -3227,7 +3217,8 @@ msgstr ""
3227msgid "Tutorial: GNUnet on OpenWrt" 3217msgid "Tutorial: GNUnet on OpenWrt"
3228msgstr "" 3218msgstr ""
3229 3219
3230#: template/install-on-openwrt.html.j2:47 3220#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
3221#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
3231#, fuzzy 3222#, fuzzy
3232#| msgid "Continuous Integration" 3223#| msgid "Continuous Integration"
3233msgid "Configuration" 3224msgid "Configuration"
@@ -3426,6 +3417,589 @@ msgstr ""
3426msgid "Videos related to GNUnet" 3417msgid "Videos related to GNUnet"
3427msgstr "" 3418msgstr ""
3428 3419
3420#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
3421#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
3422#: template/l2o/testng.html.j2:6
3423msgid "NGI Assure project: Layer-2-Overlay"
3424msgstr ""
3425
3426#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
3427#, fuzzy
3428#| msgid "Documentation"
3429msgid "Project motivation"
3430msgstr "資料"
3431
3432#: template/l2o/index.html.j2:13
3433msgid "New Test Framework"
3434msgstr ""
3435
3436#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
3437msgid "Milestones"
3438msgstr ""
3439
3440#: template/l2o/index.html.j2:15
3441msgid "Milestone 1"
3442msgstr ""
3443
3444#: template/l2o/index.html.j2:16
3445msgid "Milestone 2"
3446msgstr ""
3447
3448#: template/l2o/index.html.j2:17
3449msgid "Milestone 3"
3450msgstr ""
3451
3452#: template/l2o/index.html.j2:18
3453msgid "Milestone 4"
3454msgstr ""
3455
3456#: template/l2o/index.html.j2:19
3457msgid "Milestone 5"
3458msgstr ""
3459
3460#: template/l2o/index.html.j2:20
3461msgid "Milestone 6"
3462msgstr ""
3463
3464#: template/l2o/index.html.j2:27
3465msgid ""
3466"This project was funded through the NGI Assure Fund, a fund established by "
3467"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
3468msgstr ""
3469
3470#: template/l2o/index.html.j2:39
3471msgid ""
3472"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
3473"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
3474"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
3475"the ATS subsystem for bandwidth allocation and choosing plugins has several "
3476"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
3477"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
3478"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
3479"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
3480"Next Generation (TNG) subsystem. One major change in the design is to "
3481"separate the protocol plugins into processes (now called communicators) "
3482"detached from the main transport service. Three communicators were already "
3483"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
3484"maintain, because it is cluttered with \"manipulation\" support code for "
3485"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
3486"especially with TESTBED which has its own design flaws, and test code which "
3487"is very hard to read to get an idea what the test code is doing. Therefore "
3488"the first task (milestone 1) is to implement a new testing framework which "
3489"uses network namespaces to make testing of TNG much easier. Have a look into "
3490"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
3491"\">milestones</a>."
3492msgstr ""
3493
3494#: template/l2o/index.html.j2:50
3495msgid "New Test Framwork"
3496msgstr ""
3497
3498#: template/l2o/index.html.j2:54
3499msgid "Command Style Pattern"
3500msgstr ""
3501
3502#: template/l2o/index.html.j2:58
3503msgid ""
3504"The new style of writing tests in GNUnet is borrowed from the <a href="
3505"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3506"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3507"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3508"test environment for each peer, to start a single peers and sending a simple "
3509"test message. Because some commands depend on other commands to be finished, "
3510"and those commands are asynchronous, we needed additional functionality in "
3511"the command interpreter library to block execution until some commands are "
3512"finished (e.g. all peers needs to be running, before peers starting to send "
3513"messages). For a detailed description have a look into the <a href=\"testng."
3514"html\">testing ng documentation</a>."
3515msgstr ""
3516
3517#: template/l2o/index.html.j2:64
3518msgid "Netjails"
3519msgstr ""
3520
3521#: template/l2o/index.html.j2:68
3522msgid ""
3523"To do extensive testing of the new transport implementation one needs to "
3524"simulate various network topologies to enable faking network characteristics "
3525"like lossy connections or firewalls. To achieve this we are working with <a "
3526"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3527"namespace</a>. We have commands for starting and stopping network "
3528"namespaces. Those commands are scripts, which are using several shell "
3529"commands to setup the network namespace. A third script then is responsible "
3530"for start a GNUnet helper. This helper can load plugins. Each plugin "
3531"represents some test case. Per node in the network namespaces one helper is "
3532"started, which means on each node is a local interpreter loop running. For a "
3533"detailed description have a look into the <a href=\"testng.html\">testing ng "
3534"documentation</a>."
3535msgstr ""
3536
3537#: template/l2o/index.html.j2:78
3538msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3539msgstr ""
3540
3541#: template/l2o/index.html.j2:81
3542msgid ""
3543"The first subtask consists of implementing a framework for setting up VLANs "
3544"between network namespaces and a framework to test communication between "
3545"peers which are running in those VLANs. Finally a minimal Test Case will be "
3546"implemented. Despite the fact that the transport service is already able to "
3547"use several communicators (transport protocol implementations), it will only "
3548"use the tcp communicator, not the unix socket nor the udp communicator, "
3549"which already are in place and working. <ul> <li>SUID helpers to setup "
3550"network namespace and starting peers with network namespace.</li> <li>Basic "
3551"transport-level operations (get address, send, receive, connect).</li> "
3552"<li>Peers connected through test and transfer data.</li> </ul>"
3553msgstr ""
3554
3555#: template/l2o/index.html.j2:93
3556msgid ""
3557"First MVP which uses the TCP communicator to send messages between peers. "
3558"The deliverable can be verified through out the specific test cases running "
3559"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3560msgstr ""
3561
3562#: template/l2o/index.html.j2:101
3563msgid "Milestone 2 Enhancing Test Framework"
3564msgstr ""
3565
3566#: template/l2o/index.html.j2:104
3567msgid ""
3568"To test more complex functionality we need to enhance the capabilities of "
3569"the testing framework. Hooks for performance measurement will be "
3570"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3571"execution of commands at a peer. (Barriers).</li> </ul>"
3572msgstr ""
3573
3574#: template/l2o/index.html.j2:114
3575msgid ""
3576"Outcome of this deliverable are advanced test case (again verifiable in the "
3577"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3578msgstr ""
3579
3580#: template/l2o/index.html.j2:122
3581msgid "Milestone 3 UDP integration"
3582msgstr ""
3583
3584#: template/l2o/index.html.j2:125
3585msgid ""
3586"With this subtask I will implement enhanced L2O features like using "
3587"unidirectional transport protocols with backchannels. Addresses by which a "
3588"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3589"this milestone the transport service will be able to use more than one "
3590"communicator (pluggable transport). <ul> <li>unidirectional communication "
3591"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3592msgstr ""
3593
3594#: template/l2o/index.html.j2:135
3595msgid ""
3596"The CI contains test case which uses the UDP protocol to message between "
3597"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3598msgstr ""
3599
3600#: template/l2o/index.html.j2:143
3601msgid "Milestone 4 Distance Vector"
3602msgstr ""
3603
3604#: template/l2o/index.html.j2:146
3605msgid ""
3606"In this subtask I will enhance connectivity to peers not directly connected. "
3607"Therefore peers have to act as relay. To achieve this I will implement the "
3608"distance vector protocol."
3609msgstr ""
3610
3611#: template/l2o/index.html.j2:152
3612msgid ""
3613"The CI contains test cases with a setup of peers not connected directly. The "
3614"test cases proof that each peer can reach any other peer."
3615msgstr ""
3616
3617#: template/l2o/index.html.j2:158
3618msgid "Milestone 5 NAT Traversal"
3619msgstr ""
3620
3621#: template/l2o/index.html.j2:161
3622msgid ""
3623"This subtask will make peers behind NAT reachable. Two simple traversal "
3624"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3625"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3626msgstr ""
3627
3628#: template/l2o/index.html.j2:171
3629msgid ""
3630"The CI contains test case with a peer setup containing peer behind a NAT. "
3631"The test cases proof that each peer can be reached, even if that peer is "
3632"behind a NAT. The test case are measuring the performance. This measurement "
3633"is used to compare with the outcome of the next milestone. This result of "
3634"this milestone will be a first stable release."
3635msgstr ""
3636
3637#: template/l2o/index.html.j2:178
3638msgid "Milestone 6 Optimization"
3639msgstr ""
3640
3641#: template/l2o/index.html.j2:181
3642msgid ""
3643"In this subtask I will implement algorithms (flow and congestion control, "
3644"quality of service optimizations) which will select the optimal transport "
3645"protocol for a given situation. I will analyze potential performance gains "
3646"by integrating libraries of the interpeer project. If the effort of "
3647"integrating interpeer presumably would lead to better performance than other "
3648"optimizations of the same amount of work, this integration is done. I will "
3649"finish the project with a performance analysis to optimize the selection "
3650"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3651"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3652"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3653"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3654"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3655msgstr ""
3656
3657#: template/l2o/index.html.j2:201
3658msgid ""
3659"The test cases in the CI are measuring the performance gains. This "
3660"measurement can be compared with the measurement of milestone 5. Again one "
3661"outcome of this milestone will be a stable release. Documentation of the "
3662"interpeer project analysis."
3663msgstr ""
3664
3665#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3666#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3667msgid "Project main page"
3668msgstr ""
3669
3670#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3671#: template/l2o/mile3.html.j2:29
3672msgid "Master Loop"
3673msgstr ""
3674
3675#: template/l2o/mile1.html.j2:22
3676msgid ""
3677"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3678"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3679"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3680"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3681"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3682"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3683"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3684"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3685"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3686"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3687"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3688"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3689"to execute a local test interpreter per node. Will be execute by the "
3690"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3691"\" style=\"vertical-align: top;\">src/testing/"
3692"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3693"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3694"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3695"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3696"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3697"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3698"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3699"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3700"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3701"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3702"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3703"td><td> </td> </tr> </table>"
3704msgstr ""
3705
3706#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3707#: template/l2o/mile3.html.j2:66
3708msgid "Local Loop"
3709msgstr ""
3710
3711#: template/l2o/mile1.html.j2:67
3712msgid ""
3713"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3714"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3715"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3716"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3717"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3718"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3719"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3720"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3721"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3722"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3723"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3724"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3725"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3726"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3727"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3728"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3729"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3730"align: top;\">Command to send a simple message from one peer to another.</"
3731"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3732"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3733"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3734"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3735"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3736"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3737"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3738"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3739"a message to the master loop, if the local loop has finished.</td> <tr> </"
3740"table>"
3741msgstr ""
3742
3743#: template/l2o/mile1.html.j2:115
3744msgid ""
3745"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3746"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3747"style=\"vertical-align: top;\">Configuration for the first node running "
3748"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3749"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3750"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3751"align: top;\">Configuration for the second node running during the simple "
3752"send test case.</td> </tr> </table>"
3753msgstr ""
3754
3755#: template/l2o/mile2.html.j2:22
3756msgid ""
3757"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3758"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3759"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3760"checks, if a kernel parameter is set to allow unprivileged users to create "
3761"network namespaces. The script than starts the following gerneric binary in "
3762"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3763"\" style=\"vertical-align: top;\">src/transport/"
3764"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3765"align: top;\">A generic binary to start a test case which will be configured "
3766"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3767"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3768"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3769"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3770"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3771"\">Script which reads the topology from a file for the use in the other "
3772"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3773"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3774"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3775"topology data.</td> </tr> </table>"
3776msgstr ""
3777
3778#: template/l2o/mile2.html.j2:50
3779msgid ""
3780"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3781"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3782"\"vertical-align: top;\">Command to send a message to the master loop if a "
3783"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3784"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3785"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3786"align: top;\">Command to send a message to the master loop if a peer is "
3787"ready to shutdown.</td> </tr> </table>"
3788msgstr ""
3789
3790#: template/l2o/mile2.html.j2:65
3791msgid ""
3792"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3793"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3794"\"vertical-align: top;\">Command now uses a configuration template for the "
3795"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3796"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3797"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3798"file for the simple send test case.</td> <tr> </table>"
3799msgstr ""
3800
3801#: template/l2o/mile3.html.j2:20
3802msgid "Bug fixing"
3803msgstr ""
3804
3805#: template/l2o/mile3.html.j2:22
3806msgid ""
3807"Some bugs in the tng service and communicator code which were found with new "
3808"tests were fixed."
3809msgstr ""
3810
3811#: template/l2o/mile3.html.j2:31
3812msgid ""
3813"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3814"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3815"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3816"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3817"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3818"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3819"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3820"\" style=\"vertical-align: top;\">src/transport/"
3821"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3822"align: top;\">Added script as an example to start a test with inline "
3823"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3824"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3825"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3826"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3827"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3828"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3829"start script to configure port forwarding for specific protocols (tcp, udp)."
3830"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3831"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3832"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3833"</table>"
3834msgstr ""
3835
3836#: template/l2o/mile3.html.j2:68
3837msgid ""
3838"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3839"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3840"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3841"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3842"\" style=\"vertical-align: top;\">src/transport/"
3843"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3844"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3845"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3846"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3847"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3848"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3849"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3850"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3851"\"vertical-align: top;\">Command to block the local loop until triggered by "
3852"a external signal.</td> </tr> </table>"
3853msgstr ""
3854
3855#: template/l2o/mile3.html.j2:94
3856msgid ""
3857"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3858"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3859"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3860"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3861"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3862"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3863"file for the udp backchannel test case.</td> <tr> </table>"
3864msgstr ""
3865
3866#: template/l2o/testng.html.j2:20
3867msgid "Netjail setup and execution"
3868msgstr ""
3869
3870#: template/l2o/testng.html.j2:22
3871msgid ""
3872"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3873"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3874"isolated from each other to test how GNUnet nodes with limited connectivity "
3875"behave, and how the new transport next generation implementation can help to "
3876"circumvent the connectivity obstacles. The network namespaces are span a "
3877"network with globally known nodes and several subnets separated from each "
3878"other via a single router. We have three scripts for the test setup: <ul> "
3879"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3880"takes three arguments. The first is either the name of a configuration for "
3881"the test setup topology or a string containing the topology information. The "
3882"second is the process id of the test. The third is a flag if the first "
3883"parameter contains the name of the configuration file or the topology string."
3884"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3885"namespace. This script takes eight arguments. The first is the index of a "
3886"node in a namespace for which we like to execute a command. The second is "
3887"the index of the namespace of the node. The third is the command to execute, "
3888"the fourth is the number of subnets, the fifth the number of nodes in each "
3889"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3890"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3891"is a flag is the topology information is given via a topology file of a "
3892"string containing the topology information..</li> <li>netjail_stop.sh: A "
3893"script which remove all the network namespace setup by netjail_start.sh. The "
3894"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3895"generic test binary (test_transport_start_with_config) which will start the "
3896"above mentioned scripts. Because creating network namespaces is only "
3897"permitted for privileged users the generic test binary is not start "
3898"directly, but via scripts. This script starts the generic binary using the "
3899"command unshare. Using unshare one can create a namespace with its own user "
3900"namespace, where creating network namespaces is allowed. Precondition to do "
3901"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3902"parameter."
3903msgstr ""
3904
3905#: template/l2o/testng.html.j2:38
3906msgid "CMD helper and testcase plugins"
3907msgstr ""
3908
3909#: template/l2o/testng.html.j2:42
3910msgid ""
3911"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3912"framework a special command is used: gnunet-cmds-helper This commands itself "
3913"is of a special kind named helper processes which communicates via "
3914"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3915"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3916"plugins are implementations of an api which is used to start different test "
3917"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3918"plugin defines the commands which are running in a local interpreter loop "
3919"started by the helper on that specific network namespace node. The plugins "
3920"are also responsible for the communication via the helper with the master "
3921"interpreter loop."
3922msgstr ""
3923
3924#: template/l2o/testng.html.j2:48
3925msgid "Command Pattern"
3926msgstr ""
3927
3928#: template/l2o/testng.html.j2:52
3929msgid ""
3930"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3931"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3932"extended to handle asychronous commands. Therefore a struct "
3933"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3934"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3935"interpreter_next function of the interpreter loop (blocking asynchronous "
3936"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3937"the asynchronous task finished, but also can be any other function to be "
3938"executed when the asynchronous task is non blocking."
3939msgstr ""
3940
3941#: template/l2o/testng.html.j2:57
3942#, fuzzy
3943#| msgid "Continuous Integration"
3944msgid "Topology Configuration"
3945msgstr "継続的なインテグレーション"
3946
3947#: template/l2o/testng.html.j2:61
3948msgid ""
3949"The topology of the netjail setup can be configured via a configuration "
3950"file, or with a configuration string handed over to the generic binary for "
3951"starting netjail based tests.</br></br> Both method can be examined in two "
3952"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3953"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3954"configuration is as follows.</br></br> The configuration string is "
3955"structured by lines and the delimiter ':' used for seperating key/value(s) "
3956"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3957"value and '|' to separate a group of values from the key/value(s) pair "
3958"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3959"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3960"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3961"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3962"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3963"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3964"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3965"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3966"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3967"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3968"align: top;\"> A globally known (not natted) node. The number value "
3969"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3970"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3971"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3972"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3973"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3974"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3975"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3976"align: top;\">A subnet node with two key values, the first one for "
3977"identifying the subnet and the second for identifying the node in the subnet."
3978"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3979"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3980"align: top;\">Can be one of several grouped values of the P, K or R key. "
3981"Configuring a connection to another node. </br></br> The value of the "
3982"connect key is a node key (P or K) with two resp. one number value "
3983"identifying the node, and an additional value configuring a protocol. </br></"
3984"br> If the connect key is used in a line configuring a node it is used to "
3985"configure a connection, which will result in the node identified by the line "
3986"P or K key will try to connect nodes also identified with the P or K key via "
3987"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3988"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3989"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3990"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3991"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3992"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3993"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3994"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3995"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3996"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3997"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3998"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3999"of the P or K key. The value is the name of a plugin which will run on that "
4000"peer instead of the default plugin defined by key K.</td> </tr> </table>"
4001msgstr ""
4002
3429#: template/news/index.html.j2:45 4003#: template/news/index.html.j2:45
3430msgid "News archives:" 4004msgid "News archives:"
3431msgstr "アーカイブ" 4005msgstr "アーカイブ"
@@ -3550,6 +4124,26 @@ msgid ""
3550"authorized it to access using the respective key." 4124"authorized it to access using the respective key."
3551msgstr "" 4125msgstr ""
3552 4126
4127#~ msgid "Cadet-GTK"
4128#~ msgstr "Cadet-GTK"
4129
4130#, fuzzy
4131#~| msgid ""
4132#~| "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4133#~| "is a convenient but feature-rich graphical application providing "
4134#~| "messaging using especially the CADET subsystem. It is developed using "
4135#~| "GTK and libhandy for a convergent design."
4136#~ msgid ""
4137#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4138#~ "is a convenient but feature-rich graphical application providing "
4139#~ "messaging using the CADET subsystem. It is developed using GTK and "
4140#~ "libhandy for a convergent design."
4141#~ msgstr ""
4142#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4143#~ "は、高い利便性と豊富な機能を備えたグラフィカル アプリケーションで、特に "
4144#~ "CADET サブシステムを使用してメッセージ機能を提供します。GTK と libhandy を"
4145#~ "利用して開発されいます。"
4146
3553#~ msgid "The IRC channel" 4147#~ msgid "The IRC channel"
3554#~ msgstr "IRC チャネル" 4148#~ msgstr "IRC チャネル"
3555 4149
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-04-11 02:59+0000\n" 11"PO-Revision-Date: 2021-04-11 02:59+0000\n"
12"Last-Translator: Chaewon Park <wonnie0624@gmail.com>\n" 12"Last-Translator: Chaewon Park <wonnie0624@gmail.com>\n"
13"Language-Team: Korean <http://weblate.taler.net/projects/gnunet/website/ko/" 13"Language-Team: Korean <http://weblate.taler.net/projects/gnunet/website/ko/"
@@ -443,15 +443,15 @@ msgid ""
443msgstr "" 443msgstr ""
444 444
445#: template/applications.html.j2:160 445#: template/applications.html.j2:160
446msgid "Cadet-GTK" 446msgid "Messenger-GTK"
447msgstr "" 447msgstr ""
448 448
449#: template/applications.html.j2:162 449#: template/applications.html.j2:162
450msgid "" 450msgid ""
451"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 451"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
452"convenient but feature-rich graphical application providing messaging using " 452"convergent GTK messaging application using the GNUnet Messenger service. The "
453"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 453"goal is to provide private and secure communication between any group of "
454"design." 454"devices."
455msgstr "" 455msgstr ""
456 456
457#: template/applications.html.j2:180 457#: template/applications.html.j2:180
@@ -2726,7 +2726,8 @@ msgstr ""
2726msgid "Tutorial: GNUnet on OpenWrt" 2726msgid "Tutorial: GNUnet on OpenWrt"
2727msgstr "" 2727msgstr ""
2728 2728
2729#: template/install-on-openwrt.html.j2:47 2729#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2730#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2730#, fuzzy 2731#, fuzzy
2731#| msgid "Continuous Integration" 2732#| msgid "Continuous Integration"
2732msgid "Configuration" 2733msgid "Configuration"
@@ -2919,6 +2920,589 @@ msgstr ""
2919msgid "Videos related to GNUnet" 2920msgid "Videos related to GNUnet"
2920msgstr "" 2921msgstr ""
2921 2922
2923#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
2924#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
2925#: template/l2o/testng.html.j2:6
2926msgid "NGI Assure project: Layer-2-Overlay"
2927msgstr ""
2928
2929#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
2930#, fuzzy
2931#| msgid "Documentation"
2932msgid "Project motivation"
2933msgstr "문서"
2934
2935#: template/l2o/index.html.j2:13
2936msgid "New Test Framework"
2937msgstr ""
2938
2939#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
2940msgid "Milestones"
2941msgstr ""
2942
2943#: template/l2o/index.html.j2:15
2944msgid "Milestone 1"
2945msgstr ""
2946
2947#: template/l2o/index.html.j2:16
2948msgid "Milestone 2"
2949msgstr ""
2950
2951#: template/l2o/index.html.j2:17
2952msgid "Milestone 3"
2953msgstr ""
2954
2955#: template/l2o/index.html.j2:18
2956msgid "Milestone 4"
2957msgstr ""
2958
2959#: template/l2o/index.html.j2:19
2960msgid "Milestone 5"
2961msgstr ""
2962
2963#: template/l2o/index.html.j2:20
2964msgid "Milestone 6"
2965msgstr ""
2966
2967#: template/l2o/index.html.j2:27
2968msgid ""
2969"This project was funded through the NGI Assure Fund, a fund established by "
2970"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
2971msgstr ""
2972
2973#: template/l2o/index.html.j2:39
2974msgid ""
2975"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
2976"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
2977"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
2978"the ATS subsystem for bandwidth allocation and choosing plugins has several "
2979"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
2980"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
2981"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
2982"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
2983"Next Generation (TNG) subsystem. One major change in the design is to "
2984"separate the protocol plugins into processes (now called communicators) "
2985"detached from the main transport service. Three communicators were already "
2986"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
2987"maintain, because it is cluttered with \"manipulation\" support code for "
2988"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
2989"especially with TESTBED which has its own design flaws, and test code which "
2990"is very hard to read to get an idea what the test code is doing. Therefore "
2991"the first task (milestone 1) is to implement a new testing framework which "
2992"uses network namespaces to make testing of TNG much easier. Have a look into "
2993"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
2994"\">milestones</a>."
2995msgstr ""
2996
2997#: template/l2o/index.html.j2:50
2998msgid "New Test Framwork"
2999msgstr ""
3000
3001#: template/l2o/index.html.j2:54
3002msgid "Command Style Pattern"
3003msgstr ""
3004
3005#: template/l2o/index.html.j2:58
3006msgid ""
3007"The new style of writing tests in GNUnet is borrowed from the <a href="
3008"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3009"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3010"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3011"test environment for each peer, to start a single peers and sending a simple "
3012"test message. Because some commands depend on other commands to be finished, "
3013"and those commands are asynchronous, we needed additional functionality in "
3014"the command interpreter library to block execution until some commands are "
3015"finished (e.g. all peers needs to be running, before peers starting to send "
3016"messages). For a detailed description have a look into the <a href=\"testng."
3017"html\">testing ng documentation</a>."
3018msgstr ""
3019
3020#: template/l2o/index.html.j2:64
3021msgid "Netjails"
3022msgstr ""
3023
3024#: template/l2o/index.html.j2:68
3025msgid ""
3026"To do extensive testing of the new transport implementation one needs to "
3027"simulate various network topologies to enable faking network characteristics "
3028"like lossy connections or firewalls. To achieve this we are working with <a "
3029"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3030"namespace</a>. We have commands for starting and stopping network "
3031"namespaces. Those commands are scripts, which are using several shell "
3032"commands to setup the network namespace. A third script then is responsible "
3033"for start a GNUnet helper. This helper can load plugins. Each plugin "
3034"represents some test case. Per node in the network namespaces one helper is "
3035"started, which means on each node is a local interpreter loop running. For a "
3036"detailed description have a look into the <a href=\"testng.html\">testing ng "
3037"documentation</a>."
3038msgstr ""
3039
3040#: template/l2o/index.html.j2:78
3041msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3042msgstr ""
3043
3044#: template/l2o/index.html.j2:81
3045msgid ""
3046"The first subtask consists of implementing a framework for setting up VLANs "
3047"between network namespaces and a framework to test communication between "
3048"peers which are running in those VLANs. Finally a minimal Test Case will be "
3049"implemented. Despite the fact that the transport service is already able to "
3050"use several communicators (transport protocol implementations), it will only "
3051"use the tcp communicator, not the unix socket nor the udp communicator, "
3052"which already are in place and working. <ul> <li>SUID helpers to setup "
3053"network namespace and starting peers with network namespace.</li> <li>Basic "
3054"transport-level operations (get address, send, receive, connect).</li> "
3055"<li>Peers connected through test and transfer data.</li> </ul>"
3056msgstr ""
3057
3058#: template/l2o/index.html.j2:93
3059msgid ""
3060"First MVP which uses the TCP communicator to send messages between peers. "
3061"The deliverable can be verified through out the specific test cases running "
3062"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3063msgstr ""
3064
3065#: template/l2o/index.html.j2:101
3066msgid "Milestone 2 Enhancing Test Framework"
3067msgstr ""
3068
3069#: template/l2o/index.html.j2:104
3070msgid ""
3071"To test more complex functionality we need to enhance the capabilities of "
3072"the testing framework. Hooks for performance measurement will be "
3073"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3074"execution of commands at a peer. (Barriers).</li> </ul>"
3075msgstr ""
3076
3077#: template/l2o/index.html.j2:114
3078msgid ""
3079"Outcome of this deliverable are advanced test case (again verifiable in the "
3080"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3081msgstr ""
3082
3083#: template/l2o/index.html.j2:122
3084msgid "Milestone 3 UDP integration"
3085msgstr ""
3086
3087#: template/l2o/index.html.j2:125
3088msgid ""
3089"With this subtask I will implement enhanced L2O features like using "
3090"unidirectional transport protocols with backchannels. Addresses by which a "
3091"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3092"this milestone the transport service will be able to use more than one "
3093"communicator (pluggable transport). <ul> <li>unidirectional communication "
3094"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3095msgstr ""
3096
3097#: template/l2o/index.html.j2:135
3098msgid ""
3099"The CI contains test case which uses the UDP protocol to message between "
3100"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3101msgstr ""
3102
3103#: template/l2o/index.html.j2:143
3104msgid "Milestone 4 Distance Vector"
3105msgstr ""
3106
3107#: template/l2o/index.html.j2:146
3108msgid ""
3109"In this subtask I will enhance connectivity to peers not directly connected. "
3110"Therefore peers have to act as relay. To achieve this I will implement the "
3111"distance vector protocol."
3112msgstr ""
3113
3114#: template/l2o/index.html.j2:152
3115msgid ""
3116"The CI contains test cases with a setup of peers not connected directly. The "
3117"test cases proof that each peer can reach any other peer."
3118msgstr ""
3119
3120#: template/l2o/index.html.j2:158
3121msgid "Milestone 5 NAT Traversal"
3122msgstr ""
3123
3124#: template/l2o/index.html.j2:161
3125msgid ""
3126"This subtask will make peers behind NAT reachable. Two simple traversal "
3127"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3128"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3129msgstr ""
3130
3131#: template/l2o/index.html.j2:171
3132msgid ""
3133"The CI contains test case with a peer setup containing peer behind a NAT. "
3134"The test cases proof that each peer can be reached, even if that peer is "
3135"behind a NAT. The test case are measuring the performance. This measurement "
3136"is used to compare with the outcome of the next milestone. This result of "
3137"this milestone will be a first stable release."
3138msgstr ""
3139
3140#: template/l2o/index.html.j2:178
3141msgid "Milestone 6 Optimization"
3142msgstr ""
3143
3144#: template/l2o/index.html.j2:181
3145msgid ""
3146"In this subtask I will implement algorithms (flow and congestion control, "
3147"quality of service optimizations) which will select the optimal transport "
3148"protocol for a given situation. I will analyze potential performance gains "
3149"by integrating libraries of the interpeer project. If the effort of "
3150"integrating interpeer presumably would lead to better performance than other "
3151"optimizations of the same amount of work, this integration is done. I will "
3152"finish the project with a performance analysis to optimize the selection "
3153"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3154"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3155"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3156"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3157"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3158msgstr ""
3159
3160#: template/l2o/index.html.j2:201
3161msgid ""
3162"The test cases in the CI are measuring the performance gains. This "
3163"measurement can be compared with the measurement of milestone 5. Again one "
3164"outcome of this milestone will be a stable release. Documentation of the "
3165"interpeer project analysis."
3166msgstr ""
3167
3168#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3169#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3170msgid "Project main page"
3171msgstr ""
3172
3173#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3174#: template/l2o/mile3.html.j2:29
3175msgid "Master Loop"
3176msgstr ""
3177
3178#: template/l2o/mile1.html.j2:22
3179msgid ""
3180"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3181"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3182"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3183"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3184"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3185"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3186"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3187"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3188"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3189"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3190"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3191"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3192"to execute a local test interpreter per node. Will be execute by the "
3193"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3194"\" style=\"vertical-align: top;\">src/testing/"
3195"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3196"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3197"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3198"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3199"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3200"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3201"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3202"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3203"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3204"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3205"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3206"td><td> </td> </tr> </table>"
3207msgstr ""
3208
3209#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3210#: template/l2o/mile3.html.j2:66
3211msgid "Local Loop"
3212msgstr ""
3213
3214#: template/l2o/mile1.html.j2:67
3215msgid ""
3216"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3217"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3218"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3219"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3220"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3221"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3222"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3223"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3224"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3225"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3226"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3227"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3228"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3229"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3230"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3231"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3232"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3233"align: top;\">Command to send a simple message from one peer to another.</"
3234"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3235"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3236"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3237"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3238"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3239"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3240"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3241"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3242"a message to the master loop, if the local loop has finished.</td> <tr> </"
3243"table>"
3244msgstr ""
3245
3246#: template/l2o/mile1.html.j2:115
3247msgid ""
3248"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3249"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3250"style=\"vertical-align: top;\">Configuration for the first node running "
3251"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3252"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3253"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3254"align: top;\">Configuration for the second node running during the simple "
3255"send test case.</td> </tr> </table>"
3256msgstr ""
3257
3258#: template/l2o/mile2.html.j2:22
3259msgid ""
3260"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3261"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3262"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3263"checks, if a kernel parameter is set to allow unprivileged users to create "
3264"network namespaces. The script than starts the following gerneric binary in "
3265"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3266"\" style=\"vertical-align: top;\">src/transport/"
3267"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3268"align: top;\">A generic binary to start a test case which will be configured "
3269"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3270"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3271"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3272"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3273"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3274"\">Script which reads the topology from a file for the use in the other "
3275"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3276"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3277"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3278"topology data.</td> </tr> </table>"
3279msgstr ""
3280
3281#: template/l2o/mile2.html.j2:50
3282msgid ""
3283"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3284"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3285"\"vertical-align: top;\">Command to send a message to the master loop if a "
3286"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3287"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3288"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3289"align: top;\">Command to send a message to the master loop if a peer is "
3290"ready to shutdown.</td> </tr> </table>"
3291msgstr ""
3292
3293#: template/l2o/mile2.html.j2:65
3294msgid ""
3295"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3296"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3297"\"vertical-align: top;\">Command now uses a configuration template for the "
3298"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3299"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3300"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3301"file for the simple send test case.</td> <tr> </table>"
3302msgstr ""
3303
3304#: template/l2o/mile3.html.j2:20
3305msgid "Bug fixing"
3306msgstr ""
3307
3308#: template/l2o/mile3.html.j2:22
3309msgid ""
3310"Some bugs in the tng service and communicator code which were found with new "
3311"tests were fixed."
3312msgstr ""
3313
3314#: template/l2o/mile3.html.j2:31
3315msgid ""
3316"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3317"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3318"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3319"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3320"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3321"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3322"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3323"\" style=\"vertical-align: top;\">src/transport/"
3324"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3325"align: top;\">Added script as an example to start a test with inline "
3326"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3327"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3328"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3329"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3330"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3331"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3332"start script to configure port forwarding for specific protocols (tcp, udp)."
3333"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3334"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3335"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3336"</table>"
3337msgstr ""
3338
3339#: template/l2o/mile3.html.j2:68
3340msgid ""
3341"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3342"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3343"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3344"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3345"\" style=\"vertical-align: top;\">src/transport/"
3346"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3347"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3348"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3349"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3350"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3351"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3352"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3353"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3354"\"vertical-align: top;\">Command to block the local loop until triggered by "
3355"a external signal.</td> </tr> </table>"
3356msgstr ""
3357
3358#: template/l2o/mile3.html.j2:94
3359msgid ""
3360"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3361"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3362"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3363"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3364"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3365"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3366"file for the udp backchannel test case.</td> <tr> </table>"
3367msgstr ""
3368
3369#: template/l2o/testng.html.j2:20
3370msgid "Netjail setup and execution"
3371msgstr ""
3372
3373#: template/l2o/testng.html.j2:22
3374msgid ""
3375"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3376"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3377"isolated from each other to test how GNUnet nodes with limited connectivity "
3378"behave, and how the new transport next generation implementation can help to "
3379"circumvent the connectivity obstacles. The network namespaces are span a "
3380"network with globally known nodes and several subnets separated from each "
3381"other via a single router. We have three scripts for the test setup: <ul> "
3382"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3383"takes three arguments. The first is either the name of a configuration for "
3384"the test setup topology or a string containing the topology information. The "
3385"second is the process id of the test. The third is a flag if the first "
3386"parameter contains the name of the configuration file or the topology string."
3387"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3388"namespace. This script takes eight arguments. The first is the index of a "
3389"node in a namespace for which we like to execute a command. The second is "
3390"the index of the namespace of the node. The third is the command to execute, "
3391"the fourth is the number of subnets, the fifth the number of nodes in each "
3392"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3393"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3394"is a flag is the topology information is given via a topology file of a "
3395"string containing the topology information..</li> <li>netjail_stop.sh: A "
3396"script which remove all the network namespace setup by netjail_start.sh. The "
3397"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3398"generic test binary (test_transport_start_with_config) which will start the "
3399"above mentioned scripts. Because creating network namespaces is only "
3400"permitted for privileged users the generic test binary is not start "
3401"directly, but via scripts. This script starts the generic binary using the "
3402"command unshare. Using unshare one can create a namespace with its own user "
3403"namespace, where creating network namespaces is allowed. Precondition to do "
3404"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3405"parameter."
3406msgstr ""
3407
3408#: template/l2o/testng.html.j2:38
3409msgid "CMD helper and testcase plugins"
3410msgstr ""
3411
3412#: template/l2o/testng.html.j2:42
3413msgid ""
3414"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3415"framework a special command is used: gnunet-cmds-helper This commands itself "
3416"is of a special kind named helper processes which communicates via "
3417"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3418"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3419"plugins are implementations of an api which is used to start different test "
3420"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3421"plugin defines the commands which are running in a local interpreter loop "
3422"started by the helper on that specific network namespace node. The plugins "
3423"are also responsible for the communication via the helper with the master "
3424"interpreter loop."
3425msgstr ""
3426
3427#: template/l2o/testng.html.j2:48
3428msgid "Command Pattern"
3429msgstr ""
3430
3431#: template/l2o/testng.html.j2:52
3432msgid ""
3433"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3434"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3435"extended to handle asychronous commands. Therefore a struct "
3436"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3437"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3438"interpreter_next function of the interpreter loop (blocking asynchronous "
3439"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3440"the asynchronous task finished, but also can be any other function to be "
3441"executed when the asynchronous task is non blocking."
3442msgstr ""
3443
3444#: template/l2o/testng.html.j2:57
3445#, fuzzy
3446#| msgid "Continuous Integration"
3447msgid "Topology Configuration"
3448msgstr "지속적 통합"
3449
3450#: template/l2o/testng.html.j2:61
3451msgid ""
3452"The topology of the netjail setup can be configured via a configuration "
3453"file, or with a configuration string handed over to the generic binary for "
3454"starting netjail based tests.</br></br> Both method can be examined in two "
3455"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3456"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3457"configuration is as follows.</br></br> The configuration string is "
3458"structured by lines and the delimiter ':' used for seperating key/value(s) "
3459"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3460"value and '|' to separate a group of values from the key/value(s) pair "
3461"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3462"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3463"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3464"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3465"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3466"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3467"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3468"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3469"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3470"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3471"align: top;\"> A globally known (not natted) node. The number value "
3472"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3473"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3474"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3475"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3476"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3477"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3478"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3479"align: top;\">A subnet node with two key values, the first one for "
3480"identifying the subnet and the second for identifying the node in the subnet."
3481"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3482"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3483"align: top;\">Can be one of several grouped values of the P, K or R key. "
3484"Configuring a connection to another node. </br></br> The value of the "
3485"connect key is a node key (P or K) with two resp. one number value "
3486"identifying the node, and an additional value configuring a protocol. </br></"
3487"br> If the connect key is used in a line configuring a node it is used to "
3488"configure a connection, which will result in the node identified by the line "
3489"P or K key will try to connect nodes also identified with the P or K key via "
3490"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3491"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3492"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3493"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3494"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3495"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3496"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3497"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3498"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3499"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3500"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3501"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3502"of the P or K key. The value is the name of a plugin which will run on that "
3503"peer instead of the default plugin defined by key K.</td> </tr> </table>"
3504msgstr ""
3505
2922#: template/news/index.html.j2:45 3506#: template/news/index.html.j2:45
2923msgid "News archives:" 3507msgid "News archives:"
2924msgstr "뉴스 아카이브:" 3508msgstr "뉴스 아카이브:"
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 @@
1# Translations template for PROJECT. 1# Translations template for PROJECT.
2# Copyright (C) 2021 ORGANIZATION 2# Copyright (C) 2022 ORGANIZATION
3# This file is distributed under the same license as the PROJECT project. 3# This file is distributed under the same license as the PROJECT project.
4# FIRST AUTHOR <EMAIL@ADDRESS>, 2021. 4# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
5# 5#
6#, fuzzy 6#, fuzzy
7msgid "" 7msgid ""
8msgstr "" 8msgstr ""
9"Project-Id-Version: PROJECT VERSION\n" 9"Project-Id-Version: PROJECT VERSION\n"
10"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 10"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11"POT-Creation-Date: 2021-09-29 13:55+0200\n" 11"POT-Creation-Date: 2022-02-25 20:18+0100\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n" 14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -435,15 +435,15 @@ msgid ""
435msgstr "" 435msgstr ""
436 436
437#: template/applications.html.j2:160 437#: template/applications.html.j2:160
438msgid "Cadet-GTK" 438msgid "Messenger-GTK"
439msgstr "" 439msgstr ""
440 440
441#: template/applications.html.j2:162 441#: template/applications.html.j2:162
442msgid "" 442msgid ""
443"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> " 443"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> "
444"is a convenient but feature-rich graphical application providing " 444"is a convergent GTK messaging application using the GNUnet Messenger "
445"messaging using the CADET subsystem. It is developed using GTK and " 445"service. The goal is to provide private and secure communication between "
446"libhandy for a convergent design." 446"any group of devices."
447msgstr "" 447msgstr ""
448 448
449#: template/applications.html.j2:180 449#: template/applications.html.j2:180
@@ -2741,7 +2741,8 @@ msgstr ""
2741msgid "Tutorial: GNUnet on OpenWrt" 2741msgid "Tutorial: GNUnet on OpenWrt"
2742msgstr "" 2742msgstr ""
2743 2743
2744#: template/install-on-openwrt.html.j2:47 2744#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2745#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2745msgid "Configuration" 2746msgid "Configuration"
2746msgstr "" 2747msgstr ""
2747 2748
@@ -2937,6 +2938,612 @@ msgstr ""
2937msgid "Videos related to GNUnet" 2938msgid "Videos related to GNUnet"
2938msgstr "" 2939msgstr ""
2939 2940
2941#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
2942#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
2943#: template/l2o/testng.html.j2:6
2944msgid "NGI Assure project: Layer-2-Overlay"
2945msgstr ""
2946
2947#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
2948msgid "Project motivation"
2949msgstr ""
2950
2951#: template/l2o/index.html.j2:13
2952msgid "New Test Framework"
2953msgstr ""
2954
2955#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
2956msgid "Milestones"
2957msgstr ""
2958
2959#: template/l2o/index.html.j2:15
2960msgid "Milestone 1"
2961msgstr ""
2962
2963#: template/l2o/index.html.j2:16
2964msgid "Milestone 2"
2965msgstr ""
2966
2967#: template/l2o/index.html.j2:17
2968msgid "Milestone 3"
2969msgstr ""
2970
2971#: template/l2o/index.html.j2:18
2972msgid "Milestone 4"
2973msgstr ""
2974
2975#: template/l2o/index.html.j2:19
2976msgid "Milestone 5"
2977msgstr ""
2978
2979#: template/l2o/index.html.j2:20
2980msgid "Milestone 6"
2981msgstr ""
2982
2983#: template/l2o/index.html.j2:27
2984msgid ""
2985"This project was funded through the NGI Assure Fund, a fund established "
2986"by <a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
2987msgstr ""
2988
2989#: template/l2o/index.html.j2:39
2990msgid ""
2991"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
2992"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
2993"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with"
2994" the ATS subsystem for bandwidth allocation and choosing plugins has "
2995"several <a href=\"https://docs.gnunet.org/handbook/gnunet.html"
2996"#TRANSPORT_002dNG-Subsystem\">issues</a> with its design. With the "
2997"Layer-2-Overlay project we like to implement the <a "
2998"href=\"https://docs.gnunet.org/handbook/gnunet.html#Design-goals-of-"
2999"TNG\">design goals</a> of the future GNUnet TRANSPORT Next Generation "
3000"(TNG) subsystem. One major change in the design is to separate the "
3001"protocol plugins into processes (now called communicators) detached from "
3002"the main transport service. Three communicators were already implemented "
3003"(TCP, UDP and UNIX sockets). The old transport code is hard to maintain, "
3004"because it is cluttered with \"manipulation\" support code for TESTBED "
3005"(the actual testing framework). Testing TRANSPORT is a hard task, "
3006"especially with TESTBED which has its own design flaws, and test code "
3007"which is very hard to read to get an idea what the test code is doing. "
3008"Therefore the first task (milestone 1) is to implement a new testing "
3009"framework which uses network namespaces to make testing of TNG much "
3010"easier. Have a look into what is planed for Layer-2-Overlay in the <a "
3011"href=\"#milestones\">milestones</a>."
3012msgstr ""
3013
3014#: template/l2o/index.html.j2:50
3015msgid "New Test Framwork"
3016msgstr ""
3017
3018#: template/l2o/index.html.j2:54
3019msgid "Command Style Pattern"
3020msgstr ""
3021
3022#: template/l2o/index.html.j2:58
3023msgid ""
3024"The new style of writing tests in GNUnet is borrowed from the <a "
3025"href=\"https://docs.taler.net/developers-manual.html#testing-"
3026"library\">GNU Taler testing library</a>. In <a "
3027"href=\"#milestone1\">milestone 1</a> we implemented commands to setup the"
3028" <a href=\"#netjails\">netjails</a>, the test environment for each peer, "
3029"to start a single peers and sending a simple test message. Because some "
3030"commands depend on other commands to be finished, and those commands are "
3031"asynchronous, we needed additional functionality in the command "
3032"interpreter library to block execution until some commands are finished "
3033"(e.g. all peers needs to be running, before peers starting to send "
3034"messages). For a detailed description have a look into the <a "
3035"href=\"testng.html\">testing ng documentation</a>."
3036msgstr ""
3037
3038#: template/l2o/index.html.j2:64
3039msgid "Netjails"
3040msgstr ""
3041
3042#: template/l2o/index.html.j2:68
3043msgid ""
3044"To do extensive testing of the new transport implementation one needs to "
3045"simulate various network topologies to enable faking network "
3046"characteristics like lossy connections or firewalls. To achieve this we "
3047"are working with <a href=\"https://www.man7.org/linux/man-pages/man8/ip-"
3048"netns.8.html\">network namespace</a>. We have commands for starting and "
3049"stopping network namespaces. Those commands are scripts, which are using "
3050"several shell commands to setup the network namespace. A third script "
3051"then is responsible for start a GNUnet helper. This helper can load "
3052"plugins. Each plugin represents some test case. Per node in the network "
3053"namespaces one helper is started, which means on each node is a local "
3054"interpreter loop running. For a detailed description have a look into the"
3055" <a href=\"testng.html\">testing ng documentation</a>."
3056msgstr ""
3057
3058#: template/l2o/index.html.j2:78
3059msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3060msgstr ""
3061
3062#: template/l2o/index.html.j2:81
3063msgid ""
3064"The first subtask consists of implementing a framework for setting up "
3065"VLANs between network namespaces and a framework to test communication "
3066"between peers which are running in those VLANs. Finally a minimal Test "
3067"Case will be implemented. Despite the fact that the transport service is "
3068"already able to use several communicators (transport protocol "
3069"implementations), it will only use the tcp communicator, not the unix "
3070"socket nor the udp communicator, which already are in place and working. "
3071"<ul> <li>SUID helpers to setup network namespace and starting peers with "
3072"network namespace.</li> <li>Basic transport-level operations (get "
3073"address, send, receive, connect).</li> <li>Peers connected through test "
3074"and transfer data.</li> </ul>"
3075msgstr ""
3076
3077#: template/l2o/index.html.j2:93
3078msgid ""
3079"First MVP which uses the TCP communicator to send messages between peers."
3080" The deliverable can be verified through out the specific test cases "
3081"running in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3082msgstr ""
3083
3084#: template/l2o/index.html.j2:101
3085msgid "Milestone 2 Enhancing Test Framework"
3086msgstr ""
3087
3088#: template/l2o/index.html.j2:104
3089msgid ""
3090"To test more complex functionality we need to enhance the capabilities of"
3091" the testing framework. Hooks for performance measurement will be "
3092"implemented. <ul> <li>Enhancing transport-level operations.</li> "
3093"<li>Block execution of commands at a peer. (Barriers).</li> </ul>"
3094msgstr ""
3095
3096#: template/l2o/index.html.j2:114
3097msgid ""
3098"Outcome of this deliverable are advanced test case (again verifiable in "
3099"the GNUnet continuous integration (CI)). <a "
3100"href=\"mile2.html\">Details</a>"
3101msgstr ""
3102
3103#: template/l2o/index.html.j2:122
3104msgid "Milestone 3 UDP integration"
3105msgstr ""
3106
3107#: template/l2o/index.html.j2:125
3108msgid ""
3109"With this subtask I will implement enhanced L2O features like using "
3110"unidirectional transport protocols with backchannels. Addresses by which "
3111"a peer can be reached can be delivered on handshake or by UDP broadcast. "
3112"With this milestone the transport service will be able to use more than "
3113"one communicator (pluggable transport). <ul> <li>unidirectional "
3114"communication and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3115msgstr ""
3116
3117#: template/l2o/index.html.j2:135
3118msgid ""
3119"The CI contains test case which uses the UDP protocol to message between "
3120"peers and to learn about “foreign” peers. <a "
3121"href=\"mile3.html\">Details</a>"
3122msgstr ""
3123
3124#: template/l2o/index.html.j2:143
3125msgid "Milestone 4 Distance Vector"
3126msgstr ""
3127
3128#: template/l2o/index.html.j2:146
3129msgid ""
3130"In this subtask I will enhance connectivity to peers not directly "
3131"connected. Therefore peers have to act as relay. To achieve this I will "
3132"implement the distance vector protocol."
3133msgstr ""
3134
3135#: template/l2o/index.html.j2:152
3136msgid ""
3137"The CI contains test cases with a setup of peers not connected directly. "
3138"The test cases proof that each peer can reach any other peer."
3139msgstr ""
3140
3141#: template/l2o/index.html.j2:158
3142msgid "Milestone 5 NAT Traversal"
3143msgstr ""
3144
3145#: template/l2o/index.html.j2:161
3146msgid ""
3147"This subtask will make peers behind NAT reachable. Two simple traversal "
3148"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3149"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3150msgstr ""
3151
3152#: template/l2o/index.html.j2:171
3153msgid ""
3154"The CI contains test case with a peer setup containing peer behind a NAT."
3155" The test cases proof that each peer can be reached, even if that peer is"
3156" behind a NAT. The test case are measuring the performance. This "
3157"measurement is used to compare with the outcome of the next milestone. "
3158"This result of this milestone will be a first stable release."
3159msgstr ""
3160
3161#: template/l2o/index.html.j2:178
3162msgid "Milestone 6 Optimization"
3163msgstr ""
3164
3165#: template/l2o/index.html.j2:181
3166msgid ""
3167"In this subtask I will implement algorithms (flow and congestion control,"
3168" quality of service optimizations) which will select the optimal "
3169"transport protocol for a given situation. I will analyze potential "
3170"performance gains by integrating libraries of the interpeer project. If "
3171"the effort of integrating interpeer presumably would lead to better "
3172"performance than other optimizations of the same amount of work, this "
3173"integration is done. I will finish the project with a performance "
3174"analysis to optimize the selection logic. <ul> <li>Queue management. "
3175"<li>Interpeer project synergy <ol> <li>Analysis of the interpeer project "
3176"in regard to integrate it into GNUnet.</li> <li>Optional integration into"
3177" GNUnet, if it can be done at all and in a reasonable amount of "
3178"work.</li> </ol> <li>Commands for performance measurement(s).</li> "
3179"<li>Performance analysis.</li> </ul>"
3180msgstr ""
3181
3182#: template/l2o/index.html.j2:201
3183msgid ""
3184"The test cases in the CI are measuring the performance gains. This "
3185"measurement can be compared with the measurement of milestone 5. Again "
3186"one outcome of this milestone will be a stable release. Documentation of "
3187"the interpeer project analysis."
3188msgstr ""
3189
3190#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3191#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3192msgid "Project main page"
3193msgstr ""
3194
3195#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3196#: template/l2o/mile3.html.j2:29
3197msgid "Master Loop"
3198msgstr ""
3199
3200#: template/l2o/mile1.html.j2:22
3201msgid ""
3202"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3203"top;\">src/transport/test_transport_api_cmd_simple_send.c</td><td "
3204"width=\"60%\" style=\"vertical-align: top;\">Binary for starting the "
3205"simple send test. Obsolete in current code base!</td> <tr> <td></td><td> "
3206"</td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3207"top;\">src/testing/netjail_start.sh</td><td width=\"60%\" style"
3208"=\"vertical-align: top;\">Script to setup the netjail topology. Will be "
3209"execute by the following command. </td> </tr> <tr> <td width=\"40%\" "
3210"style=\"vertical-align: "
3211"top;\">src/testing/testing_api_cmd_netjail_start.c</td><td width=\"60%\" "
3212"style=\"vertical-align: top;\">Command to create the netjail setup.</td> "
3213"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3214"align: top;\">src/testing/netjail_exec.sh</td><td width=\"60%\" style"
3215"=\"vertical-align: top;\">Script to execute a local test interpreter per "
3216"node. Will be execute by the following command.</td> <tr> <td></td><td> "
3217"</td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3218"top;\">src/testing/testing_api_cmd_netjail_start_testsystem.c</td><td "
3219"width=\"60%\" style=\"vertical-align: top;\">Command to start the helper "
3220"processes.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3221"style=\"vertical-align: "
3222"top;\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td "
3223"width=\"60%\" style=\"vertical-align: top;\">Command to stop the helper "
3224"processes.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3225"style=\"vertical-align: top;\">src/testing/netjail_stop.sh</td><td "
3226"width=\"60%\" style=\"vertical-align: top;\">Script to stop the netjail "
3227"topology.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3228"style=\"vertical-align: "
3229"top;\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" "
3230"style=\"vertical-align: top;\">Command to stop the test setup.</td> <tr> "
3231"<td></td><td> </td> </tr> </table>"
3232msgstr ""
3233
3234#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3235#: template/l2o/mile3.html.j2:66
3236msgid "Local Loop"
3237msgstr ""
3238
3239#: template/l2o/mile1.html.j2:67
3240msgid ""
3241"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3242"top;\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style"
3243"=\"vertical-align: top;\">Helper to start the local interpreter "
3244"loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style"
3245"=\"vertical-align: "
3246"top;\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td "
3247"width=\"60%\" style=\"vertical-align: top;\">Plugin which creates the "
3248"cmds for the simple send test case.</td> </tr> <tr> <td width=\"40%\" "
3249"style=\"vertical-align: "
3250"top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%\" "
3251"style=\"vertical-align: top;\">Command to create a local test "
3252"system.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style"
3253"=\"vertical-align: "
3254"top;\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\""
3255" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3256"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3257"top;\">src/transport/transport_api_cmd_connecting_peers.c</td><td "
3258"width=\"60%\" style=\"vertical-align: top;\"> Command to connect two "
3259"peers.</td> <tr> <td></td><td> </td> </tr> <tr> "
3260"<td>src/transport/transport_api_cmd_send_simple.c</td><td width=\"60%\" "
3261"style=\"vertical-align: top;\">Command to send a simple message from one "
3262"peer to another.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3263"width=\"40%\" style=\"vertical-align: "
3264"top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%\" "
3265"style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> "
3266"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3267"top;\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\""
3268" style=\"vertical-align: top;\">Command to destroy the local test "
3269"system.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style"
3270"=\"vertical-align: "
3271"top;\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command "
3272"to send a message to the master loop, if the local loop has "
3273"finished.</td> <tr> </table>"
3274msgstr ""
3275
3276#: template/l2o/mile1.html.j2:115
3277msgid ""
3278"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3279"top;\">src/transport/test_transport_api2_tcp_node1.conf</td><td "
3280"width=\"60%\" style=\"vertical-align: top;\">Configuration for the first "
3281"node running during the simple send test case.</td> <tr> <td></td><td> "
3282"</td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3283"top;\">src/transport/test_transport_api2_tcp_node2.conf</td><td "
3284"width=\"60%\" style=\"vertical-align: top;\">Configuration for the second"
3285" node running during the simple send test case.</td> </tr> </table>"
3286msgstr ""
3287
3288#: template/l2o/mile2.html.j2:22
3289msgid ""
3290"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3291"top;\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" "
3292"style=\"vertical-align: top;\">Introduced scripts to start the tests. The"
3293" script checks, if a kernel parameter is set to allow unprivileged users "
3294"to create network namespaces. The script than starts the following "
3295"gerneric binary in a network namespace.</td> <tr> <td></td><td> </td> "
3296"</tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3297"top;\">src/transport/test_transport_start_with_config.c</td><td "
3298"width=\"60%\" style=\"vertical-align: top;\">A generic binary to start a "
3299"test case which will be configured by a configuration file.</td> </tr> "
3300"<tr> <td width=\"40%\" style=\"vertical-align: "
3301"top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3302"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3303"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3304"top;\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: "
3305"top;\">Script which reads the topology from a file for the use in the "
3306"other netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3307"width=\"40%\" style=\"vertical-align: top;\">All already existing "
3308"commands.</td><td width=\"60%\" style=\"vertical-align: top;\">All "
3309"commands changed to work with the topology data.</td> </tr> </table>"
3310msgstr ""
3311
3312#: template/l2o/mile2.html.j2:50
3313msgid ""
3314"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3315"top;\">src/testing/testing_api_cmd_send_peer_ready.c</td><td "
3316"width=\"60%\" style=\"vertical-align: top;\">Command to send a message to"
3317" the master loop if a peer has started in local loop.</td> <tr> "
3318"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: "
3319"top;\">src/testing/testing_api_cmd_local_test_prepared.c</td><td "
3320"width=\"60%\" style=\"vertical-align: top;\">Command to send a message to"
3321" the master loop if a peer is ready to shutdown.</td> </tr> </table>"
3322msgstr ""
3323
3324#: template/l2o/mile2.html.j2:65
3325msgid ""
3326"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: "
3327"top;\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\""
3328" style=\"vertical-align: top;\">Command now uses a configuration template"
3329" for the peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td"
3330" width=\"40%\" style=\"vertical-align: "
3331"top;\">test_transport_simple_send_topo.conf</td><td width=\"60%\" style"
3332"=\"vertical-align: top;\">Topology configuration file for the simple send"
3333" test case.</td> <tr> </table>"
3334msgstr ""
3335
3336#: template/l2o/mile3.html.j2:20
3337msgid "Bug fixing"
3338msgstr ""
3339
3340#: template/l2o/mile3.html.j2:22
3341msgid ""
3342"Some bugs in the tng service and communicator code which were found with "
3343"new tests were fixed."
3344msgstr ""
3345
3346#: template/l2o/mile3.html.j2:31
3347msgid ""
3348"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: "
3349"top;\">src/transport/test_transport_udp_backchannel.sh</td><td "
3350"width=\"55%\" style=\"vertical-align: top;\">Added script to start the "
3351"udp backchannel test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3352"width=\"60%\" style=\"vertical-align: "
3353"top;\">src/transport/test_transport_simple_send_broadcast.sh</td><td "
3354"width=\"55%\" style=\"vertical-align: top;\">Added script for the UDB "
3355"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3356"width=\"60%\" style=\"vertical-align: "
3357"top;\">src/transport/test_transport_simple_send_string.sh</td><td "
3358"width=\"55%\" style=\"vertical-align: top;\">Added script as an example "
3359"to start a test with inline topology configuration string.</td> <tr> "
3360"<td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-align: "
3361"top;\">All commands</td><td width=\"55%\" style=\"vertical-align: "
3362"top;\">Changed code to handle strings with topology information.</td> "
3363"</tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style"
3364"=\"vertical-align: top;\">src/testing/netjail_start.sh</td><td "
3365"width=\"55%\" style=\"vertical-align: top;\">Changed the netjail start "
3366"script to configure port forwarding for specific protocols (tcp, "
3367"udp).</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3368"style=\"vertical-align: top;\">src/testing/netjail_*.sh</td><td "
3369"width=\"40%\" style=\"vertical-align: top;\">Moved to contrib/netjail "
3370"directory</td> </tr> </table>"
3371msgstr ""
3372
3373#: template/l2o/mile3.html.j2:68
3374msgid ""
3375"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: "
3376"top;\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td"
3377" width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3378"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3379"width=\"60%\" style=\"vertical-align: "
3380"top;\">src/transport/test_transport_plugin_cmd_udp_backchannel.c</td><td "
3381"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3382"backchannel test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3383"width=\"60%\" style=\"vertical-align: "
3384"top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3385"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3386"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr>"
3387" <tr> <td width=\"60%\" style=\"vertical-align: "
3388"top;\">src/testing/testing_api_cmd_block_until_external_trigger.cc</td><td"
3389" width=\"40%\" style=\"vertical-align: top;\">Command to block the local "
3390"loop until triggered by a external signal.</td> </tr> </table>"
3391msgstr ""
3392
3393#: template/l2o/mile3.html.j2:94
3394msgid ""
3395"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: "
3396"top;\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td"
3397" width=\"40%\" style=\"vertical-align: top;\">Topology configuration for "
3398"the broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3399"width=\"60%\" style=\"vertical-align: "
3400"top;\">test_transport_udp_backchannel_topo.conf</td><td width=\"40%\" "
3401"style=\"vertical-align: top;\">Topology configuration file for the udp "
3402"backchannel test case.</td> <tr> </table>"
3403msgstr ""
3404
3405#: template/l2o/testng.html.j2:20
3406msgid "Netjail setup and execution"
3407msgstr ""
3408
3409#: template/l2o/testng.html.j2:22
3410msgid ""
3411"Netjail is the GNUnet naming for having several <a "
3412"href=\"https://www.man7.org/linux/man-pages/man8/ip-"
3413"netns.8.html\">network namespaces</a>, being isolated from each other to "
3414"test how GNUnet nodes with limited connectivity behave, and how the new "
3415"transport next generation implementation can help to circumvent the "
3416"connectivity obstacles. The network namespaces are span a network with "
3417"globally known nodes and several subnets separated from each other via a "
3418"single router. We have three scripts for the test setup: <ul> "
3419"<li>netjail_start.sh: A script to setup the network namespaces. This "
3420"script takes three arguments. The first is either the name of a "
3421"configuration for the test setup topology or a string containing the "
3422"topology information. The second is the process id of the test. The third"
3423" is a flag if the first parameter contains the name of the configuration "
3424"file or the topology string.</li> <li>netjail_exec.sh: A script to run "
3425"some command in a specific namespace. This script takes eight arguments. "
3426"The first is the index of a node in a namespace for which we like to "
3427"execute a command. The second is the index of the namespace of the node. "
3428"The third is the command to execute, the fourth is the number of subnets,"
3429" the fifth the number of nodes in each subnet, the sixth is the "
3430"identifier used by the <a href=\"https://www.man7.org/linux/man-"
3431"pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth is a flag is"
3432" the topology information is given via a topology file of a string "
3433"containing the topology information..</li> <li>netjail_stop.sh: A script "
3434"which remove all the network namespace setup by netjail_start.sh. The "
3435"arguments are the same as those for netjail_start.sh.</li> </ul> The is a"
3436" generic test binary (test_transport_start_with_config) which will start "
3437"the above mentioned scripts. Because creating network namespaces is only "
3438"permitted for privileged users the generic test binary is not start "
3439"directly, but via scripts. This script starts the generic binary using "
3440"the command unshare. Using unshare one can create a namespace with its "
3441"own user namespace, where creating network namespaces is allowed. "
3442"Precondition to do this with unshare, is to set the "
3443"kernel.unprivileged_userns_clone kernel parameter."
3444msgstr ""
3445
3446#: template/l2o/testng.html.j2:38
3447msgid "CMD helper and testcase plugins"
3448msgstr ""
3449
3450#: template/l2o/testng.html.j2:42
3451msgid ""
3452"Although netjail_exec.sh can execute an arbitrary command in the ng "
3453"testing framework a special command is used: gnunet-cmds-helper This "
3454"commands itself is of a special kind named helper processes which "
3455"communicates via GNUNET_MessageHeaders on stdin/stdout with the process "
3456"that started the helper. The gnunet-cmds-helper is used to load testcase "
3457"plugins. Those plugins are implementations of an api which is used to "
3458"start different test cases. Those plugins are dynamically loaded by "
3459"gnunet-cmds-helper. Each plugin defines the commands which are running in"
3460" a local interpreter loop started by the helper on that specific network "
3461"namespace node. The plugins are also responsible for the communication "
3462"via the helper with the master interpreter loop."
3463msgstr ""
3464
3465#: template/l2o/testng.html.j2:48
3466msgid "Command Pattern"
3467msgstr ""
3468
3469#: template/l2o/testng.html.j2:52
3470msgid ""
3471"The testing framework borrowed from the <a href=\"https://docs.taler.net"
3472"/developers-manual.html#testing-library\">GNU Taler testing library</a> "
3473"was extended to handle asychronous commands. Therefore a struct "
3474"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. "
3475"By default the continuation function of GNUNET_TESTING_AsyncContext is "
3476"the interpreter_next function of the interpreter loop (blocking "
3477"asynchronous command) which will be executed calling "
3478"GNUNET_TESTING_async_finish, when the asynchronous task finished, but "
3479"also can be any other function to be executed when the asynchronous task "
3480"is non blocking."
3481msgstr ""
3482
3483#: template/l2o/testng.html.j2:57
3484msgid "Topology Configuration"
3485msgstr ""
3486
3487#: template/l2o/testng.html.j2:61
3488msgid ""
3489"The topology of the netjail setup can be configured via a configuration "
3490"file, or with a configuration string handed over to the generic binary "
3491"for starting netjail based tests.</br></br> Both method can be examined "
3492"in two example test scripts</br></br> "
3493"test_transport_send_simple.sh</br></br> and</br></br> "
3494"test_transport_send_simple_string.sh</br></br> The Syntax of the "
3495"configuration is as follows.</br></br> The configuration string is "
3496"structured by lines and the delimiter ':' used for seperating "
3497"key/value(s) pairs and the chars '{' and '}' for grouping several "
3498"key/value pairs as value and '|' to separate a group of values from the "
3499"key/value(s) pair identifying a line.</br></br> Keys are</br></br> <table"
3500" width=\"100%\"> <tr> <td width=\"10%\" style=\"vertical-align: "
3501"top;\">M</td><td width=\"90%\" style=\"vertical-align: top;\">The number "
3502"of natted subnets in the topology.</td> </tr> <tr> <td></td><td> </td> "
3503"</tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">N</td><td "
3504"width=\"90%\" style=\"vertical-align: top;\">The number of nodes in each "
3505"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3506"style=\"vertical-align: top;\">X</td><td width=\"90%\" style=\"vertical-"
3507"align: top;\">The Number of globally known (not natted) nodes.</td> </tr>"
3508" <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-"
3509"align: top;\">K</td><td width=\"90%\" style=\"vertical-align: top;\"> A "
3510"globally known (not natted) node. The number value identifies the "
3511"node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3512"style=\"vertical-align: top;\">T</td><td width=\"90%\" style=\"vertical-"
3513"align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3514"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: "
3515"top;\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of"
3516" a subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3517"width=\"10%\" style=\"vertical-align: top;\">P</td><td width=\"90%\" "
3518"style=\"vertical-align: top;\">A subnet node with two key values, the "
3519"first one for identifying the subnet and the second for identifying the "
3520"node in the subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3521"width=\"10%\" style=\"vertical-align: top;\">connect</td><td "
3522"width=\"90%\" style=\"vertical-align: top;\">Can be one of several "
3523"grouped values of the P, K or R key. Configuring a connection to another "
3524"node. </br></br> The value of the connect key is a node key (P or K) with"
3525" two resp. one number value identifying the node, and an additional value"
3526" configuring a protocol. </br></br> If the connect key is used in a line "
3527"configuring a node it is used to configure a connection, which will "
3528"result in the node identified by the line P or K key will try to connect "
3529"nodes also identified with the P or K key via the configured "
3530"protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3531"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td "
3532"width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value of "
3533"the R key. The value of the tcp_port can be 0 or 1, if a port forwarding "
3534"to the first (index 1) node of a subnet is not or is configured for the "
3535"tcp protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3536"width=\"10%\" style=\"vertical-align: top;\">udp_port</td><td "
3537"width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value of "
3538"the R key. The value of the tcp_port can be 0 or 1, if a port forwarding "
3539"to the first (index 1) node of a subnet is not or is configured for the "
3540"udp protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3541"width=\"10%\" style=\"vertical-align: top;\">plugin</td><td width=\"90%\""
3542" style=\"vertical-align: top;\">Can be a grouped value of the P or K key."
3543" The value is the name of a plugin which will run on that peer instead of"
3544" the default plugin defined by key K.</td> </tr> </table>"
3545msgstr ""
3546
2940#: template/news/index.html.j2:45 3547#: template/news/index.html.j2:45
2941msgid "News archives:" 3548msgid "News archives:"
2942msgstr "" 3549msgstr ""
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"Last-Translator: Automatically generated\n" 12"Last-Translator: Automatically generated\n"
13"Language-Team: none\n" 13"Language-Team: none\n"
@@ -429,15 +429,15 @@ msgid ""
429msgstr "" 429msgstr ""
430 430
431#: template/applications.html.j2:160 431#: template/applications.html.j2:160
432msgid "Cadet-GTK" 432msgid "Messenger-GTK"
433msgstr "" 433msgstr ""
434 434
435#: template/applications.html.j2:162 435#: template/applications.html.j2:162
436msgid "" 436msgid ""
437"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 437"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
438"convenient but feature-rich graphical application providing messaging using " 438"convergent GTK messaging application using the GNUnet Messenger service. The "
439"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 439"goal is to provide private and secure communication between any group of "
440"design." 440"devices."
441msgstr "" 441msgstr ""
442 442
443#: template/applications.html.j2:180 443#: template/applications.html.j2:180
@@ -2682,7 +2682,8 @@ msgstr ""
2682msgid "Tutorial: GNUnet on OpenWrt" 2682msgid "Tutorial: GNUnet on OpenWrt"
2683msgstr "" 2683msgstr ""
2684 2684
2685#: template/install-on-openwrt.html.j2:47 2685#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
2686#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
2686msgid "Configuration" 2687msgid "Configuration"
2687msgstr "" 2688msgstr ""
2688 2689
@@ -2871,6 +2872,585 @@ msgstr ""
2871msgid "Videos related to GNUnet" 2872msgid "Videos related to GNUnet"
2872msgstr "" 2873msgstr ""
2873 2874
2875#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
2876#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
2877#: template/l2o/testng.html.j2:6
2878msgid "NGI Assure project: Layer-2-Overlay"
2879msgstr ""
2880
2881#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
2882msgid "Project motivation"
2883msgstr ""
2884
2885#: template/l2o/index.html.j2:13
2886msgid "New Test Framework"
2887msgstr ""
2888
2889#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
2890msgid "Milestones"
2891msgstr ""
2892
2893#: template/l2o/index.html.j2:15
2894msgid "Milestone 1"
2895msgstr ""
2896
2897#: template/l2o/index.html.j2:16
2898msgid "Milestone 2"
2899msgstr ""
2900
2901#: template/l2o/index.html.j2:17
2902msgid "Milestone 3"
2903msgstr ""
2904
2905#: template/l2o/index.html.j2:18
2906msgid "Milestone 4"
2907msgstr ""
2908
2909#: template/l2o/index.html.j2:19
2910msgid "Milestone 5"
2911msgstr ""
2912
2913#: template/l2o/index.html.j2:20
2914msgid "Milestone 6"
2915msgstr ""
2916
2917#: template/l2o/index.html.j2:27
2918msgid ""
2919"This project was funded through the NGI Assure Fund, a fund established by "
2920"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
2921msgstr ""
2922
2923#: template/l2o/index.html.j2:39
2924msgid ""
2925"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
2926"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
2927"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
2928"the ATS subsystem for bandwidth allocation and choosing plugins has several "
2929"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
2930"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
2931"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
2932"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
2933"Next Generation (TNG) subsystem. One major change in the design is to "
2934"separate the protocol plugins into processes (now called communicators) "
2935"detached from the main transport service. Three communicators were already "
2936"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
2937"maintain, because it is cluttered with \"manipulation\" support code for "
2938"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
2939"especially with TESTBED which has its own design flaws, and test code which "
2940"is very hard to read to get an idea what the test code is doing. Therefore "
2941"the first task (milestone 1) is to implement a new testing framework which "
2942"uses network namespaces to make testing of TNG much easier. Have a look into "
2943"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
2944"\">milestones</a>."
2945msgstr ""
2946
2947#: template/l2o/index.html.j2:50
2948msgid "New Test Framwork"
2949msgstr ""
2950
2951#: template/l2o/index.html.j2:54
2952msgid "Command Style Pattern"
2953msgstr ""
2954
2955#: template/l2o/index.html.j2:58
2956msgid ""
2957"The new style of writing tests in GNUnet is borrowed from the <a href="
2958"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
2959"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
2960"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
2961"test environment for each peer, to start a single peers and sending a simple "
2962"test message. Because some commands depend on other commands to be finished, "
2963"and those commands are asynchronous, we needed additional functionality in "
2964"the command interpreter library to block execution until some commands are "
2965"finished (e.g. all peers needs to be running, before peers starting to send "
2966"messages). For a detailed description have a look into the <a href=\"testng."
2967"html\">testing ng documentation</a>."
2968msgstr ""
2969
2970#: template/l2o/index.html.j2:64
2971msgid "Netjails"
2972msgstr ""
2973
2974#: template/l2o/index.html.j2:68
2975msgid ""
2976"To do extensive testing of the new transport implementation one needs to "
2977"simulate various network topologies to enable faking network characteristics "
2978"like lossy connections or firewalls. To achieve this we are working with <a "
2979"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
2980"namespace</a>. We have commands for starting and stopping network "
2981"namespaces. Those commands are scripts, which are using several shell "
2982"commands to setup the network namespace. A third script then is responsible "
2983"for start a GNUnet helper. This helper can load plugins. Each plugin "
2984"represents some test case. Per node in the network namespaces one helper is "
2985"started, which means on each node is a local interpreter loop running. For a "
2986"detailed description have a look into the <a href=\"testng.html\">testing ng "
2987"documentation</a>."
2988msgstr ""
2989
2990#: template/l2o/index.html.j2:78
2991msgid "Milestone 1 Test Infrastructure and minimal Test Case"
2992msgstr ""
2993
2994#: template/l2o/index.html.j2:81
2995msgid ""
2996"The first subtask consists of implementing a framework for setting up VLANs "
2997"between network namespaces and a framework to test communication between "
2998"peers which are running in those VLANs. Finally a minimal Test Case will be "
2999"implemented. Despite the fact that the transport service is already able to "
3000"use several communicators (transport protocol implementations), it will only "
3001"use the tcp communicator, not the unix socket nor the udp communicator, "
3002"which already are in place and working. <ul> <li>SUID helpers to setup "
3003"network namespace and starting peers with network namespace.</li> <li>Basic "
3004"transport-level operations (get address, send, receive, connect).</li> "
3005"<li>Peers connected through test and transfer data.</li> </ul>"
3006msgstr ""
3007
3008#: template/l2o/index.html.j2:93
3009msgid ""
3010"First MVP which uses the TCP communicator to send messages between peers. "
3011"The deliverable can be verified through out the specific test cases running "
3012"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3013msgstr ""
3014
3015#: template/l2o/index.html.j2:101
3016msgid "Milestone 2 Enhancing Test Framework"
3017msgstr ""
3018
3019#: template/l2o/index.html.j2:104
3020msgid ""
3021"To test more complex functionality we need to enhance the capabilities of "
3022"the testing framework. Hooks for performance measurement will be "
3023"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3024"execution of commands at a peer. (Barriers).</li> </ul>"
3025msgstr ""
3026
3027#: template/l2o/index.html.j2:114
3028msgid ""
3029"Outcome of this deliverable are advanced test case (again verifiable in the "
3030"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3031msgstr ""
3032
3033#: template/l2o/index.html.j2:122
3034msgid "Milestone 3 UDP integration"
3035msgstr ""
3036
3037#: template/l2o/index.html.j2:125
3038msgid ""
3039"With this subtask I will implement enhanced L2O features like using "
3040"unidirectional transport protocols with backchannels. Addresses by which a "
3041"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3042"this milestone the transport service will be able to use more than one "
3043"communicator (pluggable transport). <ul> <li>unidirectional communication "
3044"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3045msgstr ""
3046
3047#: template/l2o/index.html.j2:135
3048msgid ""
3049"The CI contains test case which uses the UDP protocol to message between "
3050"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3051msgstr ""
3052
3053#: template/l2o/index.html.j2:143
3054msgid "Milestone 4 Distance Vector"
3055msgstr ""
3056
3057#: template/l2o/index.html.j2:146
3058msgid ""
3059"In this subtask I will enhance connectivity to peers not directly connected. "
3060"Therefore peers have to act as relay. To achieve this I will implement the "
3061"distance vector protocol."
3062msgstr ""
3063
3064#: template/l2o/index.html.j2:152
3065msgid ""
3066"The CI contains test cases with a setup of peers not connected directly. The "
3067"test cases proof that each peer can reach any other peer."
3068msgstr ""
3069
3070#: template/l2o/index.html.j2:158
3071msgid "Milestone 5 NAT Traversal"
3072msgstr ""
3073
3074#: template/l2o/index.html.j2:161
3075msgid ""
3076"This subtask will make peers behind NAT reachable. Two simple traversal "
3077"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3078"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3079msgstr ""
3080
3081#: template/l2o/index.html.j2:171
3082msgid ""
3083"The CI contains test case with a peer setup containing peer behind a NAT. "
3084"The test cases proof that each peer can be reached, even if that peer is "
3085"behind a NAT. The test case are measuring the performance. This measurement "
3086"is used to compare with the outcome of the next milestone. This result of "
3087"this milestone will be a first stable release."
3088msgstr ""
3089
3090#: template/l2o/index.html.j2:178
3091msgid "Milestone 6 Optimization"
3092msgstr ""
3093
3094#: template/l2o/index.html.j2:181
3095msgid ""
3096"In this subtask I will implement algorithms (flow and congestion control, "
3097"quality of service optimizations) which will select the optimal transport "
3098"protocol for a given situation. I will analyze potential performance gains "
3099"by integrating libraries of the interpeer project. If the effort of "
3100"integrating interpeer presumably would lead to better performance than other "
3101"optimizations of the same amount of work, this integration is done. I will "
3102"finish the project with a performance analysis to optimize the selection "
3103"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3104"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3105"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3106"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3107"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3108msgstr ""
3109
3110#: template/l2o/index.html.j2:201
3111msgid ""
3112"The test cases in the CI are measuring the performance gains. This "
3113"measurement can be compared with the measurement of milestone 5. Again one "
3114"outcome of this milestone will be a stable release. Documentation of the "
3115"interpeer project analysis."
3116msgstr ""
3117
3118#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3119#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3120msgid "Project main page"
3121msgstr ""
3122
3123#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3124#: template/l2o/mile3.html.j2:29
3125msgid "Master Loop"
3126msgstr ""
3127
3128#: template/l2o/mile1.html.j2:22
3129msgid ""
3130"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3131"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3132"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3133"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3134"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3135"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3136"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3137"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3138"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3139"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3140"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3141"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3142"to execute a local test interpreter per node. Will be execute by the "
3143"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3144"\" style=\"vertical-align: top;\">src/testing/"
3145"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3146"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3147"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3148"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3149"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3150"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3151"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3152"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3153"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3154"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3155"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3156"td><td> </td> </tr> </table>"
3157msgstr ""
3158
3159#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3160#: template/l2o/mile3.html.j2:66
3161msgid "Local Loop"
3162msgstr ""
3163
3164#: template/l2o/mile1.html.j2:67
3165msgid ""
3166"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3167"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3168"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3169"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3170"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3171"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3172"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3173"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3174"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3175"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3176"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3177"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3178"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3179"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3180"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3181"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3182"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3183"align: top;\">Command to send a simple message from one peer to another.</"
3184"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3185"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3186"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3187"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3188"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3189"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3190"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3191"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3192"a message to the master loop, if the local loop has finished.</td> <tr> </"
3193"table>"
3194msgstr ""
3195
3196#: template/l2o/mile1.html.j2:115
3197msgid ""
3198"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3199"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3200"style=\"vertical-align: top;\">Configuration for the first node running "
3201"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3202"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3203"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3204"align: top;\">Configuration for the second node running during the simple "
3205"send test case.</td> </tr> </table>"
3206msgstr ""
3207
3208#: template/l2o/mile2.html.j2:22
3209msgid ""
3210"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3211"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3212"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3213"checks, if a kernel parameter is set to allow unprivileged users to create "
3214"network namespaces. The script than starts the following gerneric binary in "
3215"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3216"\" style=\"vertical-align: top;\">src/transport/"
3217"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3218"align: top;\">A generic binary to start a test case which will be configured "
3219"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3220"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3221"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3222"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3223"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3224"\">Script which reads the topology from a file for the use in the other "
3225"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3226"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3227"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3228"topology data.</td> </tr> </table>"
3229msgstr ""
3230
3231#: template/l2o/mile2.html.j2:50
3232msgid ""
3233"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3234"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3235"\"vertical-align: top;\">Command to send a message to the master loop if a "
3236"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3237"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3238"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3239"align: top;\">Command to send a message to the master loop if a peer is "
3240"ready to shutdown.</td> </tr> </table>"
3241msgstr ""
3242
3243#: template/l2o/mile2.html.j2:65
3244msgid ""
3245"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3246"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3247"\"vertical-align: top;\">Command now uses a configuration template for the "
3248"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3249"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3250"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3251"file for the simple send test case.</td> <tr> </table>"
3252msgstr ""
3253
3254#: template/l2o/mile3.html.j2:20
3255msgid "Bug fixing"
3256msgstr ""
3257
3258#: template/l2o/mile3.html.j2:22
3259msgid ""
3260"Some bugs in the tng service and communicator code which were found with new "
3261"tests were fixed."
3262msgstr ""
3263
3264#: template/l2o/mile3.html.j2:31
3265msgid ""
3266"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3267"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
3268"style=\"vertical-align: top;\">Added script to start the udp backchannel "
3269"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3270"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
3271"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
3272"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3273"\" style=\"vertical-align: top;\">src/transport/"
3274"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
3275"align: top;\">Added script as an example to start a test with inline "
3276"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3277"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
3278"\" style=\"vertical-align: top;\">Changed code to handle strings with "
3279"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3280"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3281"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
3282"start script to configure port forwarding for specific protocols (tcp, udp)."
3283"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
3284"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
3285"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
3286"</table>"
3287msgstr ""
3288
3289#: template/l2o/mile3.html.j2:68
3290msgid ""
3291"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3292"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
3293"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
3294"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
3295"\" style=\"vertical-align: top;\">src/transport/"
3296"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
3297"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
3298"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
3299"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
3300"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
3301"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
3302"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
3303"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
3304"\"vertical-align: top;\">Command to block the local loop until triggered by "
3305"a external signal.</td> </tr> </table>"
3306msgstr ""
3307
3308#: template/l2o/mile3.html.j2:94
3309msgid ""
3310"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3311"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
3312"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
3313"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
3314"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
3315"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
3316"file for the udp backchannel test case.</td> <tr> </table>"
3317msgstr ""
3318
3319#: template/l2o/testng.html.j2:20
3320msgid "Netjail setup and execution"
3321msgstr ""
3322
3323#: template/l2o/testng.html.j2:22
3324msgid ""
3325"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
3326"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
3327"isolated from each other to test how GNUnet nodes with limited connectivity "
3328"behave, and how the new transport next generation implementation can help to "
3329"circumvent the connectivity obstacles. The network namespaces are span a "
3330"network with globally known nodes and several subnets separated from each "
3331"other via a single router. We have three scripts for the test setup: <ul> "
3332"<li>netjail_start.sh: A script to setup the network namespaces. This script "
3333"takes three arguments. The first is either the name of a configuration for "
3334"the test setup topology or a string containing the topology information. The "
3335"second is the process id of the test. The third is a flag if the first "
3336"parameter contains the name of the configuration file or the topology string."
3337"</li> <li>netjail_exec.sh: A script to run some command in a specific "
3338"namespace. This script takes eight arguments. The first is the index of a "
3339"node in a namespace for which we like to execute a command. The second is "
3340"the index of the namespace of the node. The third is the command to execute, "
3341"the fourth is the number of subnets, the fifth the number of nodes in each "
3342"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
3343"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
3344"is a flag is the topology information is given via a topology file of a "
3345"string containing the topology information..</li> <li>netjail_stop.sh: A "
3346"script which remove all the network namespace setup by netjail_start.sh. The "
3347"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
3348"generic test binary (test_transport_start_with_config) which will start the "
3349"above mentioned scripts. Because creating network namespaces is only "
3350"permitted for privileged users the generic test binary is not start "
3351"directly, but via scripts. This script starts the generic binary using the "
3352"command unshare. Using unshare one can create a namespace with its own user "
3353"namespace, where creating network namespaces is allowed. Precondition to do "
3354"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
3355"parameter."
3356msgstr ""
3357
3358#: template/l2o/testng.html.j2:38
3359msgid "CMD helper and testcase plugins"
3360msgstr ""
3361
3362#: template/l2o/testng.html.j2:42
3363msgid ""
3364"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
3365"framework a special command is used: gnunet-cmds-helper This commands itself "
3366"is of a special kind named helper processes which communicates via "
3367"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
3368"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
3369"plugins are implementations of an api which is used to start different test "
3370"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
3371"plugin defines the commands which are running in a local interpreter loop "
3372"started by the helper on that specific network namespace node. The plugins "
3373"are also responsible for the communication via the helper with the master "
3374"interpreter loop."
3375msgstr ""
3376
3377#: template/l2o/testng.html.j2:48
3378msgid "Command Pattern"
3379msgstr ""
3380
3381#: template/l2o/testng.html.j2:52
3382msgid ""
3383"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
3384"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
3385"extended to handle asychronous commands. Therefore a struct "
3386"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
3387"default the continuation function of GNUNET_TESTING_AsyncContext is the "
3388"interpreter_next function of the interpreter loop (blocking asynchronous "
3389"command) which will be executed calling GNUNET_TESTING_async_finish, when "
3390"the asynchronous task finished, but also can be any other function to be "
3391"executed when the asynchronous task is non blocking."
3392msgstr ""
3393
3394#: template/l2o/testng.html.j2:57
3395msgid "Topology Configuration"
3396msgstr ""
3397
3398#: template/l2o/testng.html.j2:61
3399msgid ""
3400"The topology of the netjail setup can be configured via a configuration "
3401"file, or with a configuration string handed over to the generic binary for "
3402"starting netjail based tests.</br></br> Both method can be examined in two "
3403"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
3404"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
3405"configuration is as follows.</br></br> The configuration string is "
3406"structured by lines and the delimiter ':' used for seperating key/value(s) "
3407"pairs and the chars '{' and '}' for grouping several key/value pairs as "
3408"value and '|' to separate a group of values from the key/value(s) pair "
3409"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
3410"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
3411"style=\"vertical-align: top;\">The number of natted subnets in the topology."
3412"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3413"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
3414"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
3415"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
3416"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
3417"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
3418"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
3419"align: top;\"> A globally known (not natted) node. The number value "
3420"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3421"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
3422"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
3423"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
3424"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
3425"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
3426"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
3427"align: top;\">A subnet node with two key values, the first one for "
3428"identifying the subnet and the second for identifying the node in the subnet."
3429"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3430"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
3431"align: top;\">Can be one of several grouped values of the P, K or R key. "
3432"Configuring a connection to another node. </br></br> The value of the "
3433"connect key is a node key (P or K) with two resp. one number value "
3434"identifying the node, and an additional value configuring a protocol. </br></"
3435"br> If the connect key is used in a line configuring a node it is used to "
3436"configure a connection, which will result in the node identified by the line "
3437"P or K key will try to connect nodes also identified with the P or K key via "
3438"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
3439"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
3440"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
3441"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
3442"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
3443"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
3444"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
3445"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
3446"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
3447"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
3448"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
3449"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
3450"of the P or K key. The value is the name of a plugin which will run on that "
3451"peer instead of the default plugin defined by key K.</td> </tr> </table>"
3452msgstr ""
3453
2874#: template/news/index.html.j2:45 3454#: template/news/index.html.j2:45
2875msgid "News archives:" 3455msgid "News archives:"
2876msgstr "" 3456msgstr ""
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 ""
7msgstr "" 7msgstr ""
8"Project-Id-Version: PROJECT VERSION\n" 8"Project-Id-Version: PROJECT VERSION\n"
9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 9"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10"POT-Creation-Date: 2021-09-29 13:55+0200\n" 10"POT-Creation-Date: 2022-02-25 20:18+0100\n"
11"PO-Revision-Date: 2021-08-24 08:59+0000\n" 11"PO-Revision-Date: 2021-08-24 08:59+0000\n"
12"Last-Translator: Ting-Yi Fu <futingyi0215@gmail.com>\n" 12"Last-Translator: Ting-Yi Fu <futingyi0215@gmail.com>\n"
13"Language-Team: Chinese (Traditional) <http://weblate.taler.net/projects/" 13"Language-Team: Chinese (Traditional) <http://weblate.taler.net/projects/"
@@ -494,19 +494,16 @@ msgstr ""
494"新的加密協議來驗證密鑰。" 494"新的加密協議來驗證密鑰。"
495 495
496#: template/applications.html.j2:160 496#: template/applications.html.j2:160
497msgid "Cadet-GTK" 497msgid "Messenger-GTK"
498msgstr "學員GTK (Cadet-GTK)" 498msgstr ""
499 499
500#: template/applications.html.j2:162 500#: template/applications.html.j2:162
501msgid "" 501msgid ""
502"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a " 502"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
503"convenient but feature-rich graphical application providing messaging using " 503"convergent GTK messaging application using the GNUnet Messenger service. The "
504"the CADET subsystem. It is developed using GTK and libhandy for a convergent " 504"goal is to provide private and secure communication between any group of "
505"design." 505"devices."
506msgstr "" 506msgstr ""
507"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是一"
508"種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息傳遞。"
509"其使用 GTK 和 libhandy 開發的以收斂設計。"
510 507
511#: template/applications.html.j2:180 508#: template/applications.html.j2:180
512msgid "groupchat" 509msgid "groupchat"
@@ -3369,7 +3366,8 @@ msgstr "教學:NetBSD 8.0 當前上的 GNUnet"
3369msgid "Tutorial: GNUnet on OpenWrt" 3366msgid "Tutorial: GNUnet on OpenWrt"
3370msgstr "教學:OpenWrt 上的 GNUnet" 3367msgstr "教學:OpenWrt 上的 GNUnet"
3371 3368
3372#: template/install-on-openwrt.html.j2:47 3369#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
3370#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
3373msgid "Configuration" 3371msgid "Configuration"
3374msgstr "配置" 3372msgstr "配置"
3375 3373
@@ -3600,6 +3598,593 @@ msgstr "天哪,你們打破了我的網際網路"
3600msgid "Videos related to GNUnet" 3598msgid "Videos related to GNUnet"
3601msgstr "與 GNUnet 相關的影片" 3599msgstr "與 GNUnet 相關的影片"
3602 3600
3601#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
3602#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
3603#: template/l2o/testng.html.j2:6
3604msgid "NGI Assure project: Layer-2-Overlay"
3605msgstr ""
3606
3607#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
3608#, fuzzy
3609#| msgid "Motivation"
3610msgid "Project motivation"
3611msgstr "動機"
3612
3613#: template/l2o/index.html.j2:13
3614#, fuzzy
3615#| msgid "GNUnet is a framework"
3616msgid "New Test Framework"
3617msgstr "GNUnet 是一個框架"
3618
3619#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
3620msgid "Milestones"
3621msgstr ""
3622
3623#: template/l2o/index.html.j2:15
3624msgid "Milestone 1"
3625msgstr ""
3626
3627#: template/l2o/index.html.j2:16
3628msgid "Milestone 2"
3629msgstr ""
3630
3631#: template/l2o/index.html.j2:17
3632msgid "Milestone 3"
3633msgstr ""
3634
3635#: template/l2o/index.html.j2:18
3636msgid "Milestone 4"
3637msgstr ""
3638
3639#: template/l2o/index.html.j2:19
3640msgid "Milestone 5"
3641msgstr ""
3642
3643#: template/l2o/index.html.j2:20
3644msgid "Milestone 6"
3645msgstr ""
3646
3647#: template/l2o/index.html.j2:27
3648msgid ""
3649"This project was funded through the NGI Assure Fund, a fund established by "
3650"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
3651msgstr ""
3652
3653#: template/l2o/index.html.j2:39
3654msgid ""
3655"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
3656"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
3657"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
3658"the ATS subsystem for bandwidth allocation and choosing plugins has several "
3659"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
3660"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
3661"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
3662"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
3663"Next Generation (TNG) subsystem. One major change in the design is to "
3664"separate the protocol plugins into processes (now called communicators) "
3665"detached from the main transport service. Three communicators were already "
3666"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
3667"maintain, because it is cluttered with \"manipulation\" support code for "
3668"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
3669"especially with TESTBED which has its own design flaws, and test code which "
3670"is very hard to read to get an idea what the test code is doing. Therefore "
3671"the first task (milestone 1) is to implement a new testing framework which "
3672"uses network namespaces to make testing of TNG much easier. Have a look into "
3673"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
3674"\">milestones</a>."
3675msgstr ""
3676
3677#: template/l2o/index.html.j2:50
3678#, fuzzy
3679#| msgid "GNUnet is a framework"
3680msgid "New Test Framwork"
3681msgstr "GNUnet 是一個框架"
3682
3683#: template/l2o/index.html.j2:54
3684msgid "Command Style Pattern"
3685msgstr ""
3686
3687#: template/l2o/index.html.j2:58
3688msgid ""
3689"The new style of writing tests in GNUnet is borrowed from the <a href="
3690"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
3691"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
3692"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
3693"test environment for each peer, to start a single peers and sending a simple "
3694"test message. Because some commands depend on other commands to be finished, "
3695"and those commands are asynchronous, we needed additional functionality in "
3696"the command interpreter library to block execution until some commands are "
3697"finished (e.g. all peers needs to be running, before peers starting to send "
3698"messages). For a detailed description have a look into the <a href=\"testng."
3699"html\">testing ng documentation</a>."
3700msgstr ""
3701
3702#: template/l2o/index.html.j2:64
3703msgid "Netjails"
3704msgstr ""
3705
3706#: template/l2o/index.html.j2:68
3707msgid ""
3708"To do extensive testing of the new transport implementation one needs to "
3709"simulate various network topologies to enable faking network characteristics "
3710"like lossy connections or firewalls. To achieve this we are working with <a "
3711"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
3712"namespace</a>. We have commands for starting and stopping network "
3713"namespaces. Those commands are scripts, which are using several shell "
3714"commands to setup the network namespace. A third script then is responsible "
3715"for start a GNUnet helper. This helper can load plugins. Each plugin "
3716"represents some test case. Per node in the network namespaces one helper is "
3717"started, which means on each node is a local interpreter loop running. For a "
3718"detailed description have a look into the <a href=\"testng.html\">testing ng "
3719"documentation</a>."
3720msgstr ""
3721
3722#: template/l2o/index.html.j2:78
3723msgid "Milestone 1 Test Infrastructure and minimal Test Case"
3724msgstr ""
3725
3726#: template/l2o/index.html.j2:81
3727msgid ""
3728"The first subtask consists of implementing a framework for setting up VLANs "
3729"between network namespaces and a framework to test communication between "
3730"peers which are running in those VLANs. Finally a minimal Test Case will be "
3731"implemented. Despite the fact that the transport service is already able to "
3732"use several communicators (transport protocol implementations), it will only "
3733"use the tcp communicator, not the unix socket nor the udp communicator, "
3734"which already are in place and working. <ul> <li>SUID helpers to setup "
3735"network namespace and starting peers with network namespace.</li> <li>Basic "
3736"transport-level operations (get address, send, receive, connect).</li> "
3737"<li>Peers connected through test and transfer data.</li> </ul>"
3738msgstr ""
3739
3740#: template/l2o/index.html.j2:93
3741msgid ""
3742"First MVP which uses the TCP communicator to send messages between peers. "
3743"The deliverable can be verified through out the specific test cases running "
3744"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
3745msgstr ""
3746
3747#: template/l2o/index.html.j2:101
3748msgid "Milestone 2 Enhancing Test Framework"
3749msgstr ""
3750
3751#: template/l2o/index.html.j2:104
3752msgid ""
3753"To test more complex functionality we need to enhance the capabilities of "
3754"the testing framework. Hooks for performance measurement will be "
3755"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
3756"execution of commands at a peer. (Barriers).</li> </ul>"
3757msgstr ""
3758
3759#: template/l2o/index.html.j2:114
3760msgid ""
3761"Outcome of this deliverable are advanced test case (again verifiable in the "
3762"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
3763msgstr ""
3764
3765#: template/l2o/index.html.j2:122
3766msgid "Milestone 3 UDP integration"
3767msgstr ""
3768
3769#: template/l2o/index.html.j2:125
3770msgid ""
3771"With this subtask I will implement enhanced L2O features like using "
3772"unidirectional transport protocols with backchannels. Addresses by which a "
3773"peer can be reached can be delivered on handshake or by UDP broadcast. With "
3774"this milestone the transport service will be able to use more than one "
3775"communicator (pluggable transport). <ul> <li>unidirectional communication "
3776"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
3777msgstr ""
3778
3779#: template/l2o/index.html.j2:135
3780msgid ""
3781"The CI contains test case which uses the UDP protocol to message between "
3782"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
3783msgstr ""
3784
3785#: template/l2o/index.html.j2:143
3786msgid "Milestone 4 Distance Vector"
3787msgstr ""
3788
3789#: template/l2o/index.html.j2:146
3790msgid ""
3791"In this subtask I will enhance connectivity to peers not directly connected. "
3792"Therefore peers have to act as relay. To achieve this I will implement the "
3793"distance vector protocol."
3794msgstr ""
3795
3796#: template/l2o/index.html.j2:152
3797msgid ""
3798"The CI contains test cases with a setup of peers not connected directly. The "
3799"test cases proof that each peer can reach any other peer."
3800msgstr ""
3801
3802#: template/l2o/index.html.j2:158
3803msgid "Milestone 5 NAT Traversal"
3804msgstr ""
3805
3806#: template/l2o/index.html.j2:161
3807msgid ""
3808"This subtask will make peers behind NAT reachable. Two simple traversal "
3809"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
3810"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
3811msgstr ""
3812
3813#: template/l2o/index.html.j2:171
3814msgid ""
3815"The CI contains test case with a peer setup containing peer behind a NAT. "
3816"The test cases proof that each peer can be reached, even if that peer is "
3817"behind a NAT. The test case are measuring the performance. This measurement "
3818"is used to compare with the outcome of the next milestone. This result of "
3819"this milestone will be a first stable release."
3820msgstr ""
3821
3822#: template/l2o/index.html.j2:178
3823msgid "Milestone 6 Optimization"
3824msgstr ""
3825
3826#: template/l2o/index.html.j2:181
3827msgid ""
3828"In this subtask I will implement algorithms (flow and congestion control, "
3829"quality of service optimizations) which will select the optimal transport "
3830"protocol for a given situation. I will analyze potential performance gains "
3831"by integrating libraries of the interpeer project. If the effort of "
3832"integrating interpeer presumably would lead to better performance than other "
3833"optimizations of the same amount of work, this integration is done. I will "
3834"finish the project with a performance analysis to optimize the selection "
3835"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
3836"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
3837"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
3838"a reasonable amount of work.</li> </ol> <li>Commands for performance "
3839"measurement(s).</li> <li>Performance analysis.</li> </ul>"
3840msgstr ""
3841
3842#: template/l2o/index.html.j2:201
3843msgid ""
3844"The test cases in the CI are measuring the performance gains. This "
3845"measurement can be compared with the measurement of milestone 5. Again one "
3846"outcome of this milestone will be a stable release. Documentation of the "
3847"interpeer project analysis."
3848msgstr ""
3849
3850#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
3851#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
3852msgid "Project main page"
3853msgstr ""
3854
3855#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
3856#: template/l2o/mile3.html.j2:29
3857msgid "Master Loop"
3858msgstr ""
3859
3860#: template/l2o/mile1.html.j2:22
3861msgid ""
3862"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3863"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
3864"style=\"vertical-align: top;\">Binary for starting the simple send test. "
3865"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3866"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
3867"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
3868"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
3869"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3870"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
3871"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
3872"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3873"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
3874"to execute a local test interpreter per node. Will be execute by the "
3875"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3876"\" style=\"vertical-align: top;\">src/testing/"
3877"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
3878"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
3879"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3880"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
3881"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
3882"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3883"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
3884"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
3885"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3886"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
3887"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
3888"td><td> </td> </tr> </table>"
3889msgstr ""
3890
3891#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
3892#: template/l2o/mile3.html.j2:66
3893msgid "Local Loop"
3894msgstr ""
3895
3896#: template/l2o/mile1.html.j2:67
3897msgid ""
3898"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3899"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
3900"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
3901"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3902"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
3903"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
3904"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3905"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
3906"\" style=\"vertical-align: top;\">Command to create a local test system.</"
3907"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3908"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
3909"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
3910"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3911"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
3912"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
3913"<td></td><td> </td> </tr> <tr> <td>src/transport/"
3914"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
3915"align: top;\">Command to send a simple message from one peer to another.</"
3916"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3917"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
3918"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
3919"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3920"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
3921"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
3922"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3923"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
3924"a message to the master loop, if the local loop has finished.</td> <tr> </"
3925"table>"
3926msgstr ""
3927
3928#: template/l2o/mile1.html.j2:115
3929msgid ""
3930"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3931"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
3932"style=\"vertical-align: top;\">Configuration for the first node running "
3933"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
3934"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
3935"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
3936"align: top;\">Configuration for the second node running during the simple "
3937"send test case.</td> </tr> </table>"
3938msgstr ""
3939
3940#: template/l2o/mile2.html.j2:22
3941msgid ""
3942"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3943"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
3944"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
3945"checks, if a kernel parameter is set to allow unprivileged users to create "
3946"network namespaces. The script than starts the following gerneric binary in "
3947"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3948"\" style=\"vertical-align: top;\">src/transport/"
3949"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
3950"align: top;\">A generic binary to start a test case which will be configured "
3951"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
3952"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
3953"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
3954"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3955"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
3956"\">Script which reads the topology from a file for the use in the other "
3957"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
3958"style=\"vertical-align: top;\">All already existing commands.</td><td width="
3959"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
3960"topology data.</td> </tr> </table>"
3961msgstr ""
3962
3963#: template/l2o/mile2.html.j2:50
3964msgid ""
3965"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3966"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
3967"\"vertical-align: top;\">Command to send a message to the master loop if a "
3968"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
3969"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
3970"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
3971"align: top;\">Command to send a message to the master loop if a peer is "
3972"ready to shutdown.</td> </tr> </table>"
3973msgstr ""
3974
3975#: template/l2o/mile2.html.j2:65
3976msgid ""
3977"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
3978"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
3979"\"vertical-align: top;\">Command now uses a configuration template for the "
3980"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
3981"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
3982"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
3983"file for the simple send test case.</td> <tr> </table>"
3984msgstr ""
3985
3986#: template/l2o/mile3.html.j2:20
3987msgid "Bug fixing"
3988msgstr ""
3989
3990#: template/l2o/mile3.html.j2:22
3991msgid ""
3992"Some bugs in the tng service and communicator code which were found with new "
3993"tests were fixed."
3994msgstr ""
3995
3996#: template/l2o/mile3.html.j2:31
3997msgid ""
3998"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
3999"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
4000"style=\"vertical-align: top;\">Added script to start the udp backchannel "
4001"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4002"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
4003"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
4004"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4005"\" style=\"vertical-align: top;\">src/transport/"
4006"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
4007"align: top;\">Added script as an example to start a test with inline "
4008"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
4009"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
4010"\" style=\"vertical-align: top;\">Changed code to handle strings with "
4011"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4012"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
4013"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
4014"start script to configure port forwarding for specific protocols (tcp, udp)."
4015"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
4016"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
4017"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
4018"</table>"
4019msgstr ""
4020
4021#: template/l2o/mile3.html.j2:68
4022msgid ""
4023"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4024"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
4025"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
4026"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
4027"\" style=\"vertical-align: top;\">src/transport/"
4028"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
4029"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
4030"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
4031"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
4032"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
4033"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
4034"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
4035"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
4036"\"vertical-align: top;\">Command to block the local loop until triggered by "
4037"a external signal.</td> </tr> </table>"
4038msgstr ""
4039
4040#: template/l2o/mile3.html.j2:94
4041msgid ""
4042"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
4043"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
4044"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
4045"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
4046"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
4047"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
4048"file for the udp backchannel test case.</td> <tr> </table>"
4049msgstr ""
4050
4051#: template/l2o/testng.html.j2:20
4052msgid "Netjail setup and execution"
4053msgstr ""
4054
4055#: template/l2o/testng.html.j2:22
4056msgid ""
4057"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
4058"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
4059"isolated from each other to test how GNUnet nodes with limited connectivity "
4060"behave, and how the new transport next generation implementation can help to "
4061"circumvent the connectivity obstacles. The network namespaces are span a "
4062"network with globally known nodes and several subnets separated from each "
4063"other via a single router. We have three scripts for the test setup: <ul> "
4064"<li>netjail_start.sh: A script to setup the network namespaces. This script "
4065"takes three arguments. The first is either the name of a configuration for "
4066"the test setup topology or a string containing the topology information. The "
4067"second is the process id of the test. The third is a flag if the first "
4068"parameter contains the name of the configuration file or the topology string."
4069"</li> <li>netjail_exec.sh: A script to run some command in a specific "
4070"namespace. This script takes eight arguments. The first is the index of a "
4071"node in a namespace for which we like to execute a command. The second is "
4072"the index of the namespace of the node. The third is the command to execute, "
4073"the fourth is the number of subnets, the fifth the number of nodes in each "
4074"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
4075"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
4076"is a flag is the topology information is given via a topology file of a "
4077"string containing the topology information..</li> <li>netjail_stop.sh: A "
4078"script which remove all the network namespace setup by netjail_start.sh. The "
4079"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
4080"generic test binary (test_transport_start_with_config) which will start the "
4081"above mentioned scripts. Because creating network namespaces is only "
4082"permitted for privileged users the generic test binary is not start "
4083"directly, but via scripts. This script starts the generic binary using the "
4084"command unshare. Using unshare one can create a namespace with its own user "
4085"namespace, where creating network namespaces is allowed. Precondition to do "
4086"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
4087"parameter."
4088msgstr ""
4089
4090#: template/l2o/testng.html.j2:38
4091msgid "CMD helper and testcase plugins"
4092msgstr ""
4093
4094#: template/l2o/testng.html.j2:42
4095msgid ""
4096"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
4097"framework a special command is used: gnunet-cmds-helper This commands itself "
4098"is of a special kind named helper processes which communicates via "
4099"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
4100"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
4101"plugins are implementations of an api which is used to start different test "
4102"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
4103"plugin defines the commands which are running in a local interpreter loop "
4104"started by the helper on that specific network namespace node. The plugins "
4105"are also responsible for the communication via the helper with the master "
4106"interpreter loop."
4107msgstr ""
4108
4109#: template/l2o/testng.html.j2:48
4110msgid "Command Pattern"
4111msgstr ""
4112
4113#: template/l2o/testng.html.j2:52
4114msgid ""
4115"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
4116"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
4117"extended to handle asychronous commands. Therefore a struct "
4118"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
4119"default the continuation function of GNUNET_TESTING_AsyncContext is the "
4120"interpreter_next function of the interpreter loop (blocking asynchronous "
4121"command) which will be executed calling GNUNET_TESTING_async_finish, when "
4122"the asynchronous task finished, but also can be any other function to be "
4123"executed when the asynchronous task is non blocking."
4124msgstr ""
4125
4126#: template/l2o/testng.html.j2:57
4127#, fuzzy
4128#| msgid "Configuration"
4129msgid "Topology Configuration"
4130msgstr "配置"
4131
4132#: template/l2o/testng.html.j2:61
4133msgid ""
4134"The topology of the netjail setup can be configured via a configuration "
4135"file, or with a configuration string handed over to the generic binary for "
4136"starting netjail based tests.</br></br> Both method can be examined in two "
4137"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
4138"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
4139"configuration is as follows.</br></br> The configuration string is "
4140"structured by lines and the delimiter ':' used for seperating key/value(s) "
4141"pairs and the chars '{' and '}' for grouping several key/value pairs as "
4142"value and '|' to separate a group of values from the key/value(s) pair "
4143"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
4144"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
4145"style=\"vertical-align: top;\">The number of natted subnets in the topology."
4146"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4147"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
4148"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
4149"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
4150"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
4151"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
4152"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
4153"align: top;\"> A globally known (not natted) node. The number value "
4154"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4155"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
4156"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
4157"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
4158"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
4159"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
4160"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
4161"align: top;\">A subnet node with two key values, the first one for "
4162"identifying the subnet and the second for identifying the node in the subnet."
4163"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4164"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
4165"align: top;\">Can be one of several grouped values of the P, K or R key. "
4166"Configuring a connection to another node. </br></br> The value of the "
4167"connect key is a node key (P or K) with two resp. one number value "
4168"identifying the node, and an additional value configuring a protocol. </br></"
4169"br> If the connect key is used in a line configuring a node it is used to "
4170"configure a connection, which will result in the node identified by the line "
4171"P or K key will try to connect nodes also identified with the P or K key via "
4172"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
4173"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
4174"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
4175"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
4176"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
4177"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
4178"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
4179"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
4180"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
4181"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
4182"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
4183"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
4184"of the P or K key. The value is the name of a plugin which will run on that "
4185"peer instead of the default plugin defined by key K.</td> </tr> </table>"
4186msgstr ""
4187
3603#: template/news/index.html.j2:45 4188#: template/news/index.html.j2:45
3604msgid "News archives:" 4189msgid "News archives:"
3605msgstr "新聞檔案:" 4190msgstr "新聞檔案:"
@@ -3731,6 +4316,19 @@ msgstr ""
3731"依賴方從分散的目錄中檢索加密的身份數據。它能夠使用相應的密鑰解密所有用戶已授" 4316"依賴方從分散的目錄中檢索加密的身份數據。它能夠使用相應的密鑰解密所有用戶已授"
3732"權訪問的屬性。" 4317"權訪問的屬性。"
3733 4318
4319#~ msgid "Cadet-GTK"
4320#~ msgstr "學員GTK (Cadet-GTK)"
4321
4322#~ msgid ""
4323#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
4324#~ "is a convenient but feature-rich graphical application providing "
4325#~ "messaging using the CADET subsystem. It is developed using GTK and "
4326#~ "libhandy for a convergent design."
4327#~ msgstr ""
4328#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是"
4329#~ "一種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息"
4330#~ "傳遞。其使用 GTK 和 libhandy 開發的以收斂設計。"
4331
3734#~ msgid "The IRC channel" 4332#~ msgid "The IRC channel"
3735#~ msgstr "IRC頻道" 4333#~ msgstr "IRC頻道"
3736 4334
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 @@
1{% extends "common/news.j2" %}
2{% block body_content %}
3 <h1>GNUnet 0.16.0 released</h1>
4<p>
5 We are pleased to announce the release of GNUnet 0.16.0.
6<br>
7 This is a new major release. It breaks protocol compatibility with the 0.15.x versions.
8 Please be aware that Git master is thus henceforth (and has been for a
9 while) <b>INCOMPATIBLE</b> with
10 the 0.15.x GNUnet network, and interactions between old and new peers
11 will result in issues. 0.15.x peers will be able to communicate with Git
12 master or 0.16.x peers, but some services - in particular GNS - will not be compatible.<br/>
13 In terms of usability, users should be aware that there are still
14 <b>a number of known open issues</b> in particular with respect to ease
15 of use, but also some critical privacy issues especially for mobile users.
16 Also, the nascent network is tiny and thus unlikely to
17 provide good anonymity or extensive amounts of interesting information.
18 As a result, the 0.16.0 release is still <b>only suitable for early adopters
19 with some reasonable pain tolerance</b>.
20</p>
21<h4>Download links</h4>
22<ul>
23 <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>
24 <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>
25 <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>
26</ul>
27<p>
28 The GPG key used to sign is: <a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">3D11063C10F98D14BD24D1470B0998EF86F59B6A</a>
29</p>
30<p>
31 Note that due to mirror synchronization, not all links might be functional
32 early after the release. For direct access try
33 <a href="http://ftp.gnu.org/gnu/gnunet/">http://ftp.gnu.org/gnu/gnunet/</a>
34</p>
35<h4>Noteworthy changes in 0.16.0 (since 0.15.3)</h4>
36<ul>
37 <li><tt>GNS</tt>:
38 <ul>
39 <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>
40 <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>
41 <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>
42 <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>
43 <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0001">LSD0001</a></li>
44
45 </ul>
46 </li>
47 <li><tt>DHT</tt>:
48 <ul>
49 <li>Routes can now be signed. <a href="https://bugs.gnunet.org/view.php?id=4164">#4164</a></li>
50 <li>Changed distance metric to a more traditional XOR. <a href="https://bugs.gnunet.org/view.php?id=7136">#7136</a></li>
51 <li>The specification has been updated to reflect the changes. <a href="https://lsd.gnunet.org/lsd0004">LSD0004</a></li>
52 </ul>
53 </li>
54 <li><tt>RECLAIM</tt>: Added some preliminary support for Decentralized Identifier (DID) and Verifiable Credentials (VCs).</li>
55 <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>
56 <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>
57</ul>
58<p>
59 A detailed list of changes can be found in the <a href="https://git.gnunet.org/gnunet.git/tree/ChangeLog">ChangeLog</a> and
60 the <a href="https://bugs.gnunet.org/changelog_page.php?project_id=13">bug tracker</a>.
61</p>
62<h4>Known Issues</h4>
63<ul>
64 <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>
65 <li>There are known moderate implementation limitations in CADET that negatively impact performance.</li>
66 <li>There are known moderate design issues in FS that also impact usability and performance.</li>
67 <li>There are minor implementation limitations in SET that create unnecessary attack surface for availability.</li>
68 <li>The RPS subsystem remains experimental.</li>
69 <li>Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.</li>
70</ul>
71<p>
72 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.
73</p>
74
75<h4>Thanks</h4>
76<p>
77 This release was the work of many people. The following people contributed code and were thus easily identified:
78 Christian Grothoff, Tristan Schwieren, Alessio Vanni, Florian Dold, Thien-Thi Nguyen, t3sserakt, Lucien Heuzeveldt, Gian Demarmels, madmurphy, TheJackiMonster and Martin Schanzenbach.
79</p>
80{% endblock body_content %}
diff --git a/www.yml b/www.yml
index d49a9f52..c44a7527 100644
--- a/www.yml
+++ b/www.yml
@@ -29,6 +29,9 @@ meetingnotes:
29 2019: 2019-12-27 29 2019: 2019-12-27
30 2020: 2020-12-30 30 2020: 2020-12-30
31newsposts: 31newsposts:
32 - page: 2022-02-0.16.0.html
33 date: 2022-02-25
34 title: GNUnet 0.16.0
32 - page: 2021-12-GNSSpecISE.html 35 - page: 2021-12-GNSSpecISE.html
33 date: 2021-12-28 36 date: 2021-12-28
34 title: GNS Technical Specification Call for Reviews 37 title: GNS Technical Specification Call for Reviews