From 33e457a7b67050f27426be0e06161def730d6fed Mon Sep 17 00:00:00 2001 From: str4d Date: Mon, 1 Jul 2013 12:27:58 +0000 Subject: [PATCH] Updated translation strings --- .../translations/de/LC_MESSAGES/messages.po | 447 +++++++++-------- .../translations/es/LC_MESSAGES/messages.po | 451 ++++++++++-------- .../translations/fr/LC_MESSAGES/messages.po | 447 +++++++++-------- .../translations/sv/LC_MESSAGES/messages.po | 447 +++++++++-------- 4 files changed, 1014 insertions(+), 778 deletions(-) diff --git a/i2p2www/translations/de/LC_MESSAGES/messages.po b/i2p2www/translations/de/LC_MESSAGES/messages.po index f3f74b3c..6e94b956 100644 --- a/i2p2www/translations/de/LC_MESSAGES/messages.po +++ b/i2p2www/translations/de/LC_MESSAGES/messages.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-06-11 12:43+0000\n" +"POT-Creation-Date: 2013-07-01 12:25+0000\n" "PO-Revision-Date: 2013-05-24 22:08+0000\n" "Last-Translator: SteinQuadrat \n" "Language-Team: German " @@ -1073,7 +1073,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:151 -#: i2p2www/pages/downloads/list.html:163 +#: i2p2www/pages/downloads/list.html:167 msgid "Post-install work" msgstr "" @@ -1132,7 +1132,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:196 -#: i2p2www/pages/downloads/list.html:196 +#: i2p2www/pages/downloads/list.html:200 #, python-format msgid "" "If you want to reach eepsites via your browser, have a look on the Oracle/Sun Java Version 6,\n" -"OpenJDK 6, or\n" -"IcedTea6\n" +"(Oracle Java Version 6/7,\n" +"OpenJDK 6/7, or\n" +"IcedTea6/7\n" " recommended)\n" "
\n" "monotone.\n" +"#getting-the-i2p-code\">monotone\n" +" or via Git from git.repo.i2p or Github.\n" "
\n" " Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " "i2p-%(i2pversion)s ; ant pkg) then either\n" " run the GUI installer or headless install as above." msgstr "" -#: i2p2www/pages/downloads/list.html:154 +#: i2p2www/pages/downloads/list.html:158 #, python-format msgid "" "The files are signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:159 +#: i2p2www/pages/downloads/list.html:163 msgid "" "I2P can also be downloaded from our project pages on Launchpad and Google Code." msgstr "" -#: i2p2www/pages/downloads/list.html:165 +#: i2p2www/pages/downloads/list.html:169 msgid "" "After running the installer on windows, simply click on the \"Start I2P\"" " button\n" @@ -1285,7 +1287,7 @@ msgid "" "which has further instructions." msgstr "" -#: i2p2www/pages/downloads/list.html:171 +#: i2p2www/pages/downloads/list.html:175 msgid "" "On Unix-like systems, I2P can be started as a service\n" "using the \"i2prouter\" script, located in the directory you selected for" @@ -1302,7 +1304,7 @@ msgid "" "start the router with \"sh runplain.sh\" instead." msgstr "" -#: i2p2www/pages/downloads/list.html:182 +#: i2p2www/pages/downloads/list.html:186 #, python-format msgid "" "When installing for the first time, please remember to adjust your " @@ -1314,26 +1316,26 @@ msgid "" "configuration page." msgstr "" -#: i2p2www/pages/downloads/list.html:190 +#: i2p2www/pages/downloads/list.html:194 msgid "" "Also, please review and adjust the bandwidth settings on the\n" "configuration page,\n" "as the default settings of 96 KBps down / 40 KBps up are fairly slow." msgstr "" -#: i2p2www/pages/downloads/list.html:200 +#: i2p2www/pages/downloads/list.html:204 msgid "Updates from earlier releases:" msgstr "" -#: i2p2www/pages/downloads/list.html:202 +#: i2p2www/pages/downloads/list.html:206 msgid "Both automatic and manual upgrades are available for the release." msgstr "" -#: i2p2www/pages/downloads/list.html:207 +#: i2p2www/pages/downloads/list.html:211 msgid "Automatic updates" msgstr "" -#: i2p2www/pages/downloads/list.html:209 +#: i2p2www/pages/downloads/list.html:213 msgid "" "If you are running 0.7.5 or later, your router should detect the\n" "new release. To upgrade simply click the 'Download Update' button on your" @@ -1341,7 +1343,7 @@ msgid "" "when it appears." msgstr "" -#: i2p2www/pages/downloads/list.html:215 +#: i2p2www/pages/downloads/list.html:219 msgid "" "Due to a bug in release 0.7.6, those whose first I2P installation was " "that version\n" @@ -1351,7 +1353,7 @@ msgid "" "and should use the manual update method below." msgstr "" -#: i2p2www/pages/downloads/list.html:223 +#: i2p2www/pages/downloads/list.html:227 #, python-format msgid "" "If you are running 0.7.4 or earlier, please see\n" @@ -1361,7 +1363,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:231 +#: i2p2www/pages/downloads/list.html:235 #, python-format msgid "" "If you are running 0.6.1.30 or earlier, please see\n" @@ -1371,7 +1373,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:240 +#: i2p2www/pages/downloads/list.html:244 #, python-format msgid "" "If you have reconfigured your router following the rename as i2pupdate.zip.\n" @@ -1402,26 +1404,26 @@ msgid "" " NOT need to unzip that file." msgstr "" -#: i2p2www/pages/downloads/list.html:280 +#: i2p2www/pages/downloads/list.html:284 msgid "Click \"Restart\"" msgstr "" -#: i2p2www/pages/downloads/list.html:285 +#: i2p2www/pages/downloads/list.html:289 msgid "Grab a cup of coffee and come back in 11 minutes" msgstr "" -#: i2p2www/pages/downloads/list.html:293 +#: i2p2www/pages/downloads/list.html:297 #, python-format msgid "" "The file is signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:298 +#: i2p2www/pages/downloads/list.html:302 msgid "Previous Releases" msgstr "" -#: i2p2www/pages/downloads/list.html:300 +#: i2p2www/pages/downloads/list.html:304 #, python-format msgid "" "Previous releases are available on Sybil attacks.\n" "Instead of the SHA256 hash of the key being looked up of stored, the " "SHA256 hash is taken\n" -"of the key appended with the date: yyyyMMdd (SHA256(key + yyyyMMdd)." +"of the 32-byte binary key appended with the UTC date represented as an " +"8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n" +"This is called the \"routing key\", and it changes every day at midnight " +"UTC.\n" +"The daily transformation of the DHT is sometimes called \"keyspace " +"rotation\",\n" +"although it isn't strictly a rotation." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:317 +#: i2p2www/pages/site/docs/how/network-database.html:318 +msgid "" +"Routing keys are never sent on-the-wire in any I2NP message, they are " +"only used locally for\n" +"determination of distance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:325 msgid "Storage, Verification, and Lookup Mechanics" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:319 +#: i2p2www/pages/site/docs/how/network-database.html:327 msgid "RouterInfo Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:320 +#: i2p2www/pages/site/docs/how/network-database.html:328 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13346,11 +13361,11 @@ msgid "" "or SSU transport connection." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:327 +#: i2p2www/pages/site/docs/how/network-database.html:335 msgid "LeaseSet Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:328 +#: i2p2www/pages/site/docs/how/network-database.html:336 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13363,11 +13378,44 @@ msgid "" "Destinations to have published LeaseSets at all." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:336 +#: i2p2www/pages/site/docs/how/network-database.html:344 +msgid "" +"The DatabaseStoreMessage should be sent to the floodfill that is closest\n" +"to the current routing key for the RouterInfo or LeaseSet being stored.\n" +"Currently, the closest floodfill is found by a search in the local " +"database.\n" +"Even if that floodfill is not actually closest, it will flood it " +"\"closer\" by\n" +"sending it to multiple other floodfills.\n" +"This provides a high degree of fault-tolerance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:353 +msgid "" +"In traditional Kademlia, a peer would do a \"find-closest\" search before" +" inserting\n" +"an item in the DHT to the closest target. As the verify operation will " +"tend to\n" +"discover closer floodfills if they are present, a router will quickly " +"improve\n" +"its knowledge of the DHT \"neighborhood\" for the RouterInfo and " +"LeaseSets it regularly publishes.\n" +"While I2NP does not define a \"find-closest\" message, if it becomes " +"necessary,\n" +"a router may simply do an iterative search for a key with the least " +"significant bit flipped\n" +"(i.e. key ^ 0x01) until no closer peers are received in the " +"DatabaseSearchReplyMessages.\n" +"This ensures that the true closest peer will be found even if a more-" +"distant peer had\n" +"the netdb item." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:366 msgid "RouterInfo Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:337 +#: i2p2www/pages/site/docs/how/network-database.html:367 #, python-format msgid "" "A router publishes its own RouterInfo by directly connecting to a " @@ -13382,18 +13430,18 @@ msgid "" "with the Message ID set to the value of the Reply Token." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:351 +#: i2p2www/pages/site/docs/how/network-database.html:381 msgid "LeaseSet Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:352 +#: i2p2www/pages/site/docs/how/network-database.html:382 msgid "" "Storage of LeaseSets is much more sensitive than for RouterInfos, as a " "router\n" "must take care that the LeaseSet cannot be associated with the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:357 +#: i2p2www/pages/site/docs/how/network-database.html:387 #, python-format msgid "" "A router publishes a local LeaseSet by\n" @@ -13409,26 +13457,31 @@ msgid "" "This message is sent back to one of the client's inbound tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:370 +#: i2p2www/pages/site/docs/how/network-database.html:400 msgid "Flooding" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:371 +#: i2p2www/pages/site/docs/how/network-database.html:401 msgid "" "After a floodfill router receives a DatabaseStoreMessage containing a\n" "valid RouterInfo or LeaseSet which is newer than that previously stored " "in its\n" "local NetDb, it \"floods\" it.\n" -"To flood a NetDb entry, it looks up the 7 floodfill routers closest to " -"the key\n" -"of the NetDb entry. (The key is the SHA256 Hash of the RouterIdentity or " -"Destination with the date (yyyyMMdd) appended.)" +"To flood a NetDb entry, it looks up several (currently 4) floodfill " +"routers closest to the routing key\n" +"of the NetDb entry. (The routing key is the SHA256 Hash of the " +"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n" +"By flooding to those closest to the key, not closest to itself, the " +"floodfill ensures that the storage\n" +"gets to the right place, even if the storing router did not have good " +"knowledge of the\n" +"DHT \"neighborhood\" for the routing key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:379 +#: i2p2www/pages/site/docs/how/network-database.html:412 #, python-format msgid "" -"It then directly connects to each of the 7 peers\n" +"The floodfill then directly connects to each of those peers\n" "and sends it a I2NP DatabaseStoreMessage\n" "with a zero Reply Token. The message is not end-to-end garlic encrypted,\n" "as this is a direct connection, so there are no intervening routers\n" @@ -13436,11 +13489,11 @@ msgid "" "The other routers do not reply or re-flood, as the Reply Token is zero." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:389 +#: i2p2www/pages/site/docs/how/network-database.html:422 msgid "RouterInfo and LeaseSet Lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:390 +#: i2p2www/pages/site/docs/how/network-database.html:423 #, python-format msgid "" "The I2NP DatabaseLookupMessage is used to " @@ -13450,13 +13503,13 @@ msgid "" "exploratory tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:396 +#: i2p2www/pages/site/docs/how/network-database.html:429 msgid "" "Lookups are generally sent to the two \"good\" (the connection doesn't " "fail) floodfill routers closest to the requested key, in parallel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:400 +#: i2p2www/pages/site/docs/how/network-database.html:433 #, python-format msgid "" "If the key is found locally by the floodfill router, it responds with a\n" @@ -13467,7 +13520,7 @@ msgid "" "containing a list of other floodfill routers close to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:408 +#: i2p2www/pages/site/docs/how/network-database.html:441 msgid "" "LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n" "RouterInfo lookups are not encrypted and thus are vulnerable to snooping " @@ -13477,7 +13530,7 @@ msgid "" "RouterInfo lookup encryption may be enabled in a future release." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:415 +#: i2p2www/pages/site/docs/how/network-database.html:448 msgid "" "As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage" " or a DatabaseSearchReplyMessage)\n" @@ -13488,14 +13541,14 @@ msgid "" " encryption." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:422 +#: i2p2www/pages/site/docs/how/network-database.html:455 #, python-format msgid "" "(Reference: Hashing it out in Public Sections " "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:426 +#: i2p2www/pages/site/docs/how/network-database.html:459 msgid "" "Due to the relatively small size of the network and the flooding " "redundancy of 8x,\n" @@ -13511,7 +13564,7 @@ msgid "" "to reduce the chance of query failure." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:437 +#: i2p2www/pages/site/docs/how/network-database.html:470 msgid "" "As of release 0.8.9, iterative lookups are implemented with no " "lookup redundancy.\n" @@ -13529,7 +13582,7 @@ msgid "" "or the maximum number of peers is queried." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:449 +#: i2p2www/pages/site/docs/how/network-database.html:482 msgid "" "Node IDs are verifiable in that we use the router hash " "directly as both the node ID and the Kademlia key.\n" @@ -13539,11 +13592,11 @@ msgid "" "detailed knowledge of the neighborhood of the destination ID space." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:458 +#: i2p2www/pages/site/docs/how/network-database.html:491 msgid "RouterInfo Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:459 +#: i2p2www/pages/site/docs/how/network-database.html:492 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -13554,11 +13607,11 @@ msgid "" "outbound endpoint(OBEP)." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:467 +#: i2p2www/pages/site/docs/how/network-database.html:500 msgid "LeaseSet Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:468 +#: i2p2www/pages/site/docs/how/network-database.html:501 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -13572,7 +13625,7 @@ msgid "" "tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:478 +#: i2p2www/pages/site/docs/how/network-database.html:511 msgid "" "As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a " "DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n" @@ -13580,11 +13633,11 @@ msgid "" "to hide the reply from the inbound gateway (IBGW) of the reply tunnel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:486 +#: i2p2www/pages/site/docs/how/network-database.html:519 msgid "Exploration" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:487 +#: i2p2www/pages/site/docs/how/network-database.html:520 #, python-format msgid "" "Exploration is a special form of netdb lookup, where a router " @@ -13607,11 +13660,11 @@ msgid "" "the requested key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:501 +#: i2p2www/pages/site/docs/how/network-database.html:534 msgid "Notes on Lookup Responses" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:502 +#: i2p2www/pages/site/docs/how/network-database.html:535 msgid "" "The response to a lookup request is either a Database Store Message (on " "success) or a\n" @@ -13624,11 +13677,11 @@ msgid "" "difficult to monitor the performance of the various floodfill routers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:512 +#: i2p2www/pages/site/docs/how/network-database.html:545 msgid "MultiHoming" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:514 +#: i2p2www/pages/site/docs/how/network-database.html:547 msgid "" "Destinations may be hosted on multiple routers simultaneously, by using " "the same\n" @@ -13645,18 +13698,18 @@ msgid "" "services on the network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:524 +#: i2p2www/pages/site/docs/how/network-database.html:557 msgid "Threat Analysis" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:525 +#: i2p2www/pages/site/docs/how/network-database.html:558 #, python-format msgid "" "Also discussed on the threat model " "page." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:529 +#: i2p2www/pages/site/docs/how/network-database.html:562 msgid "" "A hostile user may attempt to harm the network by\n" "creating one or more floodfill routers and crafting them to offer\n" @@ -13664,11 +13717,11 @@ msgid "" "Some scenarios are discussed below." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:536 +#: i2p2www/pages/site/docs/how/network-database.html:569 msgid "General Mitigation Through Growth" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:537 +#: i2p2www/pages/site/docs/how/network-database.html:570 msgid "" "There are currently hundreds of floodfill routers in the network.\n" "Most of the following attacks will become more difficult, or have less " @@ -13676,31 +13729,31 @@ msgid "" "as the network size and number of floodfill routers increase." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:544 +#: i2p2www/pages/site/docs/how/network-database.html:577 msgid "General Mitigation Through Redundancy" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:545 +#: i2p2www/pages/site/docs/how/network-database.html:578 msgid "" "Via flooding, all netdb entries are stored on the 8 floodfill routers " "closest to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:550 +#: i2p2www/pages/site/docs/how/network-database.html:583 msgid "Forgeries" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:551 +#: i2p2www/pages/site/docs/how/network-database.html:584 msgid "" "All netdb entries are signed by their creators, so no router may forge a\n" "RouterInfo or LeaseSet." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:556 +#: i2p2www/pages/site/docs/how/network-database.html:589 msgid "Slow or Unresponsive" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:557 +#: i2p2www/pages/site/docs/how/network-database.html:590 #, python-format msgid "" "Each router maintains an expanded set of statistics in the\n" @@ -13710,31 +13763,31 @@ msgid "" "The set includes:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:564 +#: i2p2www/pages/site/docs/how/network-database.html:597 msgid "Average response time" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:565 +#: i2p2www/pages/site/docs/how/network-database.html:598 msgid "Percentage of queries answered with the data requested" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:566 +#: i2p2www/pages/site/docs/how/network-database.html:599 msgid "Percentage of stores that were successfully verified" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:567 +#: i2p2www/pages/site/docs/how/network-database.html:600 msgid "Last successful store" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:568 +#: i2p2www/pages/site/docs/how/network-database.html:601 msgid "Last successful lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:569 +#: i2p2www/pages/site/docs/how/network-database.html:602 msgid "Last response" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:572 +#: i2p2www/pages/site/docs/how/network-database.html:605 msgid "" "Each time a router needs to make a determination on which floodfill " "router is closest to a key,\n" @@ -13747,11 +13800,11 @@ msgid "" "routers that are only sometimes malicious may be much harder to deal with." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:582 +#: i2p2www/pages/site/docs/how/network-database.html:615 msgid "Sybil Attack (Full Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:583 +#: i2p2www/pages/site/docs/how/network-database.html:616 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -13759,7 +13812,7 @@ msgid "" "keyspace." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:588 +#: i2p2www/pages/site/docs/how/network-database.html:621 #, python-format msgid "" "(In a related example, a researcher recently created a\n" @@ -13768,7 +13821,7 @@ msgid "" "network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:594 +#: i2p2www/pages/site/docs/how/network-database.html:627 msgid "" "If the floodfills are not sufficiently misbehaving to be marked as " "\"bad\" using the peer profile\n" @@ -13780,7 +13833,7 @@ msgid "" "none of them is completely satisfactory:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:602 +#: i2p2www/pages/site/docs/how/network-database.html:635 msgid "" "Compile a list of bad router hashes or IPs, and announce the list through" " various means\n" @@ -13789,30 +13842,30 @@ msgid "" "add it to their local \"blacklist\"." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:607 +#: i2p2www/pages/site/docs/how/network-database.html:640 msgid "" "Ask everyone in the network to enable floodfill manually (fight Sybil " "with more Sybil)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:608 +#: i2p2www/pages/site/docs/how/network-database.html:641 msgid "Release a new software version that includes the hardcoded \"bad\" list" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:609 +#: i2p2www/pages/site/docs/how/network-database.html:642 msgid "" "Release a new software version that improves the peer profile metrics and" " thresholds,\n" "in an attempt to automatically identify the \"bad\" peers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:613 +#: i2p2www/pages/site/docs/how/network-database.html:646 msgid "" "Add software that disqualifies floodfills if too many of them are in a " "single IP block" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:614 +#: i2p2www/pages/site/docs/how/network-database.html:647 msgid "" "Implement an automatic subscription-based blacklist controlled by a " "single individual or group.\n" @@ -13824,16 +13877,15 @@ msgid "" "or even to completely shutdown or destroy the entire network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:623 -#: i2p2www/pages/site/docs/how/network-database.html:659 +#: i2p2www/pages/site/docs/how/network-database.html:656 msgid "This attack becomes more difficult as the network size grows." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:629 +#: i2p2www/pages/site/docs/how/network-database.html:662 msgid "Sybil Attack (Partial Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:630 +#: i2p2www/pages/site/docs/how/network-database.html:663 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -13847,7 +13899,7 @@ msgid "" "eepsite, for example." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:639 +#: i2p2www/pages/site/docs/how/network-database.html:672 msgid "" "As the keyspace is indexed by the cryptographic (SHA256) Hash of the key," "\n" @@ -13859,7 +13911,7 @@ msgid "" "size, is unknown." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:647 +#: i2p2www/pages/site/docs/how/network-database.html:680 msgid "" "As a partial defense against this attack,\n" "the algorithm used to determine Kademlia \"closeness\" varies over time.\n" @@ -13876,7 +13928,18 @@ msgid "" "to the target key, or to each other." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:663 +#: i2p2www/pages/site/docs/how/network-database.html:692 +msgid "" +"This attack becomes more difficult as the network size grows.\n" +"However, recent research demonstrates that the keyspace rotation is not " +"particularly effective.\n" +"An attacker can precompute numerous router hashes in advance,\n" +"and only a few routers are sufficient to \"eclipse\" a portion\n" +"of the keyspace within a half hour after rotation." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:700 +#: i2p2www/pages/site/docs/how/network-database.html:709 msgid "" "One consequence of daily keyspace rotation is that the distributed " "network database\n" @@ -13888,11 +13951,11 @@ msgid "" "are a topic for further study." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:673 +#: i2p2www/pages/site/docs/how/network-database.html:719 msgid "Bootstrap Attacks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:674 +#: i2p2www/pages/site/docs/how/network-database.html:720 msgid "" "An attacker could attempt to boot new routers into an isolated\n" "or majority-controlled network by taking over a reseed website,\n" @@ -13900,38 +13963,38 @@ msgid "" "to the hardcoded list in the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:681 +#: i2p2www/pages/site/docs/how/network-database.html:727 msgid "Several defenses are possible, and most of these are planned:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:685 +#: i2p2www/pages/site/docs/how/network-database.html:731 msgid "" "Disallow fallback from HTTPS to HTTP for reseeding.\n" "A MITM attacker could simply block HTTPS, then respond to the HTTP." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:689 +#: i2p2www/pages/site/docs/how/network-database.html:735 msgid "" "Changing the reseed task to fetch a subset of RouterInfos from\n" "each of several reseed sites rather than using only a single site" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:693 +#: i2p2www/pages/site/docs/how/network-database.html:739 msgid "" "Creating an out-of-network reseed monitoring service that\n" "periodically polls reseed websites and verifies that the\n" "data are not stale or inconsistent with other views of the network" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:698 +#: i2p2www/pages/site/docs/how/network-database.html:744 msgid "Bundling reseed data in the installer" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:701 +#: i2p2www/pages/site/docs/how/network-database.html:747 msgid "Query Capture" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:702 +#: i2p2www/pages/site/docs/how/network-database.html:748 #, python-format msgid "" "See also lookup\n" @@ -13939,7 +14002,7 @@ msgid "" "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:707 +#: i2p2www/pages/site/docs/how/network-database.html:753 msgid "" "Similar to a bootstrap attack, an attacker using a floodfill router could" " attempt to \"steer\"\n" @@ -13947,7 +14010,7 @@ msgid "" "references." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:712 +#: i2p2www/pages/site/docs/how/network-database.html:758 msgid "" "This is unlikely to work via exploration, because exploration is a low-" "frequency task.\n" @@ -13957,7 +14020,7 @@ msgid "" "and each exploration query is directed to a random floodfill router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:719 +#: i2p2www/pages/site/docs/how/network-database.html:765 #, python-format msgid "" "As of release 0.8.9, iterative lookups are implemented.\n" @@ -13982,16 +14045,16 @@ msgid "" "is much more difficult." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:738 +#: i2p2www/pages/site/docs/how/network-database.html:784 msgid "DHT-Based Relay Selection" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:739 +#: i2p2www/pages/site/docs/how/network-database.html:785 #, python-format msgid "(Reference: Hashing it out in Public Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:743 +#: i2p2www/pages/site/docs/how/network-database.html:789 #, python-format msgid "" "This doesn't have much to do with floodfill, but see\n" @@ -13999,18 +14062,18 @@ msgid "" "for a discussion of the vulnerabilities of peer selection for tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:749 +#: i2p2www/pages/site/docs/how/network-database.html:795 msgid "Information Leaks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:750 +#: i2p2www/pages/site/docs/how/network-database.html:796 #, python-format msgid "" "(Reference: In Search of an Anonymous and Secure " "Lookup Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:754 +#: i2p2www/pages/site/docs/how/network-database.html:800 #, python-format msgid "" "This paper addresses weaknesses in the \"Finger Table\" DHT lookups used " @@ -14027,7 +14090,7 @@ msgid "" "Also, peer selection is unrelated to any notion of DHT key-closeness." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:765 +#: i2p2www/pages/site/docs/how/network-database.html:811 msgid "" "Some of this may actually be more interesting when the I2P network gets " "much larger.\n" @@ -14041,7 +14104,7 @@ msgid "" "much harder." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:773 +#: i2p2www/pages/site/docs/how/network-database.html:819 #, python-format msgid "" "However, the general issue of DHT information leakage in I2P needs " @@ -14057,15 +14120,15 @@ msgid "" "become problematic for several reasons." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:787 +#: i2p2www/pages/site/docs/how/network-database.html:833 msgid "Moved to the netdb discussion page" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:791 +#: i2p2www/pages/site/docs/how/network-database.html:837 msgid "End-to-end encryption of additional netDb lookups and responses." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:795 +#: i2p2www/pages/site/docs/how/network-database.html:841 msgid "Better methods for tracking lookup responses." msgstr "" @@ -18618,7 +18681,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2cp.html:605 -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 msgid "Bytes" msgstr "" @@ -18721,49 +18784,46 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:23 +#, python-format msgid "" -"Both the NTCP and UDP transports implement priority transmission,\n" -"but in quite different manners.\n" -"UDP has complex code with queues for each priority, however it treats\n" -"messages with priorities 400-499, for example, the same.\n" -"(The priority queues are 100, 200, 300, 400, 500, and 1000)\n" -"These are global queues for all peers.\n" -"NTCP has a trivial linear search for the highest priority within\n" -"each buffer for a particular peer.\n" -"This is much less effective." +"The priorities listed below may not be current and are subject to change." +"\n" +"See the OutNetMessage Javadocs\n" +"for the current priority settings.\n" +"Priority queueing implementation may vary." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:35 +#: i2p2www/pages/site/docs/protocol/i2np.html:30 msgid "Message Format" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 #: i2p2www/pages/site/docs/spec/streaming.html:35 msgid "Field" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:39 +#: i2p2www/pages/site/docs/protocol/i2np.html:34 msgid "Unique ID" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:40 +#: i2p2www/pages/site/docs/protocol/i2np.html:35 msgid "Expiration" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:41 -#: i2p2www/pages/site/docs/protocol/i2np.html:98 +#: i2p2www/pages/site/docs/protocol/i2np.html:36 +#: i2p2www/pages/site/docs/protocol/i2np.html:93 msgid "Payload Length" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:42 +#: i2p2www/pages/site/docs/protocol/i2np.html:37 msgid "Checksum" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:43 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 msgid "Payload" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#: i2p2www/pages/site/docs/protocol/i2np.html:41 #, python-format msgid "" "While the maximum payload size is nominally 64KB, the size is further " @@ -18776,7 +18836,7 @@ msgid "" "So the message must nominally fit in 63 fragments." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:54 +#: i2p2www/pages/site/docs/protocol/i2np.html:49 msgid "" "The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " "delivery mode);\n" @@ -18785,7 +18845,7 @@ msgid "" "bytes, or 61.2 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:60 +#: i2p2www/pages/site/docs/protocol/i2np.html:55 msgid "" "In addition, the transports may have additional restrictions.\n" "NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " @@ -18793,7 +18853,7 @@ msgid "" "The SSU limit is approximately 32 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:66 +#: i2p2www/pages/site/docs/protocol/i2np.html:61 msgid "" "Note that these are not the limits for datagrams that the client sees, as" " the\n" @@ -18804,11 +18864,11 @@ msgid "" "increased in a future release." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:74 +#: i2p2www/pages/site/docs/protocol/i2np.html:69 msgid "Message Types" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:75 +#: i2p2www/pages/site/docs/protocol/i2np.html:70 msgid "" "Higher-numbered priority is higher priority.\n" "The majority of traffic is TunnelDataMessages (priority 400),\n" @@ -18820,7 +18880,7 @@ msgid "" "first hops happen to be on the same peer." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:86 +#: i2p2www/pages/site/docs/protocol/i2np.html:81 msgid "" "Also, not all message types are sent unencrypted.\n" "For example, when testing a tunnel, the router wraps a\n" @@ -18828,37 +18888,35 @@ msgid "" "which is wrapped in a DataMessage." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:97 +#: i2p2www/pages/site/docs/protocol/i2np.html:92 msgid "Type" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:99 +#: i2p2www/pages/site/docs/protocol/i2np.html:94 msgid "Priority" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:100 +#: i2p2www/pages/site/docs/protocol/i2np.html:95 msgid "Comments" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:108 -msgid "" -"400 normally; 100 if from HarvesterJob and sent directly;\n" -"400 for a router lookup" +#: i2p2www/pages/site/docs/protocol/i2np.html:103 +msgid "May vary" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:119 +#: i2p2www/pages/site/docs/protocol/i2np.html:109 msgid "" "Size is 65 + 32*(number of hashes) where typically, the hashes for\n" "three floodfill routers are returned." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:128 +#: i2p2www/pages/site/docs/protocol/i2np.html:118 msgid "Varies" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:130 +#: i2p2www/pages/site/docs/protocol/i2np.html:120 msgid "" -"Usually 100 (why?)\n" +"Priority may vary.\n" "Size is 898 bytes for a typical 2-lease leaseSet.\n" "RouterInfo structures are compressed, and size varies; however\n" "there is a continuing effort to reduce the amount of data published in a " @@ -18866,23 +18924,23 @@ msgid "" "as we approach release 1.0." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:152 +#: i2p2www/pages/site/docs/protocol/i2np.html:134 +msgid "Priority may vary on a per-destination basis" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:144 msgid "" "Used for message replies, and for testing tunnels - generally wrapped in " "a GarlicMessage" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:160 +#: i2p2www/pages/site/docs/protocol/i2np.html:152 msgid "" "Generally wrapped in a DataMessage -\n" "but when unwrapped, given a priority of 100 by the forwarding router" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:171 -msgid "Usually 500 (why?)" -msgstr "" - -#: i2p2www/pages/site/docs/protocol/i2np.html:187 +#: i2p2www/pages/site/docs/protocol/i2np.html:179 msgid "" "The most common message. Priority for tunnel participants, outbound " "endpoints, and inbound gateways was\n" @@ -18890,28 +18948,28 @@ msgid "" "Outbound gateway messages (i.e. those originated locally) remains at 400." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:207 +#: i2p2www/pages/site/docs/protocol/i2np.html:199 msgid "Shorter TunnelBuildMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:215 +#: i2p2www/pages/site/docs/protocol/i2np.html:207 msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#: i2p2www/pages/site/docs/protocol/i2np.html:210 #, python-format msgid "Others listed in 2003 Spec" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:224 +#: i2p2www/pages/site/docs/protocol/i2np.html:216 msgid "Obsolete, Unused" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:228 +#: i2p2www/pages/site/docs/protocol/i2np.html:220 msgid "Full Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#: i2p2www/pages/site/docs/protocol/i2np.html:221 #, python-format msgid "" "On the I2NP Specification page.\n" @@ -18920,7 +18978,7 @@ msgid "" "page." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:236 +#: i2p2www/pages/site/docs/protocol/i2np.html:228 msgid "" "It isn't clear whether the current priority scheme is generally " "effective,\n" @@ -19959,7 +20017,7 @@ msgstr "" msgid "Format" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -19970,17 +20028,17 @@ msgid "" "the future." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:41 +#: i2p2www/pages/site/docs/spec/datagrams.html:40 msgid "Repliable Datagrams" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:42 +#: i2p2www/pages/site/docs/spec/datagrams.html:41 msgid "" "Repliable datagrams contain a 'from' address and a signature. These add " "427 bytes of overhead." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:92 +#: i2p2www/pages/site/docs/spec/datagrams.html:91 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -19990,7 +20048,7 @@ msgid "" "31.5 KB." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:98 +#: i2p2www/pages/site/docs/spec/datagrams.html:97 msgid "See important notes above about the reliability of large datagrams." msgstr "" @@ -23926,6 +23984,11 @@ msgstr "" msgid "Datastore over I2P" msgstr "" +#: i2p2www/pages/site/get-involved/bounties/index.html:129 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + #: i2p2www/pages/site/get-involved/bounties/index.html:134 msgid "Swarming file transfer" msgstr "" @@ -24003,10 +24066,6 @@ msgstr "" msgid "Bounty russian translation of webpage and router console" msgstr "" -#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 -msgid "Russian translation" -msgstr "" - #: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6 msgid "" "To improve I2P usage and attract more people\n" diff --git a/i2p2www/translations/es/LC_MESSAGES/messages.po b/i2p2www/translations/es/LC_MESSAGES/messages.po index 40f949d1..ecdaaa14 100644 --- a/i2p2www/translations/es/LC_MESSAGES/messages.po +++ b/i2p2www/translations/es/LC_MESSAGES/messages.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-06-11 12:43+0000\n" +"POT-Creation-Date: 2013-07-01 12:25+0000\n" "PO-Revision-Date: 2013-06-10 18:08+0000\n" "Last-Translator: trolly \n" "Language-Team: Spanish " @@ -1103,7 +1103,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:151 -#: i2p2www/pages/downloads/list.html:163 +#: i2p2www/pages/downloads/list.html:167 msgid "Post-install work" msgstr "" @@ -1162,7 +1162,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:196 -#: i2p2www/pages/downloads/list.html:196 +#: i2p2www/pages/downloads/list.html:200 #, python-format msgid "" "If you want to reach eepsites via your browser, have a look on the Oracle/Sun Java Version 6,\n" -"OpenJDK 6, or\n" -"IcedTea6\n" +"(Oracle Java Version 6/7,\n" +"OpenJDK 6/7, or\n" +"IcedTea6/7\n" " recommended)\n" "
\n" "monotone.\n" +"#getting-the-i2p-code\">monotone\n" +" or via Git from git.repo.i2p or Github.\n" "
\n" " Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " "i2p-%(i2pversion)s ; ant pkg) then either\n" @@ -1334,7 +1336,7 @@ msgstr "" "i2p-%(i2pversion)s ; ant pkg) y entonces ejecute el instalador " "gráfico o el instalador 'headless'." -#: i2p2www/pages/downloads/list.html:154 +#: i2p2www/pages/downloads/list.html:158 #, python-format msgid "" "The files are signed by zzz,\n" @@ -1343,7 +1345,7 @@ msgstr "" "Estos archivos están firmados por zzz, cuya " "clave está aquí." -#: i2p2www/pages/downloads/list.html:159 +#: i2p2www/pages/downloads/list.html:163 msgid "" "I2P can also be downloaded from our project pages on Launchpad and Launchpad y en Google Code." -#: i2p2www/pages/downloads/list.html:165 +#: i2p2www/pages/downloads/list.html:169 msgid "" "After running the installer on windows, simply click on the \"Start I2P\"" " button\n" @@ -1367,7 +1369,7 @@ msgstr "" "ruter,\n" "donde encontrará mas instrucciones." -#: i2p2www/pages/downloads/list.html:171 +#: i2p2www/pages/downloads/list.html:175 msgid "" "On Unix-like systems, I2P can be started as a service\n" "using the \"i2prouter\" script, located in the directory you selected for" @@ -1397,7 +1399,7 @@ msgstr "" " no está soportado,\n" "ejecute el ruter con \"sh runplain.sh\"." -#: i2p2www/pages/downloads/list.html:182 +#: i2p2www/pages/downloads/list.html:186 #, python-format msgid "" "When installing for the first time, please remember to adjust your " @@ -1417,7 +1419,7 @@ msgstr "" "entrada en la página de " "configuración." -#: i2p2www/pages/downloads/list.html:190 +#: i2p2www/pages/downloads/list.html:194 msgid "" "Also, please review and adjust the bandwidth settings on the\n" "configuration page,\n" @@ -1431,19 +1433,19 @@ msgstr "" "subida es \n" "bastante lenta." -#: i2p2www/pages/downloads/list.html:200 +#: i2p2www/pages/downloads/list.html:204 msgid "Updates from earlier releases:" msgstr "Actualizaciones desde versiones anteriores:" -#: i2p2www/pages/downloads/list.html:202 +#: i2p2www/pages/downloads/list.html:206 msgid "Both automatic and manual upgrades are available for the release." msgstr "Están disponibles actualizaciones manuales y automáticas." -#: i2p2www/pages/downloads/list.html:207 +#: i2p2www/pages/downloads/list.html:211 msgid "Automatic updates" msgstr "Actualizaciones Auutomáticas" -#: i2p2www/pages/downloads/list.html:209 +#: i2p2www/pages/downloads/list.html:213 msgid "" "If you are running 0.7.5 or later, your router should detect the\n" "new release. To upgrade simply click the 'Download Update' button on your" @@ -1454,7 +1456,7 @@ msgstr "" "versiones automáticamente. Para actualizar, cuando aparezca el botón " "'Descargar actualización' en la consola, simplemente púlselo." -#: i2p2www/pages/downloads/list.html:215 +#: i2p2www/pages/downloads/list.html:219 msgid "" "Due to a bug in release 0.7.6, those whose first I2P installation was " "that version\n" @@ -1469,7 +1471,7 @@ msgstr "" "\"downloaded version is not greater than current version\", y deben usar " "la actualización manual de abajo." -#: i2p2www/pages/downloads/list.html:223 +#: i2p2www/pages/downloads/list.html:227 #, python-format msgid "" "If you are running 0.7.4 or earlier, please see\n" @@ -1483,7 +1485,7 @@ msgstr "" "información importante de como configurar el ruter para descargar las " "actualizaciones automáticamente." -#: i2p2www/pages/downloads/list.html:231 +#: i2p2www/pages/downloads/list.html:235 #, python-format msgid "" "If you are running 0.6.1.30 or earlier, please see\n" @@ -1497,7 +1499,7 @@ msgstr "" "para obtener ver información importante de como configurar el ruter para " "descargar las actualizaciones automáticamente." -#: i2p2www/pages/downloads/list.html:240 +#: i2p2www/pages/downloads/list.html:244 #, python-format msgid "" "If you have reconfigured your router following the rename as i2pupdate.zip.\n" @@ -1538,17 +1540,17 @@ msgstr "" "archivo resultante i2pupdate.zip a la carpeta de instalación de I2P). NO" " necesita descomprimir este archivo .zip." -#: i2p2www/pages/downloads/list.html:280 +#: i2p2www/pages/downloads/list.html:284 msgid "Click \"Restart\"" msgstr "" "Pulse \"Reiniciar\"" -#: i2p2www/pages/downloads/list.html:285 +#: i2p2www/pages/downloads/list.html:289 msgid "Grab a cup of coffee and come back in 11 minutes" msgstr "Vaya a por una taza de horchata/café/mate y vuelva en 11 minutos." -#: i2p2www/pages/downloads/list.html:293 +#: i2p2www/pages/downloads/list.html:297 #, python-format msgid "" "The file is signed by zzz,\n" @@ -1557,11 +1559,11 @@ msgstr "" "El archivo está firmado por zzz,\n" "cuya clave está aquí." -#: i2p2www/pages/downloads/list.html:298 +#: i2p2www/pages/downloads/list.html:302 msgid "Previous Releases" msgstr "Versiones Anteriores" -#: i2p2www/pages/downloads/list.html:300 +#: i2p2www/pages/downloads/list.html:304 #, python-format msgid "" "Previous releases are available on Sybil attacks.\n" "Instead of the SHA256 hash of the key being looked up of stored, the " "SHA256 hash is taken\n" -"of the key appended with the date: yyyyMMdd (SHA256(key + yyyyMMdd)." +"of the 32-byte binary key appended with the UTC date represented as an " +"8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n" +"This is called the \"routing key\", and it changes every day at midnight " +"UTC.\n" +"The daily transformation of the DHT is sometimes called \"keyspace " +"rotation\",\n" +"although it isn't strictly a rotation." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:317 +#: i2p2www/pages/site/docs/how/network-database.html:318 +msgid "" +"Routing keys are never sent on-the-wire in any I2NP message, they are " +"only used locally for\n" +"determination of distance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:325 msgid "Storage, Verification, and Lookup Mechanics" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:319 +#: i2p2www/pages/site/docs/how/network-database.html:327 msgid "RouterInfo Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:320 +#: i2p2www/pages/site/docs/how/network-database.html:328 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -14512,11 +14527,11 @@ msgid "" "or SSU transport connection." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:327 +#: i2p2www/pages/site/docs/how/network-database.html:335 msgid "LeaseSet Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:328 +#: i2p2www/pages/site/docs/how/network-database.html:336 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -14529,11 +14544,44 @@ msgid "" "Destinations to have published LeaseSets at all." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:336 +#: i2p2www/pages/site/docs/how/network-database.html:344 +msgid "" +"The DatabaseStoreMessage should be sent to the floodfill that is closest\n" +"to the current routing key for the RouterInfo or LeaseSet being stored.\n" +"Currently, the closest floodfill is found by a search in the local " +"database.\n" +"Even if that floodfill is not actually closest, it will flood it " +"\"closer\" by\n" +"sending it to multiple other floodfills.\n" +"This provides a high degree of fault-tolerance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:353 +msgid "" +"In traditional Kademlia, a peer would do a \"find-closest\" search before" +" inserting\n" +"an item in the DHT to the closest target. As the verify operation will " +"tend to\n" +"discover closer floodfills if they are present, a router will quickly " +"improve\n" +"its knowledge of the DHT \"neighborhood\" for the RouterInfo and " +"LeaseSets it regularly publishes.\n" +"While I2NP does not define a \"find-closest\" message, if it becomes " +"necessary,\n" +"a router may simply do an iterative search for a key with the least " +"significant bit flipped\n" +"(i.e. key ^ 0x01) until no closer peers are received in the " +"DatabaseSearchReplyMessages.\n" +"This ensures that the true closest peer will be found even if a more-" +"distant peer had\n" +"the netdb item." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:366 msgid "RouterInfo Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:337 +#: i2p2www/pages/site/docs/how/network-database.html:367 #, python-format msgid "" "A router publishes its own RouterInfo by directly connecting to a " @@ -14548,18 +14596,18 @@ msgid "" "with the Message ID set to the value of the Reply Token." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:351 +#: i2p2www/pages/site/docs/how/network-database.html:381 msgid "LeaseSet Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:352 +#: i2p2www/pages/site/docs/how/network-database.html:382 msgid "" "Storage of LeaseSets is much more sensitive than for RouterInfos, as a " "router\n" "must take care that the LeaseSet cannot be associated with the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:357 +#: i2p2www/pages/site/docs/how/network-database.html:387 #, python-format msgid "" "A router publishes a local LeaseSet by\n" @@ -14575,26 +14623,31 @@ msgid "" "This message is sent back to one of the client's inbound tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:370 +#: i2p2www/pages/site/docs/how/network-database.html:400 msgid "Flooding" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:371 +#: i2p2www/pages/site/docs/how/network-database.html:401 msgid "" "After a floodfill router receives a DatabaseStoreMessage containing a\n" "valid RouterInfo or LeaseSet which is newer than that previously stored " "in its\n" "local NetDb, it \"floods\" it.\n" -"To flood a NetDb entry, it looks up the 7 floodfill routers closest to " -"the key\n" -"of the NetDb entry. (The key is the SHA256 Hash of the RouterIdentity or " -"Destination with the date (yyyyMMdd) appended.)" +"To flood a NetDb entry, it looks up several (currently 4) floodfill " +"routers closest to the routing key\n" +"of the NetDb entry. (The routing key is the SHA256 Hash of the " +"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n" +"By flooding to those closest to the key, not closest to itself, the " +"floodfill ensures that the storage\n" +"gets to the right place, even if the storing router did not have good " +"knowledge of the\n" +"DHT \"neighborhood\" for the routing key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:379 +#: i2p2www/pages/site/docs/how/network-database.html:412 #, python-format msgid "" -"It then directly connects to each of the 7 peers\n" +"The floodfill then directly connects to each of those peers\n" "and sends it a I2NP DatabaseStoreMessage\n" "with a zero Reply Token. The message is not end-to-end garlic encrypted,\n" "as this is a direct connection, so there are no intervening routers\n" @@ -14602,11 +14655,11 @@ msgid "" "The other routers do not reply or re-flood, as the Reply Token is zero." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:389 +#: i2p2www/pages/site/docs/how/network-database.html:422 msgid "RouterInfo and LeaseSet Lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:390 +#: i2p2www/pages/site/docs/how/network-database.html:423 #, python-format msgid "" "The I2NP DatabaseLookupMessage is used to " @@ -14616,13 +14669,13 @@ msgid "" "exploratory tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:396 +#: i2p2www/pages/site/docs/how/network-database.html:429 msgid "" "Lookups are generally sent to the two \"good\" (the connection doesn't " "fail) floodfill routers closest to the requested key, in parallel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:400 +#: i2p2www/pages/site/docs/how/network-database.html:433 #, python-format msgid "" "If the key is found locally by the floodfill router, it responds with a\n" @@ -14633,7 +14686,7 @@ msgid "" "containing a list of other floodfill routers close to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:408 +#: i2p2www/pages/site/docs/how/network-database.html:441 msgid "" "LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n" "RouterInfo lookups are not encrypted and thus are vulnerable to snooping " @@ -14643,7 +14696,7 @@ msgid "" "RouterInfo lookup encryption may be enabled in a future release." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:415 +#: i2p2www/pages/site/docs/how/network-database.html:448 msgid "" "As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage" " or a DatabaseSearchReplyMessage)\n" @@ -14654,14 +14707,14 @@ msgid "" " encryption." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:422 +#: i2p2www/pages/site/docs/how/network-database.html:455 #, python-format msgid "" "(Reference: Hashing it out in Public Sections " "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:426 +#: i2p2www/pages/site/docs/how/network-database.html:459 msgid "" "Due to the relatively small size of the network and the flooding " "redundancy of 8x,\n" @@ -14677,7 +14730,7 @@ msgid "" "to reduce the chance of query failure." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:437 +#: i2p2www/pages/site/docs/how/network-database.html:470 msgid "" "As of release 0.8.9, iterative lookups are implemented with no " "lookup redundancy.\n" @@ -14695,7 +14748,7 @@ msgid "" "or the maximum number of peers is queried." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:449 +#: i2p2www/pages/site/docs/how/network-database.html:482 msgid "" "Node IDs are verifiable in that we use the router hash " "directly as both the node ID and the Kademlia key.\n" @@ -14705,11 +14758,11 @@ msgid "" "detailed knowledge of the neighborhood of the destination ID space." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:458 +#: i2p2www/pages/site/docs/how/network-database.html:491 msgid "RouterInfo Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:459 +#: i2p2www/pages/site/docs/how/network-database.html:492 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -14720,11 +14773,11 @@ msgid "" "outbound endpoint(OBEP)." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:467 +#: i2p2www/pages/site/docs/how/network-database.html:500 msgid "LeaseSet Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:468 +#: i2p2www/pages/site/docs/how/network-database.html:501 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -14738,7 +14791,7 @@ msgid "" "tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:478 +#: i2p2www/pages/site/docs/how/network-database.html:511 msgid "" "As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a " "DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n" @@ -14746,11 +14799,11 @@ msgid "" "to hide the reply from the inbound gateway (IBGW) of the reply tunnel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:486 +#: i2p2www/pages/site/docs/how/network-database.html:519 msgid "Exploration" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:487 +#: i2p2www/pages/site/docs/how/network-database.html:520 #, python-format msgid "" "Exploration is a special form of netdb lookup, where a router " @@ -14773,11 +14826,11 @@ msgid "" "the requested key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:501 +#: i2p2www/pages/site/docs/how/network-database.html:534 msgid "Notes on Lookup Responses" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:502 +#: i2p2www/pages/site/docs/how/network-database.html:535 msgid "" "The response to a lookup request is either a Database Store Message (on " "success) or a\n" @@ -14790,11 +14843,11 @@ msgid "" "difficult to monitor the performance of the various floodfill routers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:512 +#: i2p2www/pages/site/docs/how/network-database.html:545 msgid "MultiHoming" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:514 +#: i2p2www/pages/site/docs/how/network-database.html:547 msgid "" "Destinations may be hosted on multiple routers simultaneously, by using " "the same\n" @@ -14811,18 +14864,18 @@ msgid "" "services on the network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:524 +#: i2p2www/pages/site/docs/how/network-database.html:557 msgid "Threat Analysis" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:525 +#: i2p2www/pages/site/docs/how/network-database.html:558 #, python-format msgid "" "Also discussed on the threat model " "page." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:529 +#: i2p2www/pages/site/docs/how/network-database.html:562 msgid "" "A hostile user may attempt to harm the network by\n" "creating one or more floodfill routers and crafting them to offer\n" @@ -14830,11 +14883,11 @@ msgid "" "Some scenarios are discussed below." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:536 +#: i2p2www/pages/site/docs/how/network-database.html:569 msgid "General Mitigation Through Growth" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:537 +#: i2p2www/pages/site/docs/how/network-database.html:570 msgid "" "There are currently hundreds of floodfill routers in the network.\n" "Most of the following attacks will become more difficult, or have less " @@ -14842,31 +14895,31 @@ msgid "" "as the network size and number of floodfill routers increase." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:544 +#: i2p2www/pages/site/docs/how/network-database.html:577 msgid "General Mitigation Through Redundancy" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:545 +#: i2p2www/pages/site/docs/how/network-database.html:578 msgid "" "Via flooding, all netdb entries are stored on the 8 floodfill routers " "closest to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:550 +#: i2p2www/pages/site/docs/how/network-database.html:583 msgid "Forgeries" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:551 +#: i2p2www/pages/site/docs/how/network-database.html:584 msgid "" "All netdb entries are signed by their creators, so no router may forge a\n" "RouterInfo or LeaseSet." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:556 +#: i2p2www/pages/site/docs/how/network-database.html:589 msgid "Slow or Unresponsive" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:557 +#: i2p2www/pages/site/docs/how/network-database.html:590 #, python-format msgid "" "Each router maintains an expanded set of statistics in the\n" @@ -14876,31 +14929,31 @@ msgid "" "The set includes:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:564 +#: i2p2www/pages/site/docs/how/network-database.html:597 msgid "Average response time" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:565 +#: i2p2www/pages/site/docs/how/network-database.html:598 msgid "Percentage of queries answered with the data requested" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:566 +#: i2p2www/pages/site/docs/how/network-database.html:599 msgid "Percentage of stores that were successfully verified" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:567 +#: i2p2www/pages/site/docs/how/network-database.html:600 msgid "Last successful store" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:568 +#: i2p2www/pages/site/docs/how/network-database.html:601 msgid "Last successful lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:569 +#: i2p2www/pages/site/docs/how/network-database.html:602 msgid "Last response" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:572 +#: i2p2www/pages/site/docs/how/network-database.html:605 msgid "" "Each time a router needs to make a determination on which floodfill " "router is closest to a key,\n" @@ -14913,11 +14966,11 @@ msgid "" "routers that are only sometimes malicious may be much harder to deal with." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:582 +#: i2p2www/pages/site/docs/how/network-database.html:615 msgid "Sybil Attack (Full Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:583 +#: i2p2www/pages/site/docs/how/network-database.html:616 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -14925,7 +14978,7 @@ msgid "" "keyspace." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:588 +#: i2p2www/pages/site/docs/how/network-database.html:621 #, python-format msgid "" "(In a related example, a researcher recently created a\n" @@ -14934,7 +14987,7 @@ msgid "" "network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:594 +#: i2p2www/pages/site/docs/how/network-database.html:627 msgid "" "If the floodfills are not sufficiently misbehaving to be marked as " "\"bad\" using the peer profile\n" @@ -14946,7 +14999,7 @@ msgid "" "none of them is completely satisfactory:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:602 +#: i2p2www/pages/site/docs/how/network-database.html:635 msgid "" "Compile a list of bad router hashes or IPs, and announce the list through" " various means\n" @@ -14955,30 +15008,30 @@ msgid "" "add it to their local \"blacklist\"." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:607 +#: i2p2www/pages/site/docs/how/network-database.html:640 msgid "" "Ask everyone in the network to enable floodfill manually (fight Sybil " "with more Sybil)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:608 +#: i2p2www/pages/site/docs/how/network-database.html:641 msgid "Release a new software version that includes the hardcoded \"bad\" list" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:609 +#: i2p2www/pages/site/docs/how/network-database.html:642 msgid "" "Release a new software version that improves the peer profile metrics and" " thresholds,\n" "in an attempt to automatically identify the \"bad\" peers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:613 +#: i2p2www/pages/site/docs/how/network-database.html:646 msgid "" "Add software that disqualifies floodfills if too many of them are in a " "single IP block" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:614 +#: i2p2www/pages/site/docs/how/network-database.html:647 msgid "" "Implement an automatic subscription-based blacklist controlled by a " "single individual or group.\n" @@ -14990,16 +15043,15 @@ msgid "" "or even to completely shutdown or destroy the entire network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:623 -#: i2p2www/pages/site/docs/how/network-database.html:659 +#: i2p2www/pages/site/docs/how/network-database.html:656 msgid "This attack becomes more difficult as the network size grows." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:629 +#: i2p2www/pages/site/docs/how/network-database.html:662 msgid "Sybil Attack (Partial Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:630 +#: i2p2www/pages/site/docs/how/network-database.html:663 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -15013,7 +15065,7 @@ msgid "" "eepsite, for example." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:639 +#: i2p2www/pages/site/docs/how/network-database.html:672 msgid "" "As the keyspace is indexed by the cryptographic (SHA256) Hash of the key," "\n" @@ -15025,7 +15077,7 @@ msgid "" "size, is unknown." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:647 +#: i2p2www/pages/site/docs/how/network-database.html:680 msgid "" "As a partial defense against this attack,\n" "the algorithm used to determine Kademlia \"closeness\" varies over time.\n" @@ -15042,7 +15094,18 @@ msgid "" "to the target key, or to each other." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:663 +#: i2p2www/pages/site/docs/how/network-database.html:692 +msgid "" +"This attack becomes more difficult as the network size grows.\n" +"However, recent research demonstrates that the keyspace rotation is not " +"particularly effective.\n" +"An attacker can precompute numerous router hashes in advance,\n" +"and only a few routers are sufficient to \"eclipse\" a portion\n" +"of the keyspace within a half hour after rotation." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:700 +#: i2p2www/pages/site/docs/how/network-database.html:709 msgid "" "One consequence of daily keyspace rotation is that the distributed " "network database\n" @@ -15054,11 +15117,11 @@ msgid "" "are a topic for further study." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:673 +#: i2p2www/pages/site/docs/how/network-database.html:719 msgid "Bootstrap Attacks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:674 +#: i2p2www/pages/site/docs/how/network-database.html:720 msgid "" "An attacker could attempt to boot new routers into an isolated\n" "or majority-controlled network by taking over a reseed website,\n" @@ -15066,38 +15129,38 @@ msgid "" "to the hardcoded list in the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:681 +#: i2p2www/pages/site/docs/how/network-database.html:727 msgid "Several defenses are possible, and most of these are planned:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:685 +#: i2p2www/pages/site/docs/how/network-database.html:731 msgid "" "Disallow fallback from HTTPS to HTTP for reseeding.\n" "A MITM attacker could simply block HTTPS, then respond to the HTTP." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:689 +#: i2p2www/pages/site/docs/how/network-database.html:735 msgid "" "Changing the reseed task to fetch a subset of RouterInfos from\n" "each of several reseed sites rather than using only a single site" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:693 +#: i2p2www/pages/site/docs/how/network-database.html:739 msgid "" "Creating an out-of-network reseed monitoring service that\n" "periodically polls reseed websites and verifies that the\n" "data are not stale or inconsistent with other views of the network" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:698 +#: i2p2www/pages/site/docs/how/network-database.html:744 msgid "Bundling reseed data in the installer" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:701 +#: i2p2www/pages/site/docs/how/network-database.html:747 msgid "Query Capture" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:702 +#: i2p2www/pages/site/docs/how/network-database.html:748 #, python-format msgid "" "See also lookup\n" @@ -15105,7 +15168,7 @@ msgid "" "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:707 +#: i2p2www/pages/site/docs/how/network-database.html:753 msgid "" "Similar to a bootstrap attack, an attacker using a floodfill router could" " attempt to \"steer\"\n" @@ -15113,7 +15176,7 @@ msgid "" "references." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:712 +#: i2p2www/pages/site/docs/how/network-database.html:758 msgid "" "This is unlikely to work via exploration, because exploration is a low-" "frequency task.\n" @@ -15123,7 +15186,7 @@ msgid "" "and each exploration query is directed to a random floodfill router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:719 +#: i2p2www/pages/site/docs/how/network-database.html:765 #, python-format msgid "" "As of release 0.8.9, iterative lookups are implemented.\n" @@ -15148,16 +15211,16 @@ msgid "" "is much more difficult." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:738 +#: i2p2www/pages/site/docs/how/network-database.html:784 msgid "DHT-Based Relay Selection" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:739 +#: i2p2www/pages/site/docs/how/network-database.html:785 #, python-format msgid "(Reference: Hashing it out in Public Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:743 +#: i2p2www/pages/site/docs/how/network-database.html:789 #, python-format msgid "" "This doesn't have much to do with floodfill, but see\n" @@ -15165,18 +15228,18 @@ msgid "" "for a discussion of the vulnerabilities of peer selection for tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:749 +#: i2p2www/pages/site/docs/how/network-database.html:795 msgid "Information Leaks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:750 +#: i2p2www/pages/site/docs/how/network-database.html:796 #, python-format msgid "" "(Reference: In Search of an Anonymous and Secure " "Lookup Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:754 +#: i2p2www/pages/site/docs/how/network-database.html:800 #, python-format msgid "" "This paper addresses weaknesses in the \"Finger Table\" DHT lookups used " @@ -15193,7 +15256,7 @@ msgid "" "Also, peer selection is unrelated to any notion of DHT key-closeness." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:765 +#: i2p2www/pages/site/docs/how/network-database.html:811 msgid "" "Some of this may actually be more interesting when the I2P network gets " "much larger.\n" @@ -15207,7 +15270,7 @@ msgid "" "much harder." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:773 +#: i2p2www/pages/site/docs/how/network-database.html:819 #, python-format msgid "" "However, the general issue of DHT information leakage in I2P needs " @@ -15223,15 +15286,15 @@ msgid "" "become problematic for several reasons." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:787 +#: i2p2www/pages/site/docs/how/network-database.html:833 msgid "Moved to the netdb discussion page" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:791 +#: i2p2www/pages/site/docs/how/network-database.html:837 msgid "End-to-end encryption of additional netDb lookups and responses." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:795 +#: i2p2www/pages/site/docs/how/network-database.html:841 msgid "Better methods for tracking lookup responses." msgstr "" @@ -20877,7 +20940,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2cp.html:605 -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 msgid "Bytes" msgstr "" @@ -20980,49 +21043,46 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:23 +#, python-format msgid "" -"Both the NTCP and UDP transports implement priority transmission,\n" -"but in quite different manners.\n" -"UDP has complex code with queues for each priority, however it treats\n" -"messages with priorities 400-499, for example, the same.\n" -"(The priority queues are 100, 200, 300, 400, 500, and 1000)\n" -"These are global queues for all peers.\n" -"NTCP has a trivial linear search for the highest priority within\n" -"each buffer for a particular peer.\n" -"This is much less effective." +"The priorities listed below may not be current and are subject to change." +"\n" +"See the OutNetMessage Javadocs\n" +"for the current priority settings.\n" +"Priority queueing implementation may vary." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:35 +#: i2p2www/pages/site/docs/protocol/i2np.html:30 msgid "Message Format" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 #: i2p2www/pages/site/docs/spec/streaming.html:35 msgid "Field" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:39 +#: i2p2www/pages/site/docs/protocol/i2np.html:34 msgid "Unique ID" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:40 +#: i2p2www/pages/site/docs/protocol/i2np.html:35 msgid "Expiration" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:41 -#: i2p2www/pages/site/docs/protocol/i2np.html:98 +#: i2p2www/pages/site/docs/protocol/i2np.html:36 +#: i2p2www/pages/site/docs/protocol/i2np.html:93 msgid "Payload Length" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:42 +#: i2p2www/pages/site/docs/protocol/i2np.html:37 msgid "Checksum" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:43 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 msgid "Payload" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#: i2p2www/pages/site/docs/protocol/i2np.html:41 #, python-format msgid "" "While the maximum payload size is nominally 64KB, the size is further " @@ -21035,7 +21095,7 @@ msgid "" "So the message must nominally fit in 63 fragments." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:54 +#: i2p2www/pages/site/docs/protocol/i2np.html:49 msgid "" "The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " "delivery mode);\n" @@ -21044,7 +21104,7 @@ msgid "" "bytes, or 61.2 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:60 +#: i2p2www/pages/site/docs/protocol/i2np.html:55 msgid "" "In addition, the transports may have additional restrictions.\n" "NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " @@ -21052,7 +21112,7 @@ msgid "" "The SSU limit is approximately 32 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:66 +#: i2p2www/pages/site/docs/protocol/i2np.html:61 msgid "" "Note that these are not the limits for datagrams that the client sees, as" " the\n" @@ -21063,11 +21123,11 @@ msgid "" "increased in a future release." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:74 +#: i2p2www/pages/site/docs/protocol/i2np.html:69 msgid "Message Types" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:75 +#: i2p2www/pages/site/docs/protocol/i2np.html:70 msgid "" "Higher-numbered priority is higher priority.\n" "The majority of traffic is TunnelDataMessages (priority 400),\n" @@ -21079,7 +21139,7 @@ msgid "" "first hops happen to be on the same peer." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:86 +#: i2p2www/pages/site/docs/protocol/i2np.html:81 msgid "" "Also, not all message types are sent unencrypted.\n" "For example, when testing a tunnel, the router wraps a\n" @@ -21087,37 +21147,35 @@ msgid "" "which is wrapped in a DataMessage." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:97 +#: i2p2www/pages/site/docs/protocol/i2np.html:92 msgid "Type" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:99 +#: i2p2www/pages/site/docs/protocol/i2np.html:94 msgid "Priority" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:100 +#: i2p2www/pages/site/docs/protocol/i2np.html:95 msgid "Comments" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:108 -msgid "" -"400 normally; 100 if from HarvesterJob and sent directly;\n" -"400 for a router lookup" +#: i2p2www/pages/site/docs/protocol/i2np.html:103 +msgid "May vary" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:119 +#: i2p2www/pages/site/docs/protocol/i2np.html:109 msgid "" "Size is 65 + 32*(number of hashes) where typically, the hashes for\n" "three floodfill routers are returned." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:128 +#: i2p2www/pages/site/docs/protocol/i2np.html:118 msgid "Varies" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:130 +#: i2p2www/pages/site/docs/protocol/i2np.html:120 msgid "" -"Usually 100 (why?)\n" +"Priority may vary.\n" "Size is 898 bytes for a typical 2-lease leaseSet.\n" "RouterInfo structures are compressed, and size varies; however\n" "there is a continuing effort to reduce the amount of data published in a " @@ -21125,23 +21183,23 @@ msgid "" "as we approach release 1.0." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:152 +#: i2p2www/pages/site/docs/protocol/i2np.html:134 +msgid "Priority may vary on a per-destination basis" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:144 msgid "" "Used for message replies, and for testing tunnels - generally wrapped in " "a GarlicMessage" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:160 +#: i2p2www/pages/site/docs/protocol/i2np.html:152 msgid "" "Generally wrapped in a DataMessage -\n" "but when unwrapped, given a priority of 100 by the forwarding router" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:171 -msgid "Usually 500 (why?)" -msgstr "" - -#: i2p2www/pages/site/docs/protocol/i2np.html:187 +#: i2p2www/pages/site/docs/protocol/i2np.html:179 msgid "" "The most common message. Priority for tunnel participants, outbound " "endpoints, and inbound gateways was\n" @@ -21149,28 +21207,28 @@ msgid "" "Outbound gateway messages (i.e. those originated locally) remains at 400." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:207 +#: i2p2www/pages/site/docs/protocol/i2np.html:199 msgid "Shorter TunnelBuildMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:215 +#: i2p2www/pages/site/docs/protocol/i2np.html:207 msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#: i2p2www/pages/site/docs/protocol/i2np.html:210 #, python-format msgid "Others listed in 2003 Spec" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:224 +#: i2p2www/pages/site/docs/protocol/i2np.html:216 msgid "Obsolete, Unused" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:228 +#: i2p2www/pages/site/docs/protocol/i2np.html:220 msgid "Full Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#: i2p2www/pages/site/docs/protocol/i2np.html:221 #, python-format msgid "" "On the I2NP Specification page.\n" @@ -21179,7 +21237,7 @@ msgid "" "page." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:236 +#: i2p2www/pages/site/docs/protocol/i2np.html:228 msgid "" "It isn't clear whether the current priority scheme is generally " "effective,\n" @@ -22218,7 +22276,7 @@ msgstr "" msgid "Format" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -22229,17 +22287,17 @@ msgid "" "the future." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:41 +#: i2p2www/pages/site/docs/spec/datagrams.html:40 msgid "Repliable Datagrams" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:42 +#: i2p2www/pages/site/docs/spec/datagrams.html:41 msgid "" "Repliable datagrams contain a 'from' address and a signature. These add " "427 bytes of overhead." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:92 +#: i2p2www/pages/site/docs/spec/datagrams.html:91 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -22249,7 +22307,7 @@ msgid "" "31.5 KB." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:98 +#: i2p2www/pages/site/docs/spec/datagrams.html:97 msgid "See important notes above about the reliability of large datagrams." msgstr "" @@ -26573,6 +26631,11 @@ msgstr "Configurar un servidor SILC" msgid "Datastore over I2P" msgstr "Almacenamiento de datos sobre I2P." +#: i2p2www/pages/site/get-involved/bounties/index.html:129 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + #: i2p2www/pages/site/get-involved/bounties/index.html:134 msgid "Swarming file transfer" msgstr "" @@ -26653,10 +26716,6 @@ msgstr "" msgid "Bounty russian translation of webpage and router console" msgstr "" -#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 -msgid "Russian translation" -msgstr "" - #: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6 msgid "" "To improve I2P usage and attract more people\n" diff --git a/i2p2www/translations/fr/LC_MESSAGES/messages.po b/i2p2www/translations/fr/LC_MESSAGES/messages.po index b650cc72..6b2653f3 100644 --- a/i2p2www/translations/fr/LC_MESSAGES/messages.po +++ b/i2p2www/translations/fr/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-06-11 12:43+0000\n" +"POT-Creation-Date: 2013-07-01 12:25+0000\n" "PO-Revision-Date: 2013-06-08 07:14+0000\n" "Last-Translator: Boxoa590\n" "Language-Team: French " @@ -1172,7 +1172,7 @@ msgstr "" "disponibles içi." #: i2p2www/pages/downloads/debian.html:151 -#: i2p2www/pages/downloads/list.html:163 +#: i2p2www/pages/downloads/list.html:167 msgid "Post-install work" msgstr "Travail post-installation" @@ -1255,7 +1255,7 @@ msgstr "" "conservateurs." #: i2p2www/pages/downloads/debian.html:196 -#: i2p2www/pages/downloads/list.html:196 +#: i2p2www/pages/downloads/list.html:200 #, python-format msgid "" "If you want to reach eepsites via your browser, have a look on the Oracle/Sun Java Version 6,\n" -"OpenJDK 6, or\n" -"IcedTea6\n" +"(Oracle Java Version 6/7,\n" +"OpenJDK 6/7, or\n" +"IcedTea6/7\n" " recommended)\n" "
\n" "monotone.\n" +"#getting-the-i2p-code\">monotone\n" +" or via Git from git.repo.i2p or Github.\n" "
\n" " Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " "i2p-%(i2pversion)s ; ant pkg) then either\n" " run the GUI installer or headless install as above." msgstr "" -#: i2p2www/pages/downloads/list.html:154 +#: i2p2www/pages/downloads/list.html:158 #, python-format msgid "" "The files are signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:159 +#: i2p2www/pages/downloads/list.html:163 msgid "" "I2P can also be downloaded from our project pages on Launchpad and Google Code." msgstr "" -#: i2p2www/pages/downloads/list.html:165 +#: i2p2www/pages/downloads/list.html:169 msgid "" "After running the installer on windows, simply click on the \"Start I2P\"" " button\n" @@ -1417,7 +1419,7 @@ msgid "" "which has further instructions." msgstr "" -#: i2p2www/pages/downloads/list.html:171 +#: i2p2www/pages/downloads/list.html:175 msgid "" "On Unix-like systems, I2P can be started as a service\n" "using the \"i2prouter\" script, located in the directory you selected for" @@ -1434,7 +1436,7 @@ msgid "" "start the router with \"sh runplain.sh\" instead." msgstr "" -#: i2p2www/pages/downloads/list.html:182 +#: i2p2www/pages/downloads/list.html:186 #, python-format msgid "" "When installing for the first time, please remember to adjust your " @@ -1446,26 +1448,26 @@ msgid "" "configuration page." msgstr "" -#: i2p2www/pages/downloads/list.html:190 +#: i2p2www/pages/downloads/list.html:194 msgid "" "Also, please review and adjust the bandwidth settings on the\n" "configuration page,\n" "as the default settings of 96 KBps down / 40 KBps up are fairly slow." msgstr "" -#: i2p2www/pages/downloads/list.html:200 +#: i2p2www/pages/downloads/list.html:204 msgid "Updates from earlier releases:" msgstr "" -#: i2p2www/pages/downloads/list.html:202 +#: i2p2www/pages/downloads/list.html:206 msgid "Both automatic and manual upgrades are available for the release." msgstr "" -#: i2p2www/pages/downloads/list.html:207 +#: i2p2www/pages/downloads/list.html:211 msgid "Automatic updates" msgstr "Mises à jour automatiques" -#: i2p2www/pages/downloads/list.html:209 +#: i2p2www/pages/downloads/list.html:213 msgid "" "If you are running 0.7.5 or later, your router should detect the\n" "new release. To upgrade simply click the 'Download Update' button on your" @@ -1473,7 +1475,7 @@ msgid "" "when it appears." msgstr "" -#: i2p2www/pages/downloads/list.html:215 +#: i2p2www/pages/downloads/list.html:219 msgid "" "Due to a bug in release 0.7.6, those whose first I2P installation was " "that version\n" @@ -1483,7 +1485,7 @@ msgid "" "and should use the manual update method below." msgstr "" -#: i2p2www/pages/downloads/list.html:223 +#: i2p2www/pages/downloads/list.html:227 #, python-format msgid "" "If you are running 0.7.4 or earlier, please see\n" @@ -1493,7 +1495,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:231 +#: i2p2www/pages/downloads/list.html:235 #, python-format msgid "" "If you are running 0.6.1.30 or earlier, please see\n" @@ -1503,7 +1505,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:240 +#: i2p2www/pages/downloads/list.html:244 #, python-format msgid "" "If you have reconfigured your router following the rename as i2pupdate.zip.\n" @@ -1534,15 +1536,15 @@ msgid "" " NOT need to unzip that file." msgstr "" -#: i2p2www/pages/downloads/list.html:280 +#: i2p2www/pages/downloads/list.html:284 msgid "Click \"Restart\"" msgstr "" -#: i2p2www/pages/downloads/list.html:285 +#: i2p2www/pages/downloads/list.html:289 msgid "Grab a cup of coffee and come back in 11 minutes" msgstr "" -#: i2p2www/pages/downloads/list.html:293 +#: i2p2www/pages/downloads/list.html:297 #, python-format msgid "" "The file is signed by zzz,\n" @@ -1551,11 +1553,11 @@ msgstr "" "Le fichier est signé par zzz,⏎\n" "dont la clé est içi." -#: i2p2www/pages/downloads/list.html:298 +#: i2p2www/pages/downloads/list.html:302 msgid "Previous Releases" msgstr "Précédentes releases" -#: i2p2www/pages/downloads/list.html:300 +#: i2p2www/pages/downloads/list.html:304 #, python-format msgid "" "Previous releases are available on Sybil attacks.\n" "Instead of the SHA256 hash of the key being looked up of stored, the " "SHA256 hash is taken\n" -"of the key appended with the date: yyyyMMdd (SHA256(key + yyyyMMdd)." +"of the 32-byte binary key appended with the UTC date represented as an " +"8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n" +"This is called the \"routing key\", and it changes every day at midnight " +"UTC.\n" +"The daily transformation of the DHT is sometimes called \"keyspace " +"rotation\",\n" +"although it isn't strictly a rotation." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:317 +#: i2p2www/pages/site/docs/how/network-database.html:318 +msgid "" +"Routing keys are never sent on-the-wire in any I2NP message, they are " +"only used locally for\n" +"determination of distance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:325 msgid "Storage, Verification, and Lookup Mechanics" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:319 +#: i2p2www/pages/site/docs/how/network-database.html:327 msgid "RouterInfo Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:320 +#: i2p2www/pages/site/docs/how/network-database.html:328 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13933,11 +13948,11 @@ msgid "" "or SSU transport connection." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:327 +#: i2p2www/pages/site/docs/how/network-database.html:335 msgid "LeaseSet Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:328 +#: i2p2www/pages/site/docs/how/network-database.html:336 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13950,11 +13965,44 @@ msgid "" "Destinations to have published LeaseSets at all." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:336 +#: i2p2www/pages/site/docs/how/network-database.html:344 +msgid "" +"The DatabaseStoreMessage should be sent to the floodfill that is closest\n" +"to the current routing key for the RouterInfo or LeaseSet being stored.\n" +"Currently, the closest floodfill is found by a search in the local " +"database.\n" +"Even if that floodfill is not actually closest, it will flood it " +"\"closer\" by\n" +"sending it to multiple other floodfills.\n" +"This provides a high degree of fault-tolerance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:353 +msgid "" +"In traditional Kademlia, a peer would do a \"find-closest\" search before" +" inserting\n" +"an item in the DHT to the closest target. As the verify operation will " +"tend to\n" +"discover closer floodfills if they are present, a router will quickly " +"improve\n" +"its knowledge of the DHT \"neighborhood\" for the RouterInfo and " +"LeaseSets it regularly publishes.\n" +"While I2NP does not define a \"find-closest\" message, if it becomes " +"necessary,\n" +"a router may simply do an iterative search for a key with the least " +"significant bit flipped\n" +"(i.e. key ^ 0x01) until no closer peers are received in the " +"DatabaseSearchReplyMessages.\n" +"This ensures that the true closest peer will be found even if a more-" +"distant peer had\n" +"the netdb item." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:366 msgid "RouterInfo Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:337 +#: i2p2www/pages/site/docs/how/network-database.html:367 #, python-format msgid "" "A router publishes its own RouterInfo by directly connecting to a " @@ -13969,18 +14017,18 @@ msgid "" "with the Message ID set to the value of the Reply Token." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:351 +#: i2p2www/pages/site/docs/how/network-database.html:381 msgid "LeaseSet Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:352 +#: i2p2www/pages/site/docs/how/network-database.html:382 msgid "" "Storage of LeaseSets is much more sensitive than for RouterInfos, as a " "router\n" "must take care that the LeaseSet cannot be associated with the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:357 +#: i2p2www/pages/site/docs/how/network-database.html:387 #, python-format msgid "" "A router publishes a local LeaseSet by\n" @@ -13996,26 +14044,31 @@ msgid "" "This message is sent back to one of the client's inbound tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:370 +#: i2p2www/pages/site/docs/how/network-database.html:400 msgid "Flooding" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:371 +#: i2p2www/pages/site/docs/how/network-database.html:401 msgid "" "After a floodfill router receives a DatabaseStoreMessage containing a\n" "valid RouterInfo or LeaseSet which is newer than that previously stored " "in its\n" "local NetDb, it \"floods\" it.\n" -"To flood a NetDb entry, it looks up the 7 floodfill routers closest to " -"the key\n" -"of the NetDb entry. (The key is the SHA256 Hash of the RouterIdentity or " -"Destination with the date (yyyyMMdd) appended.)" +"To flood a NetDb entry, it looks up several (currently 4) floodfill " +"routers closest to the routing key\n" +"of the NetDb entry. (The routing key is the SHA256 Hash of the " +"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n" +"By flooding to those closest to the key, not closest to itself, the " +"floodfill ensures that the storage\n" +"gets to the right place, even if the storing router did not have good " +"knowledge of the\n" +"DHT \"neighborhood\" for the routing key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:379 +#: i2p2www/pages/site/docs/how/network-database.html:412 #, python-format msgid "" -"It then directly connects to each of the 7 peers\n" +"The floodfill then directly connects to each of those peers\n" "and sends it a I2NP DatabaseStoreMessage\n" "with a zero Reply Token. The message is not end-to-end garlic encrypted,\n" "as this is a direct connection, so there are no intervening routers\n" @@ -14023,11 +14076,11 @@ msgid "" "The other routers do not reply or re-flood, as the Reply Token is zero." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:389 +#: i2p2www/pages/site/docs/how/network-database.html:422 msgid "RouterInfo and LeaseSet Lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:390 +#: i2p2www/pages/site/docs/how/network-database.html:423 #, python-format msgid "" "The I2NP DatabaseLookupMessage is used to " @@ -14037,13 +14090,13 @@ msgid "" "exploratory tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:396 +#: i2p2www/pages/site/docs/how/network-database.html:429 msgid "" "Lookups are generally sent to the two \"good\" (the connection doesn't " "fail) floodfill routers closest to the requested key, in parallel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:400 +#: i2p2www/pages/site/docs/how/network-database.html:433 #, python-format msgid "" "If the key is found locally by the floodfill router, it responds with a\n" @@ -14054,7 +14107,7 @@ msgid "" "containing a list of other floodfill routers close to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:408 +#: i2p2www/pages/site/docs/how/network-database.html:441 msgid "" "LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n" "RouterInfo lookups are not encrypted and thus are vulnerable to snooping " @@ -14064,7 +14117,7 @@ msgid "" "RouterInfo lookup encryption may be enabled in a future release." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:415 +#: i2p2www/pages/site/docs/how/network-database.html:448 msgid "" "As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage" " or a DatabaseSearchReplyMessage)\n" @@ -14075,14 +14128,14 @@ msgid "" " encryption." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:422 +#: i2p2www/pages/site/docs/how/network-database.html:455 #, python-format msgid "" "(Reference: Hashing it out in Public Sections " "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:426 +#: i2p2www/pages/site/docs/how/network-database.html:459 msgid "" "Due to the relatively small size of the network and the flooding " "redundancy of 8x,\n" @@ -14098,7 +14151,7 @@ msgid "" "to reduce the chance of query failure." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:437 +#: i2p2www/pages/site/docs/how/network-database.html:470 msgid "" "As of release 0.8.9, iterative lookups are implemented with no " "lookup redundancy.\n" @@ -14116,7 +14169,7 @@ msgid "" "or the maximum number of peers is queried." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:449 +#: i2p2www/pages/site/docs/how/network-database.html:482 msgid "" "Node IDs are verifiable in that we use the router hash " "directly as both the node ID and the Kademlia key.\n" @@ -14126,11 +14179,11 @@ msgid "" "detailed knowledge of the neighborhood of the destination ID space." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:458 +#: i2p2www/pages/site/docs/how/network-database.html:491 msgid "RouterInfo Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:459 +#: i2p2www/pages/site/docs/how/network-database.html:492 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -14141,11 +14194,11 @@ msgid "" "outbound endpoint(OBEP)." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:467 +#: i2p2www/pages/site/docs/how/network-database.html:500 msgid "LeaseSet Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:468 +#: i2p2www/pages/site/docs/how/network-database.html:501 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -14159,7 +14212,7 @@ msgid "" "tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:478 +#: i2p2www/pages/site/docs/how/network-database.html:511 msgid "" "As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a " "DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n" @@ -14167,11 +14220,11 @@ msgid "" "to hide the reply from the inbound gateway (IBGW) of the reply tunnel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:486 +#: i2p2www/pages/site/docs/how/network-database.html:519 msgid "Exploration" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:487 +#: i2p2www/pages/site/docs/how/network-database.html:520 #, python-format msgid "" "Exploration is a special form of netdb lookup, where a router " @@ -14194,11 +14247,11 @@ msgid "" "the requested key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:501 +#: i2p2www/pages/site/docs/how/network-database.html:534 msgid "Notes on Lookup Responses" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:502 +#: i2p2www/pages/site/docs/how/network-database.html:535 msgid "" "The response to a lookup request is either a Database Store Message (on " "success) or a\n" @@ -14211,11 +14264,11 @@ msgid "" "difficult to monitor the performance of the various floodfill routers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:512 +#: i2p2www/pages/site/docs/how/network-database.html:545 msgid "MultiHoming" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:514 +#: i2p2www/pages/site/docs/how/network-database.html:547 msgid "" "Destinations may be hosted on multiple routers simultaneously, by using " "the same\n" @@ -14232,18 +14285,18 @@ msgid "" "services on the network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:524 +#: i2p2www/pages/site/docs/how/network-database.html:557 msgid "Threat Analysis" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:525 +#: i2p2www/pages/site/docs/how/network-database.html:558 #, python-format msgid "" "Also discussed on the threat model " "page." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:529 +#: i2p2www/pages/site/docs/how/network-database.html:562 msgid "" "A hostile user may attempt to harm the network by\n" "creating one or more floodfill routers and crafting them to offer\n" @@ -14251,11 +14304,11 @@ msgid "" "Some scenarios are discussed below." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:536 +#: i2p2www/pages/site/docs/how/network-database.html:569 msgid "General Mitigation Through Growth" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:537 +#: i2p2www/pages/site/docs/how/network-database.html:570 msgid "" "There are currently hundreds of floodfill routers in the network.\n" "Most of the following attacks will become more difficult, or have less " @@ -14263,31 +14316,31 @@ msgid "" "as the network size and number of floodfill routers increase." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:544 +#: i2p2www/pages/site/docs/how/network-database.html:577 msgid "General Mitigation Through Redundancy" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:545 +#: i2p2www/pages/site/docs/how/network-database.html:578 msgid "" "Via flooding, all netdb entries are stored on the 8 floodfill routers " "closest to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:550 +#: i2p2www/pages/site/docs/how/network-database.html:583 msgid "Forgeries" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:551 +#: i2p2www/pages/site/docs/how/network-database.html:584 msgid "" "All netdb entries are signed by their creators, so no router may forge a\n" "RouterInfo or LeaseSet." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:556 +#: i2p2www/pages/site/docs/how/network-database.html:589 msgid "Slow or Unresponsive" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:557 +#: i2p2www/pages/site/docs/how/network-database.html:590 #, python-format msgid "" "Each router maintains an expanded set of statistics in the\n" @@ -14297,31 +14350,31 @@ msgid "" "The set includes:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:564 +#: i2p2www/pages/site/docs/how/network-database.html:597 msgid "Average response time" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:565 +#: i2p2www/pages/site/docs/how/network-database.html:598 msgid "Percentage of queries answered with the data requested" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:566 +#: i2p2www/pages/site/docs/how/network-database.html:599 msgid "Percentage of stores that were successfully verified" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:567 +#: i2p2www/pages/site/docs/how/network-database.html:600 msgid "Last successful store" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:568 +#: i2p2www/pages/site/docs/how/network-database.html:601 msgid "Last successful lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:569 +#: i2p2www/pages/site/docs/how/network-database.html:602 msgid "Last response" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:572 +#: i2p2www/pages/site/docs/how/network-database.html:605 msgid "" "Each time a router needs to make a determination on which floodfill " "router is closest to a key,\n" @@ -14334,11 +14387,11 @@ msgid "" "routers that are only sometimes malicious may be much harder to deal with." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:582 +#: i2p2www/pages/site/docs/how/network-database.html:615 msgid "Sybil Attack (Full Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:583 +#: i2p2www/pages/site/docs/how/network-database.html:616 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -14346,7 +14399,7 @@ msgid "" "keyspace." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:588 +#: i2p2www/pages/site/docs/how/network-database.html:621 #, python-format msgid "" "(In a related example, a researcher recently created a\n" @@ -14355,7 +14408,7 @@ msgid "" "network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:594 +#: i2p2www/pages/site/docs/how/network-database.html:627 msgid "" "If the floodfills are not sufficiently misbehaving to be marked as " "\"bad\" using the peer profile\n" @@ -14367,7 +14420,7 @@ msgid "" "none of them is completely satisfactory:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:602 +#: i2p2www/pages/site/docs/how/network-database.html:635 msgid "" "Compile a list of bad router hashes or IPs, and announce the list through" " various means\n" @@ -14376,30 +14429,30 @@ msgid "" "add it to their local \"blacklist\"." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:607 +#: i2p2www/pages/site/docs/how/network-database.html:640 msgid "" "Ask everyone in the network to enable floodfill manually (fight Sybil " "with more Sybil)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:608 +#: i2p2www/pages/site/docs/how/network-database.html:641 msgid "Release a new software version that includes the hardcoded \"bad\" list" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:609 +#: i2p2www/pages/site/docs/how/network-database.html:642 msgid "" "Release a new software version that improves the peer profile metrics and" " thresholds,\n" "in an attempt to automatically identify the \"bad\" peers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:613 +#: i2p2www/pages/site/docs/how/network-database.html:646 msgid "" "Add software that disqualifies floodfills if too many of them are in a " "single IP block" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:614 +#: i2p2www/pages/site/docs/how/network-database.html:647 msgid "" "Implement an automatic subscription-based blacklist controlled by a " "single individual or group.\n" @@ -14411,16 +14464,15 @@ msgid "" "or even to completely shutdown or destroy the entire network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:623 -#: i2p2www/pages/site/docs/how/network-database.html:659 +#: i2p2www/pages/site/docs/how/network-database.html:656 msgid "This attack becomes more difficult as the network size grows." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:629 +#: i2p2www/pages/site/docs/how/network-database.html:662 msgid "Sybil Attack (Partial Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:630 +#: i2p2www/pages/site/docs/how/network-database.html:663 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -14434,7 +14486,7 @@ msgid "" "eepsite, for example." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:639 +#: i2p2www/pages/site/docs/how/network-database.html:672 msgid "" "As the keyspace is indexed by the cryptographic (SHA256) Hash of the key," "\n" @@ -14446,7 +14498,7 @@ msgid "" "size, is unknown." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:647 +#: i2p2www/pages/site/docs/how/network-database.html:680 msgid "" "As a partial defense against this attack,\n" "the algorithm used to determine Kademlia \"closeness\" varies over time.\n" @@ -14463,7 +14515,18 @@ msgid "" "to the target key, or to each other." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:663 +#: i2p2www/pages/site/docs/how/network-database.html:692 +msgid "" +"This attack becomes more difficult as the network size grows.\n" +"However, recent research demonstrates that the keyspace rotation is not " +"particularly effective.\n" +"An attacker can precompute numerous router hashes in advance,\n" +"and only a few routers are sufficient to \"eclipse\" a portion\n" +"of the keyspace within a half hour after rotation." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:700 +#: i2p2www/pages/site/docs/how/network-database.html:709 msgid "" "One consequence of daily keyspace rotation is that the distributed " "network database\n" @@ -14475,11 +14538,11 @@ msgid "" "are a topic for further study." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:673 +#: i2p2www/pages/site/docs/how/network-database.html:719 msgid "Bootstrap Attacks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:674 +#: i2p2www/pages/site/docs/how/network-database.html:720 msgid "" "An attacker could attempt to boot new routers into an isolated\n" "or majority-controlled network by taking over a reseed website,\n" @@ -14487,38 +14550,38 @@ msgid "" "to the hardcoded list in the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:681 +#: i2p2www/pages/site/docs/how/network-database.html:727 msgid "Several defenses are possible, and most of these are planned:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:685 +#: i2p2www/pages/site/docs/how/network-database.html:731 msgid "" "Disallow fallback from HTTPS to HTTP for reseeding.\n" "A MITM attacker could simply block HTTPS, then respond to the HTTP." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:689 +#: i2p2www/pages/site/docs/how/network-database.html:735 msgid "" "Changing the reseed task to fetch a subset of RouterInfos from\n" "each of several reseed sites rather than using only a single site" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:693 +#: i2p2www/pages/site/docs/how/network-database.html:739 msgid "" "Creating an out-of-network reseed monitoring service that\n" "periodically polls reseed websites and verifies that the\n" "data are not stale or inconsistent with other views of the network" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:698 +#: i2p2www/pages/site/docs/how/network-database.html:744 msgid "Bundling reseed data in the installer" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:701 +#: i2p2www/pages/site/docs/how/network-database.html:747 msgid "Query Capture" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:702 +#: i2p2www/pages/site/docs/how/network-database.html:748 #, python-format msgid "" "See also lookup\n" @@ -14526,7 +14589,7 @@ msgid "" "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:707 +#: i2p2www/pages/site/docs/how/network-database.html:753 msgid "" "Similar to a bootstrap attack, an attacker using a floodfill router could" " attempt to \"steer\"\n" @@ -14534,7 +14597,7 @@ msgid "" "references." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:712 +#: i2p2www/pages/site/docs/how/network-database.html:758 msgid "" "This is unlikely to work via exploration, because exploration is a low-" "frequency task.\n" @@ -14544,7 +14607,7 @@ msgid "" "and each exploration query is directed to a random floodfill router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:719 +#: i2p2www/pages/site/docs/how/network-database.html:765 #, python-format msgid "" "As of release 0.8.9, iterative lookups are implemented.\n" @@ -14569,16 +14632,16 @@ msgid "" "is much more difficult." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:738 +#: i2p2www/pages/site/docs/how/network-database.html:784 msgid "DHT-Based Relay Selection" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:739 +#: i2p2www/pages/site/docs/how/network-database.html:785 #, python-format msgid "(Reference: Hashing it out in Public Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:743 +#: i2p2www/pages/site/docs/how/network-database.html:789 #, python-format msgid "" "This doesn't have much to do with floodfill, but see\n" @@ -14586,18 +14649,18 @@ msgid "" "for a discussion of the vulnerabilities of peer selection for tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:749 +#: i2p2www/pages/site/docs/how/network-database.html:795 msgid "Information Leaks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:750 +#: i2p2www/pages/site/docs/how/network-database.html:796 #, python-format msgid "" "(Reference: In Search of an Anonymous and Secure " "Lookup Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:754 +#: i2p2www/pages/site/docs/how/network-database.html:800 #, python-format msgid "" "This paper addresses weaknesses in the \"Finger Table\" DHT lookups used " @@ -14614,7 +14677,7 @@ msgid "" "Also, peer selection is unrelated to any notion of DHT key-closeness." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:765 +#: i2p2www/pages/site/docs/how/network-database.html:811 msgid "" "Some of this may actually be more interesting when the I2P network gets " "much larger.\n" @@ -14628,7 +14691,7 @@ msgid "" "much harder." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:773 +#: i2p2www/pages/site/docs/how/network-database.html:819 #, python-format msgid "" "However, the general issue of DHT information leakage in I2P needs " @@ -14644,15 +14707,15 @@ msgid "" "become problematic for several reasons." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:787 +#: i2p2www/pages/site/docs/how/network-database.html:833 msgid "Moved to the netdb discussion page" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:791 +#: i2p2www/pages/site/docs/how/network-database.html:837 msgid "End-to-end encryption of additional netDb lookups and responses." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:795 +#: i2p2www/pages/site/docs/how/network-database.html:841 msgid "Better methods for tracking lookup responses." msgstr "" @@ -19205,7 +19268,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2cp.html:605 -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 msgid "Bytes" msgstr "" @@ -19308,49 +19371,46 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:23 +#, python-format msgid "" -"Both the NTCP and UDP transports implement priority transmission,\n" -"but in quite different manners.\n" -"UDP has complex code with queues for each priority, however it treats\n" -"messages with priorities 400-499, for example, the same.\n" -"(The priority queues are 100, 200, 300, 400, 500, and 1000)\n" -"These are global queues for all peers.\n" -"NTCP has a trivial linear search for the highest priority within\n" -"each buffer for a particular peer.\n" -"This is much less effective." +"The priorities listed below may not be current and are subject to change." +"\n" +"See the OutNetMessage Javadocs\n" +"for the current priority settings.\n" +"Priority queueing implementation may vary." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:35 +#: i2p2www/pages/site/docs/protocol/i2np.html:30 msgid "Message Format" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 #: i2p2www/pages/site/docs/spec/streaming.html:35 msgid "Field" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:39 +#: i2p2www/pages/site/docs/protocol/i2np.html:34 msgid "Unique ID" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:40 +#: i2p2www/pages/site/docs/protocol/i2np.html:35 msgid "Expiration" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:41 -#: i2p2www/pages/site/docs/protocol/i2np.html:98 +#: i2p2www/pages/site/docs/protocol/i2np.html:36 +#: i2p2www/pages/site/docs/protocol/i2np.html:93 msgid "Payload Length" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:42 +#: i2p2www/pages/site/docs/protocol/i2np.html:37 msgid "Checksum" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:43 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 msgid "Payload" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#: i2p2www/pages/site/docs/protocol/i2np.html:41 #, python-format msgid "" "While the maximum payload size is nominally 64KB, the size is further " @@ -19363,7 +19423,7 @@ msgid "" "So the message must nominally fit in 63 fragments." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:54 +#: i2p2www/pages/site/docs/protocol/i2np.html:49 msgid "" "The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " "delivery mode);\n" @@ -19372,7 +19432,7 @@ msgid "" "bytes, or 61.2 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:60 +#: i2p2www/pages/site/docs/protocol/i2np.html:55 msgid "" "In addition, the transports may have additional restrictions.\n" "NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " @@ -19380,7 +19440,7 @@ msgid "" "The SSU limit is approximately 32 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:66 +#: i2p2www/pages/site/docs/protocol/i2np.html:61 msgid "" "Note that these are not the limits for datagrams that the client sees, as" " the\n" @@ -19391,11 +19451,11 @@ msgid "" "increased in a future release." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:74 +#: i2p2www/pages/site/docs/protocol/i2np.html:69 msgid "Message Types" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:75 +#: i2p2www/pages/site/docs/protocol/i2np.html:70 msgid "" "Higher-numbered priority is higher priority.\n" "The majority of traffic is TunnelDataMessages (priority 400),\n" @@ -19407,7 +19467,7 @@ msgid "" "first hops happen to be on the same peer." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:86 +#: i2p2www/pages/site/docs/protocol/i2np.html:81 msgid "" "Also, not all message types are sent unencrypted.\n" "For example, when testing a tunnel, the router wraps a\n" @@ -19415,37 +19475,35 @@ msgid "" "which is wrapped in a DataMessage." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:97 +#: i2p2www/pages/site/docs/protocol/i2np.html:92 msgid "Type" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:99 +#: i2p2www/pages/site/docs/protocol/i2np.html:94 msgid "Priority" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:100 +#: i2p2www/pages/site/docs/protocol/i2np.html:95 msgid "Comments" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:108 -msgid "" -"400 normally; 100 if from HarvesterJob and sent directly;\n" -"400 for a router lookup" +#: i2p2www/pages/site/docs/protocol/i2np.html:103 +msgid "May vary" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:119 +#: i2p2www/pages/site/docs/protocol/i2np.html:109 msgid "" "Size is 65 + 32*(number of hashes) where typically, the hashes for\n" "three floodfill routers are returned." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:128 +#: i2p2www/pages/site/docs/protocol/i2np.html:118 msgid "Varies" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:130 +#: i2p2www/pages/site/docs/protocol/i2np.html:120 msgid "" -"Usually 100 (why?)\n" +"Priority may vary.\n" "Size is 898 bytes for a typical 2-lease leaseSet.\n" "RouterInfo structures are compressed, and size varies; however\n" "there is a continuing effort to reduce the amount of data published in a " @@ -19453,23 +19511,23 @@ msgid "" "as we approach release 1.0." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:152 +#: i2p2www/pages/site/docs/protocol/i2np.html:134 +msgid "Priority may vary on a per-destination basis" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:144 msgid "" "Used for message replies, and for testing tunnels - generally wrapped in " "a GarlicMessage" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:160 +#: i2p2www/pages/site/docs/protocol/i2np.html:152 msgid "" "Generally wrapped in a DataMessage -\n" "but when unwrapped, given a priority of 100 by the forwarding router" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:171 -msgid "Usually 500 (why?)" -msgstr "" - -#: i2p2www/pages/site/docs/protocol/i2np.html:187 +#: i2p2www/pages/site/docs/protocol/i2np.html:179 msgid "" "The most common message. Priority for tunnel participants, outbound " "endpoints, and inbound gateways was\n" @@ -19477,28 +19535,28 @@ msgid "" "Outbound gateway messages (i.e. those originated locally) remains at 400." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:207 +#: i2p2www/pages/site/docs/protocol/i2np.html:199 msgid "Shorter TunnelBuildMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:215 +#: i2p2www/pages/site/docs/protocol/i2np.html:207 msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#: i2p2www/pages/site/docs/protocol/i2np.html:210 #, python-format msgid "Others listed in 2003 Spec" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:224 +#: i2p2www/pages/site/docs/protocol/i2np.html:216 msgid "Obsolete, Unused" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:228 +#: i2p2www/pages/site/docs/protocol/i2np.html:220 msgid "Full Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#: i2p2www/pages/site/docs/protocol/i2np.html:221 #, python-format msgid "" "On the I2NP Specification page.\n" @@ -19507,7 +19565,7 @@ msgid "" "page." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:236 +#: i2p2www/pages/site/docs/protocol/i2np.html:228 msgid "" "It isn't clear whether the current priority scheme is generally " "effective,\n" @@ -20546,7 +20604,7 @@ msgstr "" msgid "Format" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -20557,17 +20615,17 @@ msgid "" "the future." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:41 +#: i2p2www/pages/site/docs/spec/datagrams.html:40 msgid "Repliable Datagrams" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:42 +#: i2p2www/pages/site/docs/spec/datagrams.html:41 msgid "" "Repliable datagrams contain a 'from' address and a signature. These add " "427 bytes of overhead." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:92 +#: i2p2www/pages/site/docs/spec/datagrams.html:91 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -20577,7 +20635,7 @@ msgid "" "31.5 KB." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:98 +#: i2p2www/pages/site/docs/spec/datagrams.html:97 msgid "See important notes above about the reliability of large datagrams." msgstr "" @@ -24515,6 +24573,11 @@ msgstr "" msgid "Datastore over I2P" msgstr "" +#: i2p2www/pages/site/get-involved/bounties/index.html:129 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + #: i2p2www/pages/site/get-involved/bounties/index.html:134 msgid "Swarming file transfer" msgstr "" @@ -24592,10 +24655,6 @@ msgstr "" msgid "Bounty russian translation of webpage and router console" msgstr "" -#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 -msgid "Russian translation" -msgstr "" - #: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6 msgid "" "To improve I2P usage and attract more people\n" diff --git a/i2p2www/translations/sv/LC_MESSAGES/messages.po b/i2p2www/translations/sv/LC_MESSAGES/messages.po index be4106a2..87ad7f73 100644 --- a/i2p2www/translations/sv/LC_MESSAGES/messages.po +++ b/i2p2www/translations/sv/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P\n" "Report-Msgid-Bugs-To: https://trac.i2p2.de/\n" -"POT-Creation-Date: 2013-06-11 12:43+0000\n" +"POT-Creation-Date: 2013-07-01 12:25+0000\n" "PO-Revision-Date: 2013-04-27 23:10+0000\n" "Last-Translator: Martin Svensson \n" "Language-Team: Swedish (Sweden) " @@ -1085,7 +1085,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:151 -#: i2p2www/pages/downloads/list.html:163 +#: i2p2www/pages/downloads/list.html:167 msgid "Post-install work" msgstr "" @@ -1144,7 +1144,7 @@ msgid "" msgstr "" #: i2p2www/pages/downloads/debian.html:196 -#: i2p2www/pages/downloads/list.html:196 +#: i2p2www/pages/downloads/list.html:200 #, python-format msgid "" "If you want to reach eepsites via your browser, have a look on the Oracle/Sun Java Version 6,\n" -"OpenJDK 6, or\n" -"IcedTea6\n" +"(Oracle Java Version 6/7,\n" +"OpenJDK 6/7, or\n" +"IcedTea6/7\n" " recommended)\n" "
\n" "monotone.\n" +"#getting-the-i2p-code\">monotone\n" +" or via Git from git.repo.i2p or Github.\n" "
\n" " Run (tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd " "i2p-%(i2pversion)s ; ant pkg) then either\n" " run the GUI installer or headless install as above." msgstr "" -#: i2p2www/pages/downloads/list.html:154 +#: i2p2www/pages/downloads/list.html:158 #, python-format msgid "" "The files are signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:159 +#: i2p2www/pages/downloads/list.html:163 msgid "" "I2P can also be downloaded from our project pages on Launchpad and Google Code." msgstr "" -#: i2p2www/pages/downloads/list.html:165 +#: i2p2www/pages/downloads/list.html:169 msgid "" "After running the installer on windows, simply click on the \"Start I2P\"" " button\n" @@ -1297,7 +1299,7 @@ msgid "" "which has further instructions." msgstr "" -#: i2p2www/pages/downloads/list.html:171 +#: i2p2www/pages/downloads/list.html:175 msgid "" "On Unix-like systems, I2P can be started as a service\n" "using the \"i2prouter\" script, located in the directory you selected for" @@ -1314,7 +1316,7 @@ msgid "" "start the router with \"sh runplain.sh\" instead." msgstr "" -#: i2p2www/pages/downloads/list.html:182 +#: i2p2www/pages/downloads/list.html:186 #, python-format msgid "" "When installing for the first time, please remember to adjust your " @@ -1326,26 +1328,26 @@ msgid "" "configuration page." msgstr "" -#: i2p2www/pages/downloads/list.html:190 +#: i2p2www/pages/downloads/list.html:194 msgid "" "Also, please review and adjust the bandwidth settings on the\n" "configuration page,\n" "as the default settings of 96 KBps down / 40 KBps up are fairly slow." msgstr "" -#: i2p2www/pages/downloads/list.html:200 +#: i2p2www/pages/downloads/list.html:204 msgid "Updates from earlier releases:" msgstr "" -#: i2p2www/pages/downloads/list.html:202 +#: i2p2www/pages/downloads/list.html:206 msgid "Both automatic and manual upgrades are available for the release." msgstr "" -#: i2p2www/pages/downloads/list.html:207 +#: i2p2www/pages/downloads/list.html:211 msgid "Automatic updates" msgstr "" -#: i2p2www/pages/downloads/list.html:209 +#: i2p2www/pages/downloads/list.html:213 msgid "" "If you are running 0.7.5 or later, your router should detect the\n" "new release. To upgrade simply click the 'Download Update' button on your" @@ -1353,7 +1355,7 @@ msgid "" "when it appears." msgstr "" -#: i2p2www/pages/downloads/list.html:215 +#: i2p2www/pages/downloads/list.html:219 msgid "" "Due to a bug in release 0.7.6, those whose first I2P installation was " "that version\n" @@ -1363,7 +1365,7 @@ msgid "" "and should use the manual update method below." msgstr "" -#: i2p2www/pages/downloads/list.html:223 +#: i2p2www/pages/downloads/list.html:227 #, python-format msgid "" "If you are running 0.7.4 or earlier, please see\n" @@ -1373,7 +1375,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:231 +#: i2p2www/pages/downloads/list.html:235 #, python-format msgid "" "If you are running 0.6.1.30 or earlier, please see\n" @@ -1383,7 +1385,7 @@ msgid "" "receive the release." msgstr "" -#: i2p2www/pages/downloads/list.html:240 +#: i2p2www/pages/downloads/list.html:244 #, python-format msgid "" "If you have reconfigured your router following the rename as i2pupdate.zip.\n" @@ -1414,26 +1416,26 @@ msgid "" " NOT need to unzip that file." msgstr "" -#: i2p2www/pages/downloads/list.html:280 +#: i2p2www/pages/downloads/list.html:284 msgid "Click \"Restart\"" msgstr "" -#: i2p2www/pages/downloads/list.html:285 +#: i2p2www/pages/downloads/list.html:289 msgid "Grab a cup of coffee and come back in 11 minutes" msgstr "" -#: i2p2www/pages/downloads/list.html:293 +#: i2p2www/pages/downloads/list.html:297 #, python-format msgid "" "The file is signed by zzz,\n" "whose key is here." msgstr "" -#: i2p2www/pages/downloads/list.html:298 +#: i2p2www/pages/downloads/list.html:302 msgid "Previous Releases" msgstr "" -#: i2p2www/pages/downloads/list.html:300 +#: i2p2www/pages/downloads/list.html:304 #, python-format msgid "" "Previous releases are available on Sybil attacks.\n" "Instead of the SHA256 hash of the key being looked up of stored, the " "SHA256 hash is taken\n" -"of the key appended with the date: yyyyMMdd (SHA256(key + yyyyMMdd)." +"of the 32-byte binary key appended with the UTC date represented as an " +"8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd).\n" +"This is called the \"routing key\", and it changes every day at midnight " +"UTC.\n" +"The daily transformation of the DHT is sometimes called \"keyspace " +"rotation\",\n" +"although it isn't strictly a rotation." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:317 +#: i2p2www/pages/site/docs/how/network-database.html:318 +msgid "" +"Routing keys are never sent on-the-wire in any I2NP message, they are " +"only used locally for\n" +"determination of distance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:325 msgid "Storage, Verification, and Lookup Mechanics" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:319 +#: i2p2www/pages/site/docs/how/network-database.html:327 msgid "RouterInfo Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:320 +#: i2p2www/pages/site/docs/how/network-database.html:328 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13150,11 +13165,11 @@ msgid "" "or SSU transport connection." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:327 +#: i2p2www/pages/site/docs/how/network-database.html:335 msgid "LeaseSet Storage to Peers" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:328 +#: i2p2www/pages/site/docs/how/network-database.html:336 #, python-format msgid "" "I2NP DatabaseStoreMessages containing the local " @@ -13167,11 +13182,44 @@ msgid "" "Destinations to have published LeaseSets at all." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:336 +#: i2p2www/pages/site/docs/how/network-database.html:344 +msgid "" +"The DatabaseStoreMessage should be sent to the floodfill that is closest\n" +"to the current routing key for the RouterInfo or LeaseSet being stored.\n" +"Currently, the closest floodfill is found by a search in the local " +"database.\n" +"Even if that floodfill is not actually closest, it will flood it " +"\"closer\" by\n" +"sending it to multiple other floodfills.\n" +"This provides a high degree of fault-tolerance." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:353 +msgid "" +"In traditional Kademlia, a peer would do a \"find-closest\" search before" +" inserting\n" +"an item in the DHT to the closest target. As the verify operation will " +"tend to\n" +"discover closer floodfills if they are present, a router will quickly " +"improve\n" +"its knowledge of the DHT \"neighborhood\" for the RouterInfo and " +"LeaseSets it regularly publishes.\n" +"While I2NP does not define a \"find-closest\" message, if it becomes " +"necessary,\n" +"a router may simply do an iterative search for a key with the least " +"significant bit flipped\n" +"(i.e. key ^ 0x01) until no closer peers are received in the " +"DatabaseSearchReplyMessages.\n" +"This ensures that the true closest peer will be found even if a more-" +"distant peer had\n" +"the netdb item." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:366 msgid "RouterInfo Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:337 +#: i2p2www/pages/site/docs/how/network-database.html:367 #, python-format msgid "" "A router publishes its own RouterInfo by directly connecting to a " @@ -13186,18 +13234,18 @@ msgid "" "with the Message ID set to the value of the Reply Token." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:351 +#: i2p2www/pages/site/docs/how/network-database.html:381 msgid "LeaseSet Storage to Floodfills" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:352 +#: i2p2www/pages/site/docs/how/network-database.html:382 msgid "" "Storage of LeaseSets is much more sensitive than for RouterInfos, as a " "router\n" "must take care that the LeaseSet cannot be associated with the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:357 +#: i2p2www/pages/site/docs/how/network-database.html:387 #, python-format msgid "" "A router publishes a local LeaseSet by\n" @@ -13213,26 +13261,31 @@ msgid "" "This message is sent back to one of the client's inbound tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:370 +#: i2p2www/pages/site/docs/how/network-database.html:400 msgid "Flooding" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:371 +#: i2p2www/pages/site/docs/how/network-database.html:401 msgid "" "After a floodfill router receives a DatabaseStoreMessage containing a\n" "valid RouterInfo or LeaseSet which is newer than that previously stored " "in its\n" "local NetDb, it \"floods\" it.\n" -"To flood a NetDb entry, it looks up the 7 floodfill routers closest to " -"the key\n" -"of the NetDb entry. (The key is the SHA256 Hash of the RouterIdentity or " -"Destination with the date (yyyyMMdd) appended.)" +"To flood a NetDb entry, it looks up several (currently 4) floodfill " +"routers closest to the routing key\n" +"of the NetDb entry. (The routing key is the SHA256 Hash of the " +"RouterIdentity or Destination with the date (yyyyMMdd) appended.)\n" +"By flooding to those closest to the key, not closest to itself, the " +"floodfill ensures that the storage\n" +"gets to the right place, even if the storing router did not have good " +"knowledge of the\n" +"DHT \"neighborhood\" for the routing key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:379 +#: i2p2www/pages/site/docs/how/network-database.html:412 #, python-format msgid "" -"It then directly connects to each of the 7 peers\n" +"The floodfill then directly connects to each of those peers\n" "and sends it a I2NP DatabaseStoreMessage\n" "with a zero Reply Token. The message is not end-to-end garlic encrypted,\n" "as this is a direct connection, so there are no intervening routers\n" @@ -13240,11 +13293,11 @@ msgid "" "The other routers do not reply or re-flood, as the Reply Token is zero." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:389 +#: i2p2www/pages/site/docs/how/network-database.html:422 msgid "RouterInfo and LeaseSet Lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:390 +#: i2p2www/pages/site/docs/how/network-database.html:423 #, python-format msgid "" "The I2NP DatabaseLookupMessage is used to " @@ -13254,13 +13307,13 @@ msgid "" "exploratory tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:396 +#: i2p2www/pages/site/docs/how/network-database.html:429 msgid "" "Lookups are generally sent to the two \"good\" (the connection doesn't " "fail) floodfill routers closest to the requested key, in parallel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:400 +#: i2p2www/pages/site/docs/how/network-database.html:433 #, python-format msgid "" "If the key is found locally by the floodfill router, it responds with a\n" @@ -13271,7 +13324,7 @@ msgid "" "containing a list of other floodfill routers close to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:408 +#: i2p2www/pages/site/docs/how/network-database.html:441 msgid "" "LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n" "RouterInfo lookups are not encrypted and thus are vulnerable to snooping " @@ -13281,7 +13334,7 @@ msgid "" "RouterInfo lookup encryption may be enabled in a future release." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:415 +#: i2p2www/pages/site/docs/how/network-database.html:448 msgid "" "As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage" " or a DatabaseSearchReplyMessage)\n" @@ -13292,14 +13345,14 @@ msgid "" " encryption." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:422 +#: i2p2www/pages/site/docs/how/network-database.html:455 #, python-format msgid "" "(Reference: Hashing it out in Public Sections " "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:426 +#: i2p2www/pages/site/docs/how/network-database.html:459 msgid "" "Due to the relatively small size of the network and the flooding " "redundancy of 8x,\n" @@ -13315,7 +13368,7 @@ msgid "" "to reduce the chance of query failure." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:437 +#: i2p2www/pages/site/docs/how/network-database.html:470 msgid "" "As of release 0.8.9, iterative lookups are implemented with no " "lookup redundancy.\n" @@ -13333,7 +13386,7 @@ msgid "" "or the maximum number of peers is queried." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:449 +#: i2p2www/pages/site/docs/how/network-database.html:482 msgid "" "Node IDs are verifiable in that we use the router hash " "directly as both the node ID and the Kademlia key.\n" @@ -13343,11 +13396,11 @@ msgid "" "detailed knowledge of the neighborhood of the destination ID space." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:458 +#: i2p2www/pages/site/docs/how/network-database.html:491 msgid "RouterInfo Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:459 +#: i2p2www/pages/site/docs/how/network-database.html:492 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -13358,11 +13411,11 @@ msgid "" "outbound endpoint(OBEP)." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:467 +#: i2p2www/pages/site/docs/how/network-database.html:500 msgid "LeaseSet Storage Verification" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:468 +#: i2p2www/pages/site/docs/how/network-database.html:501 msgid "" "To verify a storage was successful, a router simply waits about 10 " "seconds,\n" @@ -13376,7 +13429,7 @@ msgid "" "tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:478 +#: i2p2www/pages/site/docs/how/network-database.html:511 msgid "" "As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a " "DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n" @@ -13384,11 +13437,11 @@ msgid "" "to hide the reply from the inbound gateway (IBGW) of the reply tunnel." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:486 +#: i2p2www/pages/site/docs/how/network-database.html:519 msgid "Exploration" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:487 +#: i2p2www/pages/site/docs/how/network-database.html:520 #, python-format msgid "" "Exploration is a special form of netdb lookup, where a router " @@ -13411,11 +13464,11 @@ msgid "" "the requested key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:501 +#: i2p2www/pages/site/docs/how/network-database.html:534 msgid "Notes on Lookup Responses" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:502 +#: i2p2www/pages/site/docs/how/network-database.html:535 msgid "" "The response to a lookup request is either a Database Store Message (on " "success) or a\n" @@ -13428,11 +13481,11 @@ msgid "" "difficult to monitor the performance of the various floodfill routers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:512 +#: i2p2www/pages/site/docs/how/network-database.html:545 msgid "MultiHoming" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:514 +#: i2p2www/pages/site/docs/how/network-database.html:547 msgid "" "Destinations may be hosted on multiple routers simultaneously, by using " "the same\n" @@ -13449,18 +13502,18 @@ msgid "" "services on the network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:524 +#: i2p2www/pages/site/docs/how/network-database.html:557 msgid "Threat Analysis" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:525 +#: i2p2www/pages/site/docs/how/network-database.html:558 #, python-format msgid "" "Also discussed on the threat model " "page." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:529 +#: i2p2www/pages/site/docs/how/network-database.html:562 msgid "" "A hostile user may attempt to harm the network by\n" "creating one or more floodfill routers and crafting them to offer\n" @@ -13468,11 +13521,11 @@ msgid "" "Some scenarios are discussed below." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:536 +#: i2p2www/pages/site/docs/how/network-database.html:569 msgid "General Mitigation Through Growth" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:537 +#: i2p2www/pages/site/docs/how/network-database.html:570 msgid "" "There are currently hundreds of floodfill routers in the network.\n" "Most of the following attacks will become more difficult, or have less " @@ -13480,31 +13533,31 @@ msgid "" "as the network size and number of floodfill routers increase." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:544 +#: i2p2www/pages/site/docs/how/network-database.html:577 msgid "General Mitigation Through Redundancy" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:545 +#: i2p2www/pages/site/docs/how/network-database.html:578 msgid "" "Via flooding, all netdb entries are stored on the 8 floodfill routers " "closest to the key." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:550 +#: i2p2www/pages/site/docs/how/network-database.html:583 msgid "Forgeries" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:551 +#: i2p2www/pages/site/docs/how/network-database.html:584 msgid "" "All netdb entries are signed by their creators, so no router may forge a\n" "RouterInfo or LeaseSet." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:556 +#: i2p2www/pages/site/docs/how/network-database.html:589 msgid "Slow or Unresponsive" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:557 +#: i2p2www/pages/site/docs/how/network-database.html:590 #, python-format msgid "" "Each router maintains an expanded set of statistics in the\n" @@ -13514,31 +13567,31 @@ msgid "" "The set includes:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:564 +#: i2p2www/pages/site/docs/how/network-database.html:597 msgid "Average response time" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:565 +#: i2p2www/pages/site/docs/how/network-database.html:598 msgid "Percentage of queries answered with the data requested" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:566 +#: i2p2www/pages/site/docs/how/network-database.html:599 msgid "Percentage of stores that were successfully verified" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:567 +#: i2p2www/pages/site/docs/how/network-database.html:600 msgid "Last successful store" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:568 +#: i2p2www/pages/site/docs/how/network-database.html:601 msgid "Last successful lookup" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:569 +#: i2p2www/pages/site/docs/how/network-database.html:602 msgid "Last response" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:572 +#: i2p2www/pages/site/docs/how/network-database.html:605 msgid "" "Each time a router needs to make a determination on which floodfill " "router is closest to a key,\n" @@ -13551,11 +13604,11 @@ msgid "" "routers that are only sometimes malicious may be much harder to deal with." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:582 +#: i2p2www/pages/site/docs/how/network-database.html:615 msgid "Sybil Attack (Full Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:583 +#: i2p2www/pages/site/docs/how/network-database.html:616 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -13563,7 +13616,7 @@ msgid "" "keyspace." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:588 +#: i2p2www/pages/site/docs/how/network-database.html:621 #, python-format msgid "" "(In a related example, a researcher recently created a\n" @@ -13572,7 +13625,7 @@ msgid "" "network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:594 +#: i2p2www/pages/site/docs/how/network-database.html:627 msgid "" "If the floodfills are not sufficiently misbehaving to be marked as " "\"bad\" using the peer profile\n" @@ -13584,7 +13637,7 @@ msgid "" "none of them is completely satisfactory:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:602 +#: i2p2www/pages/site/docs/how/network-database.html:635 msgid "" "Compile a list of bad router hashes or IPs, and announce the list through" " various means\n" @@ -13593,30 +13646,30 @@ msgid "" "add it to their local \"blacklist\"." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:607 +#: i2p2www/pages/site/docs/how/network-database.html:640 msgid "" "Ask everyone in the network to enable floodfill manually (fight Sybil " "with more Sybil)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:608 +#: i2p2www/pages/site/docs/how/network-database.html:641 msgid "Release a new software version that includes the hardcoded \"bad\" list" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:609 +#: i2p2www/pages/site/docs/how/network-database.html:642 msgid "" "Release a new software version that improves the peer profile metrics and" " thresholds,\n" "in an attempt to automatically identify the \"bad\" peers." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:613 +#: i2p2www/pages/site/docs/how/network-database.html:646 msgid "" "Add software that disqualifies floodfills if too many of them are in a " "single IP block" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:614 +#: i2p2www/pages/site/docs/how/network-database.html:647 msgid "" "Implement an automatic subscription-based blacklist controlled by a " "single individual or group.\n" @@ -13628,16 +13681,15 @@ msgid "" "or even to completely shutdown or destroy the entire network." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:623 -#: i2p2www/pages/site/docs/how/network-database.html:659 +#: i2p2www/pages/site/docs/how/network-database.html:656 msgid "This attack becomes more difficult as the network size grows." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:629 +#: i2p2www/pages/site/docs/how/network-database.html:662 msgid "Sybil Attack (Partial Keyspace)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:630 +#: i2p2www/pages/site/docs/how/network-database.html:663 #, python-format msgid "" "An attacker may mount a Sybil attack\n" @@ -13651,7 +13703,7 @@ msgid "" "eepsite, for example." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:639 +#: i2p2www/pages/site/docs/how/network-database.html:672 msgid "" "As the keyspace is indexed by the cryptographic (SHA256) Hash of the key," "\n" @@ -13663,7 +13715,7 @@ msgid "" "size, is unknown." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:647 +#: i2p2www/pages/site/docs/how/network-database.html:680 msgid "" "As a partial defense against this attack,\n" "the algorithm used to determine Kademlia \"closeness\" varies over time.\n" @@ -13680,7 +13732,18 @@ msgid "" "to the target key, or to each other." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:663 +#: i2p2www/pages/site/docs/how/network-database.html:692 +msgid "" +"This attack becomes more difficult as the network size grows.\n" +"However, recent research demonstrates that the keyspace rotation is not " +"particularly effective.\n" +"An attacker can precompute numerous router hashes in advance,\n" +"and only a few routers are sufficient to \"eclipse\" a portion\n" +"of the keyspace within a half hour after rotation." +msgstr "" + +#: i2p2www/pages/site/docs/how/network-database.html:700 +#: i2p2www/pages/site/docs/how/network-database.html:709 msgid "" "One consequence of daily keyspace rotation is that the distributed " "network database\n" @@ -13692,11 +13755,11 @@ msgid "" "are a topic for further study." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:673 +#: i2p2www/pages/site/docs/how/network-database.html:719 msgid "Bootstrap Attacks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:674 +#: i2p2www/pages/site/docs/how/network-database.html:720 msgid "" "An attacker could attempt to boot new routers into an isolated\n" "or majority-controlled network by taking over a reseed website,\n" @@ -13704,38 +13767,38 @@ msgid "" "to the hardcoded list in the router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:681 +#: i2p2www/pages/site/docs/how/network-database.html:727 msgid "Several defenses are possible, and most of these are planned:" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:685 +#: i2p2www/pages/site/docs/how/network-database.html:731 msgid "" "Disallow fallback from HTTPS to HTTP for reseeding.\n" "A MITM attacker could simply block HTTPS, then respond to the HTTP." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:689 +#: i2p2www/pages/site/docs/how/network-database.html:735 msgid "" "Changing the reseed task to fetch a subset of RouterInfos from\n" "each of several reseed sites rather than using only a single site" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:693 +#: i2p2www/pages/site/docs/how/network-database.html:739 msgid "" "Creating an out-of-network reseed monitoring service that\n" "periodically polls reseed websites and verifies that the\n" "data are not stale or inconsistent with other views of the network" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:698 +#: i2p2www/pages/site/docs/how/network-database.html:744 msgid "Bundling reseed data in the installer" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:701 +#: i2p2www/pages/site/docs/how/network-database.html:747 msgid "Query Capture" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:702 +#: i2p2www/pages/site/docs/how/network-database.html:748 #, python-format msgid "" "See also lookup\n" @@ -13743,7 +13806,7 @@ msgid "" "2.2-2.3 for terms below in italics)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:707 +#: i2p2www/pages/site/docs/how/network-database.html:753 msgid "" "Similar to a bootstrap attack, an attacker using a floodfill router could" " attempt to \"steer\"\n" @@ -13751,7 +13814,7 @@ msgid "" "references." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:712 +#: i2p2www/pages/site/docs/how/network-database.html:758 msgid "" "This is unlikely to work via exploration, because exploration is a low-" "frequency task.\n" @@ -13761,7 +13824,7 @@ msgid "" "and each exploration query is directed to a random floodfill router." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:719 +#: i2p2www/pages/site/docs/how/network-database.html:765 #, python-format msgid "" "As of release 0.8.9, iterative lookups are implemented.\n" @@ -13786,16 +13849,16 @@ msgid "" "is much more difficult." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:738 +#: i2p2www/pages/site/docs/how/network-database.html:784 msgid "DHT-Based Relay Selection" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:739 +#: i2p2www/pages/site/docs/how/network-database.html:785 #, python-format msgid "(Reference: Hashing it out in Public Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:743 +#: i2p2www/pages/site/docs/how/network-database.html:789 #, python-format msgid "" "This doesn't have much to do with floodfill, but see\n" @@ -13803,18 +13866,18 @@ msgid "" "for a discussion of the vulnerabilities of peer selection for tunnels." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:749 +#: i2p2www/pages/site/docs/how/network-database.html:795 msgid "Information Leaks" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:750 +#: i2p2www/pages/site/docs/how/network-database.html:796 #, python-format msgid "" "(Reference: In Search of an Anonymous and Secure " "Lookup Section 3)" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:754 +#: i2p2www/pages/site/docs/how/network-database.html:800 #, python-format msgid "" "This paper addresses weaknesses in the \"Finger Table\" DHT lookups used " @@ -13831,7 +13894,7 @@ msgid "" "Also, peer selection is unrelated to any notion of DHT key-closeness." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:765 +#: i2p2www/pages/site/docs/how/network-database.html:811 msgid "" "Some of this may actually be more interesting when the I2P network gets " "much larger.\n" @@ -13845,7 +13908,7 @@ msgid "" "much harder." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:773 +#: i2p2www/pages/site/docs/how/network-database.html:819 #, python-format msgid "" "However, the general issue of DHT information leakage in I2P needs " @@ -13861,15 +13924,15 @@ msgid "" "become problematic for several reasons." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:787 +#: i2p2www/pages/site/docs/how/network-database.html:833 msgid "Moved to the netdb discussion page" msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:791 +#: i2p2www/pages/site/docs/how/network-database.html:837 msgid "End-to-end encryption of additional netDb lookups and responses." msgstr "" -#: i2p2www/pages/site/docs/how/network-database.html:795 +#: i2p2www/pages/site/docs/how/network-database.html:841 msgid "Better methods for tracking lookup responses." msgstr "" @@ -18422,7 +18485,7 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2cp.html:605 -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 msgid "Bytes" msgstr "" @@ -18525,49 +18588,46 @@ msgid "" msgstr "" #: i2p2www/pages/site/docs/protocol/i2np.html:23 +#, python-format msgid "" -"Both the NTCP and UDP transports implement priority transmission,\n" -"but in quite different manners.\n" -"UDP has complex code with queues for each priority, however it treats\n" -"messages with priorities 400-499, for example, the same.\n" -"(The priority queues are 100, 200, 300, 400, 500, and 1000)\n" -"These are global queues for all peers.\n" -"NTCP has a trivial linear search for the highest priority within\n" -"each buffer for a particular peer.\n" -"This is much less effective." +"The priorities listed below may not be current and are subject to change." +"\n" +"See the OutNetMessage Javadocs\n" +"for the current priority settings.\n" +"Priority queueing implementation may vary." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:35 +#: i2p2www/pages/site/docs/protocol/i2np.html:30 msgid "Message Format" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:38 +#: i2p2www/pages/site/docs/protocol/i2np.html:33 #: i2p2www/pages/site/docs/spec/streaming.html:35 msgid "Field" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:39 +#: i2p2www/pages/site/docs/protocol/i2np.html:34 msgid "Unique ID" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:40 +#: i2p2www/pages/site/docs/protocol/i2np.html:35 msgid "Expiration" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:41 -#: i2p2www/pages/site/docs/protocol/i2np.html:98 +#: i2p2www/pages/site/docs/protocol/i2np.html:36 +#: i2p2www/pages/site/docs/protocol/i2np.html:93 msgid "Payload Length" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:42 +#: i2p2www/pages/site/docs/protocol/i2np.html:37 msgid "Checksum" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:43 +#: i2p2www/pages/site/docs/protocol/i2np.html:38 msgid "Payload" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:46 +#: i2p2www/pages/site/docs/protocol/i2np.html:41 #, python-format msgid "" "While the maximum payload size is nominally 64KB, the size is further " @@ -18580,7 +18640,7 @@ msgid "" "So the message must nominally fit in 63 fragments." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:54 +#: i2p2www/pages/site/docs/protocol/i2np.html:49 msgid "" "The maximum size of an initial fragment is 956 bytes (assuming TUNNEL " "delivery mode);\n" @@ -18589,7 +18649,7 @@ msgid "" "bytes, or 61.2 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:60 +#: i2p2www/pages/site/docs/protocol/i2np.html:55 msgid "" "In addition, the transports may have additional restrictions.\n" "NTCP currently limits to 16KB - 6 = 16378 bytes but this will be " @@ -18597,7 +18657,7 @@ msgid "" "The SSU limit is approximately 32 KB." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:66 +#: i2p2www/pages/site/docs/protocol/i2np.html:61 msgid "" "Note that these are not the limits for datagrams that the client sees, as" " the\n" @@ -18608,11 +18668,11 @@ msgid "" "increased in a future release." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:74 +#: i2p2www/pages/site/docs/protocol/i2np.html:69 msgid "Message Types" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:75 +#: i2p2www/pages/site/docs/protocol/i2np.html:70 msgid "" "Higher-numbered priority is higher priority.\n" "The majority of traffic is TunnelDataMessages (priority 400),\n" @@ -18624,7 +18684,7 @@ msgid "" "first hops happen to be on the same peer." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:86 +#: i2p2www/pages/site/docs/protocol/i2np.html:81 msgid "" "Also, not all message types are sent unencrypted.\n" "For example, when testing a tunnel, the router wraps a\n" @@ -18632,37 +18692,35 @@ msgid "" "which is wrapped in a DataMessage." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:97 +#: i2p2www/pages/site/docs/protocol/i2np.html:92 msgid "Type" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:99 +#: i2p2www/pages/site/docs/protocol/i2np.html:94 msgid "Priority" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:100 +#: i2p2www/pages/site/docs/protocol/i2np.html:95 msgid "Comments" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:108 -msgid "" -"400 normally; 100 if from HarvesterJob and sent directly;\n" -"400 for a router lookup" +#: i2p2www/pages/site/docs/protocol/i2np.html:103 +msgid "May vary" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:119 +#: i2p2www/pages/site/docs/protocol/i2np.html:109 msgid "" "Size is 65 + 32*(number of hashes) where typically, the hashes for\n" "three floodfill routers are returned." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:128 +#: i2p2www/pages/site/docs/protocol/i2np.html:118 msgid "Varies" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:130 +#: i2p2www/pages/site/docs/protocol/i2np.html:120 msgid "" -"Usually 100 (why?)\n" +"Priority may vary.\n" "Size is 898 bytes for a typical 2-lease leaseSet.\n" "RouterInfo structures are compressed, and size varies; however\n" "there is a continuing effort to reduce the amount of data published in a " @@ -18670,23 +18728,23 @@ msgid "" "as we approach release 1.0." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:152 +#: i2p2www/pages/site/docs/protocol/i2np.html:134 +msgid "Priority may vary on a per-destination basis" +msgstr "" + +#: i2p2www/pages/site/docs/protocol/i2np.html:144 msgid "" "Used for message replies, and for testing tunnels - generally wrapped in " "a GarlicMessage" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:160 +#: i2p2www/pages/site/docs/protocol/i2np.html:152 msgid "" "Generally wrapped in a DataMessage -\n" "but when unwrapped, given a priority of 100 by the forwarding router" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:171 -msgid "Usually 500 (why?)" -msgstr "" - -#: i2p2www/pages/site/docs/protocol/i2np.html:187 +#: i2p2www/pages/site/docs/protocol/i2np.html:179 msgid "" "The most common message. Priority for tunnel participants, outbound " "endpoints, and inbound gateways was\n" @@ -18694,28 +18752,28 @@ msgid "" "Outbound gateway messages (i.e. those originated locally) remains at 400." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:207 +#: i2p2www/pages/site/docs/protocol/i2np.html:199 msgid "Shorter TunnelBuildMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:215 +#: i2p2www/pages/site/docs/protocol/i2np.html:207 msgid "Shorter TunnelBuildReplyMessage as of 0.7.12" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:218 +#: i2p2www/pages/site/docs/protocol/i2np.html:210 #, python-format msgid "Others listed in 2003 Spec" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:224 +#: i2p2www/pages/site/docs/protocol/i2np.html:216 msgid "Obsolete, Unused" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:228 +#: i2p2www/pages/site/docs/protocol/i2np.html:220 msgid "Full Protocol Specification" msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:229 +#: i2p2www/pages/site/docs/protocol/i2np.html:221 #, python-format msgid "" "On the I2NP Specification page.\n" @@ -18724,7 +18782,7 @@ msgid "" "page." msgstr "" -#: i2p2www/pages/site/docs/protocol/i2np.html:236 +#: i2p2www/pages/site/docs/protocol/i2np.html:228 msgid "" "It isn't clear whether the current priority scheme is generally " "effective,\n" @@ -19763,7 +19821,7 @@ msgstr "" msgid "Format" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:32 +#: i2p2www/pages/site/docs/spec/datagrams.html:31 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -19774,17 +19832,17 @@ msgid "" "the future." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:41 +#: i2p2www/pages/site/docs/spec/datagrams.html:40 msgid "Repliable Datagrams" msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:42 +#: i2p2www/pages/site/docs/spec/datagrams.html:41 msgid "" "Repliable datagrams contain a 'from' address and a signature. These add " "427 bytes of overhead." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:92 +#: i2p2www/pages/site/docs/spec/datagrams.html:91 #, python-format msgid "" "The practical length is limited by lower layers of protocols - the\n" @@ -19794,7 +19852,7 @@ msgid "" "31.5 KB." msgstr "" -#: i2p2www/pages/site/docs/spec/datagrams.html:98 +#: i2p2www/pages/site/docs/spec/datagrams.html:97 msgid "See important notes above about the reliability of large datagrams." msgstr "" @@ -23730,6 +23788,11 @@ msgstr "" msgid "Datastore over I2P" msgstr "" +#: i2p2www/pages/site/get-involved/bounties/index.html:129 +#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 +msgid "Russian translation" +msgstr "" + #: i2p2www/pages/site/get-involved/bounties/index.html:134 msgid "Swarming file transfer" msgstr "" @@ -23807,10 +23870,6 @@ msgstr "" msgid "Bounty russian translation of webpage and router console" msgstr "" -#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3 -msgid "Russian translation" -msgstr "" - #: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6 msgid "" "To improve I2P usage and attract more people\n"