aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2018-01-06 23:37:16 +0000
committerng0 <ng0@n0.is>2018-01-06 23:45:33 +0000
commit9a558c93bd51152121c4c15dad0a5a66e8e87c96 (patch)
tree8f9c9e0b9129cee3e29cdad5789c86777dbeb46e
parent328aade82c1f698ac7b93894a4bd659e14f41e4d (diff)
downloadgnunet-9a558c93bd51152121c4c15dad0a5a66e8e87c96.tar.gz
gnunet-9a558c93bd51152121c4c15dad0a5a66e8e87c96.zip
doc/documentation: developer,philosophy,user: suggestions by
Amirouche Boubekki via gnunet-developers@gnu.org, with some minor additions.
-rw-r--r--AUTHORS1
-rw-r--r--doc/documentation/chapters/developer.texi12
-rw-r--r--doc/documentation/chapters/philosophy.texi11
-rw-r--r--doc/documentation/chapters/user.texi6
4 files changed, 19 insertions, 11 deletions
diff --git a/AUTHORS b/AUTHORS
index e49319ac0..136848e3f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -33,6 +33,7 @@ Contributions also came from:
33Adam Warrington [ UPnP ] 33Adam Warrington [ UPnP ]
34Adriano Peluso [ Documentation export to Texinfo ] 34Adriano Peluso [ Documentation export to Texinfo ]
35Alex Harper [ OS X CPU load ] 35Alex Harper [ OS X CPU load ]
36Amirouche Boubekki <amirouche@hypermove.net>
36Andrew McDonald <andrew@mcdonald.org.uk> [ SHA-512] 37Andrew McDonald <andrew@mcdonald.org.uk> [ SHA-512]
37Andy Green <andy@warmcat.com> 38Andy Green <andy@warmcat.com>
38Antti Salonen 39Antti Salonen
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
273functions for each block type. 274functions for each block type.
274@item @file{statistics/} --- statistics service 275@item @file{statistics/} --- statistics service
275The statistics service enables associating 276The statistics service enables associating
276values (of type uint64_t) with a componenet name and a string. The main 277values (of type uint64_t) with a component name and a string. The main
277uses is debugging (counting events), performance tracking and user 278uses is debugging (counting events), performance tracking and user
278entertainment (what did my peer do today?). 279entertainment (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
2451Note that, here the functions @code{htonl}, @code{htons} and 2452Note 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
2453into big endian, about the usage of the big/small edian order and the 2454into big endian, about the usage of the big/small endian order and the
2454corresponding conversion function please refer to Introduction of 2455corresponding conversion function please refer to Introduction of
2455Big Endian and Little Endian. 2456Big 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''
7030In contrast to GET operations, developers @strong{must} manually re-run 7032In contrast to GET operations, developers @strong{must} manually re-run
7031PUT operations periodically (if they intend the content to continue to be 7033PUT operations periodically (if they intend the content to continue to be
7032available). Content stored in the DHT expires or might be lost due to 7034available). 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
7055requests, possibly limiting themselves to requests for a particular block 7057requests, possibly limiting themselves to requests for a particular block
7056type. 7058type.
7057 7059
7058The monitoring API is not only usefu only for diagnostics, it can also be 7060The monitoring API is not only useful for diagnostics, it can also be
7059used to trigger application operations based on PUT operations. 7061used to trigger application operations based on PUT operations.
7060For example, an application may use PUTs to distribute work requests to 7062For example, an application may use PUTs to distribute work requests to
7061other peers. 7063other peers.
@@ -7149,7 +7151,7 @@ already knows more than about a thousand blocks may need to send
7149several of these messages. Naturally, the client should transmit these 7151several of these messages. Naturally, the client should transmit these
7150messages as quickly as possible after the original GET request such that 7152messages as quickly as possible after the original GET request such that
7151the DHT can filter those results in the network early on. Naturally, as 7153the DHT can filter those results in the network early on. Naturally, as
7152these messages are send after the original request, it is conceivalbe 7154these messages are sent after the original request, it is conceivalbe
7153that the DHT service may return blocks that match those already known 7155that the DHT service may return blocks that match those already known
7154to the client anyway. 7156to 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
7241usual information about the request (type, routing options, desired 7243usual information about the request (type, routing options, desired
7242replication level for the request, the key and the extended query), a GET 7244replication level for the request, the key and the extended query), a GET
7243request also again contains a hop counter, a Bloom filter over the peers 7245request also contains a hop counter, a Bloom filter over the peers
7244that have processed the request already and depending on the routing 7246that have processed the request already and depending on the routing
7245options the full path traversed by the GET. 7247options the full path traversed by the GET.
7246Finally, a GET request includes a variable-size second Bloom filter and a 7248Finally, 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
48necessary. 48necessary.
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}}
51at any position in the network. 53at 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
53considered to be trustworthy when establishing secured communications. 55considered to be trustworthy when establishing secured communications.
@@ -163,7 +165,7 @@ DH (Diffie---Hellman) key exchange using ephemeral eliptic curve
163cryptography. The ephemeral ECC (Eliptic Curve Cryptography) keys are 165cryptography. The ephemeral ECC (Eliptic Curve Cryptography) keys are
164signed using ECDSA (@uref{http://en.wikipedia.org/wiki/ECDSA, ECDSA}). 166signed using ECDSA (@uref{http://en.wikipedia.org/wiki/ECDSA, ECDSA}).
165The shared secret from ECDHE is used to create a pair of session keys 167The 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
168two peers using both 256-bit AES (Advanced Encryption Standard) 170two peers using both 256-bit AES (Advanced Encryption Standard)
169and 256-bit Twofish (with independently derived secret keys). 171and 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
175In GNUnet, the identity of a host is its public key. For that reason, 177In 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?
178man-in-the-middle attacks will not break the authentication or accounting 178man-in-the-middle attacks will not break the authentication or accounting
179goals. Essentially, for GNUnet, the IP of the host has nothing to do with 179goals. Essentially, for GNUnet, the IP of the host has nothing to do with
180the identity of the host. As the public key is the only thing that truly 180the 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.
423Egos are your "identities" in GNUnet. Any user can assume multiple 425Egos are your "identities" in GNUnet. Any user can assume multiple
424identities, for example to separate their activities online. Egos can 426identities, for example to separate their activities online. Egos can
425correspond to pseudonyms or real-world identities. Technically, an 427correspond to pseudonyms or real-world identities. Technically, an
426ego is first of all a public-private key pair. 428ego 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
1184Search results are printed by gnunet-search like this: 1184Search 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
1192The first line is the command you would have to enter to download 1194The first line is the command you would have to enter to download
1193the file. The argument passed to @code{-o} is the suggested 1195the file. The argument passed to @code{-o} is the suggested
1194filename (you may change it to whatever you like). 1196filename (you may change it to whatever you like).
1197@c except it's triple dash in the above example ---
1195The @code{--} is followed by key for decrypting the file, 1198The @code{--} is followed by key for decrypting the file,
1196the query for searching the file, a checksum (in hexadecimal) 1199the query for searching the file, a checksum (in hexadecimal)
1197finally the size of the file in bytes. 1200finally the size of the file in bytes.
@@ -1235,6 +1238,7 @@ GNUnet's file-encoding mechanism will ensure file integrity, even if the
1235existing file was not downloaded from GNUnet in the first place. 1238existing file was not downloaded from GNUnet in the first place.
1236 1239
1237You may want to use the @command{-V} switch (must be added before 1240You may want to use the @command{-V} switch (must be added before
1241@c Same as above it's triple dash
1238the @command{--}) to turn on verbose reporting. In this case, 1242the @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
1240bytes downloaded whenever new data was received. 1244bytes downloaded whenever new data was received.
@@ -1301,7 +1305,7 @@ unavailable.
1301@c %**end of header 1305@c %**end of header
1302 1306
1303Each namespace is associated with meta-data that describes 1307Each namespace is associated with meta-data that describes
1304the namespace. This meta data is provided by the user at 1308the namespace. This meta-data is provided by the user at
1305the time that the namespace is advertised. Advertisements 1309the time that the namespace is advertised. Advertisements
1306are published under keywords so that they can be found using 1310are published under keywords so that they can be found using
1307normal keyword-searches. This way, users can learn about new 1311normal keyword-searches. This way, users can learn about new