diff options
Diffstat (limited to 'doc/documentation')
-rw-r--r-- | doc/documentation/chapters/developer.texi | 12 | ||||
-rw-r--r-- | doc/documentation/chapters/philosophy.texi | 11 | ||||
-rw-r--r-- | doc/documentation/chapters/user.texi | 6 |
3 files changed, 18 insertions, 11 deletions
diff --git a/doc/documentation/chapters/developer.texi b/doc/documentation/chapters/developer.texi index ada6d37a0..a99f6a481 100644 --- a/doc/documentation/chapters/developer.texi +++ b/doc/documentation/chapters/developer.texi | |||
@@ -94,6 +94,7 @@ following links: | |||
94 | @c ** FIXME: Link to files in source, not online. | 94 | @c ** FIXME: Link to files in source, not online. |
95 | @c ** FIXME: Where is the Java tutorial? | 95 | @c ** FIXME: Where is the Java tutorial? |
96 | @itemize @bullet | 96 | @itemize @bullet |
97 | @c broken link | ||
97 | @item @uref{https://gnunet.org/git/gnunet.git/plain/doc/gnunet-c-tutorial.pdf, GNUnet C tutorial} | 98 | @item @uref{https://gnunet.org/git/gnunet.git/plain/doc/gnunet-c-tutorial.pdf, GNUnet C tutorial} |
98 | @item GNUnet Java tutorial | 99 | @item GNUnet Java tutorial |
99 | @end itemize | 100 | @end itemize |
@@ -273,7 +274,7 @@ library is a wapper around block plugins which provide the necessary | |||
273 | functions for each block type. | 274 | functions for each block type. |
274 | @item @file{statistics/} --- statistics service | 275 | @item @file{statistics/} --- statistics service |
275 | The statistics service enables associating | 276 | The statistics service enables associating |
276 | values (of type uint64_t) with a componenet name and a string. The main | 277 | values (of type uint64_t) with a component name and a string. The main |
277 | uses is debugging (counting events), performance tracking and user | 278 | uses is debugging (counting events), performance tracking and user |
278 | entertainment (what did my peer do today?). | 279 | entertainment (what did my peer do today?). |
279 | @item @file{arm/} --- Automatic Restart Manager (ARM) | 280 | @item @file{arm/} --- Automatic Restart Manager (ARM) |
@@ -2450,7 +2451,7 @@ memcpy (tbuf, nameTrans, strlen (nameTrans) + 1); | |||
2450 | 2451 | ||
2451 | Note that, here the functions @code{htonl}, @code{htons} and | 2452 | Note that, here the functions @code{htonl}, @code{htons} and |
2452 | @code{GNUNET_TIME_absolute_hton} are applied to convert little endian | 2453 | @code{GNUNET_TIME_absolute_hton} are applied to convert little endian |
2453 | into big endian, about the usage of the big/small edian order and the | 2454 | into big endian, about the usage of the big/small endian order and the |
2454 | corresponding conversion function please refer to Introduction of | 2455 | corresponding conversion function please refer to Introduction of |
2455 | Big Endian and Little Endian. | 2456 | Big Endian and Little Endian. |
2456 | 2457 | ||
@@ -7027,6 +7028,7 @@ bandwidth consumption. | |||
7027 | 7028 | ||
7028 | @c %**end of header | 7029 | @c %**end of header |
7029 | 7030 | ||
7031 | @c inconsistent use of ``must'' above it's written ``MUST'' | ||
7030 | In contrast to GET operations, developers @strong{must} manually re-run | 7032 | In contrast to GET operations, developers @strong{must} manually re-run |
7031 | PUT operations periodically (if they intend the content to continue to be | 7033 | PUT operations periodically (if they intend the content to continue to be |
7032 | available). Content stored in the DHT expires or might be lost due to | 7034 | available). Content stored in the DHT expires or might be lost due to |
@@ -7055,7 +7057,7 @@ Using the monitoring API, applications can choose to monitor these | |||
7055 | requests, possibly limiting themselves to requests for a particular block | 7057 | requests, possibly limiting themselves to requests for a particular block |
7056 | type. | 7058 | type. |
7057 | 7059 | ||
7058 | The monitoring API is not only usefu only for diagnostics, it can also be | 7060 | The monitoring API is not only useful for diagnostics, it can also be |
7059 | used to trigger application operations based on PUT operations. | 7061 | used to trigger application operations based on PUT operations. |
7060 | For example, an application may use PUTs to distribute work requests to | 7062 | For example, an application may use PUTs to distribute work requests to |
7061 | other peers. | 7063 | other peers. |
@@ -7149,7 +7151,7 @@ already knows more than about a thousand blocks may need to send | |||
7149 | several of these messages. Naturally, the client should transmit these | 7151 | several of these messages. Naturally, the client should transmit these |
7150 | messages as quickly as possible after the original GET request such that | 7152 | messages as quickly as possible after the original GET request such that |
7151 | the DHT can filter those results in the network early on. Naturally, as | 7153 | the DHT can filter those results in the network early on. Naturally, as |
7152 | these messages are send after the original request, it is conceivalbe | 7154 | these messages are sent after the original request, it is conceivalbe |
7153 | that the DHT service may return blocks that match those already known | 7155 | that the DHT service may return blocks that match those already known |
7154 | to the client anyway. | 7156 | to the client anyway. |
7155 | 7157 | ||
@@ -7240,7 +7242,7 @@ A peer can search the DHT by sending @code{struct PeerGetMessage}s of type | |||
7240 | @code{GNUNET_MESSAGE_TYPE_DHT_P2P_GET} to other peers. In addition to the | 7242 | @code{GNUNET_MESSAGE_TYPE_DHT_P2P_GET} to other peers. In addition to the |
7241 | usual information about the request (type, routing options, desired | 7243 | usual information about the request (type, routing options, desired |
7242 | replication level for the request, the key and the extended query), a GET | 7244 | replication level for the request, the key and the extended query), a GET |
7243 | request also again contains a hop counter, a Bloom filter over the peers | 7245 | request also contains a hop counter, a Bloom filter over the peers |
7244 | that have processed the request already and depending on the routing | 7246 | that have processed the request already and depending on the routing |
7245 | options the full path traversed by the GET. | 7247 | options the full path traversed by the GET. |
7246 | Finally, a GET request includes a variable-size second Bloom filter and a | 7248 | Finally, a GET request includes a variable-size second Bloom filter and a |
diff --git a/doc/documentation/chapters/philosophy.texi b/doc/documentation/chapters/philosophy.texi index c8e2651c3..681d5acc3 100644 --- a/doc/documentation/chapters/philosophy.texi +++ b/doc/documentation/chapters/philosophy.texi | |||
@@ -47,7 +47,9 @@ Refer to @uref{https://www.gnu.org/philosophy/free-sw.html, https://www.gnu.org/ | |||
47 | @item GNUnet must only disclose the minimal amount of information | 47 | @item GNUnet must only disclose the minimal amount of information |
48 | necessary. | 48 | necessary. |
49 | @c TODO: Explain 'fully' in the terminology section. | 49 | @c TODO: Explain 'fully' in the terminology section. |
50 | @item GNUnet must be fully distributed and survive Byzantine failures | 50 | @item GNUnet must be fully distributed and survive |
51 | @uref{https://en.wikipedia.org/wiki/Byzantine_fault_tolerance, Byzantine failures} | ||
52 | @footnote{@uref{https://en.wikipedia.org/wiki/Byzantine_fault_tolerance, https://en.wikipedia.org/wiki/Byzantine_fault_tolerance}} | ||
51 | at any position in the network. | 53 | at any position in the network. |
52 | @item GNUnet must make it explicit to the user which entities are | 54 | @item GNUnet must make it explicit to the user which entities are |
53 | considered to be trustworthy when establishing secured communications. | 55 | considered to be trustworthy when establishing secured communications. |
@@ -163,7 +165,7 @@ DH (Diffie---Hellman) key exchange using ephemeral eliptic curve | |||
163 | cryptography. The ephemeral ECC (Eliptic Curve Cryptography) keys are | 165 | cryptography. The ephemeral ECC (Eliptic Curve Cryptography) keys are |
164 | signed using ECDSA (@uref{http://en.wikipedia.org/wiki/ECDSA, ECDSA}). | 166 | signed using ECDSA (@uref{http://en.wikipedia.org/wiki/ECDSA, ECDSA}). |
165 | The shared secret from ECDHE is used to create a pair of session keys | 167 | The shared secret from ECDHE is used to create a pair of session keys |
166 | @c FIXME: LOng word for HKDF | 168 | @c FIXME: LOng word for HKDF. More FIXMEs: Explain MITM etc. |
167 | (using HKDF) which are then used to encrypt the communication between the | 169 | (using HKDF) which are then used to encrypt the communication between the |
168 | two peers using both 256-bit AES (Advanced Encryption Standard) | 170 | two peers using both 256-bit AES (Advanced Encryption Standard) |
169 | and 256-bit Twofish (with independently derived secret keys). | 171 | and 256-bit Twofish (with independently derived secret keys). |
@@ -173,8 +175,6 @@ without requiring signatures each time. GNUnet uses SHA-512 | |||
173 | (Secure Hash Algorithm) hash codes to verify the integrity of messages. | 175 | (Secure Hash Algorithm) hash codes to verify the integrity of messages. |
174 | 176 | ||
175 | In GNUnet, the identity of a host is its public key. For that reason, | 177 | In GNUnet, the identity of a host is its public key. For that reason, |
176 | @c FIXME: is it clear to the average reader what a man-in-the-middle | ||
177 | @c attack is? | ||
178 | man-in-the-middle attacks will not break the authentication or accounting | 178 | man-in-the-middle attacks will not break the authentication or accounting |
179 | goals. Essentially, for GNUnet, the IP of the host has nothing to do with | 179 | goals. Essentially, for GNUnet, the IP of the host has nothing to do with |
180 | the identity of the host. As the public key is the only thing that truly | 180 | the identity of the host. As the public key is the only thing that truly |
@@ -420,8 +420,9 @@ public key first. | |||
420 | @node Egos | 420 | @node Egos |
421 | @subsection Egos | 421 | @subsection Egos |
422 | 422 | ||
423 | @c what is the difference between peer identity and egos? It seems | ||
424 | @c like both are linked to public-private key pair. | ||
423 | Egos are your "identities" in GNUnet. Any user can assume multiple | 425 | Egos are your "identities" in GNUnet. Any user can assume multiple |
424 | identities, for example to separate their activities online. Egos can | 426 | identities, for example to separate their activities online. Egos can |
425 | correspond to pseudonyms or real-world identities. Technically, an | 427 | correspond to pseudonyms or real-world identities. Technically, an |
426 | ego is first of all a public-private key pair. | 428 | ego is first of all a public-private key pair. |
427 | |||
diff --git a/doc/documentation/chapters/user.texi b/doc/documentation/chapters/user.texi index 4159a6b32..1a30a7336 100644 --- a/doc/documentation/chapters/user.texi +++ b/doc/documentation/chapters/user.texi | |||
@@ -1183,6 +1183,8 @@ shared under the keyword "Das Kapital". | |||
1183 | 1183 | ||
1184 | Search results are printed by gnunet-search like this: | 1184 | Search results are printed by gnunet-search like this: |
1185 | 1185 | ||
1186 | @c it will be better the avoid the ellipsis altogether because I don't | ||
1187 | @c understand the explanation below that | ||
1186 | @example | 1188 | @example |
1187 | $ gnunet-download -o "COPYING" --- gnunet://fs/chk/N8...C92.17992 | 1189 | $ gnunet-download -o "COPYING" --- gnunet://fs/chk/N8...C92.17992 |
1188 | => The GNU Public License <= (mimetype: text/plain) | 1190 | => The GNU Public License <= (mimetype: text/plain) |
@@ -1192,6 +1194,7 @@ $ gnunet-download -o "COPYING" --- gnunet://fs/chk/N8...C92.17992 | |||
1192 | The first line is the command you would have to enter to download | 1194 | The first line is the command you would have to enter to download |
1193 | the file. The argument passed to @code{-o} is the suggested | 1195 | the file. The argument passed to @code{-o} is the suggested |
1194 | filename (you may change it to whatever you like). | 1196 | filename (you may change it to whatever you like). |
1197 | @c except it's triple dash in the above example --- | ||
1195 | The @code{--} is followed by key for decrypting the file, | 1198 | The @code{--} is followed by key for decrypting the file, |
1196 | the query for searching the file, a checksum (in hexadecimal) | 1199 | the query for searching the file, a checksum (in hexadecimal) |
1197 | finally the size of the file in bytes. | 1200 | finally the size of the file in bytes. |
@@ -1235,6 +1238,7 @@ GNUnet's file-encoding mechanism will ensure file integrity, even if the | |||
1235 | existing file was not downloaded from GNUnet in the first place. | 1238 | existing file was not downloaded from GNUnet in the first place. |
1236 | 1239 | ||
1237 | You may want to use the @command{-V} switch (must be added before | 1240 | You may want to use the @command{-V} switch (must be added before |
1241 | @c Same as above it's triple dash | ||
1238 | the @command{--}) to turn on verbose reporting. In this case, | 1242 | the @command{--}) to turn on verbose reporting. In this case, |
1239 | @command{gnunet-download} will print the current number of | 1243 | @command{gnunet-download} will print the current number of |
1240 | bytes downloaded whenever new data was received. | 1244 | bytes downloaded whenever new data was received. |
@@ -1301,7 +1305,7 @@ unavailable. | |||
1301 | @c %**end of header | 1305 | @c %**end of header |
1302 | 1306 | ||
1303 | Each namespace is associated with meta-data that describes | 1307 | Each namespace is associated with meta-data that describes |
1304 | the namespace. This meta data is provided by the user at | 1308 | the namespace. This meta-data is provided by the user at |
1305 | the time that the namespace is advertised. Advertisements | 1309 | the time that the namespace is advertised. Advertisements |
1306 | are published under keywords so that they can be found using | 1310 | are published under keywords so that they can be found using |
1307 | normal keyword-searches. This way, users can learn about new | 1311 | normal keyword-searches. This way, users can learn about new |