# Translations template for PROJECT. # Copyright (C) 2024 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # FIRST AUTHOR , 2024. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2024-03-15 09:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" #: common/base.j2:5 common/news.j2:5 msgid "GNUnet" msgstr "" #: common/base.j2:6 common/news.j2:6 msgid "GNU's framework for secure p2p networking" msgstr "" #: common/footer.j2.inc:7 msgid "Contact" msgstr "" #: common/footer.j2.inc:8 msgid "GNUnet e.V." msgstr "" #: common/footer.j2.inc:9 template/about.html.j2:7 msgid "About GNUnet" msgstr "" #: common/footer.j2.inc:14 common/navigation.j2.inc:61 msgid "Bug Tracker" msgstr "" #: common/footer.j2.inc:19 template/copyright.html.j2:7 msgid "Copyright Assignment" msgstr "" #: common/footer.j2.inc:20 template/developers.html.j2:25 msgid "Bibliography" msgstr "" #: common/footer.j2.inc:31 msgid "Source code of this site." msgstr "" #: common/footer.j2.inc:32 msgid "Report issues with this website." msgstr "" #: common/navigation.j2.inc:10 msgid "Skip to main content" msgstr "" #: common/navigation.j2.inc:33 msgid "Home" msgstr "" #: common/navigation.j2.inc:34 msgid "About" msgstr "" #: common/navigation.j2.inc:35 common/old-news.j2.inc:8 #: template/news/index.html.j2:9 msgid "News" msgstr "" #: common/navigation.j2.inc:36 template/index.html.j2:338 msgid "Applications" msgstr "" #: common/navigation.j2.inc:37 msgid "Documentation" msgstr "" #: common/navigation.j2.inc:38 msgid "Videos" msgstr "" #: common/navigation.j2.inc:42 msgid "Community" msgstr "" #: common/navigation.j2.inc:45 template/index.html.j2:341 msgid "Engage" msgstr "" #: common/navigation.j2.inc:46 msgid "GSoC Projects" msgstr "" #: common/navigation.j2.inc:48 msgid "Copyright for Contributors" msgstr "" #: common/navigation.j2.inc:49 msgid "IRC Archive" msgstr "" #: common/navigation.j2.inc:56 msgid "Development" msgstr "" #: common/navigation.j2.inc:59 msgid "System Architecture" msgstr "" #: common/navigation.j2.inc:60 template/roadmap.html.j2:7 msgid "Roadmap" msgstr "" #: common/navigation.j2.inc:62 template/gnurl.html.j2:187 msgid "Source Code" msgstr "" #: common/navigation.j2.inc:63 msgid "Source Code Documentation" msgstr "" #: common/navigation.j2.inc:64 msgid "Continuous Integration" msgstr "" #: common/old-news.j2.inc:11 template/news/index.html.j2:12 msgid "News posts about changes related to GNUnet such as releases and events" msgstr "" #: common/old-news.j2.inc:16 template/news/index.html.j2:17 msgid "subscribe to our RSS feed" msgstr "" #: common/old-news.j2.inc:35 template/news/index.html.j2:37 msgid "read more" msgstr "" #: template/about.html.j2:12 msgid "What is GNUnet?" msgstr "" #: template/about.html.j2:14 msgid "" "GNUnet is an alternative network stack for building secure, decentralized" " and privacy-preserving distributed applications. Our goal is to replace " "the old insecure Internet protocol stack. Starting from an application " "for secure publication of files, it has grown to include all kinds of " "basic protocol components and applications towards the creation of a GNU " "internet." msgstr "" #: template/about.html.j2:24 msgid "" "Today, the actual use and thus the social requirements for a global " "network differs widely from those goals of 1970. While the Internet " "remains suitable for military use, where the network equipment is " "operated by a command hierarchy and when necessary isolated from the rest" " of the world, the situation is less tenable for civil society." msgstr "" #: template/about.html.j2:33 msgid "" "Due to fundamental Internet design choices, Internet traffic can be " "misdirected, intercepted, censored and manipulated by hostile routers on " "the network. And indeed, the modern Internet has evolved exactly to the " "point where, as Matthew Green put it, \"the network is hostile\"." msgstr "" #: template/about.html.j2:42 msgid "" "We believe liberal societies need a network architecture that uses the " "anti-authoritarian decentralized peer-to-peer paradigm and privacy-" "preserving cryptographic protocols. The goal of the GNUnet project is to " "provide a Free Software realization of this ideal." msgstr "" #: template/about.html.j2:50 msgid "" "Specifically, GNUnet tries to follow the following design principles, in " "order of importance:" msgstr "" #: template/about.html.j2:57 msgid "" "GNUnet must be implemented as Free Software." msgstr "" #: template/about.html.j2:61 msgid "" "GNUnet must minimize the amount of personally identifiable information " "exposed." msgstr "" #: template/about.html.j2:62 msgid "" "GNUnet must be fully distributed and resilient to external attacks and " "rogue participants." msgstr "" #: template/about.html.j2:63 msgid "" "GNUnet must be self-organizing and not depend on administrators or " "centralized infrastructure." msgstr "" #: template/about.html.j2:64 msgid "" "GNUnet must inform the user which other participants have to be trusted " "when establishing private communications." msgstr "" #: template/about.html.j2:65 msgid "GNUnet must be open and permit new peers to join." msgstr "" #: template/about.html.j2:66 msgid "GNUnet must support a diverse range of applications and devices." msgstr "" #: template/about.html.j2:67 msgid "GNUnet must use compartmentalization to protect sensitive information." msgstr "" #: template/about.html.j2:68 msgid "The GNUnet architecture must be resource efficient." msgstr "" #: template/about.html.j2:69 msgid "" "GNUnet must provide incentives for peers to contribute more resources " "than they consume." msgstr "" #: template/about.html.j2:73 msgid "" "To get know and learn more, please check our handbook, " "especially the chapter on \"Key Concepts\", explaining the " "fundamental concepts of GNUnet: " msgstr "" #: template/about.html.j2:89 msgid "More Resources" msgstr "" #: template/about.html.j2:91 msgid "" "There are many more resources to learn about GNUnet besides the handbook, such " "as the bibliography with papers " "covering the various layers, many videos or a brief glossary." msgstr "" #: template/about.html.j2:96 msgid "" "You are most welcome to get engaged into the " "conversation, install GNUnet, use it and contribute and " "get engaged in various ways." msgstr "" #: template/about.html.j2:101 msgid "" "Please be aware that this project is (despite of it's age) still in an " "early alpha stage when it comes to software – its not an easy task " "to rewrite the whole Internet!" msgstr "" #: template/about.html.j2:106 msgid "Current funding" msgstr "" #: template/about.html.j2:111 msgid "" "This project is receiving funding from the European Union’s Horizon 2020 " "research and innovation programme NGI Assure." msgstr "" #: template/about.html.j2:123 msgid "We are grateful for free hosting offered by the following organizations:" msgstr "" #: template/about.html.j2:132 msgid "Past funding" msgstr "" #: template/about.html.j2:134 msgid "We are grateful for past funding from the following organizations:" msgstr "" #: template/applications.html.j2:8 msgid "Applications provided by GNUnet" msgstr "" #: template/applications.html.j2:14 template/gns.html.j2:8 msgid "The GNU Name System" msgstr "" #: template/applications.html.j2:16 msgid "" "The GNU Name System (GNS) is a fully " "decentralized replacement for the Domain Name System (DNS). Instead of " "using a hierarchy, GNS uses a directed graph. Naming conventions are " "similar to DNS, but queries and replies are private even with respect to " "peers providing the answers. The integrity of records and privacy of " "look-ups are cryptographically secured. " msgstr "" #: template/applications.html.j2:39 msgid "Self-sovereign, decentralized identity provider" msgstr "" #: template/applications.html.j2:42 msgid "" "is a decentralized Identity Provider (IdP) service built in top of the " "GNU Name System. It allows users to securely share personal information " "with websites using standardized protocols (OpenID Connect)." msgstr "" #: template/applications.html.j2:58 msgid "Filesharing (Alpha)" msgstr "" #: template/applications.html.j2:60 msgid "" "GNUnet filesharing is an application that " "aims to provide censorship-resistant, anonymous filesharing. The " "publisher is empowered to make a gradual choice between performance and " "anonymity." msgstr "" #: template/applications.html.j2:74 msgid "Conversation (Pre-Alpha)" msgstr "" #: template/applications.html.j2:76 msgid "" "GNUnet conversation is an application that provides secure voice " "communication in a fully decentralized way by employing GNUnet for " "routing and transport." msgstr "" #: template/applications.html.j2:92 msgid "Applications utilizing GNUnet" msgstr "" #: template/applications.html.j2:98 msgid "GNU Taler (Alpha)" msgstr "" #: template/applications.html.j2:100 msgid "" "GNU Taler is a new privacy-preserving " "electronic payment system. Payments are cryptographically secured and are" " confirmed within milliseconds with extremely low transaction costs." msgstr "" #: template/applications.html.j2:120 msgid "secushare" msgstr "" #: template/applications.html.j2:122 msgid "" "secushare is creating a " "decentralized social networking application on top of GNUnet. Using " "overlay multicast and the extensible PSYC protocol, notifications are " "distributed end-to-end encrypted to authorized recipients only." msgstr "" #: template/applications.html.j2:142 msgid "Messenger-GTK" msgstr "" #: template/applications.html.j2:144 msgid "" "Messenger-GTK " "is a convergent GTK messaging application using the GNUnet Messenger " "service. The goal is to provide private and secure communication between " "any group of devices." msgstr "" #: template/applications.html.j2:163 msgid "messenger-cli" msgstr "" #: template/applications.html.j2:165 msgid "" "messenger-cli " "is a terminal user interface providing messaging using the GNUnet " "Messenger service. It is developed in C using ncurses. Messenger-GTK and " "messenger-cli are fully compatible." msgstr "" #: template/architecture.html.j2:7 msgid "GNUnet System Architecture" msgstr "" #: template/architecture.html.j2:21 msgid "Foundations" msgstr "" #: template/architecture.html.j2:23 msgid "" "The foundations of GNUnet are a distributed hash table (R5N), an SCTP-" "like end-to-end encrypted messaging layer (CADET), a public key " "infrastructure (GNS) and a pluggable transport system (TRANSPORT).
" "Using public keys for addresses and self-organizing decentralized routing" " algorithms, these subsystems replace the traditional TCP/IP stack." msgstr "" #: template/architecture.html.j2:36 msgid "Security" msgstr "" #: template/architecture.html.j2:39 msgid "" "GNUnet is implemented using a multi-process architecture. Each subsystem " "runs as a separate process, providing fault isolation and enabling tight " "permissions to be granted to each subsystem. Naturally, the " "implementation is a GNU package, and" " will always remain free software." msgstr "" #: template/architecture.html.j2:53 msgid "System architecture" msgstr "" #: template/architecture.html.j2:59 msgid "Subsystems" msgstr "" #: template/architecture.html.j2:68 msgid "libgnunetutil" msgstr "" #: template/architecture.html.j2:74 msgid "APIs" msgstr "" #: template/architecture.html.j2:87 msgid "Legend" msgstr "" #: template/contact.html.j2:7 msgid "Contact information" msgstr "" #: template/contact.html.j2:12 msgid "The mailing list" msgstr "" #: template/contact.html.j2:14 msgid "" "An archived, public mailing list for GNUnet is hosted at https://lists.gnu.org/mailman/listinfo/gnunet-" "developers. You can send messages to the list at gnunet-developers@gnu.org." msgstr "" #: template/contact.html.j2:26 msgid "Contacting individuals" msgstr "" #: template/contact.html.j2:28 msgid "" "GNUnet developers are generally reachable at either " "PSEUDONYM@gnunet.org or LASTNAME@gnunet.org. Most of us" " support receiving GnuPG encrypted Emails. Urgent and sensitive security " "issues may be addressed to the GNU maintainers schanzen and " "grothoff." msgstr "" #: template/contact.html.j2:41 msgid "Reporting bugs" msgstr "" #: template/contact.html.j2:43 msgid "" "We track open feature requests and bugs for projects within GNUnet in our" " Bug tracker. You can also " "report bugs or feature requests to the bug-gnunet" " mailing list. The mailinglist requires no subscription." msgstr "" #: template/copyright.html.j2:12 msgid "" "

Contributors to GNUnet with Git access must sign the copyright assignment to ensure " "that the GNUnet e.V. --- Taler Systems SA" " agreement on licensing and collaborative development of the GNUnet " "and GNU Taler projects is satisfied.

" msgstr "" #: template/copyright.html.j2:23 msgid "" "

The agreements ensure that the code will continue to be made available" " under free software licenses, but gives developers the freedom to move " "code between GNUnet and GNU Taler without worrying about licenses and to " "give the company the ability to dual-license (for example, so that we can" " distribute via App-stores that are hostile to free software).

" msgstr "" #: template/copyright.html.j2:31 msgid "" "

Minor contributions (basically, anyone without Git access) do not " "require copyright assignment. Pseudonymous contributions are accepted, in" " this case simply sign the agreement with your pseudonym. Scanned copies " "are sufficient, but snail mail is preferred.

" msgstr "" #: template/developers.html.j2:6 msgid "GNUnet for developers" msgstr "" #: template/developers.html.j2:14 msgid "Repositories" msgstr "" #: template/developers.html.j2:17 msgid "" "A list of our Git repositories can be found on our our Git Server." msgstr "" #: template/developers.html.j2:28 msgid "" "Technical papers can be found in our bibliography." msgstr "" #: template/developers.html.j2:35 msgid "Discussion" msgstr "" #: template/developers.html.j2:38 msgid "" "We have a mailing list for developer discussions. You can subscribe to or" " read the list archive at http://lists.gnu.org/mailman/listinfo/gnunet-" "developers." msgstr "" #: template/developers.html.j2:48 msgid "Regression Testing" msgstr "" #: template/developers.html.j2:51 msgid "" "We have Buildbot automation tests " "to detect regressions and check for portability at https://old.gnunet.org/buildbot/gnunet/." msgstr "" #: template/developers.html.j2:60 msgid "Code Coverage Analysis" msgstr "" #: template/developers.html.j2:63 msgid "" "We use LCOV " "to analyze the code coverage of our tests, the results are available at " "https://old.gnunet.org/coverage/." msgstr "" #: template/developers.html.j2:73 msgid "Performance Analysis" msgstr "" #: template/developers.html.j2:76 msgid "" "We use Gauger for " "performance regression analysis of the exchange backend at https://old.gnunet.org/gauger/." msgstr "" #: template/download.html.j2:8 template/gnurl.html.j2:210 msgid "Downloads" msgstr "" #: template/download.html.j2:12 msgid "" "Here you can download releases of our software and find links to the " "various versions." msgstr "" #: template/download.html.j2:18 msgid "0.11.x series" msgstr "" #: template/download.html.j2:19 msgid "tarball" msgstr "" #: template/download.html.j2:21 msgid "" "The tarball of the latest version can be obtained from GNU FTP and its " "mirrors." msgstr "" #: template/download.html.j2:31 msgid "git" msgstr "" #: template/download.html.j2:33 msgid "You can fetch the git tag of version 0.11.x from our development server:" msgstr "" #: template/engage.html.j2:7 msgid "Engage!" msgstr "" #: template/ev.html.j2:7 msgid "Verein zur Förderung von GNUnet e.V." msgstr "" #: template/ev.html.j2:12 msgid "About GNUnet e.V." msgstr "" #: template/ev.html.j2:14 msgid "" "On December 27th 2013 a group of GNUnet hackers met at 30c3 to create the" " \"Verein zur Förderung von GNUnet e.V.\", an association under " "German law to support GNUnet development. The Amtsgericht München " "registered the association on the 7th of March under VR 205287." msgstr "" #: template/ev.html.j2:23 msgid "" "The association is officially dedicated to supporting research, " "development and education in the area of secure decentralized networking " "in general, and GNUnet specifically. This is the official website for the" " association." msgstr "" #: template/ev.html.j2:32 msgid "Becoming a Member of GNUnet e.V." msgstr "" #: template/ev.html.j2:34 msgid "" "GNUnet developers with git (write) access can become members to " "participate in the decision process and formally support GNUnet e.V. For " "this, all you have to do is update the members.txt file in the " "gnunet-ev " "repository. There are no membership dues; however, members are required " "to support GNUnet e.V. and in particularly contribute to the technical " "development within their means. For further details, we refer to the Satzung (Charter) " "(currently only available in German, translations welcome)." msgstr "" #: template/ev.html.j2:53 msgid "Governance" msgstr "" #: template/ev.html.j2:55 msgid "" "You can find our charter, and the list of members under https://git.gnunet.org/gnunet-" "ev.git/tree/satzung.tex. The current board consists of: " "
Vorsitz
Martin " "Schanzenbach
Stellvertretender Vorsitz
Florian " "Felgenhauer
Kassenwart
Florian Dold
" "
Beisitzer
Christian Grothoff, Julius " "Bünger
" msgstr "" #: template/ev.html.j2:74 msgid "Official Meeting Notes" msgstr "" #: template/ev.html.j2:87 msgid "Support Us!" msgstr "" #: template/ev.html.j2:89 msgid "" "Everybody is welcome to support us via donations. For financial " "contributions, Europeans are able to donate via SEPA. We hope to setup " "accounts in other major currency areas in the future. You can also donate" " via Bitcoin, routing details are given below. Please note that we are " "unable to provide receipts for your donations. If you are planning to " "donate a significant amount of money, please contact us first as it might" " be better to come to a custom arrangement.
BitCoin
" "
1GNUnetpWeR9Zs3vipdvVywo1GseeksjUh
SEPA/IBAN
" "
DE67830654080004822650 (BIC/SWIFT: GENODEF1SLR)
" msgstr "" #: template/faq.html.j2:13 template/faq.html.j2:24 msgid "General" msgstr "" #: template/faq.html.j2:14 template/faq.html.j2:149 template/gns.html.j2:38 msgid "Features" msgstr "" #: template/faq.html.j2:16 template/faq.html.j2:695 msgid "Error messages" msgstr "" #: template/faq.html.j2:17 template/faq.html.j2:797 msgid "File-sharing" msgstr "" #: template/faq.html.j2:18 template/faq.html.j2:973 msgid "Contributing" msgstr "" #: template/faq.html.j2:27 msgid "What do I do if my question is not answered here?" msgstr "" #: template/faq.html.j2:29 msgid "" "A: There are many other sources of information. You can read additional " "documentation or ask the question on the help-gnunet@gnu.org mailing " "list." msgstr "" #: template/faq.html.j2:36 msgid "When are you going to release the next version?" msgstr "" #: template/faq.html.j2:38 msgid "" "A: The general answer is, when it is ready. A better answer may be: " "earlier if you contribute (test, debug, code, document). Every release " "will be anounced on the info-gnunet@gnu.org mailing list and on planet GNU. You can subscribe to the " "mailing list or the RSS feed of this site to automatically receive a " "notification." msgstr "" #: template/faq.html.j2:49 msgid "Is the code free?" msgstr "" #: template/faq.html.j2:51 msgid "" "A: GNUnet is free software, available under the GNU Affero Public " "License (AGPL)." msgstr "" #: template/faq.html.j2:58 msgid "Are there any known bugs?" msgstr "" #: template/faq.html.j2:60 msgid "" "A: We track the list of currently known bugs in the Mantis system. Some bugs are " "occasionally reported directly to developers or the developer mailing " "list. This is discouraged since developers often do not have the time to " "feed these bugs back into the Mantis database. Please report bugs " "directly to the bug tracking system. If you believe a bug is sensitive, " "you can set its view status to private (this should be the exception)." msgstr "" #: template/faq.html.j2:73 template/faq.html.j2:193 msgid "Is there a graphical user interface?" msgstr "" #: template/faq.html.j2:75 msgid "" "A: gnunet-gtk is a separate download. The package contains various GTK+ " "based graphical interfaces, including a graphical tool for configuration." msgstr "" #: template/faq.html.j2:83 msgid "Why does gnunet-service-nse create a high CPU load?" msgstr "" #: template/faq.html.j2:85 msgid "" "A: The gnunet-service-nse process will initially compute a so-called " ""proof-of-work" which is used to convince the network that your" " peer is real (or, rather, make it expensive for an adversary to mount a " "Sybil attack on the network size estimator). The calculation is expected " "to take a few days, depending on how fast your CPU is. If the CPU load is" " creating a problem for you, you can set the value "WORKDELAY" " "in the "nse" section of your configuration file to a higher " "value. The default is "5 ms"." msgstr "" #: template/faq.html.j2:99 msgid "How does GNUnet compare to Tor?" msgstr "" #: template/faq.html.j2:101 msgid "" "A: Tor focuses on anonymous communication and censorship-resistance for " "TCP connections and, with the Tor Browser Bundle, for the Web in " "particular. GNUnet does not really have one focus; our theme is secure " "decentralized networking, but that is too broad to be called a focus." msgstr "" #: template/faq.html.j2:111 msgid "How does GNUnet compare to I2P?" msgstr "" #: template/faq.html.j2:113 msgid "" "A: Both GNUnet and I2P want to build a better, more secure, more " "decentralized Internet. However, on the technical side, there are almost " "no overlaps.

I2P is written in Java, and has (asymmetric) " "tunnels using onion (or garlic) routing as the basis for various " "(anonymized) applications. I2P is largely used via a Web frontend." msgstr "" #: template/faq.html.j2:124 msgid "Is GNUnet ready for use on production systems?" msgstr "" #: template/faq.html.j2:126 msgid "" "A: GNUnet is still undergoing major development. It is largely not yet " "ready for usage beyond developers. Your mileage will vary depending on " "the functionality you use, but you will always likely run into issues " "with our current low-level transport system. We are currently in the " "process of rewriting it (Project "Transport Next Generation " "[TNG]")" msgstr "" #: template/faq.html.j2:136 msgid "Is GNUnet build using distributed ledger technologies?" msgstr "" #: template/faq.html.j2:138 msgid "" "A: No. GNUnet is a new network protocol stack for building secure, " "distributed, and privacy-preserving applications. While a ledger could be" " built using GNUnet, we currently have no plans in doing so." msgstr "" #: template/faq.html.j2:151 msgid "What can I do with GNUnet?" msgstr "" #: template/faq.html.j2:153 msgid "" "A: GNUnet is a peer-to-peer framework, by which we mostly mean that it " "can do more than just one thing. Naturally, the implementation and " "documentation of some of the features that exist are more advanced than " "others." msgstr "" #: template/faq.html.j2:160 msgid "" "For users, GNUnet offers anonymous and non-anonymous file-sharing, a " "fully decentralized and censorship-resistant replacement for DNS and a " "mechanism for IPv4-IPv6 protocol translation and tunneling (NAT-PT with " "DNS-ALG)." msgstr "" #: template/faq.html.j2:171 msgid "Is it possible to surf the WWW anonymously with GNUnet?" msgstr "" #: template/faq.html.j2:173 msgid "" "A: It is not possible use GNUnet for anonymous browsing at this point. We" " recommend that you use Tor for anonymous surfing." msgstr "" #: template/faq.html.j2:181 msgid "Is it possible to access GNUnet via a browser as an anonymous WWW?" msgstr "" #: template/faq.html.j2:183 msgid "" "A: There is currently no proxy (like fproxy in Freenet) for GNUnet that " "would make it accessible via a browser. It is possible to build such a " "proxy and all one needs to know is the protocol used between the browser " "and the proxy and the GNUnet code for file-sharing." msgstr "" #: template/faq.html.j2:195 msgid "" "A: There are actually a few graphical user interfaces for different " "functions. gnunet-setup is to configure GNUnet, and gnunet-fs-gtk is for " "file-sharing. There are a few other gnunet-XXX-gtk GUIs of lesser " "importance. Note that in order to obtain the GUI, you need to install the" " gnunet-gtk package, which is a separate download. gnunet-gtk is a meta " "GUI that integrates most of the other GUIs in one window. One exception " "is gnunet-setup, which must still be run separately at this time (as " "setup requires the peer to be stopped)." msgstr "" #: template/faq.html.j2:210 msgid "Which operating systems does GNUnet run on?" msgstr "" #: template/faq.html.j2:212 msgid "" "A: GNUnet is being developed and tested primarily under Debian GNU/Linux." " Furthermore, we regularly build and test GNUnet on Fedora, Ubuntu, Arch," " FreeBSD and macOS. We have reports of working versions on many other " "GNU/Linux distributions; in the past we had reports of working versions " "on NetBSD, OpenBSD and Solaris. However, not all of those reports are " "recent, so if you cannot get GNUnet to work on those systems please let " "us know." msgstr "" #: template/faq.html.j2:228 msgid "Who runs the GNS root zone?" msgstr "" #: template/faq.html.j2:230 msgid "" "A: Short answer: you. The long answer is the GNUnet will ship with a " "default configuration of top-level domains. The governance of this " "default configuration is not yet established. In any case, the user will " "be able to modify this configuration at will. We expect normal users to " "have no need to edit their own GNS zone(s) unless they host services " "themselves." msgstr "" #: template/faq.html.j2:241 msgid "Where is the per-user GNS database kept?" msgstr "" #: template/faq.html.j2:243 msgid "" "A: The short answer is that the database is kept at the user's GNUnet " "peer. Now, a user may run multiple GNUnet peers, in which case the " "database could be kept at each peer (however, we don't have code for " "convenient replication). Similarly, multiple GNUnet peers can share one " "instance of the database --- the "gnunet-service-namestore" can" " be accessed from remote (via TCP). The actual data can be stored in a " "Postgres database, for which various replication options are again " "applicable. Ultimately, there are many options for how users can store " "(and secure) their GNS database." msgstr "" #: template/faq.html.j2:258 msgid "What is the expected average size of a GNS namestore database?" msgstr "" #: template/faq.html.j2:260 msgid "" "A: Pretty small. Based on our user study where we looked at browser " "histories and the number of domains visited, we expect that GNS databases" " will only grow to a few tens of thousands of entries, small enough to " "fit even on mobile devices." msgstr "" #: template/faq.html.j2:270 msgid "Is GNS resistant to the attacks on DNS used by the US?" msgstr "" #: template/faq.html.j2:272 msgid "" "A: We believe so, as there is no entity that any government could force " "to change the mapping for a name except for each individual user (and " "then the changes would only apply to the names that this user is the " "authority for). So if everyone used GNS, the only practical attack of a " "government would be to force the operator of a server to change the GNS " "records for his server to point elsewhere. However, if the owner of the " "private key for a zone is unavailable for enforcement, the respective " "zone cannot be changed and any other zone delegating to this zone will " "achieve proper resolution." msgstr "" #: template/faq.html.j2:286 msgid "How does GNS compare to other name systems?" msgstr "" #: template/faq.html.j2:288 msgid "" "A: A scientific paper on this topic has been published " " and below is a table from the publication. For detailed descriptions" " please refer to the paper." msgstr "" #: template/faq.html.j2:392 msgid "What is the difference between GNS and CoDoNS?" msgstr "" #: template/faq.html.j2:394 msgid "" "A: CoDoNS decentralizes the DNS database (using a DHT) but preserves the " "authority structure of DNS. With CoDoNS, IANA/ICANN are still in charge, " "and there are still registrars that determine who owns a name.

" "With GNS, we decentralize the database and also decentralize the " "responsibility for naming: each user runs their own personal root zone " "and is thus in complete control of the names they use. GNS also has many " "additional features (to keep names short and enable migration) which " "don't even make sense in the context of CoDoNS." msgstr "" #: template/faq.html.j2:410 msgid "What is the difference between GNS and SocialDNS?" msgstr "" #: template/faq.html.j2:412 msgid "" "A: Like GNS, SocialDNS allows each user to create DNS mappings. However, " "with SocialDNS the mappings are shared through the social network and " "subjected to ranking. As the social relationships evolve, names can thus " "change in surprising ways.

With GNS, names are primarily shared " "via delegation, and thus mappings will only change if the user " "responsible for the name (the authority) manually changes the record." msgstr "" #: template/faq.html.j2:426 msgid "What is the difference between GNS and ODDNS?" msgstr "" #: template/faq.html.j2:428 msgid "" "A: ODDNS is primarily designed to bypass the DNS root zone and the TLD " "registries (such as those for \".com\" and \".org\"). Instead of using " "those, each user is expected to maintain a database of (second-level) " "domains (like \"gnu.org\") and the IP addresses of the respective name " "servers. Resolution will fail if the target name servers change IPs." msgstr "" #: template/faq.html.j2:439 msgid "What is the difference between GNS and Handshake?" msgstr "" #: template/faq.html.j2:441 msgid "" "A: Handshake is a blockchain-based method for root zone governance. " "Hence, it does not address the name resolution process itself but " "delegates resolution into DNS after the initial TLD resolution. Not " "taking sustainablility considerations into account, Handshake could be " "used as an additional supporting GNS root zone governance model, but we " "currently do not have such plans in mind." msgstr "" #: template/faq.html.j2:453 msgid "What is the difference between GNS and TrickleDNS?" msgstr "" #: template/faq.html.j2:455 msgid "" "A: TrickleDNS pushes ("critical") DNS records between DNS " "resolvers of participating domains to provide "better availability, " "lower query resolution times, and faster update propagation". Thus " "TrickleDNS is focused on defeating attacks on the availability (and " "performance) of record propagation in DNS, for example via DDoS attacks " "on DNS root servers. TrickleDNS is thus concerned with how to ensure " "distribution of authoritative records, and authority remains derived from" " the DNS hierarchy." msgstr "" #: template/faq.html.j2:468 msgid "" "Does GNS require real-world introduction (secure PKEY exchange) in the " "style of the PGP web of trust?" msgstr "" #: template/faq.html.j2:470 msgid "" "A: For security, it is well known that an initial trust path between the " "two parties must exist. However, for applications where this is not " "required, weaker mechanisms can be used. For example, we have implemented" " a first-come-first-served (FCFS) authority which allows arbitrary users " "to register arbitrary names. The key of this authority is included with " "every GNUnet installation. Thus, any name registered with FCFS is in fact" " global and requires no further introduction. However, the security of " "these names depends entirely on the trustworthiness of the FCFS " "authority. The authority can be queried under the ".pin" TLD." msgstr "" #: template/faq.html.j2:485 msgid "" "How can a legitimate domain owner tell other people to not use his name " "in GNS?" msgstr "" #: template/faq.html.j2:487 msgid "" "A: Names have no owners in GNS, so there cannot be a " ""legitimate" domain owner. Any user can claim any name (as his " "preferred name or "pseudonym") in his NICK record. Similarly, " "all other users can choose to ignore this preference and use a name of " "their choice (or even assign no name) for this user." msgstr "" #: template/faq.html.j2:498 msgid "" "Did you consider the privacy implications of making your personal GNS " "zone visible?" msgstr "" #: template/faq.html.j2:500 msgid "" "A: Each record in GNS has a flag "private". Records are shared " "with other users (via DHT or zone transfers) only if this flag is not " "set. Thus, users have full control over what information about their " "zones is made public." msgstr "" #: template/faq.html.j2:510 msgid "Are \"Legacy Host\" (LEHO) records not going to be obsolete with IPv6?" msgstr "" #: template/faq.html.j2:512 msgid "" "A: The question presumes that (a) virtual hosting is only necessary " "because of IPv4 address scarcity, and (b) that LEHOs are only useful in " "the context of virtual hosting. However, LEHOs are also useful to help " "with X.509 certificate validation (as they specify for which legacy " "hostname the certificate should be valid). Also, even with IPv6 fully " "deployed and "infinite" IP addresses being available, we're not" " sure that virtual hosting would disappear. Finally, we don't want to " "have to wait for IPv6 to become commonplace, GNS should work with today's" " networks." msgstr "" #: template/faq.html.j2:526 msgid "" "Why does GNS not use a trust metric or consensus to determine globally " "unique names?" msgstr "" #: template/faq.html.j2:528 msgid "" "A: Trust metrics have the fundamental problem that they have thresholds. " "As trust relationships evolve, mappings would change their meaning as " "they cross each others thresholds. We decided that the resulting " "unpredictability of the resolution process was not acceptable. " "Furthermore, trust and consensus might be easy to manipulate by " "adversaries." msgstr "" #: template/faq.html.j2:539 msgid "How do you handle compromised zone keys in GNS?" msgstr "" #: template/faq.html.j2:541 msgid "" "A: The owner of a private key can create a revocation message. This one " "can then be flooded throughout the overlay network, creating a copy at " "all peers. Before using a public key, peers check if that key has been " "revoked. All names that involve delegation via a revoked zone will then " "fail to resolve. Peers always automatically check for the existence of a " "revocation message when resolving names." msgstr "" #: template/faq.html.j2:553 msgid "Could the signing algorithm of GNS be upgraded in the future?" msgstr "" #: template/faq.html.j2:555 msgid "" "A: Yes. In our efforts to standardize GNS, we have already modified the " "protocol to support alternative delegation records.

Naturally, " "deployed GNS implementations would have to be updated to support the new " "signature scheme. The new scheme can then be run in parallel with the " "existing system by using a new record type to indicate the use of a " "different cipher system." msgstr "" #: template/faq.html.j2:569 msgid "How can a GNS zone maintain several name servers, e.g. for load balancing?" msgstr "" #: template/faq.html.j2:571 msgid "" "A: We don't expect this to be necessary, as GNS records are stored (and " "replicated) in the R5N DHT. Thus the authority will typically not be " "contacted whenever clients perform a lookup. Even if the authority goes " "(temporarily) off-line, the DHT will cache the records for some time. " "However, should having multiple servers for a zone be considered truly " "necessary, the owner of the zone can simply run multiple peers (and share" " the zone's key and database among them)." msgstr "" #: template/faq.html.j2:584 msgid "" "Why do you believe it is worth giving up unique names for censorship " "resistance?" msgstr "" #: template/faq.html.j2:586 msgid "" "A: The GNU Name system offers an alternative to DNS that is censorship " "resistant. As with any security mechanism, this comes at a cost (names " "are not globally unique). To draw a parallel, HTTPS connections use more " "bandwidth and have higher latency than HTTP connections. Depending on " "your application, HTTPS may not be worth the cost. However, for users " "that are experiencing censorship (or are concerned about it), giving up " "globally unique names may very well be worth the cost. After all, what is" " a "globally" unique name worth, if it does not resolve?" msgstr "" #: template/faq.html.j2:600 msgid "Why do you say that DNS is 'centralized' and 'distributed'?" msgstr "" #: template/faq.html.j2:602 msgid "" "A: We say that DNS is 'centralized' because it has a central component / " "central point of failure --- the root zone and its management by " "IANA/ICANN. This centralization creates vulnerabilities. For example, the" " US government was able to reassign the management of the country-TLDs of" " Afganistan and Iraq during the wars at the beginning of the 21st " "century." msgstr "" #: template/faq.html.j2:613 msgid "How does GNS protect against layer-3 censorship?" msgstr "" #: template/faq.html.j2:615 msgid "" "A: GNS does not directly help with layer-3 censorship, but it does help " "indirectly in two ways:
  1. Many websites today use virtual " "hosting, so blocking a particular IP address causes much more collateral " "damage than blocking a DNS name. It thus raises the cost of " "censorship.
  2. Existing layer-3 circumvention solutions (such as " "Tor) would benefit from a censorship resistant naming system. Accessing " "Tor's ".onion" namespace currently requires users to use " "unmemorable cryptographic identifiers. With nicer names, Tor and tor2web-" "like services would be even easier to use.
" msgstr "" #: template/faq.html.j2:634 msgid "Does GNS work with search engines?" msgstr "" #: template/faq.html.j2:636 msgid "" "A: GNS creates no significant problems for search engines, as they can " "use GNS to perform name resolution as well as any normal user. Naturally," " while we typically expect normal users to install custom software for " "name resolution, this is unlikely to work for search engines today. " "However, the DNS2GNS gateway allows search engines to use DNS to resolve " "GNS names, so they can still index GNS resources. However, as using " "DNS2GNS gateways breaks the cryptographic chain of trust, legacy search " "engines will obviously not obtain censorship-resistant names." msgstr "" #: template/faq.html.j2:650 msgid "How does GNS compare to the Unmanaged Internet Architecture (UIA)?" msgstr "" #: template/faq.html.j2:652 msgid "" "A: UIA and GNS both share the same basic naming model, which actually " "originated with Rivest's SDSI. However, UIA is not concerned about " "integration with legacy applications and instead focuses on universal " "connectivity between a user's many machines. In contrast, GNS was " "designed to interoperate with DNS as much as possible, and to also work " "as much as possible with the existing Web infrastructure. UIA is not at " "all concerned about legacy systems (clean slate)." msgstr "" #: template/faq.html.j2:665 msgid "Doesn't GNS increase the trusted-computing base compared to DNS(SEC)?" msgstr "" #: template/faq.html.j2:667 msgid "" "A: First of all, in GNS you can explicitly see the trust chain, so you " "know if a name you are resolving belongs to a friend, or a friend-" "of-a-friend, and can thus decide how much you trust the result. " "Naturally, the trusted-computing base (TCB) can become arbitrarily large " "this way --- however, given the name length restriction, for an " "individual name it is always less than about 128 entities." msgstr "" #: template/faq.html.j2:679 msgid "" "How does GNS handle SRV/TLSA records where service and protocol are part " "of the domain name?" msgstr "" #: template/faq.html.j2:681 msgid "" "A: When GNS splits a domain name into labels for resolution, it detects " "the "_Service._Proto" syntax, converts "Service" to " "the corresponding port number and "Proto" to the corresponding " "protocol number. The rest of the name is resolved as usual. Then, when " "the result is presented, GNS looks for the GNS-specific "BOX" " "record type. A BOX record is a record that contains another record (such " "as SRV or TLSA records) and adds a service and protocol number (and the " "original boxed record type) to it." msgstr "" #: template/faq.html.j2:697 msgid "" "I receive many "WARNING Calculated flow delay for X at Y for " "Z". Should I worry?" msgstr "" #: template/faq.html.j2:699 msgid "" "A: Right now, this is expected and a known cause for high latency in " "GNUnet. We have started a major rewrite to address this and other " "problems, but until the Transport Next Generation (TNG) is ready, these " "warnings are expected." msgstr "" #: template/faq.html.j2:708 msgid "Error opening `/dev/net/tun': No such file or directory?" msgstr "" #: template/faq.html.j2:710 msgid "" "A: If you get this error message, the solution is simple. Issue the " "following commands (as root) to create the required device file" msgstr "" #: template/faq.html.j2:722 msgid "" "'iptables: No chain/target/match by that name.' (when running gnunet-" "service-dns)?" msgstr "" #: template/faq.html.j2:724 msgid "" "A: For GNUnet DNS, your iptables needs to have "owner" match " "support. This is accomplished by having the correct kernel options. Check" " if your kernel has CONFIG_NETFILTER_XT_MATCH_OWNER set to either 'y' or " "'m' (and the module is loaded)." msgstr "" #: template/faq.html.j2:736 msgid "'Timeout was reached' when running PT on Fedora (and possibly others)?" msgstr "" #: template/faq.html.j2:738 msgid "" "A: If you get an error stating that the VPN timeout was reached, check if" " your firewall is enabled and blocking the connections." msgstr "" #: template/faq.html.j2:746 msgid "I'm getting an 'error while loading shared libraries: libgnunetXXX.so.X'" msgstr "" #: template/faq.html.j2:748 msgid "" "A: This error usually occurs when your linker fails to locate one of " "GNUnet's libraries. This can have two causes. First, it is theoretically " "possible that the library is not installed on your system; however, if " "you compiled GNUnet the normal way and/or used a binary package, that is " "highly unlikely. The more common cause is that you installed GNUnet to a " "directory that your linker does not search. There are several ways to fix" " this that are described below. If you are 'root' and you installed to a " "system folder (such as /usr/local), you want to add the libraries to the " "system-wide search path. This is done by adding a line " "\"/usr/local/lib/\" to /etc/ld.so.conf and running \"ldconfig\". If you " "installed GNUnet to /opt or any other similar path, you obviously have to" " change \"/usr/local\" accordingly. If you do not have 'root' rights or " "if you installed GNUnet to say \"/home/$USER/\", then you can explicitly " "tell your linker to search a particular directory for libraries using the" " \"LD_LIBRARY_PATH\" environment variable. For example, if you configured" " GNUnet using a prefix of \"$HOME/gnunet/\" you want to run:" msgstr "" #: template/faq.html.j2:774 msgid "" "to ensure GNUnet's binaries and libraries are found. In order to avoid " "having to do so each time, you can add the above lines (without the " "\"$\") to your .bashrc or .profile file. You will have to logout and " "login again to have this new profile be applied to all shells (including " "your desktop environment)." msgstr "" #: template/faq.html.j2:781 msgid "What error messages can be ignored?" msgstr "" #: template/faq.html.j2:783 msgid "" "A: Error messages flagged as \"DEBUG\" should be disabled in binaries " "built for end-users and can always be ignored. Error messages flagged as " "\"INFO\" always refer to harmless events that require no action. For " "example, GNUnet may use an INFO message to indicate that it is currently " "performing an expensive operation that will take some time. GNUnet will " "also use INFO messages to display information about important " "configuration values." msgstr "" #: template/faq.html.j2:799 msgid "How does GNUnet compare to other file-sharing applications?" msgstr "" #: template/faq.html.j2:801 msgid "" "A: As opposed to Napster, Gnutella, Kazaa, FastTrack, eDonkey and most " "other P2P networks, GNUnet was designed with security in mind as the " "highest priority. We intend on producing a network with comprehensive " "security features. Many other P2P networks are open to a wide variety of " "attacks, and users have little privacy. GNUnet is also Free Software and " "thus the source code is available, so you do not have to worry about " "being spied upon by the software. The following table summarises the main" " differences between GNUnet and other systems. The information is " "accurate to the best of our knowledge. The comparison is difficult since " "there are sometimes differences between various implementations of " "(almost) the same protocol. In general, we pick a free implementation as " "the reference implementation since it is possible to inspect the free " "code. Also, all of these systems are changing over time and thus the data" " below may not be up-to-date. If you find any flaws, please let us know. " "Finally, the table is not saying terribly much (it is hard to compare " "these systems this briefly), so if you want the real differences, read " "the research papers (and probably the code)." msgstr "" #: template/faq.html.j2:915 msgid "" "Another important point of reference are the various anonymous peer-to-" "peer networks. Here, there are differences in terms of application domain" " and how specifically anonymity is achieved. Anonymous routing is a hard " "research topic, so for a superficial comparison like this one we focus on" " the latency. Another important factor is the programming language. Type-" "safe languages may offer certain security benefits; however, this may " "come at the cost of significant increases in resource consumption which " "in turn may reduce anonymity." msgstr "" #: template/faq.html.j2:928 msgid "Are there any known attacks (on GNUnet's file-sharing application)?" msgstr "" #: template/faq.html.j2:930 msgid "" "A: Generally, there is the possibility of a known plaintext attack on " "keywords, but since the user has control over the keywords that are " "associated with the content he inserts, the user can take advantage of " "the same techniques used to generate reasonable passwords to defend " "against such an attack. In any event, we are not trying to hide content; " "thus, unless the user is trying to insert information into the network " "that can only be shared with a small group of people, there is no real " "reason to try to obfuscate the content by choosing a difficult keyword " "anyway." msgstr "" #: template/faq.html.j2:944 msgid "What do you mean by anonymity?" msgstr "" #: template/faq.html.j2:946 msgid "" "A: Anonymity is the lack of distinction of an individual from a (large) " "group. A central goal for anonymous file-sharing in GNUnet is to make all" " users (peers) form a group and to make communications in that group " "anonymous, that is, nobody (but the initiator) should be able to tell " "which of the peers in the group originated the message. In other words, " "it should be difficult to impossible for an adversary to distinguish " "between the originating peer and all other peers." msgstr "" #: template/faq.html.j2:958 msgid "What does my system do when participating in GNUnet file sharing?" msgstr "" #: template/faq.html.j2:960 msgid "" "A: In GNUnet you set up a node (a peer). It is identified by an ID (hash " "of its public key) and has a number of addresses it is reachable by (may " "have no addresses, for instance when it's behind a NAT). You specify " "bandwidth limits (how much traffic GNUnet is allowed to consume) and " "datastore quote (how large your on-disk block storage is) . Your node " "will then proceed to connect to other nodes, becoming part of the " "network." msgstr "" #: template/faq.html.j2:975 msgid "How can I help translate this webpage into other languages?" msgstr "" #: template/faq.html.j2:977 msgid "" "A: First, you need to register an account with our weblate system. Please" " send an e-mail with the desired target language to " "translators@gnunet.org or ask for help on the #gnunet chat on " "irc.freenode.net. Typically someone with sufficient permissions will then" " grant you access. Naturally, any abuse will result in the loss of " "permissions." msgstr "" #: template/faq.html.j2:989 msgid "I have some great idea for a new feature, what should I do?" msgstr "" #: template/faq.html.j2:991 msgid "" "A: Sadly, we have many more feature requests than we can possibly " "implement. The best way to actually get a new feature implemented is to " "do it yourself --- and to then send us a patch." msgstr "" #: template/glossary.html.j2:7 msgid "Glossary" msgstr "" #: template/glossary.html.j2:13 msgid "Ego" msgstr "" #: template/glossary.html.j2:15 msgid "" "We use the term \"Ego\" to refer to the fact that users in GNUnet can " "have multiple unlinkable identities, in the sense of alter egos. The " "ability to have more than one identity is crucial, as we may want to keep" " our egos for business separate from those we use for political " "activities or romance.
Egos in GNUnet are technically equivalent to " "identities (and the code does not distinguish between them). We simply " "sometimes use the term \"ego\" to stress that you can have more than one." msgstr "" #: template/glossary.html.j2:28 msgid "Identity" msgstr "" #: template/glossary.html.j2:30 msgid "" "In GNUnet users are identified via a public key, and that public key is " "then often referred to as the \"Identity\" of the user. However, the " "concept is not as draconian as it often is in real life where many are " "forced to have one name, one passport and one unique identification " "number.
As long as identities in GNUnet are simply public keys, " "users are free to create any number of identities, and we call those egos" " to emphasize the difference. Even though users can create such egos " "freely, it is possible to have an ego certified by some certification " "authority, resulting in something that more closely resembles the " "traditional concept of an identity.
For example, a university may " "certify the identities of its students such that they can prove that they" " are studying. Students may keep their (certified) student identity " "separate from other egos that they use for other activities in life." msgstr "" #: template/glossary.html.j2:51 msgid "Pseudonym" msgstr "" #: template/glossary.html.j2:53 msgid "" "A pseudonym is an ego that is specifically intended to not be linked to " "one's real name. GNUnet users can create many egos, and thus also many " "pseudonyms.
Repeated uses of the same pseudonym are linkable by " "definition, as they involve the same public key. Anonymity requires the " "use of either the special \"anonymous\" pseudonym (for GNUnet, this is " "the neutral element on the elliptic curve) or a throw-away pseudonym that" " is only used once." msgstr "" #: template/glossary.html.j2:72 msgid "Namespaces" msgstr "" #: template/glossary.html.j2:74 msgid "" "The GNU Name System allows every ego (or identity) to securely and " "privately associate any number of label-value pairs with an ego. The " "values are called record sets following the terminology of the Domain " "Name System (DNS). The mapping of labels to record sets for a given ego " "is called a namespace.
If records are made public and thus " "published, it is possible for other users to lookup the record given the " "ego's public key and the label. Here, not only the label can thus act as " "a passphrase but also the public key -- which despite its name may not be" " public knowledge and is never disclosed by the GNS protocol itself." msgstr "" #: template/glossary.html.j2:90 msgid "Peer" msgstr "" #: template/glossary.html.j2:92 msgid "" "A \"peer\" is an instance of GNUnet with its own per-instance public key " "and network addresses. Technically, it is possible to run multiple peers " "on the same host, but this only makes sense for testing.
By design " "GNUnet supports multiple users to share the same peer, just as UNIX is a " "multi-user system. A \"peer\" typically consists of a set of foundational" " GNUnet services running as the \"gnunet\" user and allowing all users in" " the \"gnunet\" group to utilize the API. On multi-user systems, " "additional \"personalized\" services may be required per user.
While" " peers are also identified by public keys, these public keys are " "completely unrelated to egos or identities. Namespaces cannot be " "associated with a peer, only with egos." msgstr "" #: template/gns.html.j2:14 template/gnurl.html.j2:61 #: template/reclaim/index.html.j2:80 template/reclaim/motivation.html.j2:6 msgid "Motivation" msgstr "" #: template/gns.html.j2:16 msgid "" "The Domain Name System today enables traffic amplification attacks, " "censorship (i.e. China), mass surveillance (MORECOWBELL) and offensive " "cyber war (QUANTUMDNS).
Unfortunately, band aid solutions such as " "DoT, DoH, DNSSEC, DPRIVE and the like will not fix this. This is why we " "built the GNU Name System (GNS), a secure, decentralized name system " "built on top of GNUnet." msgstr "" #: template/gns.html.j2:29 template/reclaim/tech.html.j2:6 msgid "Overview" msgstr "" #: template/gns.html.j2:40 msgid "" "The GNU Name System (GNS) is secure and decentralized naming system. It " "allows its users to register names as top-level domains (TLDs) and " "resolve other namespaces within their TLDs.
GNS is designed to " "provide:
  • Censorship resistance
  • Query privacy
  • " "
  • Secure name resolution
  • Compatibility with DNS
  • " msgstr "" #: template/gns.html.j2:53 msgid "Resources" msgstr "" #: template/gnurl.html.j2:22 msgid "" "libgnurl is a micro fork of libcurl. The goal of libgnurl is to support " "only HTTP and HTTPS (and only HTTP 1.x) with a single crypto backend " "(GnuTLS) to ensure a small footprint and uniform experience for " "developers regardless of how libcurl was compiled." msgstr "" #: template/gnurl.html.j2:31 msgid "" "Our main usecase is for GNUnet and Taler, but it might be usable for " "others, hence we're releasing the code to the general public." msgstr "" #: template/gnurl.html.j2:38 msgid "" "libgnurl is released under the same license as libcurl. Please read the " "README for instructions, as you must supply the correct options to " "configure to get a proper build of libgnurl." msgstr "" #: template/gnurl.html.j2:49 msgid "About gnurl" msgstr "" #: template/gnurl.html.j2:51 msgid "" "Large parts of the following 6 paragraphs are old and need to be " "rewritten." msgstr "" #: template/gnurl.html.j2:63 msgid "" "cURL supports many crypto backends. GNUnet requires the use of GnuTLS, " "but other variants are used by some distributions. Supporting other " "crypto backends would again expose us to a wider array of security " "issues, may create licensing issues and most importantly introduce new " "bugs as some crypto backends are known to introduce subtle runtime " "issues. While it is possible to have two versions of libcurl installed on" " the same system, this is error-prone, especially as if we are linked " "against the wrong version, the bugs that arise might be rather subtle." msgstr "" #: template/gnurl.html.j2:76 msgid "" "For GNUnet, we also need a particularly modern version of GnuTLS. Thus, " "it would anyway be necessary to recompile cURL for GNUnet. But what " "happens if one links cURL against this version of GnuTLS? Well, first one" " would install GnuTLS by hand in the system. Then, we build cURL. cURL " "will build against it just fine, but the linker will eventually complain " "bitterly. The reason is that cURL also links against a bunch of other " "system libraries (gssapi, ldap, ssh2, rtmp, krb5, sasl2, see discussion " "on obscure protocols above), which --- as they are part of the " "distribution --- were linked against an older version of GnuTLS. As a " "result, the same binary would be linked against two different versions of" " GnuTLS. That is typically a recipe for disaster. Thus, in order to avoid" " updating a dozen system libraries (and having two versions of those " "installed), it is necessary to disable all of those cURL features that " "GNUnet does not use, and there are many of those. For GNUnet, the more " "obscure protocols supported by cURL are close to dead code --- mostly " "harmless, but not useful. However, as some application may use one of " "those features, distributions are typically forced to enable all of those" " features, and thus including security issues that might arise from that " "code." msgstr "" #: template/gnurl.html.j2:100 msgid "" "So to use a modern version of GnuTLS, a sane approach is to disable all " "of the \"optional\" features of cURL that drag in system libraries that " "link against the older GnuTLS. That works, except that one should then " "NEVER install that version of libcurl in say /usr or /usr/local, as that " "may break other parts of the system that might depend on these features " "that we just disabled. Libtool versioning doesn't help here, as it is not" " intended to deal with libraries that have optional features. Naturally, " "installing cURL somewhere else is also problematic, as we now need to be " "really careful that the linker will link GNUnet against the right " "version. Note that none of this can really be trivially fixed by the cURL" " developers." msgstr "" #: template/gnurl.html.j2:119 msgid "Rename to fix" msgstr "" #: template/gnurl.html.j2:121 #, python-format msgid "" "How does forking fix it? Easy. First, we can get rid of all of the " "compatibility issues --- if you use libgnurl, you state that you " "don't need anything but HTTP/HTTPS. Those applications that need " "more, should stick with the original cURL. Those that do not, can choose " "to move to something simpler. As the library gets a new name, we do not " "have to worry about tons of packages breaking as soon as one rebuilds it." " So renaming itself and saying that \"libgnurl = libcurl with only " "HTTP/HTTPS support and GnuTLS\" fixes 99%% of the problems that darkened " "my mood. Note that this pretty much CANNOT be done without a fork, as " "renaming is an essential part of the fix. Now, there might be creative " "solutions to achieve the same thing within the standard cURL build " "system, but this was deemed to be too much work when gnurl was originally" " started. The changes libgnurl makes to curl are miniscule and can easily" " be applied again and again whenever libcurl makes a new release." msgstr "" #: template/gnurl.html.j2:143 msgid "Using libgnurl" msgstr "" #: template/gnurl.html.j2:145 msgid "" "Projects that use cURL only for HTTP/HTTPS and that would work with " "GnuTLS should be able to switch to libgnurl by changing \"-lcurl\" to " "\"-lgnurl\". That's it. No changes to the source code should be " "required, as libgnurl strives for bug-for-bug compatibility with the " "HTTP/HTTPS/GnuTLS subset of cURL. We might add new features relating to " "this core subset if they are proposed, but so far we have kept our " "changes minimal and no additions to the original curl source have been " "written." msgstr "" #: template/gnurl.html.j2:162 msgid "Gotchas" msgstr "" #: template/gnurl.html.j2:164 msgid "" "libgnurl and gnurl are not intended to be used as a replacement for curl " "for users:
    This does not mean there is no confidence in the work " "done with gnurl, it means that tools which expect curl or libcurl will " "not make use of a different named binary and library. If you know what " "you are doing, you should be able to use gnurl as part of your tooling in" " place of curl. We do not recommend to do so however, as the only usage " "it is tested for so far is as part of Taler's and " "GNunet's build-system.
    Since no conflicts in filenames occur you" " are not expected to remove curl to make use of gnurl and viceversa." msgstr "" #: template/gnurl.html.j2:189 msgid "You can get the gnurl git repository using:" msgstr "" #: template/gnurl.html.j2:202 msgid "The versions are checked in as (signed) git tags." msgstr "" #: template/gnurl.html.j2:212 msgid "" "Releases are published on ftpmirror.gnu.org/gnu/gnunet." " gnurl is available from within a variety of distributions and package " "managers. Some Package Managers which include gnurl are: GNU Guix (available as " "\"gnurl\"), Gentoo through the " "collaborative ebuild collection youbroketheinternet, Nix, and as www/gnurl in pkgsrc." msgstr "" #: template/gnurl.html.j2:229 msgid "Building gnurl" msgstr "" #: template/gnurl.html.j2:231 msgid "" "We suggest to closely follow release announcements, as they might " "indicate changes in how gnurl is to be build.
    If your package " "manager provides a binary build or build instructions to build gnurl from" " source automated and integrated with your environment, we strongly " "suggest to use this binary build.
    There are two ways to build gnurl." " The first one builds from the most recent git tag, the second one uses " "the distributed tarball. Distributors generally are supposed to build " "from the tarball, but we describe both methods here. Both methods are " "written with a NetBSD 9 userland in mind, substitute tools as necessary. " "
    You should avoid building gnurl from the tip of the default " "git branch, as only tags are considered to be stable and approved builds." msgstr "" #: template/gnurl.html.j2:252 msgid "Building from the distributed tarball (prefered method)" msgstr "" #: template/gnurl.html.j2:254 msgid "" "If you want to verify the signature, install an OpenPGP compatible tool " "such as security/gnupgp2 (and set it up). Assuming you use pkgin:" msgstr "" #: template/gnurl.html.j2:268 msgid "Fetch the signature key from" msgstr "" #: template/gnurl.html.j2:272 msgid "or via commandline with gnupg2." msgstr "" #: template/gnurl.html.j2:277 msgid "" "Fetch the release, the signature, the checksum file as well as its " "signature:" msgstr "" #: template/gnurl.html.j2:296 msgid "" "verify the signatures, and verify the checksums against the checksums in " "the .sum.txt file." msgstr "" #: template/gnurl.html.j2:302 msgid "unpack the tarball:" msgstr "" #: template/gnurl.html.j2:312 msgid "Change into the directory" msgstr "" #: template/gnurl.html.j2:322 msgid "Now you can either run" msgstr "" #: template/gnurl.html.j2:332 msgid "directly (and read configure-gnurl before you do so) or invoke" msgstr "" #: template/gnurl.html.j2:342 msgid "" "and pass additional parameters such as a custom PREFIX location. Further " "reference can be the" msgstr "" #: template/gnurl.html.j2:347 msgid "Now run" msgstr "" #: template/gnurl.html.j2:357 msgid "(this is optional)" msgstr "" #: template/gnurl.html.j2:366 msgid "and you are done." msgstr "" #: template/gnurl.html.j2:370 msgid "Building from a tagged git commit" msgstr "" #: template/gnurl.html.j2:372 msgid "" "Follow the steps above, but instead of downloading the tarball, clone the" " git tag you want to build from." msgstr "" #: template/gnurl.html.j2:383 msgid "Reporting Bugs" msgstr "" #: template/gnurl.html.j2:385 msgid "" "You can report bugs on our bug tracker: bugs.gnunet.org. Alternatively you " "can use our bug mailinglist, but we prefer to track bugs on the " "bugtracker." msgstr "" #: template/gnurl.html.j2:396 msgid "Maintainer and Cryptographic signatures" msgstr "" #: template/gnurl.html.j2:398 msgid "" "gnurl/libgnurl is looking for a new maintainer. Releases after version " "7.69.1 and up to version 7.72.0 were signed with the OpenPGP Key " "0xD6B570842F7E7F8D (keys.openpgp.org)," " with the key fingerprint 6115 012D EA30 26F6 2A98 A556 D6B5 7084 2F7E" " 7F8D." msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:8 msgid "GSoC 2018: GNUnet WebUI (GNUnet Web-based User Interface)" msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:12 msgid "Tue, 08/14/2018 - 07:55, Phil Buschmann" msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:19 msgid "" "In the context of Google Summer of Code 2018, my mentor (Martin " "Schanzenbach) and I have worked on creating and extending the REST API of" " GNUnet. Currently, we mirrored the functionality of following commands:" msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:33 msgid "" "Additionally, we developed a website with the Javascript framework " "Angular 6 and the design framework iotaCSS to use the new REST API. The " "REST API of GNUnet is now documented with Sphinx." msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:42 msgid "" "... when you can use the command line tools? We need to keep in mind, " "that everyone has the right to stay secure and private but not everyone " "feels comfortable using a terminal. The further developed REST access to " "GNUnet APIs in addition to the new web application allows new users to " "interact with GNUnet over a well known tool: their browsers. This " "addition to the C API and the command line tools may attract new users " "and developers." msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:55 msgid "" "
  • The REST API developed in GNUnet
    The REST API is already merged " "into the gnunet.git repository (GNUnet Main Git).
    " "To use the new features, clone the repository and follow the Installation on " "gnunet.org. Then, start the rest service with \"gnunet-arm -i rest\". " "
  • The Web Application
    The web application is available under" " the gnunet-webui.git repository (GNUnet WebUI Git).
    You need to install the" " newest version of 'node' and 'yarn'. Dependent on your system, you may " "need to download newer versions and install them manually and not over " "your packet manager. After the installation succeeded, you need to clone " "the repository. Then, you need to run \"yarn install\" and \"yarn start\"" " for testing purposes. To deploy the website (keep in mind, that this " "website communicates with another localhost instance) use \"yarn build\" " "for building the web application and use the output in the 'dist' " "directory.
  • The Documentation
    The documentation is " "available under the gnunet-rest-api.git repository (GNUnet REST API " "Docmentation Git).
    Clone the repository and \"make html\". Then" " open the 'index.html' under 'build/html/'.
  • " msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:92 msgid "" "Please, give it a try and contact me, if you find any bugs or " "unintentional features. ;)" msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:99 msgid "" "Right now, the build process of the web application may be a little too " "complex for a casual user. We may be able to solve this by using " "docker.
    Additionally, the web application does not prevent wrong " "inputs but responds with error messages. Adding GNUnet Records is " "currently only usable for people, who know how a GNS Record looks like. " "This can be adapted to each record type.
    Last but not least, " "additional features, design changes, etc..." msgstr "" #: template/gsoc-2018-gnunet-webui.html.j2:112 msgid "Thanks for reading." msgstr "" #: template/gsoc.html.j2:7 msgid "GNUnet's Google Summer of Code projects" msgstr "" #: template/gsoc.html.j2:13 template/gsoc.html.j2:30 msgid "Ideas 2024" msgstr "" #: template/gsoc.html.j2:14 template/gsoc.html.j2:227 msgid "Past projects" msgstr "" #: template/gsoc.html.j2:15 template/gsoc.html.j2:723 msgid "Finished projects" msgstr "" #: template/gsoc.html.j2:22 msgid "" "As a GNU project, GNUnet has participated in the Google Summer of Code " "(GSoC) for a number of years. This page lists all current, past, and " "finished projects. If you want to participate and apply for any of the " "ideas for 2020 below or any past project which is not yet finished (or " "even your own idea), please contact us on the mailing list." msgstr "" #: template/gsoc.html.j2:35 msgid "" "The GNUnet team is currently working on a transport layer rewrite in " "order to fix core issues with connectivity. This new component is " "currently developed under the name \"TNG\". What is currently known as " "\"transport plugins\" will in the TNG be represented as " "\"communicators\". Communicators are processes with a well defined API " "that allow to connect peers over a specific protocol. The primary " "protocol which are already implemented are UNIX sockets, UDP sockets, and" " TCP sockets. For a truly resilient network, other connectivity options " "such as WiFi mesh, Bluetooth, HTTP(S), QUIC or even more obscure " "alternatives such as radio are required. In this project, the goal is to " "select, implement and test new communicators. While TNG is not yet ready," " communicators can, by design, be developed and tested against the " "current API. We expect that this project can be worked on by multiple " "students as there are a lot of protocols to choose from. A QUIC " "communicator has been written as part of GSoC 2023. The tasks would " "consist of:
    1. Deciding which communicators to implement.
    2. " "
    3. Test the communicators.
    4. Documentation.
    Expected " "outcome:
    1. At least one new communicator.
    2. Documentation " "of communicator protocol and how to use.
    Advantageous " "skills/languages/frameworks:
    1. C
    2. Knowledge of HTTPS, " "Bluetooth or WiFi.

    Difficulty: Average," " but depends on selected protocols and library.
    " "Size: 175h
    Mentors: Martin " "Schanzenbach, t3sserakt" msgstr "" #: template/gsoc.html.j2:89 msgid "" "For special platforms such as Android, GNUnet must be usable as a single-" "peer shared library. Since GNUnet's design fundamentally revolves around " "a multi-process model that communicate via IPCs, this requires a major " "change in how GNUnet processes are instantiated. A lot of progress in " "this direction has already been made but some issues still remain. The " "project tasks are to:
    1. Get familiar with the GNUnet scheduler and" " envisioned single-process architecture.
    2. Implement the single-" "process scheduler and main loop.
    3. Demonstrate the functioning of " "this change (e.g. in a simple Android App)
    Expected outcome: " "
    1. A new single-process shared library to link against.
    2. " "
    3. Documentation on when and how to build the single-process " "library.
    4. A demo application.
    Advantageous " "skills/languages/frameworks:
    1. C
    2. Socket programming
    3. " "
    4. Scheduler and IO

    Difficulty: " "Difficult
    Size: 175h
    " "Mentors: Martin Schanzenbach" msgstr "" #: template/gsoc.html.j2:129 msgid "" "In the process of supporting a single-process GNUnet peer, the subsystem " "REST plugins have been consolidated into a single, large REST server that" " depends on all subsystems. In this work, the student should define and " "implement a new architure that runs each subsystem's REST interface in " "its own service, thus making the REST service more resilient and easier " "to extend. The planned projects tasks are to:
    1. Get familiar with " "the existing REST service.
    2. Plan a multi-processes architecture " "for REST services.
    3. Test and document the use of the new " "architecture / REST service layer.
    Expected outcome:
      " "
    1. A new multi-process REST service architecture.
    2. The current " "REST service is modified or replaced with a multi-process service per " "subsystem.
    3. Architecture and usage documentation.
    " "Advantageous skills/languages/frameworks:
    1. C
    2. Socket " "programming

    Difficulty: Medium
    " "Size: 175h
    Mentors: Martin " "Schanzenbach" msgstr "" #: template/gsoc.html.j2:168 msgid "" "Our GTK interface for GNUnet is written using libglade and Gtk. It is " "currently designed and compatible with Gtk+3 with already possibly " "including a variety of deprecated functions. In this project the " "requirements for a Gtk4 migration shall be worked out and the codebase " "migrated to the most recent stable Gtk4 release. The difficulty of this " "project largely depends on the students proficiency with build tools and " "Gtk. There non-exhaustive task list would be:
    1. Get familiar with " "the existing gnunet-gtk architecture.
    2. Get familiar with Gtk4 and" " work out a migration path.
    3. Migrate gnunet-gtk to gtk4.
    4. " "
    5. (Optional) Ad-hoc UI improvements where applicable
    " "Advantageous skills/languages/frameworks:
    1. C
    2. Gtk
    3. " "
    4. User interfaces

    Difficulty: Medium " "
    Size: 350h
    Mentors: Martin " "Schanzenbach" msgstr "" #: template/gsoc.html.j2:201 msgid "" "The goal of this project is to enable users to store their GNU Taler " "wallet backup encryption keys in the GNU Anastasis distributed key backup" " and recovery system, and to use GNU Taler to pay GNU Anastasis service " "providers for key storage and recovery. The project will focus on " "implementing the GNU Anastasis user interface on Android inspired by the " "existing Gtk+ and WebUI and integrating the result with the rest of the " "GNU Taler Android App." msgstr "" #: template/gsoc.html.j2:205 msgid "" "Mentors: Christian Grothoff (GNU Anastasis) and Florian " "Dold (GNU Taler)" msgstr "" #: template/gsoc.html.j2:210 msgid "Required Skills: Android UI development" msgstr "" #: template/gsoc.html.j2:215 template/gsoc.html.j2:255 #: template/gsoc.html.j2:358 msgid "Duration: 350h" msgstr "" #: template/gsoc.html.j2:220 template/gsoc.html.j2:260 #: template/gsoc.html.j2:448 template/gsoc.html.j2:658 #: template/gsoc.html.j2:789 msgid "Difficulty level: medium" msgstr "" #: template/gsoc.html.j2:234 msgid "" "The goal is to either build upon the (outdated) GNUnet Rust bindings " "or to follow the path of https://github.com/bfix" "/gnunet-go which tries to reimplement most of the GNUnet stack. The " "end result should be an extension template for GNUnet in the form of the " "existing C " "template which allows to quickly start implementing services and " "libraries for GNUnet." msgstr "" #: template/gsoc.html.j2:245 template/gsoc.html.j2:779 msgid "Mentors: Martin Schanzenbach" msgstr "" #: template/gsoc.html.j2:250 msgid "Required Skills: Solid knowledge of Rust and ideally asynchronuous IO." msgstr "" #: template/gsoc.html.j2:269 msgid "" "reclaimID is a decentralized identity system build on top of the GNU Name" " System. Currently, there is a Webextension which uses the GNUnet REST API. In order to improve " "adoption and ease of use, this project aims to include a full GNUnet node" " within the Webextention as a fallback. GNUnet can be compiled to Web " "Assembly or JavaScript as demonstrated here. The idea is to improve upon this " "concept and support more of GNUnet's subsystems. The difficulty of this " "project largely depends on the students proficiency with build tools, " "emscripten and improvisation skills. There non-exhaustive task list would" " be:
    1. Improve existing GNUnet emscripten build to include more " "subsystems.
    2. Integrate the result into a Webextention.
    3. " "
    4. Integrate the result into the re:claimID Webextension
    " "Advantageous skills/languages/frameworks:
    1. C
    2. " "
    3. emscripten
    4. Webextensions

    " "Difficulty: Challenging
    Mentors: " "Martin Schanzenbach" msgstr "" #: template/gsoc.html.j2:305 msgid "" "Currently, the keys in our statistics database are too verbose. For " "example:

    nse # flood messages received: 13
    nse # peers " "connected: 4
    nse # nodes in the network (estimate): 203
    nse # " "flood messages started: 5
    nse # estimated network diameter: 3
    " "nse # flood messages transmitted: 10

    With such verbose keys" " there's no easy way to form compact JSON document or entries for time-" "series database. And you can't query single stats without having to " "copypaste the line exactly and put in quotes. In short, the goals are " "to...

    1. Think of a way how statistics entries can be made " "canonical.
    2. Implement the change and migrate existing uses.
    3. " "
    4. Document the format(s) and define an appropriate registration " "mechanism for identifiers
    Relevant bugs: #5650
    " "Advantageous skills/languages/frameworks:
    1. C
    2. HTML
    3. " "

    Difficulty: Beginner
    " "Mentors: Martin Schanzenbach" msgstr "" #: template/gsoc.html.j2:344 msgid "" "It is time for GNUnet to run properly on Android. Note that GNUnet is " "written in C, and this is not about rewriting GNUnet in Java, but about " "getting the C code to run on Android." msgstr "" #: template/gsoc.html.j2:351 msgid "" "Includes: Implementation of rudimentary Android compatibility for GNUnet," " in part by porting the GNUnet utils scheduler to act as a thin wrapper " "over libuv." msgstr "" #: template/gsoc.html.j2:363 msgid "" "Mentors: Hartmut Goebel, Jeff Burdges, Christian Grothoff" msgstr "" #: template/gsoc.html.j2:372 msgid "" "There is a push for migrating our CI to Gitlab. The CI should eventually " "not just run \"make check\" on various platforms, but also perform tests " "with multiple peers running in different VMs with specific network " "topologies (i.e. NAT) between them being simulated. The CI should also be" " integrated with Gauger for performance regression analysis. Running jobs" " only when dependencies have changed and scripting more granular triggers" " or ideally automatic dependency discovery (as done by the autotools) is " "also important." msgstr "" #: template/gsoc.html.j2:384 msgid "Mentors: TBD" msgstr "" #: template/gsoc.html.j2:394 msgid "" "One great problem of the current Internet is the lack of " "disintermediation. When people want to talk they need a chat service. " "When they want to share files they need a file transfer service. Although" " GNUnet already possesses quite advanced integration into Linux " "networking, a little extra work is needed for existing applications like " "irc, www, ftp, rsh, nntpd to run over it in a peer-to-peer way, simply by" " using a GNS hostname like friend.gnu. Once people have added a person to" " their GNS they can immediately message, exchange files and suchlike " "directly, with nothing but the GNUnet in the middle, using applications " "that have been distributed with unix systems ever since the 1980's. We " "can produce an OS distribution where these things work out of the box " "with the nicknames of people instead of cloud services. For more " "information and context, read" msgstr "" #: template/gsoc.html.j2:415 msgid "Mentors: lynX & dvn" msgstr "" #: template/gsoc.html.j2:423 msgid "" "Implement the AnycastExit spec to enable GNUnet clients to connect over " "Tor." msgstr "" #: template/gsoc.html.j2:429 template/gsoc.html.j2:464 #: template/gsoc.html.j2:479 msgid "Mentors: Jeff Burdges" msgstr "" #: template/gsoc.html.j2:434 msgid "" "Note: There was a Special TLDs spec to allow Tor to resolve domain names " "using GNS over Tor too, but currently that's on hold until folks think " "more about how names should be moved around the local system. We're " "calling this more collaborative approach NSS2 for now." msgstr "" #: template/gsoc.html.j2:443 template/gsoc.html.j2:583 #: template/gsoc.html.j2:623 template/gsoc.html.j2:653 msgid "Required Skills: C" msgstr "" #: template/gsoc.html.j2:456 msgid "" "Improve the Rust implementation of GNUnet utils, possibly including " "adding support for asynchronous IO using mio, or perhaps a higher level " "asynchronous IO library built upon it, such as rotor, mioco, eventual_io," " or gj." msgstr "" #: template/gsoc.html.j2:472 msgid "" "Implementation of a replacement for PANDA (see Pond) with better " "security, and maybe integration with the GNU Name System for key " "exchange." msgstr "" #: template/gsoc.html.j2:484 msgid "Required Skills: Rust or C, crypto" msgstr "" #: template/gsoc.html.j2:489 template/gsoc.html.j2:546 #: template/gsoc.html.j2:588 template/gsoc.html.j2:628 msgid "Difficulty level: high" msgstr "" #: template/gsoc.html.j2:497 msgid "" "Implement different place types and file sharing by creating a new place " "for the shared content." msgstr "" #: template/gsoc.html.j2:503 msgid "Place types to be implemented:" msgstr "" #: template/gsoc.html.j2:507 msgid "" "
    • File: generic file with comments
    • Image: display an " "image with comments referencing a region of the image
    • Sound: " "play a sound file with comments referencing a timestamp
    • " "
    • Directory/Album: pointers to File / Image / Sound places
    • " "
    • Event: with RSVP
    • Survey: ask your social neighborhood " "questions in a structured form
    " msgstr "" #: template/gsoc.html.j2:518 msgid "Also provide the following UI functionality:" msgstr "" #: template/gsoc.html.j2:522 msgid "" "
    • Fork existing channels, reorganize people into new chatrooms or " "channels.
    • Share a post (edit and repost something elsewhere, on " "a fan page for example).
    • Edit a previously published post + " "offer edit history to readers.
    • Control expiry of channel " "history.
    " msgstr "" #: template/gsoc.html.j2:531 msgid "" "See also http://secushare.org/features" msgstr "" #: template/gsoc.html.j2:536 msgid "Mentors: lynX" msgstr "" #: template/gsoc.html.j2:541 msgid "Required Skills: C/C++" msgstr "" #: template/gsoc.html.j2:554 msgid "" "Implement aggregation of distributed state from various channels in order" " to provide for a powerful social graph API capable of producing social " "network profiles, dashboards, a calendar out of upcoming event " "invitations (if available), social search functionality and most of all " "to make it easy for users to adopt cryptographic identities of their " "contacts/friends simply by finding them in the social graph of their " "existing contacts (\"This is Linda. You have 11 contacts in common with " "her. [ADD]\")." msgstr "" #: template/gsoc.html.j2:572 msgid "" "Related to secushare.org/rendezvous" msgstr "" #: template/gsoc.html.j2:578 template/gsoc.html.j2:618 msgid "Mentors: t3sserakt, lynX" msgstr "" #: template/gsoc.html.j2:595 msgid "" "
    • Emulate IMAP/SMTP protocols as necessary to transform " "traditional mail clients into secushare user interfaces.
    • Think" " of ways to map e-mail addresses to secushare identities.
    • " "Encode or translate various e-mail features into secushare equivalents. " "
    • Parts of secushare are currently written in Rust, therefore " "Rust is preferred for this task but it is not an requirement.
    " msgstr "" #: template/gsoc.html.j2:636 msgid "" "Implementation of the GNUnet auction system described in Chapter 3 of this thesis. " "Specific tasks are adding smart contract creation and round time " "enforcement to libbrandt as well as creating the GNUnet auction service, " "library and the three user interface programs create, info and join." msgstr "" #: template/gsoc.html.j2:648 msgid "Mentors: mate, cg" msgstr "" #: template/gsoc.html.j2:666 msgid "" "Implementation of additional transports to make GNUnet communication more" " robust in the presence of problematic networks: GNUnet-over-SMTP, " "GNUnet-over-DNS" msgstr "" #: template/gsoc.html.j2:673 template/gsoc.html.j2:687 msgid "Mentors: Matthias Wachs" msgstr "" #: template/gsoc.html.j2:681 msgid "" "Implementation of ALG-based NAT traversal methods (FTP/SIP-based hole " "punching, better STUN support)" msgstr "" #: template/gsoc.html.j2:695 msgid "Mentors: Matthias Wachs, Christian Grothoff, Jeff Burdges" msgstr "" #: template/gsoc.html.j2:703 msgid "" "Improving libaboss to make computation on shared secrets (including " "repeated multiplication) based on Ben-Or et " "al. if possible. This in particular means moving libaboss to bignums " "(gcry_mpi)." msgstr "" #: template/gsoc.html.j2:716 msgid "" "Please refer to the description for this project listed under GNU Guix " "project ideas." msgstr "" #: template/gsoc.html.j2:729 msgid "" "Python 2.7 is reaching its end-of-life, and we want to get rid of the " "dependency on Python. The existing gnunet-qr tool is a rather simple " "wrapper around python-zbar, which itself wraps libzbar. The goal of this " "project is to directly use libzbar to scan QR codes for GNUnet / the GNU " "Name System (see also #5562)." msgstr "" #: template/gsoc.html.j2:739 msgid "Mentors: Christian Grothoff" msgstr "" #: template/gsoc.html.j2:744 msgid "Required Skills:" msgstr "" #: template/gsoc.html.j2:749 msgid "Difficulty level:" msgstr "" #: template/gsoc.html.j2:754 msgid "Report:" msgstr "" #: template/gsoc.html.j2:759 msgid "Unfinished/Abandoned as gnunet-qr was moved to C outside of GSoC." msgstr "" #: template/gsoc.html.j2:769 msgid "" "Implementation of a Web-based UI for GNUnet similar to GNUnet-Gtk with a " "yet to be determined framework such as Angular2. This includes the design" " and implementation of not yet existing REST APIs that expose the GNUnet API." msgstr "" #: template/gsoc.html.j2:784 msgid "Required Skills: C, JavaScript, CSS" msgstr "" #: template/gsoc.html.j2:794 msgid "" "Report: GSoC 2018: GNUnet " "WebUI" msgstr "" #: template/index.html.j2:9 msgid "The Internet of tomorrow needs GNUnet today" msgstr "" #: template/index.html.j2:28 msgid "Latest news" msgstr "" #: template/index.html.j2:34 msgid "Older news entries" msgstr "" #: template/index.html.j2:49 msgid "The Internet is broken" msgstr "" #: template/index.html.j2:51 msgid "" "The conventional Internet is currently like a system of roads with deep " "potholes and highwaymen all over the place. Even if you still can use the" " roads (e.g. send emails, or browse websites) your vehicle might get " "hijacked, damaged, or long arms might reach into its back and steal your " "items (data) to use it against you and sell it to others - while you " "can't even notice the thievery nor accuse and hold the scroungers " "accountable. The Internet was " "not designed with security in mind: protecting against address forgery, " "routers learning metadata, or choosing trustworthy third parties is " "nontrivial and sometimes impossible. " msgstr "" #: template/index.html.j2:96 msgid "GNUnet helps building a new Internet" msgstr "" #: template/index.html.j2:98 msgid "" "GNUnet is a network protocol stack for building secure, distributed, and " "privacy-preserving applications.
    With strong roots in academic research, our" " goal is to replace the old insecure Internet protocol stack." msgstr "" #: template/index.html.j2:121 msgid "Metadata is exposed" msgstr "" #: template/index.html.j2:123 msgid "" "Your metadata is just as revealing as the actual content; and it gets " "exposed on the Internet.
    Even though transport encryption is " "increasingly being deployed on the Internet, it still reveals data that " "can threaten democracy: the identities of senders and receivers, the " "times, frequency and the volume of communication are all still " "revealed.
    " msgstr "" #: template/index.html.j2:152 msgid "GNUnet provides privacy-by design" msgstr "" #: template/index.html.j2:154 msgid "" "It provides improving " "addressing, routing, naming and content distribution in a technically" " robust manner - as opposed to ad-hoc designs in place today. " msgstr "" #: template/index.html.j2:179 msgid "Freedoms are not respected" msgstr "" #: template/index.html.j2:181 msgid "" "Today, monitoring increasingly centralized infrastructure, proprietary " "implementations, traffic shapers and firewalls restrict all of the essential freedoms to various degrees." msgstr "" #: template/index.html.j2:205 msgid "GNUnet supports a free and open society" msgstr "" #: template/index.html.j2:207 msgid "" "GNUnet is a self-organizing network and it is free software as" " in freedom. GNUnet puts you in control of your data. You determine which" " data to share with whom, and you're not pressured to accept " "compromises. It gives users freedoms to securely access information " "(\"run\" the network), to study all aspects of the network's " "operation (\"access the code\"), to distribute information (\"copy\"), as" " well as the freedom to deploy new applications (\"modify\")." msgstr "" #: template/index.html.j2:231 msgid "The state of the art is inefficient" msgstr "" #: template/index.html.j2:233 msgid "" "The ongoing hype around distributed ledgers and blockchains is " "detrimental to the health of our planet." msgstr "" #: template/index.html.j2:254 msgid "Sustainability" msgstr "" #: template/index.html.j2:256 #, python-format msgid "" "GNUnet does not require a decentralized, public ledger. This eliminates " "the need for wasteful, continuous consensus mechanisms, which do not " "scale and are ecologically unsustainable. GNUnet and its applications " "employ decentralization only where it provides the " "most value and use more efficient technology stacks where needed." msgstr "" #: template/index.html.j2:278 msgid "Decentralization is the key, but hard" msgstr "" #: template/index.html.j2:281 msgid "" " Instead of sharing common components and tools" " for building P2P systems, every P2P project seems to re-invent the " "wheel. This heightens the effort and" " increases the potential number of vulnerabilities." msgstr "" #: template/index.html.j2:313 msgid "GNUnet is a framework" msgstr "" #: template/index.html.j2:315 msgid "" "It offers a metadata-preserving foundation for your application. It " "offers components for addressing, reliable encrypted channels with " "advanced routing and resource discovery and naming. Our work is based on " "continuous research spanning almost two decades." msgstr "" #: template/index.html.j2:335 msgid "Learn more" msgstr "" #: template/index.html.j2:344 msgid "Get started" msgstr "" #: template/install-on-archpi.html.j2:7 msgid "Tutorial: GNUnet on Arch Linux/Pi" msgstr "" #: template/install-on-archpi.html.j2:17 msgid "Requirements for Raspberry Pi 3" msgstr "" #: template/install-on-archpi.html.j2:41 msgid "Get the Source Code" msgstr "" #: template/install-on-archpi.html.j2:63 #: template/install-on-debian9.html.j2:132 msgid "In Addition: gnunet-gtk" msgstr "" #: template/install-on-archpi.html.j2:82 msgid "Run" msgstr "" #: template/install-on-archpi.html.j2:134 #: template/install-on-openwrt.html.j2:112 msgid "Make sure, it works!" msgstr "" #: template/install-on-debian9.html.j2:7 msgid "Tutorial: GNUnet on Debian 9" msgstr "" #: template/install-on-debian9.html.j2:10 #: template/install-on-ubuntu1804.html.j2:10 msgid "Introduction" msgstr "" #: template/install-on-debian9.html.j2:30 template/install-on-macos.html.j2:18 #: template/install-on-netbsd.html.j2:20 #: template/install-on-ubuntu1804.html.j2:27 msgid "Requirements" msgstr "" #: template/install-on-debian9.html.j2:47 #: template/install-on-ubuntu1804.html.j2:42 msgid "Make an installation directory" msgstr "" #: template/install-on-debian9.html.j2:61 template/install-on-macos.html.j2:135 #: template/install-on-netbsd.html.j2:238 #: template/install-on-ubuntu1804.html.j2:54 msgid "Get the source code" msgstr "" #: template/install-on-debian9.html.j2:80 template/install-on-macos.html.j2:143 #: template/install-on-netbsd.html.j2:246 #: template/install-on-ubuntu1804.html.j2:62 msgid "Compile and Install" msgstr "" #: template/install-on-debian9.html.j2:105 #: template/install-on-ubuntu1804.html.j2:71 msgid "Option 1: GNUnet for testing / usage" msgstr "" #: template/install-on-debian9.html.j2:118 #: template/install-on-ubuntu1804.html.j2:83 msgid "Option 2: GNUnet for development" msgstr "" #: template/install-on-debian9.html.j2:155 #: template/install-on-ubuntu1804.html.j2:98 msgid "Install GNUnet plugin for name resolution" msgstr "" #: template/install-on-debian9.html.j2:209 #: template/install-on-ubuntu1804.html.j2:135 msgid "Create configuration file" msgstr "" #: template/install-on-debian9.html.j2:229 #: template/install-on-ubuntu1804.html.j2:157 msgid "Use GNUnet!" msgstr "" #: template/install-on-debian9.html.j2:234 #: template/install-on-ubuntu1804.html.j2:163 msgid "Uninstall GNUnet and its dependencies" msgstr "" #: template/install-on-macos.html.j2:7 msgid "Tutorial: GNUnet on macOS 10.14 (Mojave)" msgstr "" #: template/install-on-macos.html.j2:25 template/install-on-netbsd.html.j2:37 #: template/install-on-openwrt.html.j2:16 msgid "Installation" msgstr "" #: template/install-on-macos.html.j2:43 template/install-on-netbsd.html.j2:116 msgid "First steps" msgstr "" #: template/install-on-macos.html.j2:110 template/install-on-netbsd.html.j2:196 msgid "Alternative: Installation from source" msgstr "" #: template/install-on-macos.html.j2:155 template/install-on-netbsd.html.j2:266 msgid "Option 1: GNUnet for production / usage" msgstr "" #: template/install-on-macos.html.j2:188 template/install-on-netbsd.html.j2:294 msgid "Option 2: GNUnet experimental" msgstr "" #: template/install-on-netbsd.html.j2:7 msgid "Tutorial: GNUnet on NetBSD 8.0 CURRENT" msgstr "" #: template/install-on-openwrt.html.j2:7 msgid "Tutorial: GNUnet on OpenWrt" msgstr "" #: template/install-on-openwrt.html.j2:48 template/l2o/mile1.html.j2:114 #: template/l2o/mile2.html.j2:64 template/l2o/mile3.html.j2:93 #: template/l2o/mile4.html.j2:71 template/l2o/mile5.html.j2:63 #: template/l2o/mile6.html.j2:45 msgid "Configuration" msgstr "" #: template/install-on-openwrt.html.j2:77 msgid "Use" msgstr "" #: template/install-on-ubuntu1804.html.j2:7 msgid "Tutorial: GNUnet on Ubuntu 18.04" msgstr "" #: template/install.html.j2:7 msgid "Install" msgstr "" #: template/install.html.j2:12 msgid "" "Notice: GNUnet is still undergoing major development. It is largely " "not yet ready for usage beyond developers." msgstr "" #: template/install.html.j2:17 msgid "" "

    Please be aware that this project is still in an early alpha stage " "when it comes to running software – its not an easy task to rewrite" " the whole Internet! We are happy to get your helping hand anytime! Further information is " "available in our handbook. If you have any queries about the installation " "or the usage, please get in touch!

    " msgstr "" #: template/install.html.j2:29 msgid "" "We recommend to use binary packages provided by the package manager " "integrated within your Operating System. GNUnet is reportedly available " "for at least: If GNUnet" " is available for your Operating System and it is missing, send us " "feedback so that we can add it to this list. Furthermore, if you are " "interested in packaging GNUnet for your Operating System, get in touch " "with us at gnunet-developers@gnu.org if you require help with this job. " "If you were using an Operating System with the APT package manager, " "GNUnet could be installed as simple as:" msgstr "" #: template/install.html.j2:65 msgid "" "Next we describe a generic way to install from source. If you are using " "one of the following Operating Systems these step-by-step guides might be" " useful: ArchPi, Debian 9, Mac OS, NetBSD, " "Ubuntu 1804. Be aware that not" " all of them might be totally up-to-date! Please ask us if you get stuck." msgstr "" #: template/install.html.j2:79 msgid "" "First, install the required " "dependencies of GNUnet. There are base requirements and optional " "requirements." msgstr "" #: template/install.html.j2:85 msgid "" "Now, you need to decide if you want to install GNUnet from the release " "tarball or from git. If you want to use GNUnet and there is no binary " "package available for your OS, you should stick with the release tarball." " If you want to develop using the most recent build, you should go with " "the git repository." msgstr "" #: template/install.html.j2:102 msgid "To compile gnunet from the git source you can do so by entering:" msgstr "" #: template/install.html.j2:110 msgid "" "Before building GNUnet, make sure that you setup the required groups and " "add your user to the group gnunet:" msgstr "" #: template/install.html.j2:121 msgid "To compile GNUnet, execute:" msgstr "" #: template/install.html.j2:132 msgid "" "You can find more configuration flags in the README.
    " "Install GNUnet with:" msgstr "" #: template/install.html.j2:142 msgid "You can now start GNUnet by running:" msgstr "" #: template/install.html.j2:150 msgid "" "Check the handbook for detailed documentation. For a more " "hands-on experience, continue " "here." msgstr "" #: template/livingstandards.html.j2:12 msgid "On this page you can find links to our technical specifications." msgstr "" #: template/use.html.j2:7 msgid "How to use GNUnet - in a nutshell" msgstr "" #: template/use.html.j2:13 template/use.html.j2:126 msgid "Filesharing" msgstr "" #: template/use.html.j2:14 msgid "CADET" msgstr "" #: template/use.html.j2:15 msgid "Convenient Messenger" msgstr "" #: template/use.html.j2:16 msgid "GNS with CLI" msgstr "" #: template/use.html.j2:17 msgid "GNS with Browser" msgstr "" #: template/use.html.j2:18 template/use.html.j2:429 msgid "VPN" msgstr "" #: template/use.html.j2:19 template/use.html.j2:489 msgid "Conversation" msgstr "" #: template/use.html.j2:20 template/use.html.j2:500 msgid "Trouble Shooting" msgstr "" #: template/use.html.j2:35 msgid "Accessing GNUnet" msgstr "" #: template/use.html.j2:79 msgid "Leaving GNUnet" msgstr "" #: template/use.html.j2:89 msgid "Make sure your GNUnet installation works..." msgstr "" #: template/use.html.j2:108 msgid "... and play around with it." msgstr "" #: template/use.html.j2:180 msgid "CADET (and Chat)" msgstr "" #: template/use.html.j2:218 msgid "Chatting with a convenient client" msgstr "" #: template/use.html.j2:264 msgid "Name resolution using GNS on the command line" msgstr "" #: template/use.html.j2:341 msgid "Name resolution using GNS with a browser" msgstr "" #: template/use.html.j2:502 msgid "You can't reach other people's nodes" msgstr "" #: template/use.html.j2:538 msgid "OMG you guys broke my internet" msgstr "" #: template/video.html.j2:13 msgid "Videos related to GNUnet" msgstr "" #: template/dev_pages/t3sserakt.html.j2:9 msgid "Developer page: t3sserakt" msgstr "" #: template/dev_pages/t3sserakt.html.j2:24 msgid "Current Work" msgstr "" #: template/dev_pages/t3sserakt.html.j2:26 msgid "" "Today consumer devices are behind a NAT quite often, restricting internet" " connectivity. There are several methods to reach peers being behind a " "NAT, but there are as many reasons those existing methods might fail. We " "will implement a new way of NAT traversal that we think of being " "independent from the existing network configuration, and does not require" " a third party which is not natted helping two peers to connect to each " "other. For details have a look on the project " "page" msgstr "" #: template/dev_pages/t3sserakt.html.j2:44 msgid "Past Project" msgstr "" #: template/dev_pages/t3sserakt.html.j2:46 msgid "Transport Next Generation" msgstr "" #: template/dev_pages/t3sserakt.html.j2:48 msgid "" "The current GNUnet TRANSPORT architecture with its pluggable transport " "mechanism (TCP, UDP, HTTP(S) and other protocols) together with the ATS " "subsystem for bandwidth allocation and choosing plugins has several " "issues with its design. With the Layer-2-Overlay project we like to " "implement the design goals of the future GNUnet TRANSPORT Next Generation" " (TNG) subsystem. For details have a look on the project page." msgstr "" #: template/dev_pages/t3sserakt.html.j2:63 msgid "Voluntary Work" msgstr "" #: template/dev_pages/t3sserakt.html.j2:65 msgid "" "In the past I have tried to help making the vision of the secushare project a reality. To achieve" " this the GNUnet framework was the perfect match for a solution to " "fullfill the privacy preserving part of that vision, and we could " "concentrate to build a tool for social communication that deserves its " "name. While trying to use GNUnet, we found and fixed bugs. For example " "there was one bug in CADET which " "prevented the re-establishment of a connection after a communication " "partner suddenly stopped communicating. From our perspective there is no " "alternativ to GNUnet, which led us to first bring the parts of GNUnet " "needed by secushare to a state that they can be used prouctively." msgstr "" #: template/dev_pages/t3sserakt.html.j2:80 msgid "Contact Information" msgstr "" #: template/l2o/index.html.j2:7 template/l2o/mile1.html.j2:7 #: template/l2o/mile2.html.j2:7 template/l2o/mile3.html.j2:7 #: template/l2o/mile4.html.j2:7 template/l2o/mile5.html.j2:7 #: template/l2o/mile6.html.j2:7 template/l2o/mile7.html.j2:7 #: template/l2o/mile8.html.j2:7 template/l2o/mile9.html.j2:7 #: template/l2o/testng.html.j2:7 msgid "NGI Assure project: Layer-2-Overlay" msgstr "" #: template/l2o/index.html.j2:13 template/l2o/index.html.j2:38 #: template/probnat/index.html.j2:13 template/probnat/index.html.j2:35 msgid "Project motivation" msgstr "" #: template/l2o/index.html.j2:14 msgid "New Test Framework" msgstr "" #: template/l2o/index.html.j2:15 template/l2o/index.html.j2:78 #: template/probnat/index.html.j2:14 template/probnat/index.html.j2:64 msgid "Milestones" msgstr "" #: template/l2o/index.html.j2:16 template/probnat/index.html.j2:15 msgid "Milestone 1" msgstr "" #: template/l2o/index.html.j2:17 template/probnat/index.html.j2:16 msgid "Milestone 2" msgstr "" #: template/l2o/index.html.j2:18 template/probnat/index.html.j2:17 msgid "Milestone 3" msgstr "" #: template/l2o/index.html.j2:19 template/probnat/index.html.j2:18 msgid "Milestone 4" msgstr "" #: template/l2o/index.html.j2:20 template/probnat/index.html.j2:19 msgid "Milestone 5" msgstr "" #: template/l2o/index.html.j2:21 template/probnat/index.html.j2:20 msgid "Milestone 6" msgstr "" #: template/l2o/index.html.j2:22 template/probnat/index.html.j2:21 msgid "Milestone 7" msgstr "" #: template/l2o/index.html.j2:23 msgid "Milestone 8" msgstr "" #: template/l2o/index.html.j2:24 msgid "Milestone 9" msgstr "" #: template/l2o/index.html.j2:31 msgid "" "This project was funded through the NGI Assure Fund, a fund established " "by NLnet.
    " msgstr "" #: template/l2o/index.html.j2:43 msgid "" "The current GNUnet TRANSPORT architecture with its pluggable " "transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with" " the ATS subsystem for bandwidth allocation and choosing plugins has " "several issues with its design. With the " "Layer-2-Overlay project we like to implement the design goals of the future GNUnet TRANSPORT Next Generation " "(TNG) subsystem. One major change in the design is to separate the " "protocol plugins into processes (now called communicators) detached from " "the main transport service. Three communicators were already implemented " "(TCP, UDP and UNIX sockets). The old transport code is hard to maintain, " "because it is cluttered with \"manipulation\" support code for TESTBED " "(the actual testing framework). Testing TRANSPORT is a hard task, " "especially with TESTBED which has its own design flaws, and test code " "which is very hard to read to get an idea what the test code is doing. " "Therefore the first task (milestone 1) is to implement a new testing " "framework which uses network namespaces to make testing of TNG much " "easier. Have a look into what is planed for Layer-2-Overlay in the milestones." msgstr "" #: template/l2o/index.html.j2:54 msgid "New Test Framwork" msgstr "" #: template/l2o/index.html.j2:58 msgid "Command Style Pattern" msgstr "" #: template/l2o/index.html.j2:62 msgid "" "The new style of writing tests in GNUnet is borrowed from the GNU Taler testing library. In milestone 1 we implemented commands to setup the" " netjails, the test environment for each peer, " "to start a single peers and sending a simple test message. Because some " "commands depend on other commands to be finished, and those commands are " "asynchronous, we needed additional functionality in the command " "interpreter library to block execution until some commands are finished " "(e.g. all peers needs to be running, before peers starting to send " "messages). For a detailed description have a look into the testing ng documentation." msgstr "" #: template/l2o/index.html.j2:68 msgid "Netjails" msgstr "" #: template/l2o/index.html.j2:72 msgid "" "To do extensive testing of the new transport implementation one needs to " "simulate various network topologies to enable faking network " "characteristics like lossy connections or firewalls. To achieve this we " "are working with network namespace. We have commands for starting and " "stopping network namespaces. Those commands are scripts, which are using " "several shell commands to setup the network namespace. A third script " "then is responsible for start a GNUnet helper. This helper can load " "plugins. Each plugin represents some test case. Per node in the network " "namespaces one helper is started, which means on each node is a local " "interpreter loop running. For a detailed description have a look into the" " testing ng documentation." msgstr "" #: template/l2o/index.html.j2:82 msgid "Milestone 1 Test Infrastructure and minimal Test Case" msgstr "" #: template/l2o/index.html.j2:85 msgid "" "The first subtask consists of implementing a framework for setting up " "VLANs between network namespaces and a framework to test communication " "between peers which are running in those VLANs. Finally a minimal Test " "Case will be implemented. Despite the fact that the transport service is " "already able to use several communicators (transport protocol " "implementations), it will only use the tcp communicator, not the unix " "socket nor the udp communicator, which already are in place and working. " "
    • SUID helpers to setup network namespace and starting peers with " "network namespace.
    • Basic transport-level operations (get " "address, send, receive, connect).
    • Peers connected through test " "and transfer data.

    " msgstr "" #: template/l2o/index.html.j2:97 msgid "" "First MVP which uses the TCP communicator to send messages between peers." " The deliverable can be verified through out the specific test cases " "running in the GNUnet CI. Details" msgstr "" #: template/l2o/index.html.j2:105 msgid "Milestone 2 Enhancing Test Framework" msgstr "" #: template/l2o/index.html.j2:108 msgid "" "To test more complex functionality we need to enhance the capabilities of" " the testing framework. Hooks for performance measurement will be " "implemented.
    • Enhancing transport-level operations.
    • " "
    • Block execution of commands at a peer. (Barriers).
    " msgstr "" #: template/l2o/index.html.j2:118 msgid "" "Outcome of this deliverable are advanced test cases (again verifiable in " "the GNUnet continuous integration (CI)). Details" msgstr "" #: template/l2o/index.html.j2:126 msgid "Milestone 3 UDP integration" msgstr "" #: template/l2o/index.html.j2:129 msgid "" "With this subtask I will implement enhanced L2O features like using " "unidirectional transport protocols with backchannels. Addresses by which " "a peer can be reached can be delivered on handshake or by UDP broadcast. " "With this milestone the transport service will be able to use more than " "one communicator (pluggable transport).
    • unidirectional " "communication and backchannels.
    • UDP broadcast.
    " msgstr "" #: template/l2o/index.html.j2:139 msgid "" "The CI contains test cases which uses the UDP protocol to message between" " peers and to learn about “foreign” peers. Details" msgstr "" #: template/l2o/index.html.j2:147 msgid "Milestone 4 Distance Vector" msgstr "" #: template/l2o/index.html.j2:150 msgid "" "In this subtask I will enhance connectivity to peers not directly " "connected. Therefore peers have to act as relay. To achieve this there is" " the distance vector protocol. The DV algorithm sends out so called learn" " messages to other peers. If those learn messages are coming back to the " "initiating peer via some other peer and the path does not return to any " "other peer we have a circle path. If there are bidirectional connections " "between peers somewhere in the DV path and the learn message comes back " "to a peer we call it inverse path." msgstr "" #: template/l2o/index.html.j2:156 msgid "" "The CI contains test cases with a setup of peers not connected directly. " "The test cases proof that each peer can reach any other peer. We have " "test cases for the circle path and for the inverse path. Details" msgstr "" #: template/l2o/index.html.j2:163 msgid "Milestone 5 NAT Traversal" msgstr "" #: template/l2o/index.html.j2:166 msgid "" "This subtask will make peers behind NAT reachable. Two simple traversal " "methods will be implemented.
    • NAT traversal via UpnPC.
    • " "
    • Autonomous NAT Traversal using fake ICMP messages.
    " msgstr "" #: template/l2o/index.html.j2:176 msgid "" "The CI contains test case with a peer setup containing peer behind a NAT." " The test cases proof that each peer can be reached, even if that peer is" " behind a NAT. The test case are measuring the performance. This " "measurement is used to compare with the outcome of the next milestone. " "This result of this milestone will be a first stable release. Details" msgstr "" #: template/l2o/index.html.j2:183 msgid "Milestone 6 Optimization" msgstr "" #: template/l2o/index.html.j2:186 msgid "" "In this subtask I will implement algorithms (flow and congestion control," " quality of service optimizations) which will select the optimal " "transport protocol for a given situation. I will analyze potential " "performance gains by integrating libraries of the interpeer project. If " "the effort of integrating interpeer presumably would lead to better " "performance than other optimizations of the same amount of work, this " "integration is done. I will finish the project with a performance " "analysis to optimize the selection logic.
    • Queue management. " "
    • Interpeer project synergy
      1. Analysis of the interpeer project " "in regard to integrate it into GNUnet.
      2. Optional integration into" " GNUnet, if it can be done at all and in a reasonable amount of " "work.
    • Commands for performance measurement(s).
    • " "
    • Performance analysis.
    " msgstr "" #: template/l2o/index.html.j2:206 msgid "" "The test cases in the CI are measuring the performance gains. This " "measurement can be compared with the measurement of milestone 5. Again " "one outcome of this milestone will be a stable release.
    " "Documentation of the interpeer project analysis. More Details." msgstr "" #: template/l2o/index.html.j2:214 msgid "Milestone 7 Removing deprecated code" msgstr "" #: template/l2o/index.html.j2:217 msgid "" "The code of the old transport API and of the ATS API will be removed from" " the code base. This is mainly the use of the API in the Core layer, and " "suggesting addresses to connect to other peers in all kinds of other " "GNUnet layers. Additionally all tests which rely on the removed code will" " be set inactive. All usages of the old APIs will be removed. If it is " "not much work to replace the old with the new API this will be done " "directly, otherwise there will be a TODO comment what needs to be doneto " "make that part of the code working again with the new code. Documentation" " of code that will be deleted without replacement, because the " "functionality is missing in the new API." msgstr "" #: template/l2o/index.html.j2:228 msgid "" "Removed APIs from code base, deactivated dependent tests and either " "documentation of what is necessary for the integration of the new API, or" " if the effort for this is as high as the documentation directly the " "implementation. More Details." msgstr "" #: template/l2o/index.html.j2:236 msgid "Milestone 8 Make GNUnet start again" msgstr "" #: template/l2o/index.html.j2:239 msgid "" "All missing implementations of the new API will be finished, necessary to" " make GNUnet start and being usable for its basic functionality (DHT, " "GNS, CADET, FS, Messenger …)." msgstr "" #: template/l2o/index.html.j2:246 msgid "GNUnet running with new API. More Details." msgstr "" #: template/l2o/index.html.j2:252 msgid "Milestone 9 Testing and Fixing" msgstr "" #: template/l2o/index.html.j2:255 msgid "" "Because all integration tests are deactivated, and there are no resources" " to rewrite them at the time being, extensive manual testing and " "certainly bug fixing is necessary." msgstr "" #: template/l2o/index.html.j2:262 msgid "" "GNUnet release running with new API. More Details." msgstr "" #: template/l2o/mile1.html.j2:13 template/l2o/mile2.html.j2:13 #: template/l2o/mile3.html.j2:13 template/l2o/mile4.html.j2:13 #: template/l2o/mile5.html.j2:13 template/l2o/mile6.html.j2:13 #: template/l2o/mile7.html.j2:13 template/l2o/mile8.html.j2:13 #: template/l2o/mile9.html.j2:13 template/l2o/testng.html.j2:13 #: template/probnat/mile1.html.j2:13 msgid "Project main page" msgstr "" #: template/l2o/mile1.html.j2:21 template/l2o/mile2.html.j2:21 #: template/l2o/mile3.html.j2:30 template/l2o/mile4.html.j2:41 msgid "Master Loop" msgstr "" #: template/l2o/mile1.html.j2:23 msgid "" " " " " "
    src/transport/test_transport_api_cmd_simple_send.cBinary for starting the " "simple send test. Obsolete in current code base!
    " "
    src/testing/netjail_start.shScript to setup the netjail topology. Will be " "execute by the following command.
    src/testing/testing_api_cmd_netjail_start.cCommand to create the netjail setup.
    src/testing/netjail_exec.shScript to execute a local test interpreter per " "node. Will be execute by the following command.
    " "
    src/testing/testing_api_cmd_netjail_start_testsystem.cCommand to start the helper " "processes.
    src/testing/testing_api_cmd_netjail_stop_testsystem.cCommand to stop the helper " "processes.
    src/testing/netjail_stop.shScript to stop the netjail " "topology.
    src/testing/testing_api_cmd_netjail_stop.cCommand to stop the test setup.
    " msgstr "" #: template/l2o/mile1.html.j2:66 template/l2o/mile2.html.j2:49 #: template/l2o/mile3.html.j2:67 template/l2o/mile4.html.j2:56 msgid "Local Loop" msgstr "" #: template/l2o/mile1.html.j2:68 msgid "" " " " " " " "
    src/testing/gnunet-cmds-helper.cHelper to start the local interpreter " "loop.
    src/transport/test_transport_plugin_cmd_simple_send.cPlugin which creates the " "cmds for the simple send test case.
    src/testing/testing_api_cmd_system_create.cCommand to create a local test " "system.
    src/transport/transport_api_cmd_start_peer.cCommand to start a peer.
    src/transport/transport_api_cmd_connecting_peers.c Command to connect two " "peers.
    src/transport/transport_api_cmd_send_simple.cCommand to send a simple message from one " "peer to another.
    src/transport/transport_api_cmd_stop_peer.cCommand to stop a peer.
    src/testing/testing_api_cmd_system_destroy.cCommand to destroy the local test " "system.
    src/testing/testing_api_cmd_local_test_finished.cCommand " "to send a message to the master loop, if the local loop has " "finished.
    " msgstr "" #: template/l2o/mile1.html.j2:116 msgid "" "
    src/transport/test_transport_api2_tcp_node1.confConfiguration for the first " "node running during the simple send test case.
    " "
    src/transport/test_transport_api2_tcp_node2.confConfiguration for the second" " node running during the simple send test case.
    " msgstr "" #: template/l2o/mile2.html.j2:23 msgid "" " " " " " " "
    src/transport/test_transport_simple_send.shIntroduced scripts to start the tests. The" " script checks, if a kernel parameter is set to allow unprivileged users " "to create network namespaces. The script than starts the following " "gerneric binary in a network namespace.
    src/transport/test_transport_start_with_config.cA generic binary to start a " "test case which will be configured by a configuration file.
    src/testing/testing.cAdded code to read netjail topology from a file.
    src/testing/topo.shScript which reads the topology from a file for the use in the " "other netjail scripts.
    All already existing " "commands.All " "commands changed to work with the topology data.
    " msgstr "" #: template/l2o/mile2.html.j2:51 msgid "" " " "
    src/testing/testing_api_cmd_send_peer_ready.cCommand to send a message to" " the master loop if a peer has started in local loop.
    src/testing/testing_api_cmd_local_test_prepared.cCommand to send a message to" " the master loop if a peer is ready to shutdown.
    " msgstr "" #: template/l2o/mile2.html.j2:66 msgid "" "test_transport_simple_send_topo.conf
    src/transport/transport_api_cmd_start_peer.cCommand now uses a configuration template" " for the peer configuration.
    Topology configuration file for the simple send" " test case.
    " msgstr "" #: template/l2o/mile3.html.j2:21 msgid "Bug fixing" msgstr "" #: template/l2o/mile3.html.j2:23 msgid "" "Some bugs in the tng service and communicator code which were found with " "new tests were fixed." msgstr "" #: template/l2o/mile3.html.j2:32 msgid "" " " " " "
    src/transport/test_transport_udp_backchannel.shAdded script to start the " "udp backchannel test case.
    src/transport/test_transport_simple_send_broadcast.shAdded script for the UDB " "broadcast test.
    src/transport/test_transport_simple_send_string.shAdded script as an example " "to start a test with inline topology configuration string.
    All commandsChanged code to handle strings with topology information.
    src/testing/netjail_start.shChanged the netjail start " "script to configure port forwarding for specific protocols (tcp, " "udp).
    src/testing/netjail_*.shMoved to contrib/netjail " "directory
    " msgstr "" #: template/l2o/mile3.html.j2:69 msgid "" "New plugin for the udp " "broadcast test case. " " Command to block the local " "loop until triggered by a external signal.
    src/transport/test_transport_plugin_cmd_simple_send_broadcast.c
    src/transport/test_transport_plugin_cmd_udp_backchannel.cNew plugin for the udp " "backchannel test case.
    src/transport/transport_api_cmd_backchannel_check.cCommand to check for a udp " "backchannel specific log entry.
    src/testing/testing_api_cmd_block_until_external_trigger.cc
    " msgstr "" #: template/l2o/mile3.html.j2:95 msgid "" "Topology configuration for " "the broadcast test.
    src/transport/test_transport_simple_send_broadcast_topo.conf
    test_transport_udp_backchannel_topo.confTopology configuration file for the udp " "backchannel test case.
    " msgstr "" #: template/l2o/mile4.html.j2:21 template/l2o/mile5.html.j2:32 #: template/l2o/mile6.html.j2:21 msgid "TNG Service" msgstr "" #: template/l2o/mile4.html.j2:23 msgid "" "
    • Added caching for Core messages, if confirmed virtual link is " "missing.
    • Addd caching for DV forwarding, if confirmed virtual " "link is missing.
    • Fixed bugs in fragmentation logic.
    • " "
    • Fixed bugs in fragmentation logic.
    • Fixed bugs in flow " "control logic.
    • Fixed Bug with lifetime of DV learn message. " "(Validation against replay attack still missing.)
    • Fixed Bug in " "rekeying logic of the TCP communicator
    " msgstr "" #: template/l2o/mile4.html.j2:43 msgid "" " " "
    src/transport/test_transport_simple_send_dv_inverse.shAdded script to start the " "inverse distance vector test case.
    src/transport/test_transport_simple_send_dv_circle.shAdded script to start the " "circle distance vector test case.
    " msgstr "" #: template/l2o/mile4.html.j2:58 msgid "" " " "
    src/transport/transport_api_cmd_connecting_peers.cAdded logic to handle " "counting additonal connection per peer.
    src/transport/test_transport_plugin_cmd_simple_send_dv.cAdded plugin which creates " "the commands for the distance vector test cases.
    " msgstr "" #: template/l2o/mile4.html.j2:73 msgid "" "Configuration for the DV " "inverse path test case. Configuration for the DV " "circle path test case.
    src/transport/test_transport_distance_vector_inverse_topo.conf
    src/transport/test_transport_distance_vector_circle_topo.conf
    src/testing/netjail_start.shEnhanced port forwarding configuration to " "restrict port forwarding to specific source IPs.
    " "
    contrib/netjail/topo.shMake specific nodes configurable as source node for IP " "forwarding.
    src/testing/testing.cHelper methods to retrieve " "the number of additional connections globally and per peer, and which " "peer is allowed as source for IP forwarding.
    " msgstr "" #: template/l2o/mile5.html.j2:21 msgid "Testing Framework" msgstr "" #: template/l2o/mile5.html.j2:23 msgid "" "" msgstr "" #: template/l2o/mile5.html.j2:34 msgid "" "
    • Added nat reversal code to tcp communicator. Prepared udp " "communicator.
    • Added tcp icmp nat hole punching test case script," " and fixed bugs occuring during shutdown.
      • " "
      • src/transport/test_transport_nat_icmp_tcp.sh
    • Added " "performance test case.
      • " "
      • src/transport/test_transport_plugin_cmd_simple_send_performance.c
      • " "
      • src/transport/test_transport_simple_send_performance.sh
      • " "
      • src/transport/test_transport_simple_send_performance_topo.conf
      • " "
      • src/transport/transport_api_cmd_send_simple_performance.c
      " "
    • Fixed bug happening during check for pending validation requests " "after nat reversal.
    • Fixed bug of QueueEntry deleted too " "early.
    • Fixed bug about missing synchronisation between client " "and service queue in Transport Core API.
    • Fixed bug of not " "sending the changed window size, which takes into account the used and " "lost data.
    " msgstr "" #: template/l2o/mile5.html.j2:65 msgid "" "
    • Added configuration to be able to start executables on a router " "node
      • contrib/netjail/netjail_core.sh
      • " "
      • contrib/netjail/netjail_start.sh
      • " "
      • contrib/netjail/topo.sh

    " "
    src/transport/test_transport_nat_upnp_topo.confAdded topology file for nat " "upnp test case
    contrib/netjail/netjail_start.shHanding over the global " "number of the router node to the script running on that node. " "(8e1bf27b11)

    • miniupnpd only works with " "public IP addresses. (c524f91a6)
      • " "
      • contrib/netjail/netjail_start.sh
      • src/testing/gnunet-cmds-" "helper.c
      • src/testing/testing.c
    • Changed" " the format of the interface names to make miniupnpd happy. " "(4aec035ea)
      • contrib/netjail/netjail_core.sh
      • " "
      • src/testing/testing_api_cmd_netjail_start_cmds_helper.c
      " "
    • Cleanup after scripts which were running on netjail nodes." " (9d6ace0b9)
      • contrib/netjail/netjail_stop.sh
      " "

    src/transport/test_transport_nat_icmp_tcp_topo.confAdded topology file for tcp " "icmp nat hole punching test case.

    • Added " "code to configure connection attempts to natted peers. (6de2cb8f7a)
    • " "
      • src/testing/testing.c
      • " "
      • src/transport/transport_api_cmd_connecting_peers.c
    " "
    • Added code in the netjail scripts to enable router nodes to " "forward icmp requests and response. (a21cb1820)
      • " "
      • contrib/netjail/netjail_core.sh
      • " "
      • contrib/netjail/netjail_start.sh
    " msgstr "" #: template/l2o/mile5.html.j2:130 template/l2o/mile6.html.j2:57 msgid "Performance Measurement" msgstr "" #: template/l2o/mile5.html.j2:132 msgid "" "The outcome of the performance measurement was ~24 MByte/s for packets " "with size of 65000 bytes. To follow up on this measurement one has to get" " the mean time the packets of 65000 bytes needed to reach another peer, " "to calculate the data rate, by doing

    grep \"mean time " "traveled\" 1b8b9ebe2_test.out|tail -1

    on the log file 1b8b9ebe2_test.out of the " "performance test case. For this measurement the TNG layer was using tcp " "only, because there was an unfixed bug, if running tcp and udp in " "parallel." msgstr "" #: template/l2o/mile5.html.j2:142 msgid "API Documentation" msgstr "" #: template/l2o/mile5.html.j2:144 msgid "" "Documentation of the new TNG " "Api." msgstr "" #: template/l2o/mile6.html.j2:23 msgid "" "
    • Introduced frags_in_flight flag. With this flag we check if " "fragments of a PendingMessage are being send right now, to not resend " "single fragments, but the PendingMessage at once.
    • The time to " "wait for resending a PendingMessage - which was fragmented - is " "calculated, depending on the number of fragments present, and how much of" " the PendingMessage was already fragmented.
    • ValidationState now " "contains the addres prefix of the address being validated, because we " "have to check which communicator gave us the validation response.
    • " "
    • Handling flow control takes used window size into account, together " "with data loss.
    • We do not update queue performance if " "PendingMessage was resend.
    • Changed test case to except 0.5% " "packet loss.
    • Removed misplaced sending of an acknowlegement in " "udp communicator.
    • GNUNET_SERVICE_client_continue was misplaced " "after receiving CORE Ack, blocking the service.
    • Fixed bug when " "checking, if fragment sub tree is done.
    • Fixed bug in calculation" " of delay for PendingAcknowledgement.
    • Fixed bug in calculation " "of subtree fragment message size.
    • Fixed bug that additional " "queues for the same communicator inherit the validity period.
    • " "
    • Fixed logic bug when searching for QueueEntry matching " "acknowledgement.
    • Fixed misplaced increase of queue length.
    • " "
    " msgstr "" #: template/l2o/mile6.html.j2:47 msgid "" "Changed configuration to " "use TCP and UDP together.
    src/transport/test_transport_simple_send_performance_topo.conf
    " msgstr "" #: template/l2o/mile6.html.j2:59 msgid "" "The outcome of the performance measurement was ~66 MByte/s for packets " "with size of 65000 bytes. To follow up on this measurement one has to get" " the mean time the packets of 65000 bytes needed to reach another peer, " "to calculate the data rate, by doing

    grep \"mean time " "traveled\" 811c040a2_test.out|tail -1

    on the log file 811c040a2_test.out of the " "performance test case. The performance increased from ~24 MByte/s " "measured with the code revision of milestone 5 by using TCP only to ~66 " "MByte/s measured with the code revision of milestone 6 for packet size of" " 65000 bytes using TCP and UDP together. There are still possibilities to" " increase performance documented as TODOs in the source code." msgstr "" #: template/l2o/mile6.html.j2:70 msgid "Synergie with Interpeer Channeler project." msgstr "" #: template/l2o/mile6.html.j2:72 msgid "" "The Interpeer library Channeler and the L2O project have some goals in " "common. These include independence of the transmission protocol used, " "congestion control, reliability. Other goals of the Channeler project are" " not goals of the L2O project, but are already implemented or planned for" " other layers of GNUnet, such as multiplexing and ordered delivery of " "packages. There are also goals of the L2O project that are not goals of " "the Channeler project, such as metadata protection and identity assurance" " of communication partners. Due to these half overlapping half disjoint " "targets it is not reasonable that on project makes use of the other as a " "whole. However, parts of one project may well be applicable in the other." " Since the Channeler project is not yet completed, it is not yet possible" " to identify the interesting parts beyond doubt. Interesting for the " "further development of L2O is the \"Zero-Copy and Buffering\" " "functionality of the Channeler project. This is also planned for future " "versions of L2O. In conclusion, both projects can benefit from each " "other. At this point in time, it is still too early to tackle this " "concretely." msgstr "" #: template/l2o/mile7.html.j2:21 msgid "Marked old transport API as deprecated" msgstr "" #: template/l2o/mile7.html.j2:23 msgid "" "To make the search for the old API methods easier, those methods were " "marked as deprecated in their header files.

    See branch " "l20integration revision 664286d." msgstr "" #: template/l2o/mile7.html.j2:31 msgid "Removed usage of old transport API methods" msgstr "" #: template/l2o/mile7.html.j2:33 msgid "" "Removed usage of old transport API methods and exchanged them with API " "methods of L2O or deleted without replacement, if there is no " "corresponding functionality in L2O.

    In the process, the " "subsystems cadet, core, dhtu, fs and topology were touched.

    The" " blacklist and friend functionality in subsystem topology was deleted " "without replacement, as well as the bandwith allocation in the fs (file " "sharing) subsystem.

    In the transport subsystem itself, old API " "methods are still used until the code is finally removed in Milestone 9. " "There is a cli tool gnunet-transport in the transport subsystem which " "needs be rewritten partially to get infromation from L2O which can not " "retrieved via the old API anymore.

    Additionally there is a " "peerinfo cli tool gnunet-peerinfo, which needs to be rewritten partially " "too.

    See branch l20integration revision b78f993." msgstr "" #: template/l2o/mile7.html.j2:49 msgid "Deactivated tests which rely on old transport API methods" msgstr "" #: template/l2o/mile7.html.j2:51 msgid "" "All test which rely on the old transport API methods were deactivated. " "They are still in the code base, but they just wouldn't work.

    " "See branch l20integration revision 72b4f42." msgstr "" #: template/l2o/mile8.html.j2:21 msgid "Added command to execute a script" msgstr "" #: template/l2o/mile8.html.j2:23 msgid "" "A command to start any kind of script was added. As of now this command " "blocks until the script finished. In the context of this milestone this " "command is later used to execute a script which blocks until it finds a " "specific file.

    See branch l20integration revision 40a5a65." msgstr "" #: template/l2o/mile8.html.j2:31 msgid "Added generic start script for test cases" msgstr "" #: template/l2o/mile8.html.j2:33 msgid "" "We do not want to have a specific start script for every test case. This " "start script asks for a test case configuration to use.

    See " "branch l20integration revision 80971b6." msgstr "" #: template/l2o/mile8.html.j2:41 msgid "Moved start peer command to testing subsystem" msgstr "" #: template/l2o/mile8.html.j2:43 msgid "" "A start script was added, that can be used by test cases in all " "subsystems, and which starts the new transport subsystem.

    See " "branch l20integration revision 03a5d17." msgstr "" #: template/l2o/mile8.html.j2:51 msgid "Added Testcase that just runs two peers, and blocks" msgstr "" #: template/l2o/mile8.html.j2:53 msgid "" "This testcase just runs to peers with the new transport subsystem and " "runs the command that executes a script that blocks until

    See " "branch l20integration revision 4ba7b5f." msgstr "" #: template/l2o/mile8.html.j2:61 msgid "Manually testing" msgstr "" #: template/l2o/mile8.html.j2:63 msgid "" "With the above mentioned test case, it was possible to get GNUnet running" " with the new transport (L2O) subsystem, do manually testing. Some bugs " "were already fixed:

    • Fixed bug that core subsystem is " "not calling GNUNET_TRANSPORT_core_receive_continue. See branch " "l20integration revision 61bbc04.
    • Fixed bug that QueueEntry of " "another queue still holds reference to PendingMessage. See branch " "l20integration revision aec63bf.
    " msgstr "" #: template/l2o/mile8.html.j2:73 template/l2o/mile9.html.j2:327 msgid "Status" msgstr "" #: template/l2o/mile8.html.j2:75 msgid "" "The core and cadet subsystems were manually tested regarding integration " "with transport. They are boh working. Next subsystems to test: dhtu, fs " "and topology." msgstr "" #: template/l2o/mile9.html.j2:22 msgid "Added api to store hellos with peerstore service" msgstr "" #: template/l2o/mile9.html.j2:24 msgid "" "This functionality was formerly implemented in the peerinfo " "service.

    See revision 0f8b712." msgstr "" #: template/l2o/mile9.html.j2:32 msgid "Added api to get notified when hellos are stored with peerstore service" msgstr "" #: template/l2o/mile9.html.j2:34 msgid "" "This functionality was formerly implemented in the peerinfo service. " "After storing hellos with the peerstore service this was needed " "there.

    See revision 55a25ef." msgstr "" #: template/l2o/mile9.html.j2:42 msgid "Changed new hello uri api to allow to change the expiration time" msgstr "" #: template/l2o/mile9.html.j2:44 msgid "" "This change was necessary to create the bootstrap hello which must be " "valid indefinitely.

    See revision 39bcd0f." msgstr "" #: template/l2o/mile9.html.j2:52 msgid "Exchanged peerinfo api to store hellos with new peerstore api" msgstr "" #: template/l2o/mile9.html.j2:54 msgid "" "The new api needed to be exchange in all GNUnet packages.

    See " "revision 23a2640." msgstr "" #: template/l2o/mile9.html.j2:62 msgid "Change watch to return actual values, before watching." msgstr "" #: template/l2o/mile9.html.j2:64 msgid "" "The watch api of the peerstore service was changed to return all values " "for a given key, before notifying the caller about ne values being " "stored.

    See revision 86ae84f." msgstr "" #: template/l2o/mile9.html.j2:72 msgid "The old hello design replaced by the new hello design." msgstr "" #: template/l2o/mile9.html.j2:74 msgid "" "The new hello design was exchanged in all GNUnet packages.

    See " "revision a362cd5." msgstr "" #: template/l2o/mile9.html.j2:82 msgid "" "Cli tool for changing hello files in contrib can change file from old to " "new hello design." msgstr "" #: template/l2o/mile9.html.j2:84 msgid "" "A cli tool for changing the bootstrap hello file in the contrib/hello " "directory was changed to rewritethe hello bootstrap file from old to new " "format.

    See revision 8ea9223." msgstr "" #: template/l2o/mile9.html.j2:92 msgid "Moved code to scan and import hello file into peerstore from peerinfo." msgstr "" #: template/l2o/mile9.html.j2:94 msgid "" "The peerinfo service service was scanning a hostlist file and the data " "was used by the hostlist server. This code was moved to the peerstore " "service.

    See revision 20d6f3." msgstr "" #: template/l2o/mile9.html.j2:102 msgid "" "Moved code to testing to have more generic test setup, which can be used " "not only from within transport." msgstr "" #: template/l2o/mile9.html.j2:104 msgid "" "The new testing framework was transport specific Now it can be used in " "other packages too.

    See revision 02a1fda." msgstr "" #: template/l2o/mile9.html.j2:112 msgid "Code moved to the core package to get rid of circular dependencies." msgstr "" #: template/l2o/mile9.html.j2:114 msgid "" "After changes to be able to use the testing framework more generic the " "dependencies needed to be fixed..

    See revision 1016d6d." msgstr "" #: template/l2o/mile9.html.j2:122 msgid "" "Changed method GNUNET_HELLO_builder_get_expiration_time to not need " "parameter GNUNET_HELLO_Builder." msgstr "" #: template/l2o/mile9.html.j2:124 msgid "A small function syntax fix.

    See revision 84913b." msgstr "" #: template/l2o/mile9.html.j2:132 msgid "" "Changed the behavior of GNUNET_PEERSTORE_watch to also return the values " "allready stored for the key." msgstr "" #: template/l2o/mile9.html.j2:134 msgid "" "The watch functionality first returns all values for a given key, before " "notifying the caller about new values for that key.

    See " "revision e1341d1." msgstr "" #: template/l2o/mile9.html.j2:142 msgid "Changed address and hello format to new TNG format." msgstr "" #: template/l2o/mile9.html.j2:144 msgid "" "All occurencies in GNUnet packages were changed from old to new hello " "format.

    See revision 66ecfe2." msgstr "" #: template/l2o/mile9.html.j2:152 msgid "Fixed bug in bootstrap code." msgstr "" #: template/l2o/mile9.html.j2:154 msgid "" "Unnecessary check removed. Fixed small coding error.

    See " "revision 3bd35e8." msgstr "" #: template/l2o/mile9.html.j2:162 msgid "Fixed validation bug." msgstr "" #: template/l2o/mile9.html.j2:164 msgid "" "The validation of other peers in the transport package was not working in" " some cases, because validation did not use monotonic time, and " "first_challenge_use wasn't reset.

    See revision 88cb4be." msgstr "" #: template/l2o/mile9.html.j2:172 msgid "Fixed wrong group name." msgstr "" #: template/l2o/mile9.html.j2:174 msgid "" "A wrong group name was used for a DHT block entry.

    See revision" " 8127d51." msgstr "" #: template/l2o/mile9.html.j2:182 msgid "" "Task added to start reading the hostlist entries only after a certain " "period of time has elapsed." msgstr "" #: template/l2o/mile9.html.j2:184 msgid "" "Reading hostlist entries and compiling the hostlist response to a " "hostlist request was started too early, even though the peer did not " "created its own hello.

    See revision 7761b42." msgstr "" #: template/l2o/mile9.html.j2:192 msgid "Added test config to have a peer running the hostlist server." msgstr "" #: template/l2o/mile9.html.j2:194 msgid "" "The configuration of the test case had to be changed to let one peer run " "a hostlist server.

    See revision 3c761cd." msgstr "" #: template/l2o/mile9.html.j2:202 msgid "Changed hostlist server to use a hello cache." msgstr "" #: template/l2o/mile9.html.j2:204 msgid "" "The host list server needed a cache for the entries, because with storing" " entries in the peerstore, only the new hellos were notified to the " "hostlist server.

    See revision e4b146e." msgstr "" #: template/l2o/mile9.html.j2:212 msgid "Bootstrap: Fixed bug to not replace hellos for a peer." msgstr "" #: template/l2o/mile9.html.j2:214 msgid "" "Hellos are store with a specific key GNUNET_PEERSTORE_HELLO_KEY and " "option GNUNET_PEERSTORE_STOREOPTION_MULTIPLE instead of " "GNUNET_PEERSTORE_STOREOPTION_REPLACE.

    See revision 0516538." msgstr "" #: template/l2o/mile9.html.j2:222 msgid "Hello: Fix another bug in cli tool to generate contrib hello file." msgstr "" #: template/l2o/mile9.html.j2:224 msgid "" "Use the actuall private key of the installed peer, not the peer id from " "file.

    See revision e0d28ef." msgstr "" #: template/l2o/mile9.html.j2:232 msgid "Cadet: Fixed issue #7542" msgstr "" #: template/l2o/mile9.html.j2:234 msgid "" "Cadet still used the legacy DHT hello block format, changed to the new " "URL-based block format.

    See revision 9376034." msgstr "" #: template/l2o/mile9.html.j2:242 msgid "Added DDLs for handling GNUNET_PEERSTORE_StoreHelloContext." msgstr "" #: template/l2o/mile9.html.j2:244 msgid "" "Changed code to store hellos in new format in peerstore in transport and " "topology subsystem.

    See revision 233a6be." msgstr "" #: template/l2o/mile9.html.j2:252 msgid "A long list of Bugs which where fixed." msgstr "" #: template/l2o/mile9.html.j2:254 msgid "" "
    • c1783c1: TNG: Adding missing manual test case topology " "file.
    • 8093c8e: Changed relative path to no force test " "config
    • aa9bebd: TNG: Fixed bug in handling hello to start " "validation.
    • 21be887: Introduced closure to hold store context " "when caling function to add hello in peerstore.
    • 0ecf00f: Hello: " "Fixed usage of GNUNET_HELLO_builder_iterate.
    • 8ebef9f: Cadet: " "Changes to use DhtHelloMessage instead of HelloUriMessage, and to hand " "over not a HelloMessage, but a block to the dht.
    • 2b87bab: " "Peerstore: Fixed memory related bugs.
    • a71b245: Testing: Exchange" " binary name for transport in test case configuration.
    • 7da7937: " "Transport: Fixed null pointer in address iteration code to start " "validation.
    • 060b681: Transport: Fixed bug while setting up key " "material for backchannel.
    • 53ad5e4: Transport: Fixed bug while " "setting up key material for backchannel.
    • 57d31ec: Transport: " "Fixed bug in free pending messages and queue entries.
    • 20f5e2a: " "Transport: Fixed bug in ring buffer for core messages.
    • 2c71a76: " "Topology: Fixed small bug.
    • d46e0b7: Hello: Changed bootstrap " "peer hello file to new bootstrap peer.
    • 29e2e51: Peerstore: Make " "peerstore start immediately. Added option to use included hello.
    • " "
    • 1848ece: Hello: Change error handling of " "GNUNET_HELLO_builder_add_address usage.
    • 4e77b10: Peerstore: We " "replace existing hellos. Only the origin peer merges hellos.
    • " "
    • 8e8c3f1: Transport: Added missing dekrement when removing QueueEntry " "from DLL.
    • a919091: Transport: Added missing dekrement of global " "communicator queue counter.
    • 1513057: Transport: Using the " "correct TransportClient for dekrementing the global communicator queue " "counter.
    • 23246e1: Transport: Fixed check when to stop FC " "retransmission.
    • 015cef0: Transport: Removed logging that lead to" " an assertion.
    • ea2420b: Transport: Fixed check of value gotten " "from peerstore.
    • 5934318: Transport: Destroy closed " "ProtoQueue.
    • f5fa8ef: Transport: Added logging in case of UDP " "errors, and destroy queue in case of errors.
    • e2a4d6c: Transport:" " Fixed bug in handling of AckPending.
    • c9b0b25: Transport: " "Removed misplaced removal of QueueEntry.
    • 7f7571b: Transport: " "Fixed bugs in core message cache.
    • bc81b0a: Transport: We need to" " check if a message was cached when resuming communicators.
    • " "
    • 433c13c: Transport: Fixed bug handling queue length and QueueEntry " "when queue has no capacity.
    • 3becc2d: Transport: Fixed bug to " "check each queue for validity separately.
    • 2d955b1: Transport: " "More useful debug logging für service.
    • f1510f7: Transport: Fixed" " using wrong function to calculate mean time when to send next " "fragment.
    • ec57587: Peerstore: Fixed wrong assert when checking " "DLL with watches.
    • 4274265: Transport: Added logging in case of " "UDP errors, and destroy queue in case of errors.
    • 8d3c8c3: " "Transport: Fixed bug in handling of AckPending.
    • edd8e08: " "Transport: Removed misplaced removal of QueueEntry.
    • 3b906ef: " "Transport: Fixed bugs in core message cache.
    • ca73eed: Transport:" " We need to check if a message was cached when resuming " "communicators.
    • e39ed50: Transport: Fixed bug handling queue " "length and QueueEntry when queue has no capacity.
    • f08eae1: " "Transport: Fixed bug to check each queue for validity separately.
    • " "
    • 6a27b67: Transport: Fixed using wrong function to calculate mean time" " when to send next fragment.
    • da2f9f7: Peerstore: Fixed wrong " "assert when checking DLL with watches.
    • 6565677: Transport: Fixed" " counting of fragments of a message
    • 26b05be: Transport: " "Introduced variable to count the round of fragments of a message being " "(re)send.
    • e22e637: Transport: Fixed ring buffer.
    • " "
    • f387a7b: Util: Introduced GNUNET_TIME_relative_multiply_double.
    • " "
    • 36a9952: Transport: Added cleanup task to remove QueueEntry we got no" " ACK for.
    • 164badb: Transport: Changed logic to first create a " "queue before starting validation.
    • 894754f: Core: Added missing " "GNUNET_TRANSPORT_core_receive_continue.
    • b9cd040: Transport: " "Fixed bug in logic getting root parent of fragment which is a DV " "box.
    • 84b76e3: Transport: Resuming communicators in case of core " "restarting.
    • 78b0a9a: Transport. Fixed bug in logic freeing " "timedout QueueEntry.
    • 0d9df1c: Fixed bug calculating next resend " "of fragments.
    • c69a0e9: Transport: first_challenge_use has to be " "reset in case of revalidation.
    • 01b7a5d: Transport: When to " "resend a validation challenge and when to start revalidation needs to be " "seperate logic.
    • 5f56628: Transport: Fixed bug in logic releasing" " resources and notifying communicators after caching messages to " "core.
    • 94caa7d: Transport: Fixed bug in resend logic for " "fragments, especially for DV boxes.
    • 67c90f8: Core: Fixed bug to " "stop keepalive after handling ping.
    • a3b9d98: Transport: Fixed " "fragmentation logic.
    • 4254ee1: Core: Removed unnecessary client " "continue.
    • 1d88d65: Transport: Added check for DV box, when " "checking for last applicable fragment during freeing some fragment.
    • " "
    • 4402b56: Transport: Added logging to debug freeing of fragments.
    • " "
    • 25ffc82: Transport: Inform Core about all VirtualLinks not only " "neighbours.
    • aaf07c7: Core: Added logic to decrease restart delay" " of connection to Transport depending on how long the connection to " "Transport lasted.


    " msgstr "" #: template/l2o/mile9.html.j2:329 msgid "" "The hostlist, and topology subsystems and the bootstrap functionality " "were manually tested. Everything was working without errors. No known " "errors in other subsystems. Branch merged into master. New Transport and " "Hello released with version 0.21." msgstr "" #: template/l2o/testng.html.j2:21 msgid "Netjail setup and execution" msgstr "" #: template/l2o/testng.html.j2:23 msgid "" "Netjail is the GNUnet naming for having several network namespaces, being isolated from each other to " "test how GNUnet nodes with limited connectivity behave, and how the new " "transport next generation implementation can help to circumvent the " "connectivity obstacles. The network namespaces are span a network with " "globally known nodes and several subnets separated from each other via a " "single router. We have three scripts for the test setup:
      " "
    • netjail_start.sh: A script to setup the network namespaces. This " "script takes three arguments. The first is either the name of a " "configuration for the test setup topology or a string containing the " "topology information. The second is the process id of the test. The third" " is a flag if the first parameter contains the name of the configuration " "file or the topology string.
    • netjail_exec.sh: A script to run " "some command in a specific namespace. This script takes eight arguments. " "The first is the index of a node in a namespace for which we like to " "execute a command. The second is the index of the namespace of the node. " "The third is the command to execute, the fourth is the number of subnets," " the fifth the number of nodes in each subnet, the sixth is the " "identifier used by the ip-netns command, the sixth is a flag is" " the topology information is given via a topology file of a string " "containing the topology information..
    • netjail_stop.sh: A script " "which remove all the network namespace setup by netjail_start.sh. The " "arguments are the same as those for netjail_start.sh.
    The is a" " generic test binary (test_transport_start_with_config) which will start " "the above mentioned scripts. Because creating network namespaces is only " "permitted for privileged users the generic test binary is not start " "directly, but via scripts. This script starts the generic binary using " "the command unshare. Using unshare one can create a namespace with its " "own user namespace, where creating network namespaces is allowed. " "Precondition to do this with unshare, is to set the " "kernel.unprivileged_userns_clone kernel parameter." msgstr "" #: template/l2o/testng.html.j2:39 msgid "CMD helper and testcase plugins" msgstr "" #: template/l2o/testng.html.j2:43 msgid "" "Although netjail_exec.sh can execute an arbitrary command in the ng " "testing framework a special command is used: gnunet-cmds-helper This " "commands itself is of a special kind named helper processes which " "communicates via GNUNET_MessageHeaders on stdin/stdout with the process " "that started the helper. The gnunet-cmds-helper is used to load testcase " "plugins. Those plugins are implementations of an api which is used to " "start different test cases. Those plugins are dynamically loaded by " "gnunet-cmds-helper. Each plugin defines the commands which are running in" " a local interpreter loop started by the helper on that specific network " "namespace node. The plugins are also responsible for the communication " "via the helper with the master interpreter loop." msgstr "" #: template/l2o/testng.html.j2:49 msgid "Command Pattern" msgstr "" #: template/l2o/testng.html.j2:53 msgid "" "The testing framework borrowed from the GNU Taler testing library " "was extended to handle asychronous commands. Therefore a struct " "GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. " "By default the continuation function of GNUNET_TESTING_AsyncContext is " "the interpreter_next function of the interpreter loop (blocking " "asynchronous command) which will be executed calling " "GNUNET_TESTING_async_finish, when the asynchronous task finished, but " "also can be any other function to be executed when the asynchronous task " "is non blocking." msgstr "" #: template/l2o/testng.html.j2:58 msgid "Topology Configuration" msgstr "" #: template/l2o/testng.html.j2:62 msgid "" "The topology of the netjail setup can be configured via a configuration " "file, or with a configuration string handed over to the generic binary " "for starting netjail based tests.

    Both method can be examined " "in two example test scripts

    " "test_transport_send_simple.sh

    and

    " "test_transport_send_simple_string.sh

    The Syntax of the " "configuration is as follows.

    The configuration string is " "structured by lines and the delimiter ':' used for seperating " "key/value(s) pairs and the chars '{' and '}' for grouping several " "key/value pairs as value and '|' to separate a group of values from the " "key/value(s) pair identifying a line. Below you find the EBNF of the " "configuration syntax.

    config = line, {line} ;

    line = " "( \"M:\", NumberOfNodesPerSubnet ) | ( \"N:\", NumberOfSubnets ) | ( " "\"X:\", NumberOfGlobalNodes ) | NumberOfAdditionalConnections | ( \"T:\"," " GlobalPluginName ) | ( GlobalPeer, \"|\", KValue ) | ( \"R:\", " "IndexOfSubnetRouter, \"|\", RValue ) | ( SubnetPeer, \"|\", PValue ) " ";

    NumberOfNodesPerSubnet = Zero | NaturalNumber ;

    " "NumberOfSubnets = NaturalNumber ;

    NumberOfGlobalNodes = " "NaturalNumber ;

    NumberOfAdditionalConnections = \"AC:\", " "NaturalNumber GlobalPluginName = " "\"libgnunet_test_transport_plugin_cmd_\", PluginName ;

    " "GlobalPeer = \"K\", \":\", IndexOfGlobalNode ;

    KValue = " "EstablishConnectionToPeerViaProtocol ;

    IndexOfSubnetRouter = " "Zero | NaturalNumber ;

    RValue = OpenTCP, \"|\", OpenUDP " ";

    SubnetPeer = \"P:\", SubnetIndex, \":\", NodeIndexInSubnet " ";

    PValue = EstablishConnectionToPeerViaProtocol, { \"|\", " "\"{\", NumberOfAdditionalConnections, \"}\" } ;

    Zero = \"0\" " ";

    NaturalNumber = NumeralWithoutZero, { Numeral } ;

    " "PluginName = Letter , { ( Letter | \"_\" ) } ;

    " "IndexOfGlobalNode = Zero | NaturalNumber ;

    " "EstablishConnectionToPeerViaProtocol = \"{\" \"connect\", \":\" " "EstablishConnectionToPeerViaProtocolValues \"}\" ;

    OpenTCP = " "OpenTCPNoSource | OpenTCPWithSource ;

    OpenUDP = OpenUDPNoSource" " | OpenUDPWithSource ;

    SubnetIndex = NaturalNumber ;

    " "NodeIndexInSubnet = NaturalNumber ;

    NumeralWithoutZero = \"0\" " "| Numeral ;

    Numeral = \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | " "\"6\" | \"7\" | \"8\" | \"9\" ;

    Letter = \"A\" | \"B\" | ... | " "\"Z\" | \"a\" | ... | \"z\";

    " "EstablishConnectionToPeerViaProtocolValues = " "EstablishConnectionToPeerViaProtocolValue { \"|\", " "EstablishConnectionToPeerViaProtocolValue } OpenTCPNoSource = " "\"{tcp_port:\", switch, \"}\" ;

    OpenUDPNoSource = " "\"{udp_port:\", switch, \"}\" ;

    OpenTCPWithSource = " "\"{tcp_port:\", SubnetPeer, { \"tcp_port\", SubnetPeer } ;

    " "OpenTUDWithSource = \"{udp_port:\", SubnetPeer, { \"udp_port\", " "SubnetPeer } ;

    EstablishConnectionToPeerViaProtocolValue = " "\"{\", ( GlobalPeer | SubnetPeer ), \":\", Protocol, \"}\" ;

    " "switch = On | Off ;

    Protocol = \"tcp\" | \"udp\" ;

    On" " = 1 ;

    Off = 0 ;

    " msgstr "" #: template/news/index.html.j2:46 msgid "News archives:" msgstr "" #: template/probnat/index.html.j2:7 template/probnat/mile1.html.j2:7 msgid "NGI Assure project: Probabilistic NAT Traversal" msgstr "" #: template/probnat/index.html.j2:28 msgid "" "This project was funded through the NGI Assure Fund, a fund established " "by NLnet.
    " msgstr "" #: template/probnat/index.html.j2:40 msgid "" "For establishing a peer to peer (p2p) network among regular internet " "users, unhindered connectivity is anything but self-evident. Today " "consumer devices are often not directly reachable via the internet but " "quite often are behind a so called NAT delivering only indirect internet " "connectivity." msgstr "" #: template/probnat/index.html.j2:49 msgid "" "There are several methods to reach peers who are behind a NAT, but there " "are as many reasons those existing methods might fail. Manual " "configuration for example, as it is possible for example with home " "routers, often does not work for mobile devices like mobile phones. A " "further category of methods is subsumed under the term NAT hole punching." " This exploits a behavior of the gateway that keeps the port of an " "outgoing packet open for a potential response. To make this port known to" " another peer a third peer is needed who is not behind a NAT. Using this " "method for a privacy preserving network like GNUnet, this could " "facilitate eclipse attacks (isolating a peer) which then can be used for " "deanonymization attacks and cencorship. Also any additional " "infrastructure needed to provide some kind of functionality has to be " "maintained by someone, becoming a target and/or point of failure. " "Therefore this method is not suitable. More sophisticated methods like " "\"Autonomous NAT Traversal (pwnat)\" using ICMP fake message, which do " "not need a third party for the initiation of the connection, are not " "successful in all circumstances, because this method depend on the " "behavior of the NAT firewall. All methods have in common that the " "external IP address of the peer behind the NAT must be known." msgstr "" #: template/probnat/index.html.j2:58 msgid "" "Two peers trying to connect to each other will send out a burst of " "connection attempts to the other peer on different ports. The sheer vast " "amount of connections attempts from both side will lead to a high " "probability that two connection attempts from both peers onto the same " "port will be at the same time leading to a successful connection between " "those peers. If two natted peers are using the method to start a burst of" " connection attempts, this method still needs the global IP of the other " "peer and a “start signal” to coordinate. In the NGI Assure project L2O we are establishing a backchannel with " "neighbourhood routing over an ad-hoc distance vector protocol to solve " "the problem of not directly connected peers. The peers serving as hops to" " a distant peer which are a direct neighbour of the start or end peer on " "that path do know the global IP address of the start or end peer. If " "those two peers like to use the burst method for hole punching the global" " IP address is known. Via the distance vector protocol we are also able " "to communicate the \"start signal\"." msgstr "" #: template/probnat/index.html.j2:68 msgid "Milestone 1 Test Infrastructure" msgstr "" #: template/probnat/index.html.j2:71 msgid "" "Extending the testing framework, which was already designed and " "implemented for the L2O project. Details
      " "
    • Enhance the testing framework with a new kind of component (NAT " "component).
    • Implement logic to keep ports open used during " "network translation.
    • Extend the test framework configuration to " "configure the new components.

    " msgstr "" #: template/probnat/index.html.j2:84 msgid "Test case which tests the new testing functionality. Adding documentation." msgstr "" #: template/probnat/index.html.j2:90 msgid "Milestone 2 Synchronization" msgstr "" #: template/probnat/index.html.j2:93 msgid "" "This task is to implement the protocol that is doing the signaling for " "synchronizing two peers which do like to connect to each other.
      " "
    • Two peers which got connected via DV signaling each other being " "behind a NAT.
    • Learning the external IP address+port from already" " connected peers, exchange with the peers that want to connect.
    • " "
    • Set a common start time. One peer is selected to be leading " "(comparing peer ids like it is done in CADET)
    " msgstr "" #: template/probnat/index.html.j2:107 msgid "" "Deliverable of this milestone is integrating the protocol implementation " "into the GNUnet stack, a test case which tests that two peers " "successfully exchange the messages of the implemented protocol until the " "condition is reached that both nodes are ready for the burst mode. " "Additionally there will be a protocol documentation." msgstr "" #: template/probnat/index.html.j2:116 msgid "Milestone 3 Burst Protocol" msgstr "" #: template/probnat/index.html.j2:119 msgid "" "Burst to establish connectivity (IP_RAW, SYN send for TCP; normal for " "UDP). A burst of synchronized (same ports on each peer) connection " "attempts on all available ports will lead to a high probability for a " "successful connection.The connection in the TCP case is not final, " "because the TCP connection is only done in the user space." msgstr "" #: template/probnat/index.html.j2:128 msgid "" "The protocol implementation will be integrated into the GNUnet stack, one" " Test case will test two peers are finaly connected (UDP case), another " "test case for TCP tests if both peers end up at the same port and the " "protocol will be documented." msgstr "" #: template/probnat/index.html.j2:136 msgid "Milestone 4 TCP Repair" msgstr "" #: template/probnat/index.html.j2:139 msgid "" "For the TCP case the connection was established sending packages from " "user space using raw sockets. To let the kernel know about the TCP " "connection we will use the “repair mode” of the setsockopt() system call." msgstr "" #: template/probnat/index.html.j2:147 msgid "" "Integration into the GNUnet stack and a test case testing two peers are " "finaly (kernel TCP socket) connected." msgstr "" #: template/probnat/index.html.j2:154 msgid "Milestone 5 Privilege Minimization" msgstr "" #: template/probnat/index.html.j2:157 msgid "" "Privilege minimization, using SUID/SGID helpers with required " "capabilities. We need privileged access to system resources for some " "parts of the protocol, e.g. the TCP repair mode. This task will implement" " helper executables which are doing this privileged access, to be used by" " other components not having special privileges. (see § 2.2.1 Access " "Control, The GNUnet System, https://grothoff.org/christian/habil.pdf)" msgstr "" #: template/probnat/index.html.j2:167 msgid "" "Helper executables and cli applications using the helpers. Integration " "into the GNUnet stack. Man pages for the cli applications. First release " "of all the implementation." msgstr "" #: template/probnat/index.html.j2:174 msgid "Milestone 6 Android Test Infrastructure" msgstr "" #: template/probnat/index.html.j2:177 msgid "" "In this milestone the test framework will be enhanced to run a headless " "android studio emulator on a namespace node. With this emulator an " "android device running on that node shall be emulated. Two devices " "running on different nodes should reach each other via the test framework" " network. For doing the network connection an app should run on each " "device. This app should do the networking with a small c library. With " "this c library we like to test if networking and file access is possible " "with a c library running using the NDK of Android." msgstr "" #: template/probnat/index.html.j2:183 msgid "" "The deliverable of this milestone is twofold: the scripts for automation " "and the automated tests themselves, and a report on the outcome of these " "tests. If the test case starting an Android app on two nodes doing " "network communication between those two apps and each app accessing its " "own filesystem will not work as expected, the task includes an overview " "of potential approaches for achieving the desired outcomes in other ways." msgstr "" #: template/probnat/index.html.j2:189 msgid "Milestone 7 GNUnet event loop on Android" msgstr "" #: template/probnat/index.html.j2:192 msgid "" "The c library should also start the GNUnet event loop. Therefore the " "library will be enhanced by a minimal part of the GNUnet stack to start " "the event loop. The testing code will be enhanced to use the event loop." msgstr "" #: template/probnat/index.html.j2:198 msgid "" "The deliverable of this milestone is twofold: the scripts for automation " "and the automated tests themselves, and a report on the outcome of these " "tests. If the test case testing the same functionality as in milestone 6," " but using the GNUnet event loop, will not work as expected, the task " "includes an overview of potential approaches for achieving the desired " "outcomes in other ways." msgstr "" #: template/probnat/index.html.j2:204 msgid "Milestone 8 Enhance GNUnet stack on Android" msgstr "" #: template/probnat/index.html.j2:207 msgid "" "The working test cases of milestone 6 and 7 are prerequisites to tackle " "this milestone! The library will be enhanced to incorporate the parts of " "the GNUnet stack necessary to run the test case implemented in the " "milestones 1 -4." msgstr "" #: template/probnat/index.html.j2:213 msgid "" "Test case testing the same functionality as in milestone 1 - 4 running on" " Android." msgstr "" #: template/probnat/mile1.html.j2:21 msgid "See revision 4b2303a on branch dev/t3ss/probnat" msgstr "" #: template/probnat/mile1.html.j2:23 msgid "" " " " " " " "
    src/service/transport/nat_router.shTest framework router component to fake kernel " "behavior to keep a port of an outgoing connection open.
    scripts/netjail/nat_node_test.shTest script to just send test messages to " "another node to open up a port.
    scripts/netjail/getmsg.shTest script to receive test messages from" " nat_node_test.sh.
    est_transport_plugin_cmd_nat_mapping.cTestcase to start the script which sends test " "messages to open up ports.
    test_transport_nat_mapping_topo.confConfiguration for the test case.
    test_transport_nat_mapping.shScript to start the test case.
    scripts/Makefile.amAdded nat_node_test.sh and getmsg.sh.
    " "
    scripts/netjail/netjail_start.shAdded node nummber parameter to node start " "script, and make the script run in background.
    " "
    scripts/netjail/netjail_stop.shAdded node nummber parameter to node stop " "script.
    src/service/testing/testing_api_cmd_exec_bash_script.cBugfixing the script that " "was initially implemented to do explorative testing of transport " "integrsation, and which is now also used to start the script which sends " "test messages.
    src/service/transport/Makefile.amAdded " "test_transport_plugin_cmd_nat_mapping.c
    " msgstr "" #: template/reclaim/faq.html.j2:6 msgid "Frequently asked questions" msgstr "" #: template/reclaim/idps.html.j2:6 template/reclaim/index.html.j2:95 msgid "For IdPs" msgstr "" #: template/reclaim/index.html.j2:8 msgid "" "Self-sovereign, Decentralised Identity Management and Personal Data " "Sharing" msgstr "" #: template/reclaim/index.html.j2:18 msgid "Self-sovereign" msgstr "" #: template/reclaim/index.html.j2:20 msgid "" "You manage your identities and attributes locally on your computer. No " "need to trust a third party service with your data." msgstr "" #: template/reclaim/index.html.j2:40 msgid "Decentralized" msgstr "" #: template/reclaim/index.html.j2:42 msgid "" "You can share your identity attributes securely over a decentralized name" " system. This allows your friends to access your shared data without the " "need of a trusted third party." msgstr "" #: template/reclaim/index.html.j2:58 msgid "Standard-compliant" msgstr "" #: template/reclaim/index.html.j2:60 msgid "You can use OpenID Connect to integrate reclaim in your web sites." msgstr "" #: template/reclaim/index.html.j2:77 msgid "Technology" msgstr "" #: template/reclaim/index.html.j2:83 msgid "FAQ" msgstr "" #: template/reclaim/index.html.j2:89 template/reclaim/users.html.j2:6 msgid "For users" msgstr "" #: template/reclaim/index.html.j2:92 template/reclaim/websites.html.j2:6 msgid "For websites" msgstr "" #: template/reclaim/tech.html.j2:15 msgid "Decentralised identity directory" msgstr "" #: template/reclaim/tech.html.j2:18 msgid "" "The decentralised GNU Name System (GNS) gives users full and exclusive " "authority over their attributes by sharing them over user-owned " "namespaces." msgstr "" #: template/reclaim/tech.html.j2:26 msgid "Cryptographic access control" msgstr "" #: template/reclaim/tech.html.j2:30 msgid "" "Users regularly publish fresh, up-to-date attributes which can be " "retrieved and read only by authorized relying parties parties without " "direct user interaction -- even if the user is offline!" msgstr "" #: template/reclaim/tech.html.j2:39 msgid "Principles" msgstr "" #: template/reclaim/tech.html.j2:46 msgid "Identity and attribute management" msgstr "" #: template/reclaim/tech.html.j2:48 msgid "" "Users regularly publish fresh, up-to-date attributes which can be " "retrieved by requesting parties without direct user interaction -- even " "if the user is offline! Access to attributes is controlled through an " "ecryption based access control layer." msgstr "" #: template/reclaim/tech.html.j2:71 msgid "Authorization" msgstr "" #: template/reclaim/tech.html.j2:73 msgid "" "To access attributes, requesting parties request authorization from the " "user thrugh the use of OpenID Connect. If access is granted, the relying " "party is given the necessary decryption key material. The user may at any" " time revoke this access or modify the authorization decision." msgstr "" #: template/reclaim/tech.html.j2:92 msgid "Attribute retrieval" msgstr "" #: template/reclaim/tech.html.j2:94 msgid "" "Relying parties retrieve encrypted identity data from the decentralised " "directory. It is able to decrypt all those attributes that the user has " "authorized it to access using the respective key." msgstr ""