aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--contrib/apparmor/abstractions/gnunet-common4
-rw-r--r--contrib/apparmor/gnunet-fs-gtk12
-rw-r--r--contrib/apparmor/gnunet-helper-dns4
-rw-r--r--contrib/apparmor/gnunet-service-dns4
-rwxr-xr-xcontrib/conf/uncrustify_precommit2
-rw-r--r--contrib/conf/wireshark/wireshark.lua12
-rw-r--r--contrib/guix.README2
-rw-r--r--contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd2
-rw-r--r--contrib/patches/lrn-indent.diff8
-rwxr-xr-xcontrib/scripts/check-texinfo.awk.in5
-rw-r--r--contrib/scripts/gdb-iterate-dll.py2
-rwxr-xr-xcontrib/scripts/gnunet-chk.py.in6
-rwxr-xr-xcontrib/scripts/visualize_stats.sh20
-rw-r--r--contrib/vagrant/Vagrantfile2
-rw-r--r--doc/handbook/chapters/developer.texi179
-rw-r--r--doc/handbook/chapters/installation.texi4
-rw-r--r--doc/man/gnunet-gns.12
-rw-r--r--doc/man/gnunet-testbed-profiler.12
-rw-r--r--doc/man/gnunet-timeout.12
-rw-r--r--doc/man/gnunet.conf.5.in10
-rw-r--r--doc/release_policy.rfc.txt16
-rw-r--r--doc/system_specific/FROM_SOURCE6
23 files changed, 151 insertions, 159 deletions
diff --git a/configure.ac b/configure.ac
index fc04139a5..15a829f02 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,7 +158,7 @@ AS_CASE(["$host_os"],
158 ], 158 ],
159 [*solaris*],[ 159 [*solaris*],[
160 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system]) 160 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
161 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work]) 161 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno does not work])
162 AC_CHECK_LIB(resolv, res_init) 162 AC_CHECK_LIB(resolv, res_init)
163 AC_CHECK_LIB(rt, nanosleep) 163 AC_CHECK_LIB(rt, nanosleep)
164 build_target="solaris" 164 build_target="solaris"
@@ -188,7 +188,7 @@ AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should
188AC_SUBST(DEFAULT_INTERFACE) 188AC_SUBST(DEFAULT_INTERFACE)
189 189
190# Disable TCP-based IPC on systems that support UNIX domain 190# Disable TCP-based IPC on systems that support UNIX domain
191# sockets in default configuratin: 191# sockets in default configuration:
192AC_SUBST(UNIXONLY) 192AC_SUBST(UNIXONLY)
193 193
194 194
diff --git a/contrib/apparmor/abstractions/gnunet-common b/contrib/apparmor/abstractions/gnunet-common
index 3bf6806f5..cb41b2bff 100644
--- a/contrib/apparmor/abstractions/gnunet-common
+++ b/contrib/apparmor/abstractions/gnunet-common
@@ -3,10 +3,10 @@
3 #GNUnet configuration file 3 #GNUnet configuration file
4 @{GNUNET_PREFIX}/share/gnunet/config.d/ r, 4 @{GNUNET_PREFIX}/share/gnunet/config.d/ r,
5 @{GNUNET_PREFIX}/share/gnunet/config.d/*.conf r, 5 @{GNUNET_PREFIX}/share/gnunet/config.d/*.conf r,
6 6
7 /etc/gnunet.conf r, 7 /etc/gnunet.conf r,
8 @{HOME}/.config/gnunet.conf r, 8 @{HOME}/.config/gnunet.conf r,
9 owner @{GNUNET_USER}/.config/gnunet.conf r, 9 owner @{GNUNET_USER}/.config/gnunet.conf r,
10 10
11 #GNUnet librairies 11 #GNUnet libraries
12 @{GNUNET_PREFIX}/lib/libgnunet*.so.* mr, 12 @{GNUNET_PREFIX}/lib/libgnunet*.so.* mr,
diff --git a/contrib/apparmor/gnunet-fs-gtk b/contrib/apparmor/gnunet-fs-gtk
index 0ffb0b38b..cd98febf7 100644
--- a/contrib/apparmor/gnunet-fs-gtk
+++ b/contrib/apparmor/gnunet-fs-gtk
@@ -9,7 +9,7 @@ profile @{GNUNET_PREFIX}/bin/gnunet-fs-gtk {
9 #include <abstractions/gnunet-gtk> 9 #include <abstractions/gnunet-gtk>
10 #include <abstractions/user-download> 10 #include <abstractions/user-download>
11 11
12# /dev/shm/LE-* rw, 12# /dev/shm/LE-* rw,
13 13
14 owner @{HOME}/.config/gtk-*/bookmarks r, 14 owner @{HOME}/.config/gtk-*/bookmarks r,
15 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/download-child/* rw, 15 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/download-child/* rw,
@@ -21,8 +21,8 @@ profile @{GNUNET_PREFIX}/bin/gnunet-fs-gtk {
21 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish-file/* rw, 21 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish-file/* rw,
22 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish/ ra, 22 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish/ ra,
23 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish/* rw, 23 owner @{HOME}/.local/share/gnunet/fs/persistence/gnunet-fs-gtk/publish/* rw,
24 24
25 #Acces to files to share ? (lets create a gnunet directory in home) 25 #Access to files to share ? (lets create a gnunet directory in home)
26 owner @{HOME}/gnunet-fs/ r, 26 owner @{HOME}/gnunet-fs/ r,
27 27
28 @{GNUNET_PREFIX}/bin/gnunet-fs-gtk mr, 28 @{GNUNET_PREFIX}/bin/gnunet-fs-gtk mr,
@@ -31,13 +31,13 @@ profile @{GNUNET_PREFIX}/bin/gnunet-fs-gtk {
31 31
32 /usr/share/glib-*/schemas/gschemas.compiled r, 32 /usr/share/glib-*/schemas/gschemas.compiled r,
33 33
34 #abstractions/dconf but we need write right here 34 #abstractions/dconf but we need write right here
35 /run/user/*/dconf/user rw, 35 /run/user/*/dconf/user rw,
36 36
37 @{HOME}/.cache/thumbnails/normal/*.png r, 37 @{HOME}/.cache/thumbnails/normal/*.png r,
38 38
39 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-fs-publish Px, 39 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-fs-publish Px,
40 40
41 # Site-specific additions and overrides. See local/README for details. 41 # Site-specific additions and overrides. See local/README for details.
42 #include <local/gnunet> 42 #include <local/gnunet>
43} 43}
diff --git a/contrib/apparmor/gnunet-helper-dns b/contrib/apparmor/gnunet-helper-dns
index b5e219585..bd5fe2f0c 100644
--- a/contrib/apparmor/gnunet-helper-dns
+++ b/contrib/apparmor/gnunet-helper-dns
@@ -27,7 +27,7 @@ profile @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-dns {
27 /usr/bin/sysctl rix, 27 /usr/bin/sysctl rix,
28 /usr/bin/xtables-multi rix, 28 /usr/bin/xtables-multi rix,
29 29
30 #Librairies 30 # Libraries
31 /usr/lib/iptables/libxt_MARK.so mr, 31 /usr/lib/iptables/libxt_MARK.so mr,
32 /usr/lib/iptables/libxt_owner.so mr, 32 /usr/lib/iptables/libxt_owner.so mr,
33 /usr/lib/iptables/libxt_standard.so mr, 33 /usr/lib/iptables/libxt_standard.so mr,
@@ -42,7 +42,7 @@ profile @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-dns {
42 /usr/lib/locale/locale-archive r, 42 /usr/lib/locale/locale-archive r,
43 43
44 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-dns mr, 44 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-helper-dns mr,
45 45
46 # Site-specific additions and overrides. See local/README for details. 46 # Site-specific additions and overrides. See local/README for details.
47 #include <local/gnunet> 47 #include <local/gnunet>
48} 48}
diff --git a/contrib/apparmor/gnunet-service-dns b/contrib/apparmor/gnunet-service-dns
index 394b97eb1..665fd7c43 100644
--- a/contrib/apparmor/gnunet-service-dns
+++ b/contrib/apparmor/gnunet-service-dns
@@ -14,11 +14,11 @@ profile @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-service-dns {
14 14
15 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-service-dns mr, 15 @{GNUNET_PREFIX}/lib/gnunet/libexec/gnunet-service-dns mr,
16 16
17 #Gnunet librairies 17 #Gnunet libraries
18 @{GNUNET_PREFIX}/lib/libgnunetdnsstub.so.* mr, 18 @{GNUNET_PREFIX}/lib/libgnunetdnsstub.so.* mr,
19 @{GNUNET_PREFIX}/lib/libgnunetstatistics.so.* mr, 19 @{GNUNET_PREFIX}/lib/libgnunetstatistics.so.* mr,
20 @{GNUNET_PREFIX}/lib/libgnunettun.so.* mr, 20 @{GNUNET_PREFIX}/lib/libgnunettun.so.* mr,
21 21
22 # Site-specific additions and overrides. See local/README for details. 22 # Site-specific additions and overrides. See local/README for details.
23 #include <local/gnunet-sgid> 23 #include <local/gnunet-sgid>
24} 24}
diff --git a/contrib/conf/uncrustify_precommit b/contrib/conf/uncrustify_precommit
index fd29998c3..24873330f 100755
--- a/contrib/conf/uncrustify_precommit
+++ b/contrib/conf/uncrustify_precommit
@@ -30,6 +30,6 @@ if [ $RET = 1 ];
30then 30then
31 echo "Run" 31 echo "Run"
32 echo "uncrustify --no-backup -c uncrustify.cfg ${crustified}" 32 echo "uncrustify --no-backup -c uncrustify.cfg ${crustified}"
33 echo "before commiting." 33 echo "before committing."
34fi 34fi
35exit $RET 35exit $RET
diff --git a/contrib/conf/wireshark/wireshark.lua b/contrib/conf/wireshark/wireshark.lua
index ac77029f6..3571a693f 100644
--- a/contrib/conf/wireshark/wireshark.lua
+++ b/contrib/conf/wireshark/wireshark.lua
@@ -6,7 +6,7 @@ local f = gwlan_proto.fields
6f.len = ProtoField.uint16 ("gnunet.len", "Gnunet Message Len") 6f.len = ProtoField.uint16 ("gnunet.len", "Gnunet Message Len")
7f.type = ProtoField.uint16 ("gnunet.type", "Gnunet Message Type") 7f.type = ProtoField.uint16 ("gnunet.type", "Gnunet Message Type")
8-- rhs_proto.fields.sequence = ProtoField.uint16("rhs.sequence","Sequence number") 8-- rhs_proto.fields.sequence = ProtoField.uint16("rhs.sequence","Sequence number")
9f_proto = DissectorTable.new("gnunet.proto", "Gnunet Protocoll", FT_UINT16, BASE_DEC) 9f_proto = DissectorTable.new("gnunet.proto", "GNUnet Protocol", FT_UINT16, BASE_DEC)
10--gwlan_proto.fields = {f_len, f_type} 10--gwlan_proto.fields = {f_len, f_type}
11 11
12function gwlan_proto.dissector(buffer,pinfo,tree) 12function gwlan_proto.dissector(buffer,pinfo,tree)
@@ -80,8 +80,8 @@ function fragment.dissector(buffer,pinfo,tree)
80 if buffer(10,2):uint() == 0 then 80 if buffer(10,2):uint() == 0 then
81 if (buffer(8,2):uint() <= buffer:len() - 12) then 81 if (buffer(8,2):uint() <= buffer:len() - 12) then
82 gnunet_packet_disector(buffer(12):tvb(),pinfo,tree) 82 gnunet_packet_disector(buffer(12):tvb(),pinfo,tree)
83 end 83 end
84 else 84 else
85 subtree:add(buffer(12), "Data: " .. buffer(12)) 85 subtree:add(buffer(12), "Data: " .. buffer(12))
86 end 86 end
87 end 87 end
@@ -92,7 +92,7 @@ hello = Proto("gnunet.hello","Gnunet Hello Message")
92function hello.dissector(buffer,pinfo,tree) 92function hello.dissector(buffer,pinfo,tree)
93 pinfo.cols.protocol = "Gnunet Hello Message" 93 pinfo.cols.protocol = "Gnunet Hello Message"
94 local subtree = tree:add(hello, buffer(),"Gnunet Hello Message (" .. buffer:len() .. ")") 94 local subtree = tree:add(hello, buffer(),"Gnunet Hello Message (" .. buffer:len() .. ")")
95 gnunet_message_header(buffer, pinfo, subtree) 95 gnunet_message_header(buffer, pinfo, subtree)
96 if buffer:len() > (264 + 8) then 96 if buffer:len() > (264 + 8) then
97 subtree:add(buffer(4,4),"Reserved: " .. buffer(4,4):uint()) 97 subtree:add(buffer(4,4),"Reserved: " .. buffer(4,4):uint())
98 RsaPublicKeyBinaryEncoded(buffer(8 , 264):tvb(),pinfo, subtree) 98 RsaPublicKeyBinaryEncoded(buffer(8 , 264):tvb(),pinfo, subtree)
@@ -110,7 +110,7 @@ function wlan.dissector(buffer,pinfo,tree)
110 if buffer:len() > (4 + 4 + 2*64) then 110 if buffer:len() > (4 + 4 + 2*64) then
111 subtree:add(buffer(4,4),"CRC: " .. buffer(4,4):uint()) 111 subtree:add(buffer(4,4),"CRC: " .. buffer(4,4):uint())
112 local peer = GNUNET_PeerIdentity(buffer(8,64), pinfo, subtree) 112 local peer = GNUNET_PeerIdentity(buffer(8,64), pinfo, subtree)
113 peer:append_text(" Traget") 113 peer:append_text(" Target")
114 peer = GNUNET_PeerIdentity(buffer(8 + 64,64), pinfo, subtree) 114 peer = GNUNET_PeerIdentity(buffer(8 + 64,64), pinfo, subtree)
115 peer:append_text(" Source") 115 peer:append_text(" Source")
116 else 116 else
@@ -118,7 +118,7 @@ function wlan.dissector(buffer,pinfo,tree)
118 end 118 end
119 if (buffer:len() - (4 + 4 + 2*64) > 0) then 119 if (buffer:len() - (4 + 4 + 2*64) > 0) then
120 gnunet_packet_disector(buffer(4 + 4 + 2*64):tvb(),pinfo,tree) 120 gnunet_packet_disector(buffer(4 + 4 + 2*64):tvb(),pinfo,tree)
121 end 121 end
122end 122end
123 123
124function RsaPublicKeyBinaryEncoded(buffer,pinfo,tree) 124function RsaPublicKeyBinaryEncoded(buffer,pinfo,tree)
diff --git a/contrib/guix.README b/contrib/guix.README
index d73b0f4aa..1e8bd3126 100644
--- a/contrib/guix.README
+++ b/contrib/guix.README
@@ -25,5 +25,5 @@ environment, run:
25 25
26 guix environment --load-path=<gnunet.git>/contrib/guix.scm --ad-hoc guix 26 guix environment --load-path=<gnunet.git>/contrib/guix.scm --ad-hoc guix
27 27
28It is recommented to also pass the '--pure' option to guix, to make 28It is recommended to also pass the '--pure' option to guix, to make
29sure the environment is not polluted with existing packages. 29sure the environment is not polluted with existing packages.
diff --git a/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd b/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd
index 2a4dcc1c4..ac5db666c 100644
--- a/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd
+++ b/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd
@@ -13,7 +13,7 @@ depend() {
13} 13}
14 14
15start() { 15start() {
16 # Enable GNS proxy for existant users. 16 # Enable GNS proxy for existing users.
17 for user in $users; do 17 for user in $users; do
18 # Create/Renew GNS certificate authority (CA) per user. 18 # Create/Renew GNS certificate authority (CA) per user.
19 su $user -c "gnunet-gns-proxy-setup-ca" 19 su $user -c "gnunet-gns-proxy-setup-ca"
diff --git a/contrib/patches/lrn-indent.diff b/contrib/patches/lrn-indent.diff
index 8ba3b77cc..2cf61d2cf 100644
--- a/contrib/patches/lrn-indent.diff
+++ b/contrib/patches/lrn-indent.diff
@@ -40,13 +40,13 @@ diff -u indent-2.2.11/src/handletoken.c indent-2.2.11.my/src/handletoken.c
40+ parser_state_tos->in_parameter_declaration = 0; 40+ parser_state_tos->in_parameter_declaration = 0;
41+ } 41+ }
42 } 42 }
43 43
44 /** 44 /**
45diff -u indent-2.2.11/src/indent.h indent-2.2.11.my/src/indent.h 45diff -u indent-2.2.11/src/indent.h indent-2.2.11.my/src/indent.h
46--- indent-2.2.11/src/indent.h 2009-10-11 23:15:34 +0400 46--- indent-2.2.11/src/indent.h 2009-10-11 23:15:34 +0400
47+++ indent-2.2.11.my/src/indent.h 2011-08-16 14:19:37 +0400 47+++ indent-2.2.11.my/src/indent.h 2011-08-16 14:19:37 +0400
48@@ -318,6 +318,11 @@ 48@@ -318,6 +318,11 @@
49 int brace_indent; /*!< number of spaces to indent braces from the suround if, while, etc. in -bl 49 int brace_indent; /*!< number of spaces to indent braces from the surround if, while, etc. in -bl
50 * (bype_2 == 0) code */ 50 * (bype_2 == 0) code */
51 int expect_output_file; /*!< Means "-o" was specified. */ 51 int expect_output_file; /*!< Means "-o" was specified. */
52+ int diff_decls_and_defs; /*!< Makes indent think that function prototypes are terminated by ';', 52+ int diff_decls_and_defs; /*!< Makes indent think that function prototypes are terminated by ';',
@@ -55,7 +55,7 @@ diff -u indent-2.2.11/src/indent.h indent-2.2.11.my/src/indent.h
55+ * This is the default. 55+ * This is the default.
56+ */ 56+ */
57 } user_options_ty; 57 } user_options_ty;
58 58
59 extern user_options_ty settings; 59 extern user_options_ty settings;
60@@ -430,6 +435,7 @@ 60@@ -430,6 +435,7 @@
61 * slightly different */ 61 * slightly different */
@@ -71,7 +71,7 @@ diff -u indent-2.2.11/src/lexi.c indent-2.2.11.my/src/lexi.c
71@@ -616,8 +616,11 @@ 71@@ -616,8 +616,11 @@
72 * I've added '=' to this list to keep from breaking 72 * I've added '=' to this list to keep from breaking
73 * a non-valid C macro from libc. -jla */ 73 * a non-valid C macro from libc. -jla */
74 74
75- if (*tp != ';' && *tp != ',' && *tp != '(' && *tp != '=') 75- if (*tp != ';' && *tp != ',' && *tp != '(' && *tp != '=')
76+ if ((*tp != ';' || !settings.diff_decls_and_defs) && 76+ if ((*tp != ';' || !settings.diff_decls_and_defs) &&
77+ *tp != ',' && *tp != '(' && *tp != '=') 77+ *tp != ',' && *tp != '(' && *tp != '=')
diff --git a/contrib/scripts/check-texinfo.awk.in b/contrib/scripts/check-texinfo.awk.in
index 3d6a1c643..4efa73658 100755
--- a/contrib/scripts/check-texinfo.awk.in
+++ b/contrib/scripts/check-texinfo.awk.in
@@ -52,11 +52,6 @@ BEGIN {
52} 52}
53 53
54{ 54{
55 if (/wether/) {
56 printf "...lines containing a popular typo\n" ;
57 print FILENAME":"NR":"$0 ;
58 }
59
60 if (/the the/) { 55 if (/the the/) {
61 printf "...lines containing a popular typo\n" ; 56 printf "...lines containing a popular typo\n" ;
62 print FILENAME":"NR":"$0 ; 57 print FILENAME":"NR":"$0 ;
diff --git a/contrib/scripts/gdb-iterate-dll.py b/contrib/scripts/gdb-iterate-dll.py
index 28c435ccb..882dee039 100644
--- a/contrib/scripts/gdb-iterate-dll.py
+++ b/contrib/scripts/gdb-iterate-dll.py
@@ -7,7 +7,7 @@ def search_dll(head, field, match, pfield):
7 7
8 head: name of the symbol denoting the head of the DLL 8 head: name of the symbol denoting the head of the DLL
9 field: the field that should be search for match 9 field: the field that should be search for match
10 match: the mathing value for field 10 match: the matching value for field
11 pfield: the field whose value is to be printed for matched elements; None to 11 pfield: the field whose value is to be printed for matched elements; None to
12 print all fields of the matched elemented 12 print all fields of the matched elemented
13 """ 13 """
diff --git a/contrib/scripts/gnunet-chk.py.in b/contrib/scripts/gnunet-chk.py.in
index afc0924f4..74e9e4cf9 100755
--- a/contrib/scripts/gnunet-chk.py.in
+++ b/contrib/scripts/gnunet-chk.py.in
@@ -32,7 +32,7 @@ from functools import reduce
32# Defaults 32# Defaults
33DBLOCK_SIZE = (32 * 1024) # Data block size 33DBLOCK_SIZE = (32 * 1024) # Data block size
34 34
35# Pick a multiple of 2 here to achive 8-byte alignment! We also 35# Pick a multiple of 2 here to achieve 8-byte alignment! We also
36# probably want DBlocks to have (roughly) the same size as IBlocks. 36# probably want DBlocks to have (roughly) the same size as IBlocks.
37# With SHA-512, the optimal value is 32768 byte / 128 byte = 256 (128 37# With SHA-512, the optimal value is 32768 byte / 128 byte = 256 (128
38# byte = 2 * 512 bits). DO NOT CHANGE! 38# byte = 2 * 512 bits). DO NOT CHANGE!
@@ -288,7 +288,7 @@ def compute_rootchk(readin, size):
288 current_depth = 0 288 current_depth = 0
289 chks = [None] * (depth * CHK_PER_INODE) # list buffer 289 chks = [None] * (depth * CHK_PER_INODE) # list buffer
290 read_offset = 0 290 read_offset = 0
291 logging.debug("Begining to calculate tree hash with depth: " + repr(depth)) 291 logging.debug("Beginning to calculate tree hash with depth: " + repr(depth))
292 while True: 292 while True:
293 if (depth == current_depth): 293 if (depth == current_depth):
294 off = CHK_PER_INODE * (depth - 1) 294 off = CHK_PER_INODE * (depth - 1)
@@ -370,7 +370,7 @@ if '__main__' == __name__:
370 opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) 370 opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
371 except getopt.GetoptError as err: 371 except getopt.GetoptError as err:
372 print(err) 372 print(err)
373 print("Exception occured") 373 print("Exception occurred")
374 usage() 374 usage()
375 sys.exit(2) 375 sys.exit(2)
376 for option, value in opts: 376 for option, value in opts:
diff --git a/contrib/scripts/visualize_stats.sh b/contrib/scripts/visualize_stats.sh
index aaa5e657b..b3404b164 100755
--- a/contrib/scripts/visualize_stats.sh
+++ b/contrib/scripts/visualize_stats.sh
@@ -1,7 +1,7 @@
1#!/bin/bash 1#!/bin/bash
2# 2#
3# This script polls gnunet-stats repeatedly to create statistics plots. 3# This script polls gnunet-stats repeatedly to create statistics plots.
4# Use 'collect' to collect statistics and 'plot' to plot whats been 4# Use 'collect' to collect statistics and 'plot' to plot what has been
5# collected. All plots will be written to $STATDIR as separate .png files. 5# collected. All plots will be written to $STATDIR as separate .png files.
6# 6#
7# WARNING: calling 'collect' will delete all files in $STATDIR. 7# WARNING: calling 'collect' will delete all files in $STATDIR.
@@ -10,7 +10,7 @@
10# 10#
11# Note: gnuplot syntax has changed across versions. This 11# Note: gnuplot syntax has changed across versions. This
12# script perhaps will not produce color images with older gnuplots. 12# script perhaps will not produce color images with older gnuplots.
13# The script should work atleast with gnuplot 3.8k patchlevel 1. 13# The script should work at least with gnuplot 3.8k patchlevel 1.
14# 14#
15 15
16SLEEP=120 16SLEEP=120
@@ -26,10 +26,10 @@ mkdir -p $STATDIR
26case "$1" in 26case "$1" in
27 collect) 27 collect)
28 rm -f $STATDIR/* 28 rm -f $STATDIR/*
29 29
30 STARTTIME=`date +%s` 30 STARTTIME=`date +%s`
31 IFS=":" 31 IFS=":"
32 32
33 while true; do 33 while true; do
34 NOW=`date +%s` 34 NOW=`date +%s`
35 RELAT=$[$NOW-$STARTTIME] 35 RELAT=$[$NOW-$STARTTIME]
@@ -45,7 +45,7 @@ case "$1" in
45 # Write new stats 45 # Write new stats
46 echo $RELAT $VALUE >>"$STATDIR/$KEY.dat" 46 echo $RELAT $VALUE >>"$STATDIR/$KEY.dat"
47 echo $RELAT $PREV $VALUE >>"$STATDIR/$KEY.diff" 47 echo $RELAT $PREV $VALUE >>"$STATDIR/$KEY.diff"
48 48
49 done 49 done
50 sleep $SLEEP 50 sleep $SLEEP
51 done 51 done
@@ -61,13 +61,13 @@ case "$1" in
61 rm "$FILENAME.png" 61 rm "$FILENAME.png"
62 fi 62 fi
63 done 63 done
64 64
65 # Plot diff 65 # Plot diff
66 ls -1 $STATDIR/*.diff | while read FILENAME; do 66 ls -1 $STATDIR/*.diff | while read FILENAME; do
67 BASENAME=`basename "$FILENAME" | sed -e "s/ *\..*//g"` 67 BASENAME=`basename "$FILENAME" | sed -e "s/ *\..*//g"`
68 echo "set terminal png;set output '$FILENAME.png';set title '$BASENAME - diff';plot '$FILENAME' using (\$1/60):(\$3-\$2) title '' with lines;" | nice gnuplot 2> $TMP 68 echo "set terminal png;set output '$FILENAME.png';set title '$BASENAME - diff';plot '$FILENAME' using (\$1/60):(\$3-\$2) title '' with lines;" | nice gnuplot 2> $TMP
69 EC=`cat $TMP | grep "empty" | grep "Warning" | wc -l` 69 EC=`cat $TMP | grep "empty" | grep "Warning" | wc -l`
70 if test $EC -ge 1 70 if test $EC -ge 1
71 then 71 then
72 rm "$FILENAME.png" 72 rm "$FILENAME.png"
73 fi 73 fi
@@ -80,7 +80,5 @@ case "$1" in
80 *) 80 *)
81 echo $"Usage: $0 {collect|plot|view}" 81 echo $"Usage: $0 {collect|plot|view}"
82 exit 1 82 exit 1
83
84esac
85 83
86 84esac
diff --git a/contrib/vagrant/Vagrantfile b/contrib/vagrant/Vagrantfile
index d6b671b24..de7f07ed5 100644
--- a/contrib/vagrant/Vagrantfile
+++ b/contrib/vagrant/Vagrantfile
@@ -34,7 +34,7 @@ Vagrant.configure(2) do |config|
34 config.cache.scope = :box 34 config.cache.scope = :box
35 end 35 end
36 36
37 # use http proxy if avaiable 37 # use http proxy if available
38 if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf") 38 if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf")
39 config.proxy.http = "$http_proxy" 39 config.proxy.http = "$http_proxy"
40 config.proxy.https = "$https_proxy" 40 config.proxy.https = "$https_proxy"
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi
index 1bf7a7b24..7546f7ac7 100644
--- a/doc/handbook/chapters/developer.texi
+++ b/doc/handbook/chapters/developer.texi
@@ -8885,7 +8885,7 @@ block is more recent during the store operation.
8885 8885
8886 8886
8887The REVOCATION subsystem is responsible for key revocation of Egos. 8887The REVOCATION subsystem is responsible for key revocation of Egos.
8888If a user learns that theis private key has been compromised or has lost 8888If a user learns that their private key has been compromised or has lost
8889it, they can use the REVOCATION system to inform all of the other users 8889it, they can use the REVOCATION system to inform all of the other users
8890that their private key is no longer valid. 8890that their private key is no longer valid.
8891The subsystem thus includes ways to query for the validity of keys and to 8891The subsystem thus includes ways to query for the validity of keys and to
@@ -9782,61 +9782,61 @@ attempt to retransmit them.
9782@node MESSENGER Subsystem 9782@node MESSENGER Subsystem
9783@section MESSENGER Subsystem 9783@section MESSENGER Subsystem
9784 9784
9785The MESSENGER subsystem is responsible for secure end-to-end communication in 9785The MESSENGER subsystem is responsible for secure end-to-end communication in
9786groups of nodes in the GNUnet overlay network. MESSENGER builds on the CADET 9786groups of nodes in the GNUnet overlay network. MESSENGER builds on the CADET
9787subsystem which provides a reliable and secure end-to-end communication between 9787subsystem which provides a reliable and secure end-to-end communication between
9788the nodes inside of these groups. 9788the nodes inside of these groups.
9789 9789
9790Additionally to the CADET security benefits, MESSENGER provides following 9790Additionally to the CADET security benefits, MESSENGER provides following
9791properties designed for application level usage: 9791properties designed for application level usage:
9792 9792
9793@itemize @bullet 9793@itemize @bullet
9794@item MESSENGER provides integrity by signing the messages with the users 9794@item MESSENGER provides integrity by signing the messages with the users
9795 provided ego 9795 provided ego
9796@item MESSENGER adds (optional) forward secrecy by replacing the key pair of the 9796@item MESSENGER adds (optional) forward secrecy by replacing the key pair of the
9797 used ego and signing the propagation of the new one with old one (chaining 9797 used ego and signing the propagation of the new one with old one (chaining
9798 egos) 9798 egos)
9799@item MESSENGER provides verification of a original sender by checking against 9799@item MESSENGER provides verification of a original sender by checking against
9800 all used egos from a member which are currently in active use (active use 9800 all used egos from a member which are currently in active use (active use
9801 depends on the state of a member session) 9801 depends on the state of a member session)
9802@item MESSENGER offsers (optional) decentralized message forwarding between all 9802@item MESSENGER offsers (optional) decentralized message forwarding between all
9803 nodes in a group to improve availability and prevent MITM-attacks 9803 nodes in a group to improve availability and prevent MITM-attacks
9804@item MESSENGER handles new connections and disconnections from nodes in the 9804@item MESSENGER handles new connections and disconnections from nodes in the
9805 group by reconnecting them preserving an efficient structure for message 9805 group by reconnecting them preserving an efficient structure for message
9806 distribution (ensuring availability and accountablity) 9806 distribution (ensuring availability and accountablity)
9807@item MESSENGER provides replay protection (messages can be uniquely identified 9807@item MESSENGER provides replay protection (messages can be uniquely identified
9808 via SHA-512, include a timestamp and the hash of the last message) 9808 via SHA-512, include a timestamp and the hash of the last message)
9809@item MESSENGER allows detection for dropped messages by chaining them (messages 9809@item MESSENGER allows detection for dropped messages by chaining them (messages
9810 refer to the last message by their hash) improving accountability 9810 refer to the last message by their hash) improving accountability
9811@item MESSENGER allows requesting messages from other peers explicitly to ensure 9811@item MESSENGER allows requesting messages from other peers explicitly to ensure
9812 availability 9812 availability
9813@item MESSENGER provides confidentiality by padding messages to few different 9813@item MESSENGER provides confidentiality by padding messages to few different
9814 sizes (512 bytes, 4096 bytes, 32768 bytes and maximal message size from 9814 sizes (512 bytes, 4096 bytes, 32768 bytes and maximal message size from
9815 CADET) 9815 CADET)
9816@item MESSENGER adds (optional) confidentiality with ECDHE to exchange and use 9816@item MESSENGER adds (optional) confidentiality with ECDHE to exchange and use
9817 symmetric encryption, encrypting with both AES-256 and Twofish but 9817 symmetric encryption, encrypting with both AES-256 and Twofish but
9818 allowing only selected members to decrypt (using the receivers ego for 9818 allowing only selected members to decrypt (using the receivers ego for
9819 ECDHE) 9819 ECDHE)
9820@end itemize 9820@end itemize
9821 9821
9822Also MESSENGER provides multiple features with privacy in mind: 9822Also MESSENGER provides multiple features with privacy in mind:
9823 9823
9824@itemize @bullet 9824@itemize @bullet
9825@item MESSENGER allows deleting messages from all peers in the group by the 9825@item MESSENGER allows deleting messages from all peers in the group by the
9826 original sender (uses the MESSENGER provided verification) 9826 original sender (uses the MESSENGER provided verification)
9827@item MESSENGER allows using the publicly known anonymous ego instead of any 9827@item MESSENGER allows using the publicly known anonymous ego instead of any
9828 unique identifying ego 9828 unique identifying ego
9829@item MESSENGER allows your node to decide between acting as host of the used 9829@item MESSENGER allows your node to decide between acting as host of the used
9830 messaging room (sharing your peer's identity with all nodes in the group) 9830 messaging room (sharing your peer's identity with all nodes in the group)
9831 or acting as guest (sharing your peer's identity only with the nodes you 9831 or acting as guest (sharing your peer's identity only with the nodes you
9832 explicitly open a connection to) 9832 explicitly open a connection to)
9833@item MESSENGER handles members independently of the peer's identity making 9833@item MESSENGER handles members independently of the peer's identity making
9834 forwarded messages indistinguishable from directly received ones ( 9834 forwarded messages indistinguishable from directly received ones (
9835 complicating the tracking of messages and identifying its origin) 9835 complicating the tracking of messages and identifying its origin)
9836@item MESSENGER allows names of members being not unique (also names are 9836@item MESSENGER allows names of members being not unique (also names are
9837 optional) 9837 optional)
9838@item MESSENGER does not include information about the selected receiver of an 9838@item MESSENGER does not include information about the selected receiver of an
9839 explicitly encrypted message in its header, complicating it for other 9839 explicitly encrypted message in its header, complicating it for other
9840 members to draw conclusions from communication partners 9840 members to draw conclusions from communication partners
9841@end itemize 9841@end itemize
9842 9842
@@ -9848,71 +9848,71 @@ Also MESSENGER provides multiple features with privacy in mind:
9848@node libgnunetmessenger 9848@node libgnunetmessenger
9849@subsection libgnunetmessenger 9849@subsection libgnunetmessenger
9850 9850
9851The MESSENGER API (defined in @file{gnunet_messenger_service.h}) allows P2P 9851The MESSENGER API (defined in @file{gnunet_messenger_service.h}) allows P2P
9852applications built using GNUnet to communicate with specified kinds of messages 9852applications built using GNUnet to communicate with specified kinds of messages
9853in a group. It provides applications the ability to send and receive encrypted 9853in a group. It provides applications the ability to send and receive encrypted
9854messages to any group of peers participating in GNUnet in a decentralized way ( 9854messages to any group of peers participating in GNUnet in a decentralized way (
9855without even knowing all peers's identities). 9855without even knowing all peers's identities).
9856 9856
9857MESSENGER delivers messages to other peers in "rooms". A room uses a variable 9857MESSENGER delivers messages to other peers in "rooms". A room uses a variable
9858amount of CADET "channels" which will all be used for message distribution. Each 9858amount of CADET "channels" which will all be used for message distribution. Each
9859channel can represent an outgoing connection opened by entering a room with 9859channel can represent an outgoing connection opened by entering a room with
9860@code{GNUNET_MESSENGER_enter_room} or an incoming connection if the room was 9860@code{GNUNET_MESSENGER_enter_room} or an incoming connection if the room was
9861opened before via @code{GNUNET_MESSENGER_open_room}. 9861opened before via @code{GNUNET_MESSENGER_open_room}.
9862 9862
9863@image{images/messenger_room,6in,,Room structure} 9863@image{images/messenger_room,6in,,Room structure}
9864 9864
9865To enter a room you have to specify the "door" (peer's identity of a peer which 9865To enter a room you have to specify the "door" (peer's identity of a peer which
9866has opened the room) and the key of the room (which is identical to a CADET 9866has opened the room) and the key of the room (which is identical to a CADET
9867"port"). To open a room you have to specify only the key to use. When opening a 9867"port"). To open a room you have to specify only the key to use. When opening a
9868room you automatically distribute a PEER-message sharing your peer's identity in 9868room you automatically distribute a PEER-message sharing your peer's identity in
9869the room. 9869the room.
9870 9870
9871Entering or opening a room can also be combined in any order. In any case you 9871Entering or opening a room can also be combined in any order. In any case you
9872will automatically get a unique member ID and send a JOIN-message notifying 9872will automatically get a unique member ID and send a JOIN-message notifying
9873others about your entry and your public key from your selected ego. 9873others about your entry and your public key from your selected ego.
9874 9874
9875The ego can be selected by name with the initial @code{GNUNET_MESSENGER_connect} 9875The ego can be selected by name with the initial @code{GNUNET_MESSENGER_connect}
9876besides setting a (identity-)callback for each change/confirmation of the used 9876besides setting a (identity-)callback for each change/confirmation of the used
9877ego and a (message-)callback which gets called every time a message gets sent or 9877ego and a (message-)callback which gets called every time a message gets sent or
9878received in the room. Once the identity-callback got called you can check your 9878received in the room. Once the identity-callback got called you can check your
9879used ego with @code{GNUNET_MESSENGER_get_key} providing only its public key. The 9879used ego with @code{GNUNET_MESSENGER_get_key} providing only its public key. The
9880function returns NULL if the anonymous ego is used. If the ego should be 9880function returns NULL if the anonymous ego is used. If the ego should be
9881replaced with a newly generated one, you can use @code{GNUNET_MESSENGER_update} 9881replaced with a newly generated one, you can use @code{GNUNET_MESSENGER_update}
9882to ensure proper chaining of used egos. 9882to ensure proper chaining of used egos.
9883 9883
9884Also once the identity-callback got called you can check your used name with 9884Also once the identity-callback got called you can check your used name with
9885@code{GNUNET_MESSENGER_get_name} and potentially change or set a name via 9885@code{GNUNET_MESSENGER_get_name} and potentially change or set a name via
9886@code{GNUNET_MESSENGER_set_name}. A name is for example required to create a new 9886@code{GNUNET_MESSENGER_set_name}. A name is for example required to create a new
9887ego with @code{GNUNET_MESSENGER_update}. Also any change in ego or name will 9887ego with @code{GNUNET_MESSENGER_update}. Also any change in ego or name will
9888automatically be distributed in the room with a NAME- or KEY-message 9888automatically be distributed in the room with a NAME- or KEY-message
9889respectively. 9889respectively.
9890 9890
9891To send a message a message inside of a room you can use 9891To send a message a message inside of a room you can use
9892@code{GNUNET_MESSENGER_send_message}. If you specify a selected contact as 9892@code{GNUNET_MESSENGER_send_message}. If you specify a selected contact as
9893receiver, the message gets encrypted automatically and will be sent as PRIVATE- 9893receiver, the message gets encrypted automatically and will be sent as PRIVATE-
9894message instead. 9894message instead.
9895 9895
9896To request a potentially missed message or to get a specific message after its 9896To request a potentially missed message or to get a specific message after its
9897original call of the message-callback, you can use 9897original call of the message-callback, you can use
9898@code{GNUNET_MESSENGER_get_message}. Additionally once a message was distributed 9898@code{GNUNET_MESSENGER_get_message}. Additionally once a message was distributed
9899to application level and the message-callback got called, you can get the 9899to application level and the message-callback got called, you can get the
9900contact respresenting a message's sender respectively with 9900contact respresenting a message's sender respectively with
9901@code{GNUNET_MESSENGER_get_sender}. This allows getting name and the public key 9901@code{GNUNET_MESSENGER_get_sender}. This allows getting name and the public key
9902of any sender currently in use with @code{GNUNET_MESSENGER_contact_get_name} 9902of any sender currently in use with @code{GNUNET_MESSENGER_contact_get_name}
9903and @code{GNUNET_MESSENGER_contact_get_key}. It is also possible to iterate 9903and @code{GNUNET_MESSENGER_contact_get_key}. It is also possible to iterate
9904through all current members of a room with 9904through all current members of a room with
9905@code{GNUNET_MESSENGER_iterate_members} using a callback. 9905@code{GNUNET_MESSENGER_iterate_members} using a callback.
9906 9906
9907To leave a room you can use @code{GNUNET_MESSENGER_close_room} which will also 9907To leave a room you can use @code{GNUNET_MESSENGER_close_room} which will also
9908close the rooms connections once all applications on the same peer have left 9908close the rooms connections once all applications on the same peer have left
9909the room. Leaving a room will also send a LEAVE-message closing a member session 9909the room. Leaving a room will also send a LEAVE-message closing a member session
9910on all connected peers before any connection will be closed. Leaving a room is 9910on all connected peers before any connection will be closed. Leaving a room is
9911however not required for any application to keep your member session open 9911however not required for any application to keep your member session open
9912between multiple sessions of the actual application. 9912between multiple sessions of the actual application.
9913 9913
9914Finally, when an application no longer wants to use CADET, it should call 9914Finally, when an application no longer wants to use CADET, it should call
9915@code{GNUNET_MESSENGER_disconnect}. You don't have to explicitly close the used 9915@code{GNUNET_MESSENGER_disconnect}. You don't have to explicitly close the used
9916rooms or leave them. 9916rooms or leave them.
9917 9917
9918Here is a little summary to the kinds of messages you can send manually: 9918Here is a little summary to the kinds of messages you can send manually:
@@ -9928,33 +9928,33 @@ Here is a little summary to the kinds of messages you can send manually:
9928@node MERGE-message 9928@node MERGE-message
9929@subsubsection MERGE-message 9929@subsubsection MERGE-message
9930 9930
9931MERGE-messages will generally be sent automatically to reduce the amount of 9931MERGE-messages will generally be sent automatically to reduce the amount of
9932parallel chained messages. This is necessary to close a member session for 9932parallel chained messages. This is necessary to close a member session for
9933example. You can also send MERGE-messages manually if required to merge two 9933example. You can also send MERGE-messages manually if required to merge two
9934chains of messages. 9934chains of messages.
9935 9935
9936@node INVITE-message 9936@node INVITE-message
9937@subsubsection INVITE-message 9937@subsubsection INVITE-message
9938 9938
9939INVITE-messages can be used to invite other members in a room to a different 9939INVITE-messages can be used to invite other members in a room to a different
9940room, sharing one potential door and the required key to enter the room. This 9940room, sharing one potential door and the required key to enter the room. This
9941kind of message is typically sent as encrypted PRIVATE-message to selected 9941kind of message is typically sent as encrypted PRIVATE-message to selected
9942members because it doesn't make much sense to invite all members from one room 9942members because it doesn't make much sense to invite all members from one room
9943to another considering a rooms key doesn't specify its usage. 9943to another considering a rooms key doesn't specify its usage.
9944 9944
9945@node TEXT-message 9945@node TEXT-message
9946@subsubsection TEXT-message 9946@subsubsection TEXT-message
9947 9947
9948TEXT-messages can be used to send simple text-based messages and should be 9948TEXT-messages can be used to send simple text-based messages and should be
9949considered as being in readable form without complex decoding. The text has to 9949considered as being in readable form without complex decoding. The text has to
9950end with a NULL-terminator character and should be in UTF-8 encoding for most 9950end with a NULL-terminator character and should be in UTF-8 encoding for most
9951compatibility. 9951compatibility.
9952 9952
9953@node FILE-message 9953@node FILE-message
9954@subsubsection FILE-message 9954@subsubsection FILE-message
9955 9955
9956FILE-messages can be used to share files inside of a room. They do not contain 9956FILE-messages can be used to share files inside of a room. They do not contain
9957the actual file being shared but its original hash, filename, URI to download 9957the actual file being shared but its original hash, filename, URI to download
9958the file and a symmetric key to decrypt the downloaded file. 9958the file and a symmetric key to decrypt the downloaded file.
9959 9959
9960It is recommended to use the FS subsystem and the FILE-messages in combination. 9960It is recommended to use the FS subsystem and the FILE-messages in combination.
@@ -9962,30 +9962,29 @@ It is recommended to use the FS subsystem and the FILE-messages in combination.
9962@node DELETE-message 9962@node DELETE-message
9963@subsubsection DELETE-message 9963@subsubsection DELETE-message
9964 9964
9965DELETE-messages can be used to delete messages selected with its hash. You can 9965DELETE-messages can be used to delete messages selected with its hash. You can
9966also select any custom delay relative to the time of sending the DELETE-message. 9966also select any custom delay relative to the time of sending the DELETE-message.
9967Deletion will only be processed on each peer in a room if the sender is 9967Deletion will only be processed on each peer in a room if the sender is
9968authorized. 9968authorized.
9969 9969
9970The only information of a deleted message which being kept will be the chained 9970The only information of a deleted message which being kept will be the chained
9971hashes connecting the message graph for potential traversion. For example the 9971hashes connecting the message graph for potential traversion. For example the
9972check for completion of a member session requires this information. 9972check for completion of a member session requires this information.
9973 9973
9974@node Member sessions 9974@node Member sessions
9975@subsection Member sessions 9975@subsection Member sessions
9976 9976
9977A member session is a triple of the room key, the member ID and the public key 9977A member session is a triple of the room key, the member ID and the public key
9978of the member's ego. Member sessions allow that a member can change their ID or 9978of the member's ego. Member sessions allow that a member can change their ID or
9979their ego once at a time without losing the ability to delete old messages or 9979their ego once at a time without losing the ability to delete old messages or
9980identifying the original sender of a message. On every change of ID or EGO a 9980identifying the original sender of a message. On every change of ID or EGO a
9981session will be marked as closed. So every session chain will only contain one 9981session will be marked as closed. So every session chain will only contain one
9982open session with the current ID and public key. 9982open session with the current ID and public key.
9983 9983
9984If a session is marked as closed the MESSENGER service will check from the first 9984If a session is marked as closed the MESSENGER service will check from the first
9985message opening a session to its last one closing the session for completion. If 9985message opening a session to its last one closing the session for completion. If
9986a the service can confirm that there is no message still missing which was sent 9986a the service can confirm that there is no message still missing which was sent
9987from the closed member session, it will be marked as completed. 9987from the closed member session, it will be marked as completed.
9988 9988
9989A completed member session is not able to verify any incoming message to ensure 9989A completed member session is not able to verify any incoming message to ensure
9990forward secrecy preventing others from using old stolen egos. 9990forward secrecy preventing others from using old stolen egos.
9991
diff --git a/doc/handbook/chapters/installation.texi b/doc/handbook/chapters/installation.texi
index 24431e20f..54fb3f486 100644
--- a/doc/handbook/chapters/installation.texi
+++ b/doc/handbook/chapters/installation.texi
@@ -1533,7 +1533,7 @@ Now restart your webserver and your peer...
1533@subsection Blacklisting peers 1533@subsection Blacklisting peers
1534 1534
1535Transport service supports to deny connecting to a specific peer of to a 1535Transport service supports to deny connecting to a specific peer of to a
1536specific peer with a specific transport plugin using te blacklisting 1536specific peer with a specific transport plugin using the blacklisting
1537component of transport service. With@ blacklisting it is possible to deny 1537component of transport service. With@ blacklisting it is possible to deny
1538connections to specific peers of@ to use a specific plugin to a specific 1538connections to specific peers of@ to use a specific plugin to a specific
1539peer. Peers can be blacklisted using@ the configuration or a blacklist 1539peer. Peers can be blacklisted using@ the configuration or a blacklist
@@ -1560,7 +1560,7 @@ To blacklist connections to P565... on peer AG2P... using all plugins add:
1560P565723JO1C2HSN6J29TAQ22MN6CI8HTMUU55T0FUQG4CMDGGEQ8UCNBKUMB94GC8R9G4FB2SF9LDOBAJ6AMINBP4JHHDD6L7VD801G = 1560P565723JO1C2HSN6J29TAQ22MN6CI8HTMUU55T0FUQG4CMDGGEQ8UCNBKUMB94GC8R9G4FB2SF9LDOBAJ6AMINBP4JHHDD6L7VD801G =
1561@end example 1561@end example
1562 1562
1563You can also add a blacklist client usign the blacklist API. On a 1563You can also add a blacklist client using the blacklist API. On a
1564blacklist check, blacklisting first checks internally if the peer is 1564blacklist check, blacklisting first checks internally if the peer is
1565blacklisted and if not, it asks the blacklisting clients. Clients are 1565blacklisted and if not, it asks the blacklisting clients. Clients are
1566asked if it is OK to connect to a peer ID, the plugin is omitted. 1566asked if it is OK to connect to a peer ID, the plugin is omitted.
diff --git a/doc/man/gnunet-gns.1 b/doc/man/gnunet-gns.1
index 5595981b0..de48369f5 100644
--- a/doc/man/gnunet-gns.1
+++ b/doc/man/gnunet-gns.1
@@ -64,7 +64,7 @@ Resolve the specified name using the GNU Name System.
64.It Fl T Ar TIMEOUT | Fl -timeout= Ns Ar TIMEOUT 64.It Fl T Ar TIMEOUT | Fl -timeout= Ns Ar TIMEOUT
65How much time to wait for a resolution to finish. 65How much time to wait for a resolution to finish.
66Example: "5s" for 5 seconds or "3m" for 3 minutes. 66Example: "5s" for 5 seconds or "3m" for 3 minutes.
67Defaults to "forver" (No timeout). 67Defaults to "forever" (No timeout).
68.It Fl v | -version 68.It Fl v | -version
69Print GNUnet version number. 69Print GNUnet version number.
70.El 70.El
diff --git a/doc/man/gnunet-testbed-profiler.1 b/doc/man/gnunet-testbed-profiler.1
index b39544641..d079609ad 100644
--- a/doc/man/gnunet-testbed-profiler.1
+++ b/doc/man/gnunet-testbed-profiler.1
@@ -46,7 +46,7 @@ is a command line profiling driver for the testbed.
46.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME 46.It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME
47Use the configuration file FILENAME. 47Use the configuration file FILENAME.
48.It Fl e Ar COUNT | Fl -num-errors= Ns Ar COUNT 48.It Fl e Ar COUNT | Fl -num-errors= Ns Ar COUNT
49Tolerate COUNT number of continious timeout failures. 49Tolerate COUNT number of continuous timeout failures.
50.It Fl H Ar FILENAME | Fl -hosts= Ns Ar FILENAME 50.It Fl H Ar FILENAME | Fl -hosts= Ns Ar FILENAME
51Name of the file with the login information for the testbed. 51Name of the file with the login information for the testbed.
52.It Fl h | -help 52.It Fl h | -help
diff --git a/doc/man/gnunet-timeout.1 b/doc/man/gnunet-timeout.1
index a36141c36..85ecc88c1 100644
--- a/doc/man/gnunet-timeout.1
+++ b/doc/man/gnunet-timeout.1
@@ -35,7 +35,7 @@
35.Sh DESCRIPTION 35.Sh DESCRIPTION
36.Nm 36.Nm
37can be used to run another process with a timeout. 37can be used to run another process with a timeout.
38It is provided because the standard "timout" utility may not be available on all platforms. 38It is provided because the standard "timeout" utility may not be available on all platforms.
39.Sh SEE ALSO 39.Sh SEE ALSO
40.Xr timeout 1 40.Xr timeout 1
41.sp 41.sp
diff --git a/doc/man/gnunet.conf.5.in b/doc/man/gnunet.conf.5.in
index 116e7de3b..19136b849 100644
--- a/doc/man/gnunet.conf.5.in
+++ b/doc/man/gnunet.conf.5.in
@@ -54,7 +54,7 @@ encountered.
54.It 54.It
55A section contains a number of options of the form "OPTION=VALUE". 55A section contains a number of options of the form "OPTION=VALUE".
56.It 56.It
57Whitespace surounding the "=" token is striped out, in other words 57Whitespace surrounding the "=" token is striped out, in other words
58"OPTION = VALUE" and "OPTION=VALUE" are treated equal. 58"OPTION = VALUE" and "OPTION=VALUE" are treated equal.
59.It 59.It
60Empty lines and lines beginning with a "#" are treated as comments. 60Empty lines and lines beginning with a "#" are treated as comments.
@@ -166,7 +166,7 @@ Set to NO if this is a system service.
166In the following sections the absence of a default value is either 166In the following sections the absence of a default value is either
167expressed as "Default value:" followed by nothing, or the lack of this line. 167expressed as "Default value:" followed by nothing, or the lack of this line.
168.Ss ARM 168.Ss ARM
169.Bl -tag -width indent 169.Bl -tag -width indent
170.It PORT 170.It PORT
171Default value: 2087 171Default value: 2087
172.It HOSTNAME 172.It HOSTNAME
@@ -215,7 +215,7 @@ options differ.
215If set to YES, ARM will only start services that are marked as per-user 215If set to YES, ARM will only start services that are marked as per-user
216services (and we'll expect a system user to run ARM to provide system-level 216services (and we'll expect a system user to run ARM to provide system-level
217services). 217services).
218Per-user services enable better personalization and priviledge separation and 218Per-user services enable better personalization and privilege separation and
219in particular ensures that personal data is stored under $HOME, which might be 219in particular ensures that personal data is stored under $HOME, which might be
220important in a multi-user system (or if $HOME is encrypted and 220important in a multi-user system (or if $HOME is encrypted and
221.Pa /var/ 221.Pa /var/
@@ -321,7 +321,7 @@ Default value: 2.00
321.It 1.0 321.It 1.0
322Fair with respect to addresses without preferences. 322Fair with respect to addresses without preferences.
323.It > 1.0 323.It > 1.0
324The bigger, the more respect is payed to preferences. 324The bigger, the more respect is paid to preferences.
325.El 325.El
326.It PROP_STABILITY_FACTOR 326.It PROP_STABILITY_FACTOR
327Should we stick to existing connections are prefer to switch? 327Should we stick to existing connections are prefer to switch?
@@ -430,7 +430,7 @@ Default value: 5 min
430Percentage of packets CADET is artificially dropping. 430Percentage of packets CADET is artificially dropping.
431Used for testing only! 431Used for testing only!
432.It ID_ANNOUNCE_TIME 432.It ID_ANNOUNCE_TIME
433How frequently do we usually anounce our presence in the DHT? 433How frequently do we usually announce our presence in the DHT?
434.Pp 434.Pp
435Default value: 1 h 435Default value: 1 h
436.It CONNECT_TIMEOUT 436.It CONNECT_TIMEOUT
diff --git a/doc/release_policy.rfc.txt b/doc/release_policy.rfc.txt
index 41c98ec93..e13e72f43 100644
--- a/doc/release_policy.rfc.txt
+++ b/doc/release_policy.rfc.txt
@@ -7,17 +7,17 @@ social process in order to find a decision in a cooperativ and common
7way. 7way.
8 8
9 9
10I. Driver 10I. Driver
11========= 11=========
12(What is the problem and what solution did we find?) 12(What is the problem and what solution did we find?)
13 13
14In the past it was sometimes unclear when and how the community would reach its 14In the past it was sometimes unclear when and how the community would reach its
15next release. Members were lacking in orientation and felt demotivated. 15next release. Members were lacking in orientation and felt demotivated.
16 16
17Another minor concern not yet analysed in depth was the expectation to show the 17Another minor concern not yet analysed in depth was the expectation to show the
18public that the GNUnet project is still active and making progress. With an old 18public that the GNUnet project is still active and making progress. With an old
19release distributed by popular linux distributions it was hard to showcase 19release distributed by popular linux distributions it was hard to showcase
20people the GNUnet features and encourage to participate in the project. 20people the GNUnet features and encourage to participate in the project.
21 21
22To show people how the GNUnet project is releasing its software we hereby 22To show people how the GNUnet project is releasing its software we hereby
23document the current release model: 23document the current release model:
@@ -55,7 +55,7 @@ document the current release model:
55 55
56For further information see: https://trunkbaseddevelopment.com/ 56For further information see: https://trunkbaseddevelopment.com/
57 57
58II. Evaluation Criteria 58II. Evaluation Criteria
59======================= 59=======================
60(what are criteria to interpret the results as success if we review 60(what are criteria to interpret the results as success if we review
61the problem and solution after a year or so) 61the problem and solution after a year or so)
@@ -74,7 +74,7 @@ code. I don't have a magic bullet to motivate you to write more tests,
74or to improve existing tests. -CG 74or to improve existing tests. -CG
75 75
76 Your argument is good. Two or three of us thought that the problem is about 76 Your argument is good. Two or three of us thought that the problem is about
77 missing releases which we feld demotivating. We thought, we were stuck 77 missing releases which we felt demotivating. We thought, we were stuck
78 somewhere. But as you state, it is us not doing the necessary work. What I 78 somewhere. But as you state, it is us not doing the necessary work. What I
79 still find useful is to document the release process. In consequence I 79 still find useful is to document the release process. In consequence I
80 changed the problem statement. -xrs 80 changed the problem statement. -xrs
@@ -106,7 +106,7 @@ for improving that situation). -CG
106 With resprect to changes kept in branches the reason why I personally keep 106 With resprect to changes kept in branches the reason why I personally keep
107 changes back is because it takes very long for me to get something really 107 changes back is because it takes very long for me to get something really
108 working in C. Before that I either not worth it or I don't want to blame 108 working in C. Before that I either not worth it or I don't want to blame
109 other before not being sure it's not my fault. 109 other before not being sure it's not my fault.
110 110
111 Can we track branches? Can we write a little cronjob that checks for branches 111 Can we track branches? Can we write a little cronjob that checks for branches
112 that are to long undercover with the aim to recommend the responsible person 112 that are to long undercover with the aim to recommend the responsible person
@@ -137,7 +137,7 @@ rewrites are happening, it is important to minimize the number of
137branches. -CG 137branches. -CG
138 138
139 Thank you for clarifying. I added the API aspect above. -xrs 139 Thank you for clarifying. I added the API aspect above. -xrs
140 140
141 141
142IV. Doing 142IV. Doing
143========= 143=========
@@ -153,7 +153,7 @@ Let me list what I think needs doing:
1532) A culture of fixing "other people"'s bugs: test case failures, 1532) A culture of fixing "other people"'s bugs: test case failures,
154 portability issues, Mantis reports, all the non-sexy 154 portability issues, Mantis reports, all the non-sexy
155 stuff. Not the 'psycstore' was written by tg, so no 155 stuff. Not the 'psycstore' was written by tg, so no
156 need for !tg to try to fix it, or the "I use sqlite, 156 need for !tg to try to fix it, or the "I use sqlite,
157 why should I bother with postgres?"-crap I have heard 157 why should I bother with postgres?"-crap I have heard
158 too often. 158 too often.
1593) Improving test cases: better code coverage, more corner 1593) Improving test cases: better code coverage, more corner
diff --git a/doc/system_specific/FROM_SOURCE b/doc/system_specific/FROM_SOURCE
index 7b0ebf436..2e98ab5c0 100644
--- a/doc/system_specific/FROM_SOURCE
+++ b/doc/system_specific/FROM_SOURCE
@@ -204,7 +204,7 @@ $ gnunet-arm -s
204@subsection Install the GNUnet-gtk user interface from Git 204@subsection Install the GNUnet-gtk user interface from Git
205 205
206 206
207Install depencies: 207Install dependencies:
208 208
209@example 209@example
210$ sudo apt-get install libgtk-3-dev libunique-3.0-dev libgladeui-dev \ 210$ sudo apt-get install libgtk-3-dev libunique-3.0-dev libgladeui-dev \
@@ -866,7 +866,7 @@ This means that you have to make sure the proper tools are used in the build pro
866For example, after installing texinfo you need to make sure the new texinfo is actually used: 866For example, after installing texinfo you need to make sure the new texinfo is actually used:
867 867
868@example 868@example
869$ echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile 869$ echo 'export PATH="/usr/local/opt/texinfo/bin:$PATH"' >> ~/.bash_profile
870@end example 870@end example
871 871
872Note: brew tells you the appropriate command when executing 872Note: brew tells you the appropriate command when executing
@@ -886,7 +886,7 @@ $ export CC=gcc-7
886 886
887You might see configure failing telling you that it ``cannot run C compiled programs.''. 887You might see configure failing telling you that it ``cannot run C compiled programs.''.
888In this case, you might need to open/run Xcode once and you will be prompted to 888In this case, you might need to open/run Xcode once and you will be prompted to
889install additonal packages. 889install additional packages.
890Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this). 890Then, you might have to manually install the command line tools from here https://developer.apple.com/download/more/ (you need an Apple ID for this).
891Install those and execute 891Install those and execute
892 892