diff options
106 files changed, 2167 insertions, 391 deletions
@@ -2,7 +2,7 @@ Sat, 3 Apr 2021 09:40:46 +0200 (08fe7735b) | |||
2 | handbook: Add section on commit messages and developer branches - Martin Schanzenbach | 2 | handbook: Add section on commit messages and developer branches - Martin Schanzenbach |
3 | 3 | ||
4 | Thu, 1 Apr 2021 00:41:38 +0200 (9f340d5cc) | 4 | Thu, 1 Apr 2021 00:41:38 +0200 (9f340d5cc) |
5 | SETU: added some more perf messurement point for var message size - Elias Summermatter | 5 | SETU: added some more perf measurement point for var message size - Elias Summermatter |
6 | 6 | ||
7 | Thu, 1 Apr 2021 00:15:43 +0200 (12bb61317) | 7 | Thu, 1 Apr 2021 00:15:43 +0200 (12bb61317) |
8 | SETU: fixed some bug in rand element gen and added variable payload for perfmance - Elias Summermatter | 8 | SETU: fixed some bug in rand element gen and added variable payload for perfmance - Elias Summermatter |
@@ -11,7 +11,7 @@ Wed, 31 Mar 2021 11:49:10 +0200 (902331756) | |||
11 | SETU: Added new operation parameters for performance tests - Elias Summermatter | 11 | SETU: Added new operation parameters for performance tests - Elias Summermatter |
12 | 12 | ||
13 | Wed, 31 Mar 2021 11:16:38 +0200 (b5660e0a3) | 13 | Wed, 31 Mar 2021 11:16:38 +0200 (b5660e0a3) |
14 | SETU: imporved tests - Elias Summermatter | 14 | SETU: improved tests - Elias Summermatter |
15 | 15 | ||
16 | Tue, 30 Mar 2021 19:26:40 +0200 (ca4c9eae2) | 16 | Tue, 30 Mar 2021 19:26:40 +0200 (ca4c9eae2) |
17 | UTIL/SCALARPRODUCT: Do not build ECC dlog or scalarproduct with incompatible libgcrypt versions (>=1.9.0) - Martin Schanzenbach | 17 | UTIL/SCALARPRODUCT: Do not build ECC dlog or scalarproduct with incompatible libgcrypt versions (>=1.9.0) - Martin Schanzenbach |
@@ -32,7 +32,7 @@ Thu, 18 Mar 2021 11:48:42 +0100 (f9ae0c23c) | |||
32 | Added working test with randum set - Elias Summermatter | 32 | Added working test with randum set - Elias Summermatter |
33 | 33 | ||
34 | Thu, 18 Mar 2021 08:45:31 +0100 (0d6237ae0) | 34 | Thu, 18 Mar 2021 08:45:31 +0100 (0d6237ae0) |
35 | Added some randum elemet generation test for setu - Elias Summermatter | 35 | Added some randum element generation test for setu - Elias Summermatter |
36 | 36 | ||
37 | Sun, 14 Mar 2021 14:04:00 +0100 (b47586e76) | 37 | Sun, 14 Mar 2021 14:04:00 +0100 (b47586e76) |
38 | add packaging notice; fix #5633 - Martin Schanzenbach | 38 | add packaging notice; fix #5633 - Martin Schanzenbach |
@@ -722,7 +722,7 @@ Thu, 30 Jan 2020 10:48:04 +0100 (015cd279b) | |||
722 | added testing scripts for dns2gns - rexxnor | 722 | added testing scripts for dns2gns - rexxnor |
723 | 723 | ||
724 | Fri, 24 Jan 2020 16:51:29 +0100 (f4a172abf) | 724 | Fri, 24 Jan 2020 16:51:29 +0100 (f4a172abf) |
725 | export GNUNET_PQ_run_sql() functonality - Christian Grothoff | 725 | export GNUNET_PQ_run_sql() functionality - Christian Grothoff |
726 | 726 | ||
727 | Fri, 24 Jan 2020 16:30:45 +0100 (2fd320bc7) | 727 | Fri, 24 Jan 2020 16:30:45 +0100 (2fd320bc7) |
728 | modify GNUNET_PQ_connect_with_cfg to enable flexible loading of .sql files - Christian Grothoff | 728 | modify GNUNET_PQ_connect_with_cfg to enable flexible loading of .sql files - Christian Grothoff |
@@ -902,7 +902,7 @@ Fri Jun 28 14:10:53 2019 +0200 | |||
902 | 902 | ||
903 | Thu Jun 27 10:34:46 2019 +0200 | 903 | Thu Jun 27 10:34:46 2019 +0200 |
904 | The REST server now returns the Origin header value in the | 904 | The REST server now returns the Origin header value in the |
905 | CORS header reponse. -schanzen | 905 | CORS header response. -schanzen |
906 | 906 | ||
907 | Thu Jun 27 09:08:06 2019 +0200 | 907 | Thu Jun 27 09:08:06 2019 +0200 |
908 | GNS NSS plugin will not timeout and not hang forever and block | 908 | GNS NSS plugin will not timeout and not hang forever and block |
@@ -182,7 +182,7 @@ Recommended software for developer tools: | |||
182 | you, open a bug so that we can get a more portable | 182 | you, open a bug so that we can get a more portable |
183 | fix in. | 183 | fix in. |
184 | 184 | ||
185 | [*4] We are commited to portable tools and solutions | 185 | [*4] We are committed to portable tools and solutions |
186 | where possible. New scripts should be Posix sh | 186 | where possible. New scripts should be Posix sh |
187 | compatible, current and older scripts are | 187 | compatible, current and older scripts are |
188 | in the process of being rewritten to comply | 188 | in the process of being rewritten to comply |
@@ -213,7 +213,7 @@ For a correct functionality depending on the host OS, you need | |||
213 | to run the equivalent of these steps after installation. | 213 | to run the equivalent of these steps after installation. |
214 | Replace $(DESTDIR)$(libexecdir) with the appropriate paths, | 214 | Replace $(DESTDIR)$(libexecdir) with the appropriate paths, |
215 | for example /usr/local/lib/gnunet/libexec/. Note that this | 215 | for example /usr/local/lib/gnunet/libexec/. Note that this |
216 | obviously must be run as priviledged user. | 216 | obviously must be run as privileged user. |
217 | 217 | ||
218 | chown root:root $(DESTDIR)$(libexecdir)/gnunet-helper-vpn | 218 | chown root:root $(DESTDIR)$(libexecdir)/gnunet-helper-vpn |
219 | chmod u+s $(DESTDIR)$(libexecdir)/gnunet-helper-vpn | 219 | chmod u+s $(DESTDIR)$(libexecdir)/gnunet-helper-vpn |
@@ -289,8 +289,8 @@ Building GNUnet from source | |||
289 | 289 | ||
290 | IMPORTANT: You can read further notes about compilation from source in | 290 | IMPORTANT: You can read further notes about compilation from source in |
291 | the handbook under doc/handbook/, which includes notes about specific | 291 | the handbook under doc/handbook/, which includes notes about specific |
292 | requirements for operating systems aswell. If you are a package | 292 | requirements for operating systems as well. If you are a package |
293 | mantainer for an Operating System we invite you to add your notes if | 293 | maintainer for an Operating System we invite you to add your notes if |
294 | you feel it is necessary and can not be covered in your Operating | 294 | you feel it is necessary and can not be covered in your Operating |
295 | System's documentation. | 295 | System's documentation. |
296 | 296 | ||
@@ -338,7 +338,7 @@ in 'contrib/services' or by running: | |||
338 | 338 | ||
339 | 339 | ||
340 | Note that you must read paragraph "Notes on setuid", which documents steps you | 340 | Note that you must read paragraph "Notes on setuid", which documents steps you |
341 | have to follow after the installation, as a priviledged user. We require some | 341 | have to follow after the installation, as a privileged user. We require some |
342 | binaries to be setuid. The most portable approach across all supported | 342 | binaries to be setuid. The most portable approach across all supported |
343 | platforms and targets is to let this be handled manually. | 343 | platforms and targets is to let this be handled manually. |
344 | The installation will work if you do not run these steps as root, but some | 344 | The installation will work if you do not run these steps as root, but some |
@@ -376,7 +376,7 @@ $GNUNET_PREFIX you might have specified, as those libraries must be in | |||
376 | your packaging script to miss those plugins, so you might need to do some | 376 | your packaging script to miss those plugins, so you might need to do some |
377 | additional manual work to include those libraries in your binary package(s). | 377 | additional manual work to include those libraries in your binary package(s). |
378 | Similarly, if you want to use the GNUnet Name System and did NOT run | 378 | Similarly, if you want to use the GNUnet Name System and did NOT run |
379 | GNUnet's 'make install' process with priviledged rights, the libraries will be | 379 | GNUnet's 'make install' process with privileged rights, the libraries will be |
380 | installed to "$GNUNET_PREFIX" and you will have to move them to "/lib/" | 380 | installed to "$GNUNET_PREFIX" and you will have to move them to "/lib/" |
381 | manually. | 381 | manually. |
382 | 382 | ||
@@ -443,7 +443,7 @@ GNUnet by periodically executing | |||
443 | $ cat $SERVICEHOME/data/hosts/* > the_file | 443 | $ cat $SERVICEHOME/data/hosts/* > the_file |
444 | 444 | ||
445 | and offering 'the_file' via your web server. Alternatively, you can | 445 | and offering 'the_file' via your web server. Alternatively, you can |
446 | run the build-in web server by adding '-p' to the OPTIONS value | 446 | run the built-in web server by adding '-p' to the OPTIONS value |
447 | in the "hostlist" section of gnunet.conf and opening the respective | 447 | in the "hostlist" section of gnunet.conf and opening the respective |
448 | HTTPPORT to the public. | 448 | HTTPPORT to the public. |
449 | 449 | ||
@@ -495,7 +495,7 @@ https://bugs.gnunet.org/ or our bugs mailinglist. | |||
495 | Please make sure to run the script "contrib/scripts/gnunet-bugreport" | 495 | Please make sure to run the script "contrib/scripts/gnunet-bugreport" |
496 | and include the output with your bug reports. More about how to | 496 | and include the output with your bug reports. More about how to |
497 | report bugs can be found in the GNUnet FAQ on the webpage. Submit | 497 | report bugs can be found in the GNUnet FAQ on the webpage. Submit |
498 | patches via E-Mail to gnunet-developers@gnu.org, formated with | 498 | patches via E-Mail to gnunet-developers@gnu.org, formatted with |
499 | `git format-patch`. | 499 | `git format-patch`. |
500 | 500 | ||
501 | In order to run the unit tests by hand (instead of using "make check"), | 501 | In order to run the unit tests by hand (instead of using "make check"), |
@@ -540,7 +540,7 @@ Then set in the HTTP section of gnunet.conf the "ADVERTISED_PORT" to | |||
540 | "ADVERTISED_PORT" to "443" and "PORT" to 4433. | 540 | "ADVERTISED_PORT" to "443" and "PORT" to 4433. |
541 | 541 | ||
542 | You can do the same trick for the TCP and UDP transports if you want | 542 | You can do the same trick for the TCP and UDP transports if you want |
543 | to map them to a priviledged port (from the point of view of the | 543 | to map them to a privileged port (from the point of view of the |
544 | network). However, we are not aware of this providing any advantages | 544 | network). However, we are not aware of this providing any advantages |
545 | at this point. | 545 | at this point. |
546 | 546 | ||
diff --git a/README.1st b/README.1st index c25992351..073357466 100644 --- a/README.1st +++ b/README.1st | |||
@@ -13,7 +13,7 @@ impact are given with each item. | |||
13 | 13 | ||
14 | ats: | 14 | ats: |
15 | * We currently select one transport per peer, but we should allow the | 15 | * We currently select one transport per peer, but we should allow the |
16 | use of multiple channels concurrently (i.e. UDP + TCP at the same | 16 | use of multiple channels concurrently (e.g. UDP + TCP at the same |
17 | time). Neither ATS nor transport support this today, and this requires | 17 | time). Neither ATS nor transport support this today, and this requires |
18 | a major change in the ATS plugins and the ATS API and the overall | 18 | a major change in the ATS plugins and the ATS API and the overall |
19 | ATS/transport logic. [6-12 PM, robustness, performance] | 19 | ATS/transport logic. [6-12 PM, robustness, performance] |
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # | 2 | # |
3 | # We should use /usr/bin/env sh, but some systems are notoriously picky. | 3 | # We should use /usr/bin/env sh, but some systems are notoriously picky. |
4 | # In fact we could ommit this line if some automations wouldn't rely on | 4 | # In fact we could omit this line if some automations wouldn't rely on |
5 | # running this file via ./bootstrap. | 5 | # running this file via ./bootstrap. |
6 | # | 6 | # |
7 | # This file is in the public domain. | 7 | # This file is in the public domain. |
diff --git a/configure.ac b/configure.ac index e66103b58..4a2f148ff 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -791,6 +791,30 @@ AS_IF([test "x$zbar" = x1], | |||
791 | [AC_DEFINE([HAVE_ZBAR],[1],[Have zbar library])], | 791 | [AC_DEFINE([HAVE_ZBAR],[1],[Have zbar library])], |
792 | [AC_DEFINE([HAVE_ZBAR],[0],[Lacking zbar library])]) | 792 | [AC_DEFINE([HAVE_ZBAR],[0],[Lacking zbar library])]) |
793 | 793 | ||
794 | # check for libpabc library | ||
795 | pabc=0 | ||
796 | AC_MSG_CHECKING(for libpabc) | ||
797 | AC_ARG_WITH(pabc, | ||
798 | [ --with-pabc=PREFIX (base of libpabc installation)], | ||
799 | [AC_MSG_RESULT([$with_pabc]) | ||
800 | AS_CASE([$with_pabc], | ||
801 | [no],[], | ||
802 | [yes],[ | ||
803 | CHECK_LIBHEADER(PABC, pabc, pabc_new_ctx, pabc/pabc.h,pabc=1,) | ||
804 | ],[ | ||
805 | LDFLAGS="-L$with_pabc/lib $LDFLAGS" | ||
806 | CPPFLAGS="-I$with_pabc/include $CPPFLAGS" | ||
807 | AC_CHECK_HEADERS(pabc/pabc.h, | ||
808 | AC_CHECK_LIB([pabc], [pabc_new_ctx], | ||
809 | EXT_LIB_PATH="-L$with_pabc/lib $EXT_LIB_PATH" | ||
810 | pabc=1)) | ||
811 | ]) | ||
812 | ], | ||
813 | [AC_MSG_RESULT([--with-pabc not specified]) | ||
814 | CHECK_LIBHEADER(PABC, pabc, pabc_new_ctx, pabc/pabc.h,pabc=1,)]) | ||
815 | AM_CONDITIONAL(HAVE_PABC, [test x$pabc = x1]) | ||
816 | |||
817 | |||
794 | # check for jansson library | 818 | # check for jansson library |
795 | jansson=0 | 819 | jansson=0 |
796 | AC_MSG_CHECKING(for libjansson) | 820 | AC_MSG_CHECKING(for libjansson) |
diff --git a/contrib/Makefile.inc b/contrib/Makefile.inc index c737a07f8..a563ef4a1 100644 --- a/contrib/Makefile.inc +++ b/contrib/Makefile.inc | |||
@@ -8,7 +8,8 @@ BUILDCOMMON_SHLIB_FILES = \ | |||
8 | build-common/sh/lib.sh/existence_python.sh \ | 8 | build-common/sh/lib.sh/existence_python.sh \ |
9 | build-common/sh/lib.sh/msg.sh \ | 9 | build-common/sh/lib.sh/msg.sh \ |
10 | build-common/sh/lib.sh/progname.sh \ | 10 | build-common/sh/lib.sh/progname.sh \ |
11 | build-common/sh/lib.sh/version_gnunet.sh | 11 | build-common/sh/lib.sh/version_gnunet.sh \ |
12 | build-common/LICENSE | ||
12 | 13 | ||
13 | BUILDCOMMON_CONF_FILES = \ | 14 | BUILDCOMMON_CONF_FILES = \ |
14 | build-common/conf/.dir-locals.el \ | 15 | build-common/conf/.dir-locals.el \ |
diff --git a/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd b/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd index 3c5a22ee2..2a4dcc1c4 100644 --- a/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd +++ b/contrib/packages/alpine/gnunet/gnunet-gns-proxy.initd | |||
@@ -21,12 +21,10 @@ start() { | |||
21 | # Customize gnunet.conf | 21 | # Customize gnunet.conf |
22 | port=$((8000+$(id -u $user))) | 22 | port=$((8000+$(id -u $user))) |
23 | gnunet-config -c /home/$user/.config/gnunet.conf \ | 23 | gnunet-config -c /home/$user/.config/gnunet.conf \ |
24 | --rewrite \ | ||
25 | --section=gns-proxy \ | 24 | --section=gns-proxy \ |
26 | --option=IMMEDIATE_START \ | 25 | --option=IMMEDIATE_START \ |
27 | --value=YES | 26 | --value=YES |
28 | gnunet-config -c /home/$user/.config/gnunet.conf \ | 27 | gnunet-config -c /home/$user/.config/gnunet.conf \ |
29 | --rewrite \ | ||
30 | --section=gns-proxy \ | 28 | --section=gns-proxy \ |
31 | --option=OPTIONS \ | 29 | --option=OPTIONS \ |
32 | --value="-p $port" | 30 | --value="-p $port" |
@@ -79,7 +77,6 @@ stop() { | |||
79 | 77 | ||
80 | # Disable gns-proxy in config | 78 | # Disable gns-proxy in config |
81 | gnunet-config -c /home/$user/.config/gnunet.conf \ | 79 | gnunet-config -c /home/$user/.config/gnunet.conf \ |
82 | --rewrite \ | ||
83 | --section=gns-proxy \ | 80 | --section=gns-proxy \ |
84 | --option=IMMEDIATE_START \ | 81 | --option=IMMEDIATE_START \ |
85 | --value=NO | 82 | --value=NO |
diff --git a/contrib/packages/alpine/gnunet/gnunet.xsession b/contrib/packages/alpine/gnunet/gnunet.xsession index 944d47a27..dead5c783 100644 --- a/contrib/packages/alpine/gnunet/gnunet.xsession +++ b/contrib/packages/alpine/gnunet/gnunet.xsession | |||
@@ -10,7 +10,6 @@ if [ "$gnunet_proxy" ]; then | |||
10 | port=$((8000+$(id -u $user))) | 10 | port=$((8000+$(id -u $user))) |
11 | 11 | ||
12 | gnunet-config -c /home/$user/.config/gnunet.conf \ | 12 | gnunet-config -c /home/$user/.config/gnunet.conf \ |
13 | --rewrite \ | ||
14 | --section=gns-proxy \ | 13 | --section=gns-proxy \ |
15 | --option=OPTIONS \ | 14 | --option=OPTIONS \ |
16 | --value="-p $port" | 15 | --value="-p $port" |
diff --git a/debian/changelog b/debian/changelog index 0572e47fa..aafdc69df 100644 --- a/debian/changelog +++ b/debian/changelog | |||
@@ -389,7 +389,7 @@ gnunet (0.9.3-4) unstable; urgency=low | |||
389 | * Revert the use dh_installdocs --link-doc (Closes: #687875, #687881, | 389 | * Revert the use dh_installdocs --link-doc (Closes: #687875, #687881, |
390 | #687883). | 390 | #687883). |
391 | * Fix build on kfreebsd, thanks to Christoph Egger (Closes: #688486). | 391 | * Fix build on kfreebsd, thanks to Christoph Egger (Closes: #688486). |
392 | * Allways install libnss to /lib and fix FTBFS on ia64 (Closes: #688590). | 392 | * Always install libnss to /lib and fix FTBFS on ia64 (Closes: #688590). |
393 | * Install libnss to /lib, really fix #688590, thanks to Christian Grothoff. | 393 | * Install libnss to /lib, really fix #688590, thanks to Christian Grothoff. |
394 | * Change default option UNIX_MATCH_UID for services datastore and namestore, | 394 | * Change default option UNIX_MATCH_UID for services datastore and namestore, |
395 | so users in the gnunet group may use these services (Closes: #686238, | 395 | so users in the gnunet group may use these services (Closes: #686238, |
@@ -546,7 +546,7 @@ gnunet (0.8.1b-5) unstable; urgency=low | |||
546 | 546 | ||
547 | gnunet (0.8.1b-4) unstable; urgency=low | 547 | gnunet (0.8.1b-4) unstable; urgency=low |
548 | 548 | ||
549 | * Stopp calling debconf-updatepo in clean target of rules. | 549 | * Stop calling debconf-updatepo in clean target of rules. |
550 | * Dropping la files. | 550 | * Dropping la files. |
551 | 551 | ||
552 | -- Daniel Baumann <daniel.baumann@progress-technologies.net> Mon, 03 May 2010 21:06:32 +0200 | 552 | -- Daniel Baumann <daniel.baumann@progress-technologies.net> Mon, 03 May 2010 21:06:32 +0200 |
@@ -659,7 +659,7 @@ gnunet (0.8.0c-4) unstable; urgency=low | |||
659 | 659 | ||
660 | gnunet (0.8.0c-3) unstable; urgency=low | 660 | gnunet (0.8.0c-3) unstable; urgency=low |
661 | 661 | ||
662 | * Removing unneded versions for build-depends. | 662 | * Removing unneeded versions for build-depends. |
663 | * Wrapping build depends. | 663 | * Wrapping build depends. |
664 | * Sorting depends. | 664 | * Sorting depends. |
665 | * Updating year in copyright file. | 665 | * Updating year in copyright file. |
@@ -694,7 +694,7 @@ gnunet (0.8.0c-1) unstable; urgency=low | |||
694 | * Removing old conflicts and replaces. | 694 | * Removing old conflicts and replaces. |
695 | * Making gnunet binNMU safe (Closes: #527453, #527462). | 695 | * Making gnunet binNMU safe (Closes: #527453, #527462). |
696 | * Using correct rfc-2822 date formats in changelog. | 696 | * Using correct rfc-2822 date formats in changelog. |
697 | * Using more generic directoy name for local additions within the | 697 | * Using more generic directory name for local additions within the |
698 | packaging directory. | 698 | packaging directory. |
699 | * Updating debhelper install files for new upstream. | 699 | * Updating debhelper install files for new upstream. |
700 | * Adding misc:Depends in control to remaining binary packages. | 700 | * Adding misc:Depends in control to remaining binary packages. |
@@ -773,7 +773,7 @@ gnunet (0.8.0-1) unstable; urgency=low | |||
773 | * Reordering rules file. | 773 | * Reordering rules file. |
774 | * Also excluding gnunet meta package from ia64 since there is no gnunet on | 774 | * Also excluding gnunet meta package from ia64 since there is no gnunet on |
775 | ia64 anyway. | 775 | ia64 anyway. |
776 | * Using lintian debhelper to intall lintian overrides. | 776 | * Using lintian debhelper to install lintian overrides. |
777 | * Removing watch file. | 777 | * Removing watch file. |
778 | * Rewriting copyright file in machine-interpretable format. | 778 | * Rewriting copyright file in machine-interpretable format. |
779 | * Bumping versioned libextractor depends to 0.5.20. | 779 | * Bumping versioned libextractor depends to 0.5.20. |
@@ -870,7 +870,7 @@ gnunet (0.7.2c-3) unstable; urgency=medium | |||
870 | - Updated to new policy. | 870 | - Updated to new policy. |
871 | - Using Homepage field in control. | 871 | - Using Homepage field in control. |
872 | - Using versioned depends for libextractor. | 872 | - Using versioned depends for libextractor. |
873 | - Comented lintian overrides. | 873 | - Commented lintian overrides. |
874 | 874 | ||
875 | -- Daniel Baumann <daniel.baumann@progress-technologies.net> Thu, 06 Dec 2007 22:36:00 +0100 | 875 | -- Daniel Baumann <daniel.baumann@progress-technologies.net> Thu, 06 Dec 2007 22:36:00 +0100 |
876 | 876 | ||
@@ -971,7 +971,7 @@ gnunet (0.7.1c-2) unstable; urgency=low | |||
971 | gnunet (0.7.1c-1) unstable; urgency=low | 971 | gnunet (0.7.1c-1) unstable; urgency=low |
972 | 972 | ||
973 | * New upstream release (Closes: #420538). | 973 | * New upstream release (Closes: #420538). |
974 | * Package splitted into common, tools, daemon, client and dev (Closes: #394740). | 974 | * Package split into common, tools, daemon, client and dev (Closes: #394740). |
975 | * Added LSB section in init script. | 975 | * Added LSB section in init script. |
976 | * Enable IPv6 (Closes: #405763). | 976 | * Enable IPv6 (Closes: #405763). |
977 | 977 | ||
@@ -1009,7 +1009,7 @@ gnunet (0.7.0e-2) unstable; urgency=low | |||
1009 | 1009 | ||
1010 | gnunet (0.7.0e-1) unstable; urgency=high | 1010 | gnunet (0.7.0e-1) unstable; urgency=high |
1011 | 1011 | ||
1012 | * New uptream release. | 1012 | * New upstream release. |
1013 | * Set urgency to high since this release fix the remote DOS CVE-2006-2413 (Closes: #368159) | 1013 | * Set urgency to high since this release fix the remote DOS CVE-2006-2413 (Closes: #368159) |
1014 | 1014 | ||
1015 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Sun, 21 May 2006 11:24:28 +0200 | 1015 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Sun, 21 May 2006 11:24:28 +0200 |
@@ -1062,7 +1062,7 @@ gnunet (0.7.0-1) unstable; urgency=low | |||
1062 | gnunet (0.6.6b-5) unstable; urgency=low | 1062 | gnunet (0.6.6b-5) unstable; urgency=low |
1063 | 1063 | ||
1064 | * debian/control: Bumped policy version to 3.6.2. | 1064 | * debian/control: Bumped policy version to 3.6.2. |
1065 | * debian/control: Updated depedencies to follow C++ ABI changes (Closes: #325844). | 1065 | * debian/control: Updated dependencies to follow C++ ABI changes (Closes: #325844). |
1066 | * debian/po/vi.po: Added new Vietnamese translation of gnunet debconf messages. Thanks to Clytie Siddall (Closes: #314190). | 1066 | * debian/po/vi.po: Added new Vietnamese translation of gnunet debconf messages. Thanks to Clytie Siddall (Closes: #314190). |
1067 | 1067 | ||
1068 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Sun, 21 Aug 2005 10:54:54 +0200 | 1068 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Sun, 21 Aug 2005 10:54:54 +0200 |
@@ -1163,7 +1163,7 @@ gnunet (0.6.5-3) unstable; urgency=low | |||
1163 | 1163 | ||
1164 | gnunet (0.6.5-2) unstable; urgency=low | 1164 | gnunet (0.6.5-2) unstable; urgency=low |
1165 | 1165 | ||
1166 | * Applied Martin Quinson l10n patch wich switch to gettext-based debconf and | 1166 | * Applied Martin Quinson l10n patch which switch to gettext-based debconf and |
1167 | does the following modifications (Closes: #283632): | 1167 | does the following modifications (Closes: #283632): |
1168 | - debian/control: modification for dependencies: | 1168 | - debian/control: modification for dependencies: |
1169 | build-dep: debhelper (>= 4.1.16) which depends on po-debconf. | 1169 | build-dep: debhelper (>= 4.1.16) which depends on po-debconf. |
@@ -1276,7 +1276,7 @@ gnunet (0.6.4a-4) unstable; urgency=low | |||
1276 | 1276 | ||
1277 | gnunet (0.6.4a-3) unstable; urgency=high | 1277 | gnunet (0.6.4a-3) unstable; urgency=high |
1278 | 1278 | ||
1279 | * Bumb revision number for the package to be rebuild against fixed | 1279 | * Bump revision number for the package to be rebuild against fixed |
1280 | libgcrypt11 (>=1.2.0-10) (Closes: #275793) | 1280 | libgcrypt11 (>=1.2.0-10) (Closes: #275793) |
1281 | 1281 | ||
1282 | * debian/control: Added version requirement for libgcrypt11-dev (>=1.2.0-10). | 1282 | * debian/control: Added version requirement for libgcrypt11-dev (>=1.2.0-10). |
@@ -1298,7 +1298,7 @@ gnunet (0.6.4a-1) unstable; urgency=medium | |||
1298 | * contrib/gnunet.desktop: Added menu file for GNOME and KDE. | 1298 | * contrib/gnunet.desktop: Added menu file for GNOME and KDE. |
1299 | * contrib/gnunet.root: Fixed to follow debian policy. | 1299 | * contrib/gnunet.root: Fixed to follow debian policy. |
1300 | * Removed beta binaries gnunet-dht* and gnunet-setup from package since | 1300 | * Removed beta binaries gnunet-dht* and gnunet-setup from package since |
1301 | they are not yet fonctional. | 1301 | they are not yet functional. |
1302 | 1302 | ||
1303 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Wed, 29 Sep 2004 08:09:38 +0200 | 1303 | -- Arnaud Kyheng <Arnaud.Kyheng@free.fr> Wed, 29 Sep 2004 08:09:38 +0200 |
1304 | 1304 | ||
@@ -1310,7 +1310,7 @@ gnunet (0.6.4-3) unstable; urgency=low | |||
1310 | 1310 | ||
1311 | gnunet (0.6.4-2) unstable; urgency=low | 1311 | gnunet (0.6.4-2) unstable; urgency=low |
1312 | 1312 | ||
1313 | * Bumb revision number so ftp-master will accept it. | 1313 | * Bump revision number so ftp-master will accept it. |
1314 | 1314 | ||
1315 | -- Glenn McGrath <bug1@debian.org> Fri, 10 Sep 2004 12:13:54 +1000 | 1315 | -- Glenn McGrath <bug1@debian.org> Fri, 10 Sep 2004 12:13:54 +1000 |
1316 | 1316 | ||
@@ -1386,7 +1386,7 @@ gnunet (0.6.1d-1) unstable; urgency=low | |||
1386 | gnunet (0.6.1b-1) unstable; urgency=low | 1386 | gnunet (0.6.1b-1) unstable; urgency=low |
1387 | 1387 | ||
1388 | * New upstream release | 1388 | * New upstream release |
1389 | * Run "gnunet-check -ra" in postinst for compatability | 1389 | * Run "gnunet-check -ra" in postinst for compatibility |
1390 | 1390 | ||
1391 | -- Glenn McGrath <bug1@debian.org> Sat, 31 Jan 2004 21:39:33 +1100 | 1391 | -- Glenn McGrath <bug1@debian.org> Sat, 31 Jan 2004 21:39:33 +1100 |
1392 | 1392 | ||
@@ -1452,7 +1452,7 @@ gnunet (0.5.4a-5) unstable; urgency=low | |||
1452 | 1452 | ||
1453 | gnunet (0.5.4a-4) unstable; urgency=low | 1453 | gnunet (0.5.4a-4) unstable; urgency=low |
1454 | 1454 | ||
1455 | * Declare build depenency on libtool as well, grrrr | 1455 | * Declare build dependency on libtool as well, grrrr |
1456 | 1456 | ||
1457 | -- Glenn McGrath <bug1@debian.org> Mon, 21 Jul 2003 15:02:20 +0000 | 1457 | -- Glenn McGrath <bug1@debian.org> Mon, 21 Jul 2003 15:02:20 +0000 |
1458 | 1458 | ||
@@ -1477,15 +1477,15 @@ gnunet (0.5.4a-1) unstable; urgency=low | |||
1477 | * New upstream release. | 1477 | * New upstream release. |
1478 | * Remove build dependency on libgcrypt, gnunet now uses an internal | 1478 | * Remove build dependency on libgcrypt, gnunet now uses an internal |
1479 | crypto library based on the CVS branch of libgcrypt. | 1479 | crypto library based on the CVS branch of libgcrypt. |
1480 | * Change build dependcy from libgdbmg1-dev to libgdbm-dev | 1480 | * Change build dependency from libgdbmg1-dev to libgdbm-dev |
1481 | * After 1 year and 39 days in preparation, its now eligable to be | 1481 | * After 1 year and 39 days in preparation, its now eligible to be |
1482 | uploaded to unstable (Closes: #147380) | 1482 | uploaded to unstable (Closes: #147380) |
1483 | 1483 | ||
1484 | -- Glenn McGrath <bug1@debian.org> Fri, 27 Jun 2003 16:47:54 +0000 | 1484 | -- Glenn McGrath <bug1@debian.org> Fri, 27 Jun 2003 16:47:54 +0000 |
1485 | 1485 | ||
1486 | gnunet (0.5.4-1) unstable; urgency=low | 1486 | gnunet (0.5.4-1) unstable; urgency=low |
1487 | 1487 | ||
1488 | * New upsteam release | 1488 | * New upstream release |
1489 | * Declare shared libraries within gnunet, dependency now detected | 1489 | * Declare shared libraries within gnunet, dependency now detected |
1490 | in gnunet-gtk | 1490 | in gnunet-gtk |
1491 | 1491 | ||
diff --git a/debian/etc/X11/xinit/xinitrc.d/80-gnunet-user-services b/debian/etc/X11/xinit/xinitrc.d/80-gnunet-user-services index aff1dd78c..d780b0e8e 100644 --- a/debian/etc/X11/xinit/xinitrc.d/80-gnunet-user-services +++ b/debian/etc/X11/xinit/xinitrc.d/80-gnunet-user-services | |||
@@ -9,7 +9,6 @@ if [ "$gnunet_proxy" ]; then | |||
9 | port=$((8000+$(id -u "$user"))) | 9 | port=$((8000+$(id -u "$user"))) |
10 | 10 | ||
11 | gnunet-config -c "$HOME/.config/gnunet.conf" \ | 11 | gnunet-config -c "$HOME/.config/gnunet.conf" \ |
12 | --rewrite \ | ||
13 | --section=gns-proxy \ | 12 | --section=gns-proxy \ |
14 | --option=OPTIONS \ | 13 | --option=OPTIONS \ |
15 | --value="-p $port" | 14 | --value="-p $port" |
diff --git a/debian/gnunet.README.Debian b/debian/gnunet.README.Debian index 1bc37bab4..13021e099 100644 --- a/debian/gnunet.README.Debian +++ b/debian/gnunet.README.Debian | |||
@@ -2,7 +2,7 @@ gnunet | |||
2 | ------ | 2 | ------ |
3 | 3 | ||
4 | By default, the gnunet server starts automatically when the system is booted. | 4 | By default, the gnunet server starts automatically when the system is booted. |
5 | If you prefere to start it manually when you use it, change its configuration | 5 | If you prefer to start it manually when you use it, change its configuration |
6 | with: | 6 | with: |
7 | 7 | ||
8 | # dpkg-reconfigure -plow gnunet-systempeer | 8 | # dpkg-reconfigure -plow gnunet-systempeer |
diff --git a/debian/gnunet.lintian-overrides b/debian/gnunet.lintian-overrides index b38bfe954..79a306d71 100644 --- a/debian/gnunet.lintian-overrides +++ b/debian/gnunet.lintian-overrides | |||
@@ -1,3 +1,3 @@ | |||
1 | # internal libraries are not splitted out into a dedicated package to avoid | 1 | # internal libraries are not split out into a dedicated package to avoid |
2 | # micropackaging. | 2 | # micropackaging. |
3 | gnunet: package-name-doesnt-match-sonames | 3 | gnunet: package-name-doesnt-match-sonames |
diff --git a/debian/gnunet.postinst b/debian/gnunet.postinst index 07e5202e8..b6317f5be 100644 --- a/debian/gnunet.postinst +++ b/debian/gnunet.postinst | |||
@@ -149,12 +149,10 @@ EOF | |||
149 | fi | 149 | fi |
150 | port=$((8000+$(id -u "${users[$i]}"))) | 150 | port=$((8000+$(id -u "${users[$i]}"))) |
151 | gnunet-config -c "${homedirs[$i]}/.config/gnunet.conf" \ | 151 | gnunet-config -c "${homedirs[$i]}/.config/gnunet.conf" \ |
152 | --rewrite \ | ||
153 | --section=gns-proxy \ | 152 | --section=gns-proxy \ |
154 | --option=IMMEDIATE_START \ | 153 | --option=IMMEDIATE_START \ |
155 | --value=YES | 154 | --value=YES |
156 | gnunet-config -c "${homedirs[$i]}/.config/gnunet.conf" \ | 155 | gnunet-config -c "${homedirs[$i]}/.config/gnunet.conf" \ |
157 | --rewrite \ | ||
158 | --section=gns-proxy \ | 156 | --section=gns-proxy \ |
159 | --option=OPTIONS \ | 157 | --option=OPTIONS \ |
160 | --value="-p $port" | 158 | --value="-p $port" |
@@ -180,7 +178,6 @@ if [ "$gnunet_proxy" ]; then | |||
180 | port=$((8000+$(id -u $user))) | 178 | port=$((8000+$(id -u $user))) |
181 | 179 | ||
182 | gnunet-config -c $HOME/.config/gnunet.conf \ | 180 | gnunet-config -c $HOME/.config/gnunet.conf \ |
183 | --rewrite \ | ||
184 | --section=gns-proxy \ | 181 | --section=gns-proxy \ |
185 | --option=OPTIONS \ | 182 | --option=OPTIONS \ |
186 | --value="-p $port" | 183 | --value="-p $port" |
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi index 9bb74c3de..1bf7a7b24 100644 --- a/doc/handbook/chapters/developer.texi +++ b/doc/handbook/chapters/developer.texi | |||
@@ -392,9 +392,9 @@ etc.). | |||
392 | @item @file{transport/} --- transport service | 392 | @item @file{transport/} --- transport service |
393 | The transport service is responsible for managing the | 393 | The transport service is responsible for managing the |
394 | basic P2P communication. It uses plugins to support P2P communication | 394 | basic P2P communication. It uses plugins to support P2P communication |
395 | over TCP, UDP, HTTP, HTTPS and other protocols.The transport service | 395 | over TCP, UDP, HTTP, HTTPS and other protocols. The transport service |
396 | validates peer addresses, enforces bandwidth restrictions, limits the | 396 | validates peer addresses, enforces bandwidth restrictions, limits the |
397 | total number of connections and enforces connectivity restrictions (i.e. | 397 | total number of connections and enforces connectivity restrictions (e.g. |
398 | friends-only). | 398 | friends-only). |
399 | @item @file{peerinfo-tool/} --- gnunet-peerinfo | 399 | @item @file{peerinfo-tool/} --- gnunet-peerinfo |
400 | This directory contains the gnunet-peerinfo binary which can be used to | 400 | This directory contains the gnunet-peerinfo binary which can be used to |
@@ -746,21 +746,21 @@ Here you can find some rules to help you write code for GNUnet. | |||
746 | 746 | ||
747 | @itemize @bullet | 747 | @itemize @bullet |
748 | @item services and daemons use their directory name in | 748 | @item services and daemons use their directory name in |
749 | @code{GNUNET_log_setup} (i.e. 'core') and log using | 749 | @code{GNUNET_log_setup} (e.g. 'core') and log using |
750 | plain 'GNUNET_log'. | 750 | plain 'GNUNET_log'. |
751 | @item command-line tools use their full name in | 751 | @item command-line tools use their full name in |
752 | @code{GNUNET_log_setup} (i.e. 'gnunet-publish') and log using | 752 | @code{GNUNET_log_setup} (e.g. 'gnunet-publish') and log using |
753 | plain 'GNUNET_log'. | 753 | plain 'GNUNET_log'. |
754 | @item service access libraries log using | 754 | @item service access libraries log using |
755 | '@code{GNUNET_log_from}' and use '@code{DIRNAME-api}' for the | 755 | '@code{GNUNET_log_from}' and use '@code{DIRNAME-api}' for the |
756 | component (i.e. 'core-api') | 756 | component (e.g. 'core-api') |
757 | @item pure libraries (without associated service) use | 757 | @item pure libraries (without associated service) use |
758 | '@code{GNUNET_log_from}' with the component set to their | 758 | '@code{GNUNET_log_from}' with the component set to their |
759 | library name (without lib or '@file{.so}'), | 759 | library name (without lib or '@file{.so}'), |
760 | which should also be their directory name (i.e. '@file{nat}') | 760 | which should also be their directory name (e.g. '@file{nat}') |
761 | @item plugins should use '@code{GNUNET_log_from}' | 761 | @item plugins should use '@code{GNUNET_log_from}' |
762 | with the directory name and the plugin name combined to produce | 762 | with the directory name and the plugin name combined to produce |
763 | the component name (i.e. 'transport-tcp'). | 763 | the component name (e.g. 'transport-tcp'). |
764 | @item logging should be unified per-file by defining a | 764 | @item logging should be unified per-file by defining a |
765 | @code{LOG} macro with the appropriate arguments, | 765 | @code{LOG} macro with the appropriate arguments, |
766 | along these lines: | 766 | along these lines: |
@@ -832,14 +832,14 @@ test | |||
832 | @subsubsection src/ directories | 832 | @subsubsection src/ directories |
833 | 833 | ||
834 | @itemize @bullet | 834 | @itemize @bullet |
835 | @item gnunet-NAME: end-user applications (i.e., gnunet-search, gnunet-arm) | 835 | @item gnunet-NAME: end-user applications (like gnunet-search or gnunet-arm) |
836 | @item gnunet-service-NAME: service processes with accessor library (i.e., | 836 | @item gnunet-service-NAME: service processes with accessor library (e.g. |
837 | gnunet-service-arm) | 837 | gnunet-service-arm) |
838 | @item libgnunetNAME: accessor library (_service.h-header) or standalone | 838 | @item libgnunetNAME: accessor library (_service.h-header) or standalone |
839 | library (_lib.h-header) | 839 | library (_lib.h-header) |
840 | @item gnunet-daemon-NAME: daemon process without accessor library (i.e., | 840 | @item gnunet-daemon-NAME: daemon process without accessor library (e.g. |
841 | gnunet-daemon-hostlist) and no GNUnet management port | 841 | gnunet-daemon-hostlist) and no GNUnet management port |
842 | @item libgnunet_plugin_DIR_NAME: loadable plugins (i.e., | 842 | @item libgnunet_plugin_DIR_NAME: loadable plugins (e.g. |
843 | libgnunet_plugin_transport_tcp) | 843 | libgnunet_plugin_transport_tcp) |
844 | @end itemize | 844 | @end itemize |
845 | 845 | ||
@@ -2305,7 +2305,7 @@ for new developers): | |||
2305 | @itemize @bullet | 2305 | @itemize @bullet |
2306 | @item logging (common_logging.c) | 2306 | @item logging (common_logging.c) |
2307 | @item memory allocation (common_allocation.c) | 2307 | @item memory allocation (common_allocation.c) |
2308 | @item endianess conversion (common_endian.c) | 2308 | @item endianness conversion (common_endian.c) |
2309 | @item internationalization (common_gettext.c) | 2309 | @item internationalization (common_gettext.c) |
2310 | @item String manipulation (string.c) | 2310 | @item String manipulation (string.c) |
2311 | @item file access (disk.c) | 2311 | @item file access (disk.c) |
@@ -4287,7 +4287,7 @@ which will warn you if you don't have the necessary libraries. | |||
4287 | @c work!@ Finally you just have to be sure that you have the correct drivers | 4287 | @c work!@ Finally you just have to be sure that you have the correct drivers |
4288 | @c for your Bluetooth device installed and that your device is on and in a | 4288 | @c for your Bluetooth device installed and that your device is on and in a |
4289 | @c discoverable mode. The Windows Bluetooth Stack supports only the RFCOMM | 4289 | @c discoverable mode. The Windows Bluetooth Stack supports only the RFCOMM |
4290 | @c protocol so we cannot turn on your device programatically! | 4290 | @c protocol so we cannot turn on your device programmatically! |
4291 | 4291 | ||
4292 | @c FIXME: Change to unique title | 4292 | @c FIXME: Change to unique title |
4293 | @node How does it work2? | 4293 | @node How does it work2? |
@@ -4638,7 +4638,7 @@ simply use the socket. | |||
4638 | @c implementation follows the same principles as the GNU/Linux one: | 4638 | @c implementation follows the same principles as the GNU/Linux one: |
4639 | 4639 | ||
4640 | @c @itemize @bullet | 4640 | @c @itemize @bullet |
4641 | @c @item It has a initalization part where it initializes the | 4641 | @c @item It has a initialization part where it initializes the |
4642 | @c Windows Sockets, creates a RFCOMM socket which will be binded and switched | 4642 | @c Windows Sockets, creates a RFCOMM socket which will be binded and switched |
4643 | @c to the listening mode and registers a SDP service. In the Microsoft | 4643 | @c to the listening mode and registers a SDP service. In the Microsoft |
4644 | @c Bluetooth API there are two ways to work with the SDP: | 4644 | @c Bluetooth API there are two ways to work with the SDP: |
@@ -5023,7 +5023,7 @@ key of the other peer | |||
5023 | ephemeral key of the other peer, but we are waiting for the other peer to | 5023 | ephemeral key of the other peer, but we are waiting for the other peer to |
5024 | confirm it's authenticity (ability to decode) via challenge-response. | 5024 | confirm it's authenticity (ability to decode) via challenge-response. |
5025 | @item @code{KX_STATE_UP} The connection is fully up from the point of | 5025 | @item @code{KX_STATE_UP} The connection is fully up from the point of |
5026 | view of the sender (now performing keep-alives) | 5026 | view of the sender (now performing keep-alive) |
5027 | @item @code{KX_STATE_REKEY_SENT} The sender has initiated a rekeying | 5027 | @item @code{KX_STATE_REKEY_SENT} The sender has initiated a rekeying |
5028 | operation; the other peer has so far failed to confirm a working | 5028 | operation; the other peer has so far failed to confirm a working |
5029 | connection using the new ephemeral key | 5029 | connection using the new ephemeral key |
@@ -5653,7 +5653,7 @@ download. The client component is basically a HTTP client | |||
5653 | (based on libcurl) which can download hostlists from one or more websites. | 5653 | (based on libcurl) which can download hostlists from one or more websites. |
5654 | The hostlist format is a binary blob containing a sequence of HELLO | 5654 | The hostlist format is a binary blob containing a sequence of HELLO |
5655 | messages. Note that any HTTP server can theoretically serve a hostlist, | 5655 | messages. Note that any HTTP server can theoretically serve a hostlist, |
5656 | the build-in hostlist server makes it simply convenient to offer this | 5656 | the built-in hostlist server makes it simply convenient to offer this |
5657 | service. | 5657 | service. |
5658 | 5658 | ||
5659 | 5659 | ||
@@ -5895,7 +5895,7 @@ The size of the list of URLs is restricted, so if an additional server is | |||
5895 | added and the list is full, the URL with the worst quality ranking | 5895 | added and the list is full, the URL with the worst quality ranking |
5896 | (determined through successful downloads and number of HELLOs e.g.) is | 5896 | (determined through successful downloads and number of HELLOs e.g.) is |
5897 | discarded. During shutdown the list of URLs is saved to a file for | 5897 | discarded. During shutdown the list of URLs is saved to a file for |
5898 | persistance and loaded on startup. URLs from the configuration file are | 5898 | persistence and loaded on startup. URLs from the configuration file are |
5899 | never discarded. | 5899 | never discarded. |
5900 | 5900 | ||
5901 | @node Usage | 5901 | @node Usage |
@@ -6155,7 +6155,7 @@ To disconnect from NAMESTORE, clients use | |||
6155 | @code{GNUNET_NAMESTORE_disconnect} and specify the handle to disconnect. | 6155 | @code{GNUNET_NAMESTORE_disconnect} and specify the handle to disconnect. |
6156 | 6156 | ||
6157 | NAMESTORE internally uses the ECDSA private key to refer to zones. These | 6157 | NAMESTORE internally uses the ECDSA private key to refer to zones. These |
6158 | private keys can be obtained from the IDENTITY subsytem. | 6158 | private keys can be obtained from the IDENTITY subsystem. |
6159 | Here @emph{egos} @emph{can be used to refer to zones or the default ego | 6159 | Here @emph{egos} @emph{can be used to refer to zones or the default ego |
6160 | assigned to the GNS subsystem can be used to obtained the master zone's | 6160 | assigned to the GNS subsystem can be used to obtained the master zone's |
6161 | private key.} | 6161 | private key.} |
@@ -6640,7 +6640,7 @@ The size of an element's data is limited to around 62 KB. | |||
6640 | Sets created by a local client can be modified and reused for multiple | 6640 | Sets created by a local client can be modified and reused for multiple |
6641 | operations. As each set operation requires potentially expensive special | 6641 | operations. As each set operation requires potentially expensive special |
6642 | auxiliary data to be computed for each element of a set, a set can only | 6642 | auxiliary data to be computed for each element of a set, a set can only |
6643 | participate in one type of set operation (i.e. union or intersection). | 6643 | participate in one type of set operation (either union or intersection). |
6644 | The type of a set is determined upon its creation. | 6644 | The type of a set is determined upon its creation. |
6645 | If a the elements of a set are needed for an operation of a different | 6645 | If a the elements of a set are needed for an operation of a different |
6646 | type, all of the set's element must be copied to a new set of appropriate | 6646 | type, all of the set's element must be copied to a new set of appropriate |
@@ -6811,7 +6811,7 @@ the client. | |||
6811 | 6811 | ||
6812 | 6812 | ||
6813 | 6813 | ||
6814 | Each listener also requires a seperate client connection. By sending the | 6814 | Each listener also requires a separate client connection. By sending the |
6815 | @code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service | 6815 | @code{GNUNET_SERVICE_SET_LISTEN} message, the client notifies the service |
6816 | of the application id and operation type it is interested in. A client | 6816 | of the application id and operation type it is interested in. A client |
6817 | rejects an incoming request by sending @code{GNUNET_SERVICE_SET_REJECT} | 6817 | rejects an incoming request by sending @code{GNUNET_SERVICE_SET_REJECT} |
@@ -7147,7 +7147,7 @@ the client. | |||
7147 | @node Listeners for Intersection | 7147 | @node Listeners for Intersection |
7148 | @subsubsection Listeners for Intersection | 7148 | @subsubsection Listeners for Intersection |
7149 | 7149 | ||
7150 | Each listener also requires a seperate client connection. By sending the | 7150 | Each listener also requires a separate client connection. By sending the |
7151 | @code{GNUNET_SERVICE_SETI_LISTEN} message, the client notifies the service | 7151 | @code{GNUNET_SERVICE_SETI_LISTEN} message, the client notifies the service |
7152 | of the application id and operation type it is interested in. A client | 7152 | of the application id and operation type it is interested in. A client |
7153 | rejects an incoming request by sending @code{GNUNET_SERVICE_SETI_REJECT} | 7153 | rejects an incoming request by sending @code{GNUNET_SERVICE_SETI_REJECT} |
@@ -7409,7 +7409,7 @@ the client. | |||
7409 | @node Listeners for Union | 7409 | @node Listeners for Union |
7410 | @subsubsection Listeners for Union | 7410 | @subsubsection Listeners for Union |
7411 | 7411 | ||
7412 | Each listener also requires a seperate client connection. By sending the | 7412 | Each listener also requires a separate client connection. By sending the |
7413 | @code{GNUNET_SERVICE_SETU_LISTEN} message, the client notifies the service | 7413 | @code{GNUNET_SERVICE_SETU_LISTEN} message, the client notifies the service |
7414 | of the application id and operation type it is interested in. A client | 7414 | of the application id and operation type it is interested in. A client |
7415 | rejects an incoming request by sending @code{GNUNET_SERVICE_SETU_REJECT} | 7415 | rejects an incoming request by sending @code{GNUNET_SERVICE_SETU_REJECT} |
@@ -7832,7 +7832,7 @@ performance). | |||
7832 | Third, an optional Bloom filter can be specified to exclude known results; | 7832 | Third, an optional Bloom filter can be specified to exclude known results; |
7833 | replies that hash to the bits set in the Bloom filter are considered | 7833 | replies that hash to the bits set in the Bloom filter are considered |
7834 | invalid. False-positives can be eliminated by sending the same query | 7834 | invalid. False-positives can be eliminated by sending the same query |
7835 | again with a different Bloom filter mutator value, which parameterizes | 7835 | again with a different Bloom filter mutator value, which parametrizes |
7836 | the hash function that is used. | 7836 | the hash function that is used. |
7837 | Finally, an optional application-specific "eXtended query" (xquery) can | 7837 | Finally, an optional application-specific "eXtended query" (xquery) can |
7838 | be specified to further constrain the results. It is entirely up to | 7838 | be specified to further constrain the results. It is entirely up to |
@@ -9030,14 +9030,13 @@ particular key has been revoked. The service responds with a | |||
9030 | @code{QueryResponseMessage} which simply contains a bit that says if the | 9030 | @code{QueryResponseMessage} which simply contains a bit that says if the |
9031 | given public key is still valid, or if it has been revoked. | 9031 | given public key is still valid, or if it has been revoked. |
9032 | 9032 | ||
9033 | The second possible interaction is for a client to revoke a key by | 9033 | The second possible interaction is for a client to revoke a key by passing a |
9034 | passing a @code{RevokeMessage} to the service. The @code{RevokeMessage} | 9034 | @code{RevokeMessage} to the service. The @code{RevokeMessage} contains the |
9035 | contains the ECDSA public key to be revoked, a signature by the | 9035 | ECDSA public key to be revoked, a signature by the corresponding private key |
9036 | corresponding private key and the proof-of-work, The service responds | 9036 | and the proof-of-work. The service responds with a |
9037 | with a @code{RevocationResponseMessage} which can be used to indicate | 9037 | @code{RevocationResponseMessage} which can be used to indicate that the |
9038 | that the @code{RevokeMessage} was invalid (i.e. proof of work incorrect), | 9038 | @code{RevokeMessage} was invalid (e.g. the proof of work is incorrect), or |
9039 | or otherwise indicates that the revocation has been processed | 9039 | otherwise to indicate that the revocation has been processed successfully. |
9040 | successfully. | ||
9041 | 9040 | ||
9042 | @node The REVOCATION Peer-to-Peer Protocol | 9041 | @node The REVOCATION Peer-to-Peer Protocol |
9043 | @subsection The REVOCATION Peer-to-Peer Protocol | 9042 | @subsection The REVOCATION Peer-to-Peer Protocol |
@@ -9615,9 +9614,9 @@ In order to address the above issues, we want to: | |||
9615 | TRANSPORT shall create bi-directional channels from this whenever | 9614 | TRANSPORT shall create bi-directional channels from this whenever |
9616 | possible. | 9615 | possible. |
9617 | @item DV should no longer be a plugin, but part of TRANSPORT. | 9616 | @item DV should no longer be a plugin, but part of TRANSPORT. |
9618 | @item TRANSPORT should provide communicators help communicating (i.e. in the | 9617 | @item TRANSPORT should provide communicators help communicating, for example |
9619 | case of uni-directional communicators or the need for out-of-band | 9618 | in the case of uni-directional communicators or the need for out-of-band |
9620 | signalling for NAT traversal). We call this functionality | 9619 | signalling for NAT traversal. We call this functionality |
9621 | @emph{backchannels}. | 9620 | @emph{backchannels}. |
9622 | @item Transport manipulation should be signalled to CORE on a per-message basis | 9621 | @item Transport manipulation should be signalled to CORE on a per-message basis |
9623 | instead of an approximate bandwidth. | 9622 | instead of an approximate bandwidth. |
@@ -9715,8 +9714,8 @@ by layer. For example, CADET will always strictly implement reliable and | |||
9715 | in-order delivery of messages, while the same options are only advisory for | 9714 | in-order delivery of messages, while the same options are only advisory for |
9716 | TRANSPORT and CORE: they should try (using ACKs on unreliable communicators, | 9715 | TRANSPORT and CORE: they should try (using ACKs on unreliable communicators, |
9717 | not changing the message order themselves), but if messages are lost anyway | 9716 | not changing the message order themselves), but if messages are lost anyway |
9718 | (i.e. because a TCP is dropped in the middle), or if messages are reordered | 9717 | (e.g. because a TCP is dropped in the middle), or if messages are reordered |
9719 | (i.e. because they took dierent paths over the network and arrived in a | 9718 | (e.g. because they took different paths over the network and arrived in a |
9720 | different order) TRANSPORT and CORE do not have to correct this. Whether a | 9719 | different order) TRANSPORT and CORE do not have to correct this. Whether a |
9721 | preference is strict or loose is thus dened by the respective layer. | 9720 | preference is strict or loose is thus dened by the respective layer. |
9722 | 9721 | ||
@@ -9728,8 +9727,8 @@ The API for communicators is defined in | |||
9728 | Each communicator must specify its (global) communication characteristics, which | 9727 | Each communicator must specify its (global) communication characteristics, which |
9729 | for now only say whether the communication is reliable (e.g. TCP, HTTPS) or | 9728 | for now only say whether the communication is reliable (e.g. TCP, HTTPS) or |
9730 | unreliable (e.g. UDP, WLAN). Each communicator must specify a unique address | 9729 | unreliable (e.g. UDP, WLAN). Each communicator must specify a unique address |
9731 | prex, or NULL if the communicator cannot establish outgoing connections (i.e. | 9730 | prex, or NULL if the communicator cannot establish outgoing connections |
9732 | is only acting as a TCP server). | 9731 | (for example because it is only acting as a TCP server). |
9733 | A communicator must tell TRANSPORT which addresses it is reachable under. | 9732 | A communicator must tell TRANSPORT which addresses it is reachable under. |
9734 | Addresses may be added or removed at any time. A communicator may have zero | 9733 | Addresses may be added or removed at any time. A communicator may have zero |
9735 | addresses (transmission only). | 9734 | addresses (transmission only). |
@@ -9810,7 +9809,7 @@ properties designed for application level usage: | |||
9810 | @item MESSENGER allows detection for dropped messages by chaining them (messages | 9809 | @item MESSENGER allows detection for dropped messages by chaining them (messages |
9811 | refer to the last message by their hash) improving accountability | 9810 | refer to the last message by their hash) improving accountability |
9812 | @item MESSENGER allows requesting messages from other peers explicitly to ensure | 9811 | @item MESSENGER allows requesting messages from other peers explicitly to ensure |
9813 | availibility | 9812 | availability |
9814 | @item MESSENGER provides confidentiality by padding messages to few different | 9813 | @item MESSENGER provides confidentiality by padding messages to few different |
9815 | 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 |
9816 | CADET) | 9815 | CADET) |
@@ -9825,13 +9824,13 @@ Also MESSENGER provides multiple features with privacy in mind: | |||
9825 | @itemize @bullet | 9824 | @itemize @bullet |
9826 | @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 |
9827 | original sender (uses the MESSENGER provided verification) | 9826 | original sender (uses the MESSENGER provided verification) |
9828 | @item MESSENGER allows using the publically known anonymous ego instead of any | 9827 | @item MESSENGER allows using the publicly known anonymous ego instead of any |
9829 | unique identifying ego | 9828 | unique identifying ego |
9830 | @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 |
9831 | 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) |
9832 | 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 |
9833 | explicitly open a connection to) | 9832 | explicitly open a connection to) |
9834 | @item MESSENGER handles members independantly of the peer's identity making | 9833 | @item MESSENGER handles members independently of the peer's identity making |
9835 | forwarded messages indistinguishable from directly received ones ( | 9834 | forwarded messages indistinguishable from directly received ones ( |
9836 | complicating the tracking of messages and identifying its origin) | 9835 | complicating the tracking of messages and identifying its origin) |
9837 | @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 |
@@ -9977,7 +9976,7 @@ check for completion of a member session requires this information. | |||
9977 | 9976 | ||
9978 | A member session is a triple of the room key, the member ID and the public key | 9977 | A member session is a triple of the room key, the member ID and the public key |
9979 | of the member's ego. Member sessions allow that a member can change their ID or | 9978 | of the member's ego. Member sessions allow that a member can change their ID or |
9980 | their ego once at a time without loosing the ability to delete old messages or | 9979 | their ego once at a time without losing the ability to delete old messages or |
9981 | identifying the original sender of a message. On every change of ID or EGO a | 9980 | identifying the original sender of a message. On every change of ID or EGO a |
9982 | session will be marked as closed. So every session chain will only contain one | 9981 | session will be marked as closed. So every session chain will only contain one |
9983 | open session with the current ID and public key. | 9982 | open session with the current ID and public key. |
diff --git a/doc/handbook/chapters/installation.texi b/doc/handbook/chapters/installation.texi index 40a23e738..24431e20f 100644 --- a/doc/handbook/chapters/installation.texi +++ b/doc/handbook/chapters/installation.texi | |||
@@ -171,7 +171,7 @@ group. In addition the group @code{gnunetdns} may be needed (see below). | |||
171 | 171 | ||
172 | Create user @code{gnunet} who is member of the group @code{gnunet} | 172 | Create user @code{gnunet} who is member of the group @code{gnunet} |
173 | (automatically created) and specify a home directory where the GNUnet | 173 | (automatically created) and specify a home directory where the GNUnet |
174 | services will store persistant data such as information about peers. | 174 | services will store persistent data such as information about peers. |
175 | @example | 175 | @example |
176 | $ sudo useradd --system --home-dir /var/lib/gnunet --create-home gnunet | 176 | $ sudo useradd --system --home-dir /var/lib/gnunet --create-home gnunet |
177 | @end example | 177 | @end example |
@@ -431,7 +431,7 @@ For the @emph{multi-user setup} first the system services need to be started | |||
431 | as the system user, i.e. the user @code{gnunet} needs to execute | 431 | as the system user, i.e. the user @code{gnunet} needs to execute |
432 | @code{gnunet-arm -s}. This should be done by the system's init system. | 432 | @code{gnunet-arm -s}. This should be done by the system's init system. |
433 | Then the user who wants to start GNUnet applications has to run | 433 | Then the user who wants to start GNUnet applications has to run |
434 | @code{gnunet-arm -s} too. It is recommented to automate this, e.g. using | 434 | @code{gnunet-arm -s} too. It is recommended to automate this, e.g. using |
435 | the user's crontab. | 435 | the user's crontab. |
436 | 436 | ||
437 | @node gnunet-gtk | 437 | @node gnunet-gtk |
@@ -1355,7 +1355,7 @@ The interface channel depends on the wlan network that the card is | |||
1355 | connected to. If no connection has been made since the start of the | 1355 | connected to. If no connection has been made since the start of the |
1356 | computer, it is usually the first channel of the card. | 1356 | computer, it is usually the first channel of the card. |
1357 | Peers will only find each other and communicate if they are on the same | 1357 | Peers will only find each other and communicate if they are on the same |
1358 | channel. Channels must be set manually, i.e. using: | 1358 | channel. Channels must be set manually, e.g. by using: |
1359 | 1359 | ||
1360 | @example | 1360 | @example |
1361 | iwconfig wlan0 channel 1 | 1361 | iwconfig wlan0 channel 1 |
@@ -1369,7 +1369,7 @@ proxy forwards the HTTP request he receives with a certain URL to another | |||
1369 | webserver, here a GNUnet peer. | 1369 | webserver, here a GNUnet peer. |
1370 | 1370 | ||
1371 | So if you have a running Apache or nginx webserver you can configure it to | 1371 | So if you have a running Apache or nginx webserver you can configure it to |
1372 | be a GNUnet reverse proxy. Especially if you have a well-known webiste | 1372 | be a GNUnet reverse proxy. Especially if you have a well-known website |
1373 | this improves censorship resistance since it looks as normal surfing | 1373 | this improves censorship resistance since it looks as normal surfing |
1374 | behaviour. | 1374 | behaviour. |
1375 | 1375 | ||
@@ -1944,12 +1944,13 @@ Python installation and its dependencies. | |||
1944 | 1944 | ||
1945 | Another way to install Ascension on Debian is to install the python3-ascension | 1945 | Another way to install Ascension on Debian is to install the python3-ascension |
1946 | package. It can be found within the above mentioned Ascension git repository. | 1946 | package. It can be found within the above mentioned Ascension git repository. |
1947 | This also adds a system user ascension and runs a GNUnet peer in the | 1947 | This also adds a system user called ascension and runs a GNUnet peer in the |
1948 | background. Attention: This only works if a recent version of GNUnet is | 1948 | background. Please note: This only works if a recent version of GNUnet is |
1949 | installed on your system. The version number of Ascension is chosen according | 1949 | installed on your system. The version number of Ascension is chosen according |
1950 | to the required feature level of GNUnet. I.e. Ascension 0.11.5 is only | 1950 | to the required feature level of GNUnet: Ascension 0.11.5 is only |
1951 | compatible with GNUnet 0.11.5 and upwards. As Debian's packages for GNUnet are | 1951 | compatible with GNUnet 0.11.5 or later and so on. |
1952 | outdated even in experimental, you will need to install GNUnet manually | 1952 | As Debian's packages for GNUnet are outdated even in experimental, |
1953 | you will need to install GNUnet manually | ||
1953 | @xref{Installing GNUnet}. | 1954 | @xref{Installing GNUnet}. |
1954 | 1955 | ||
1955 | Please check @xref{Migrating an existing DNS zone into GNS}, for usage manual | 1956 | Please check @xref{Migrating an existing DNS zone into GNS}, for usage manual |
@@ -2034,11 +2035,11 @@ Furthermore, you can serve as a DNS, IPv4 or IPv6 exit to the Internet. | |||
2034 | Being a DNS exit is usually pretty harmless. However, enabling IPv4 or | 2035 | Being a DNS exit is usually pretty harmless. However, enabling IPv4 or |
2035 | IPv6-exit without further precautions may enable adversaries to access | 2036 | IPv6-exit without further precautions may enable adversaries to access |
2036 | your local network, send spam, attack other systems from your Internet | 2037 | your local network, send spam, attack other systems from your Internet |
2037 | connection and to other mischief that will appear to come from your | 2038 | connection and do other mischiefs that will appear to come from your |
2038 | machine. This may or may not get you into legal trouble. | 2039 | machine. This may or may not get you into legal trouble. |
2039 | If you want to allow IPv4 or IPv6-exit functionality, you should strongly | 2040 | If you want to allow IPv4 or IPv6-exit functionality, you should strongly |
2040 | consider adding additional firewall rules manually to protect your local | 2041 | consider adding additional firewall rules manually to protect your local |
2041 | network and to restrict outgoing TCP traffic (i.e. by not allowing access | 2042 | network and to restrict outgoing TCP traffic (e.g. by not allowing access |
2042 | to port 25). While we plan to improve exit-filtering in the future, | 2043 | to port 25). While we plan to improve exit-filtering in the future, |
2043 | you're currently on your own here. | 2044 | you're currently on your own here. |
2044 | Essentially, be prepared for any kind of IP-traffic to exit the respective | 2045 | Essentially, be prepared for any kind of IP-traffic to exit the respective |
@@ -2159,7 +2160,7 @@ run as use "gnunet" (and with option "-c /etc/gnunet.conf" so that it | |||
2159 | modifies the system configuration). As always, gnunet-setup should be run | 2160 | modifies the system configuration). As always, gnunet-setup should be run |
2160 | after the GNUnet peer was stopped using "gnunet-arm -e". Distributors | 2161 | after the GNUnet peer was stopped using "gnunet-arm -e". Distributors |
2161 | might want to include a wrapper for gnunet-setup that allows the | 2162 | might want to include a wrapper for gnunet-setup that allows the |
2162 | desktop-user to "sudo" (i.e. using gtksudo) to the "gnunet" user account | 2163 | desktop-user to "sudo" (e.g. using gtksudo) to the "gnunet" user account |
2163 | and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in | 2164 | and then runs "gnunet-arm -e", "gnunet-setup" and "gnunet-arm -s" in |
2164 | sequence. | 2165 | sequence. |
2165 | 2166 | ||
@@ -2175,7 +2176,7 @@ Sane defaults should exist in your | |||
2175 | you could simply start without any configuration. If you want to | 2176 | you could simply start without any configuration. If you want to |
2176 | configure your peer later, you need to stop it before invoking the | 2177 | configure your peer later, you need to stop it before invoking the |
2177 | @code{gnunet-setup} tool to customize further and to test your | 2178 | @code{gnunet-setup} tool to customize further and to test your |
2178 | configuration (@code{gnunet-setup} has build-in test functions). | 2179 | configuration (@code{gnunet-setup} has built-in test functions). |
2179 | 2180 | ||
2180 | The most important option you might have to still set by hand is in | 2181 | The most important option you might have to still set by hand is in |
2181 | [PATHS]. Here, you use the option "GNUNET_HOME" to specify the path where | 2182 | [PATHS]. Here, you use the option "GNUNET_HOME" to specify the path where |
diff --git a/doc/handbook/chapters/keyconcepts.texi b/doc/handbook/chapters/keyconcepts.texi index f429997bf..49129acf5 100644 --- a/doc/handbook/chapters/keyconcepts.texi +++ b/doc/handbook/chapters/keyconcepts.texi | |||
@@ -242,7 +242,7 @@ against identification. | |||
242 | 242 | ||
243 | The messaging service allows the use of an anonymous ego for the signing and | 243 | The messaging service allows the use of an anonymous ego for the signing and |
244 | verification process of messages instead of a unique ego. This anonymous ego is | 244 | verification process of messages instead of a unique ego. This anonymous ego is |
245 | a publically known key pair which is shared between all peers in GNUnet. | 245 | a publicly known key pair which is shared between all peers in GNUnet. |
246 | 246 | ||
247 | Using this ego only ensures that individual messages alone can't identify its | 247 | Using this ego only ensures that individual messages alone can't identify its |
248 | sender inside of a messenger room. It should be clarified that the route of | 248 | sender inside of a messenger room. It should be clarified that the route of |
diff --git a/doc/handbook/chapters/philosophy.texi b/doc/handbook/chapters/philosophy.texi index 060871189..785a65e42 100644 --- a/doc/handbook/chapters/philosophy.texi +++ b/doc/handbook/chapters/philosophy.texi | |||
@@ -70,7 +70,7 @@ applications. | |||
70 | @node Practicality | 70 | @node Practicality |
71 | @section Practicality | 71 | @section Practicality |
72 | 72 | ||
73 | Whereever possible GNUnet allows the peer to adjust its operations and | 73 | Wherever possible GNUnet allows the peer to adjust its operations and |
74 | functionalities to specific use cases. A GNUnet peer running on a | 74 | functionalities to specific use cases. A GNUnet peer running on a |
75 | mobile device with limited battery for example might choose not to | 75 | mobile device with limited battery for example might choose not to |
76 | relay traffic for other participants. | 76 | relay traffic for other participants. |
diff --git a/doc/handbook/chapters/preface.texi b/doc/handbook/chapters/preface.texi index 62ced08a4..d1afdf756 100644 --- a/doc/handbook/chapters/preface.texi +++ b/doc/handbook/chapters/preface.texi | |||
@@ -85,7 +85,7 @@ book which explains GNUnet in the least complicated way to you. | |||
85 | 85 | ||
86 | Even when you don't want to or can't learn Texinfo, you can contribute. | 86 | Even when you don't want to or can't learn Texinfo, you can contribute. |
87 | Send us an Email or join our IRC chat room on freenode and talk with | 87 | Send us an Email or join our IRC chat room on freenode and talk with |
88 | us about the documentation (the prefered way to reach out is the | 88 | us about the documentation (the preferred way to reach out is the |
89 | mailinglist, since you can communicate with us without waiting on | 89 | mailinglist, since you can communicate with us without waiting on |
90 | someone in the chatroom). | 90 | someone in the chatroom). |
91 | One way or another you can help shape the understanding of GNUnet | 91 | One way or another you can help shape the understanding of GNUnet |
@@ -144,7 +144,7 @@ and privacy-preserving online payments. In 2015, the | |||
144 | @c XXX: but the correct version would lead to problems with | 144 | @c XXX: but the correct version would lead to problems with |
145 | @c XXX: some of our outputs and/or older versions of texinfo | 145 | @c XXX: some of our outputs and/or older versions of texinfo |
146 | @c XXX: and devices that display versions on consoles etc. | 146 | @c XXX: and devices that display versions on consoles etc. |
147 | @c XXX: This is why we keep the pEp until proven that p(tripple bar)p | 147 | @c XXX: This is why we keep the pEp until proven that p(triple bar)p |
148 | @c XXX: does not create broken outputs. | 148 | @c XXX: does not create broken outputs. |
149 | @uref{https://pep.foundation/, pretty Easy privacy} (pEp) project | 149 | @uref{https://pep.foundation/, pretty Easy privacy} (pEp) project |
150 | announced that they will use GNUnet as the technology for their | 150 | announced that they will use GNUnet as the technology for their |
diff --git a/doc/handbook/chapters/user.texi b/doc/handbook/chapters/user.texi index b5889891b..409a89e47 100644 --- a/doc/handbook/chapters/user.texi +++ b/doc/handbook/chapters/user.texi | |||
@@ -71,7 +71,7 @@ $ gnunet-arm -e | |||
71 | ``.pin'' is a default zone which points to a zone managed by gnunet.org. | 71 | ``.pin'' is a default zone which points to a zone managed by gnunet.org. |
72 | Use @code{gnunet-config -s gns} to view the GNS configuration, including | 72 | Use @code{gnunet-config -s gns} to view the GNS configuration, including |
73 | all configured zones that are operated by other users. The respective | 73 | all configured zones that are operated by other users. The respective |
74 | configuration entry names start with a ``.'', i.e. ``.pin''. | 74 | configuration entry names start with a ``.'', e.g. ``.pin''. |
75 | 75 | ||
76 | You can configure any number of top-level domains, and point them to | 76 | You can configure any number of top-level domains, and point them to |
77 | the respective zones of your friends! For this, simply obtain the | 77 | the respective zones of your friends! For this, simply obtain the |
@@ -109,7 +109,7 @@ rules - GO0T87F9BPMF8NKD5A54L2AH1T0GRML539TPFSRMCEA98182QD30 | |||
109 | @subsection The GNS Tab | 109 | @subsection The GNS Tab |
110 | 110 | ||
111 | 111 | ||
112 | Maintaing your zones is through the NAMESTORE service and is discussed | 112 | Maintaining your zones is through the NAMESTORE service and is discussed |
113 | here. You can manage your zone using @command{gnunet-identity} and | 113 | here. You can manage your zone using @command{gnunet-identity} and |
114 | @command{gnunet-namestore}, or most conveniently using | 114 | @command{gnunet-namestore}, or most conveniently using |
115 | @command{gnunet-namestore-gtk}. | 115 | @command{gnunet-namestore-gtk}. |
@@ -1620,7 +1620,7 @@ under "*.friend.gnu". | |||
1620 | BOX records are there to integrate information from TLSA or | 1620 | BOX records are there to integrate information from TLSA or |
1621 | SRV records under the main label. In DNS, TLSA and SRV records | 1621 | SRV records under the main label. In DNS, TLSA and SRV records |
1622 | use special names of the form @code{_port._proto.(label.)*tld} to | 1622 | use special names of the form @code{_port._proto.(label.)*tld} to |
1623 | indicate the port number and protocol (i.e. tcp or udp) for which | 1623 | indicate the port number and protocol (like TCP or UDP) for which |
1624 | the TLSA or SRV record is valid. This causes various problems, and | 1624 | the TLSA or SRV record is valid. This causes various problems, and |
1625 | is elegantly solved in GNS by integrating the protocol and port | 1625 | is elegantly solved in GNS by integrating the protocol and port |
1626 | numbers together with the respective value into a "BOX" record. | 1626 | numbers together with the respective value into a "BOX" record. |
@@ -1633,7 +1633,7 @@ are BOXed up. | |||
1633 | @subsubsection LEHO | 1633 | @subsubsection LEHO |
1634 | 1634 | ||
1635 | The LEgacy HOstname of a server. Some webservers expect a specific | 1635 | The LEgacy HOstname of a server. Some webservers expect a specific |
1636 | hostname to provide a service (virtiual hosting). Also SSL | 1636 | hostname to provide a service (virtual hosting). Also SSL |
1637 | certificates usually contain DNS names. To provide the expected | 1637 | certificates usually contain DNS names. To provide the expected |
1638 | legacy DNS name for a server, the LEHO record can be used. | 1638 | legacy DNS name for a server, the LEHO record can be used. |
1639 | To mitigate the just mentioned issues the GNS proxy has to be used. | 1639 | To mitigate the just mentioned issues the GNS proxy has to be used. |
@@ -1700,7 +1700,7 @@ be useful if you do not want to start resolution in the DNS root zone | |||
1700 | (due to issues such as censorship or availability). | 1700 | (due to issues such as censorship or availability). |
1701 | 1701 | ||
1702 | Note that you would typically want to use a relative name for the | 1702 | Note that you would typically want to use a relative name for the |
1703 | nameserver, i.e. | 1703 | nameserver, like so: |
1704 | 1704 | ||
1705 | @example | 1705 | @example |
1706 | Name: pet; RRType: GNS2DNS; Value: gnunet.org@@ns-joker.+@ | 1706 | Name: pet; RRType: GNS2DNS; Value: gnunet.org@@ns-joker.+@ |
@@ -2244,7 +2244,7 @@ that subnet to the GNUnet exit's TUN interface. | |||
2244 | 2244 | ||
2245 | When running a local service, you should make sure that the local | 2245 | When running a local service, you should make sure that the local |
2246 | service is (also) bound to the IP address of your EXIT interface | 2246 | service is (also) bound to the IP address of your EXIT interface |
2247 | (i.e. 169.254.86.1). It will NOT work if your local service is | 2247 | (e.g. 169.254.86.1). It will NOT work if your local service is |
2248 | just bound to loopback. You may also want to create a "VPN" record | 2248 | just bound to loopback. You may also want to create a "VPN" record |
2249 | in your zone of the GNU Name System to make it easy for others to | 2249 | in your zone of the GNU Name System to make it easy for others to |
2250 | access your service via a name instead of just the full service | 2250 | access your service via a name instead of just the full service |
@@ -2315,7 +2315,7 @@ and restart your peer, your Internet traffic should be tunneled | |||
2315 | over the GNUnet VPN. | 2315 | over the GNUnet VPN. |
2316 | 2316 | ||
2317 | The GNUnet VPN uses DNS-ALG to hijack your IP traffic. Whenever an | 2317 | The GNUnet VPN uses DNS-ALG to hijack your IP traffic. Whenever an |
2318 | application resolves a hostname (i.e. 'gnunet.org'), the | 2318 | application resolves a hostname (like 'gnunet.org'), the |
2319 | "gnunet-daemon-pt" will instruct the "gnunet-service-dns" to intercept | 2319 | "gnunet-daemon-pt" will instruct the "gnunet-service-dns" to intercept |
2320 | the request (possibly route it over GNUnet as well) and replace the | 2320 | the request (possibly route it over GNUnet as well) and replace the |
2321 | normal answer with an IP in the range of the VPN's interface. | 2321 | normal answer with an IP in the range of the VPN's interface. |
@@ -2325,8 +2325,8 @@ destination. | |||
2325 | 2325 | ||
2326 | For applications that do not use DNS, you can also manually create | 2326 | For applications that do not use DNS, you can also manually create |
2327 | such a mapping using the gnunet-vpn command-line tool. Here, you | 2327 | such a mapping using the gnunet-vpn command-line tool. Here, you |
2328 | specify the desired address family of the result (i.e. "-4"), and the | 2328 | specify the desired address family of the result (e.g. "-4"), and the |
2329 | intended target IP on the Internet ("-i 131.159.74.67") and | 2329 | intended target IP on the Internet (e.g. "-i 131.159.74.67") and |
2330 | "gnunet-vpn" will tell you which IP address in the range of your | 2330 | "gnunet-vpn" will tell you which IP address in the range of your |
2331 | VPN tunnel was mapped. | 2331 | VPN tunnel was mapped. |
2332 | 2332 | ||
@@ -2404,7 +2404,7 @@ $ gnunet-peerinfo -s | |||
2404 | 2404 | ||
2405 | A ROOMKEY gets entered in readable text form. The service will then hash the | 2405 | A ROOMKEY gets entered in readable text form. The service will then hash the |
2406 | entered ROOMKEY and use the result as shared secret for transmission through | 2406 | entered ROOMKEY and use the result as shared secret for transmission through |
2407 | the CADET submodule. You can also optionally leave out the '-r' paramter and | 2407 | the CADET submodule. You can also optionally leave out the '-r' parameter and |
2408 | the ROOMKEY to use the zeroed hash instead. | 2408 | the ROOMKEY to use the zeroed hash instead. |
2409 | 2409 | ||
2410 | If no IDENTITY is provided you will not send any name to others, you will be | 2410 | If no IDENTITY is provided you will not send any name to others, you will be |
@@ -2478,7 +2478,7 @@ $ gnunet-messenger [-e IDENTITY] -d PEERIDENTITY -r ROOMKEY -p | |||
2478 | @end example | 2478 | @end example |
2479 | 2479 | ||
2480 | Notice that you can only send such encrypted messages to members who use an ego | 2480 | Notice that you can only send such encrypted messages to members who use an ego |
2481 | which is not publically known as the anonymous ego to ensure transparency. If | 2481 | which is not publicly known as the anonymous ego to ensure transparency. If |
2482 | any user could decrypt these messages they would not be private. So as receiver | 2482 | any user could decrypt these messages they would not be private. So as receiver |
2483 | of such messages the IDENTITY is required and it has to match a local ego. | 2483 | of such messages the IDENTITY is required and it has to match a local ego. |
2484 | 2484 | ||
diff --git a/doc/index.html b/doc/index.html index 93c0e7d9e..bf8683780 100644 --- a/doc/index.html +++ b/doc/index.html | |||
@@ -2,7 +2,7 @@ | |||
2 | <head> | 2 | <head> |
3 | <title>GNUnet - GNUnet Manuals and Handbooks</title> | 3 | <title>GNUnet - GNUnet Manuals and Handbooks</title> |
4 | <meta charset="utf-8"> | 4 | <meta charset="utf-8"> |
5 | <meta name="keywords" content="gnunet,GNUnet,Manual,Manuals,preview,developer-preview,inofficial,GNU"> | 5 | <meta name="keywords" content="gnunet,GNUnet,Manual,Manuals,preview,developer-preview,unofficial,GNU"> |
6 | <meta name="description" content="The GNUnet Manuals"> | 6 | <meta name="description" content="The GNUnet Manuals"> |
7 | <link href="style.css" rel="stylesheet"> | 7 | <link href="style.css" rel="stylesheet"> |
8 | <meta name="viewport" content="width=device-width, initial-scale=1"> | 8 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
diff --git a/doc/man/gnunet-config.1 b/doc/man/gnunet-config.1 index f6166cbca..3d243af89 100644 --- a/doc/man/gnunet-config.1 +++ b/doc/man/gnunet-config.1 | |||
@@ -39,13 +39,13 @@ | |||
39 | .Op Fl s Ar SECTION | Fl -section= Ns Ar SECTION | 39 | .Op Fl s Ar SECTION | Fl -section= Ns Ar SECTION |
40 | .Op Fl V Ar VALUE | Fl -value Ar VALUE | 40 | .Op Fl V Ar VALUE | Fl -value Ar VALUE |
41 | .Op Fl v | -version | 41 | .Op Fl v | -version |
42 | .Op Fl W | -rewrite | 42 | .Op Fl w | -rewrite |
43 | .Sh DESCRIPTION | 43 | .Sh DESCRIPTION |
44 | .Nm | 44 | .Nm |
45 | can be used to read or modify GNUnet configuration files. | 45 | can be used to read or modify GNUnet configuration files. |
46 | .Bl -tag -width indent | 46 | .Bl -tag -width indent |
47 | .It Fl b Ar BACKEND | Fl -supported-backend= Ns Ar BACKEND | 47 | .It Fl b Ar BACKEND | Fl -supported-backend= Ns Ar BACKEND |
48 | Tests whether the specified BACKEND is supported by the current installation. The backend must match the name of a plugin, i.e. "namestore_postgres" for the Postgres database backend of the "NAMESTORE" service. If the BACKEND is supported, gnunet-config will return a status code of 0 (success), otherwise 77 (unsupported). When this option is specified, no other options may be specified. Specifying this option together with other options will cause gnunet-config to return a status code of 1 (error). | 48 | Tests whether the specified BACKEND is supported by the current installation. The backend must match the name of a plugin, e.g. "namestore_postgres" for the Postgres database backend of the "NAMESTORE" service. If the BACKEND is supported, gnunet-config will return a status code of 0 (success), otherwise 77 (unsupported). When this option is specified, no other options may be specified. Specifying this option together with other options will cause gnunet-config to return a status code of 1 (error). |
49 | .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME | 49 | .It Fl c Ar FILENAME | Fl -config= Ns Ar FILENAME |
50 | Use the configuration file FILENAME. | 50 | Use the configuration file FILENAME. |
51 | .It Fl f | -filename | 51 | .It Fl f | -filename |
@@ -69,8 +69,8 @@ Configuration value to store in the given section under the given option. | |||
69 | Must only be given together with -s and -o options. | 69 | Must only be given together with -s and -o options. |
70 | .It Fl v | -version | 70 | .It Fl v | -version |
71 | Print GNUnet version number. | 71 | Print GNUnet version number. |
72 | .It Fl W | -rewrite | 72 | .It Fl w | -rewrite |
73 | Consider differences to defaults only. | 73 | Write to file the full configuration, including default values, instead of just the differences. |
74 | .El | 74 | .El |
75 | .Sh SEE ALSO | 75 | .Sh SEE ALSO |
76 | The full documentation for gnunet is maintained as a Texinfo manual. | 76 | The full documentation for gnunet is maintained as a Texinfo manual. |
diff --git a/doc/man/gnunet-datastore.1 b/doc/man/gnunet-datastore.1 index 81347dcae..842ba62a0 100644 --- a/doc/man/gnunet-datastore.1 +++ b/doc/man/gnunet-datastore.1 | |||
@@ -41,7 +41,7 @@ | |||
41 | .Nm | 41 | .Nm |
42 | can be used to backup and restore or merge GNUnet datastores. | 42 | can be used to backup and restore or merge GNUnet datastores. |
43 | This is useful if a datastore is to be migrated between | 43 | This is useful if a datastore is to be migrated between |
44 | SQL databases, i.e. from sqlite to postgres or vice versa. | 44 | SQL databases, e.g. from sqlite to postgres or vice versa. |
45 | gnunet-datastore will dump the entire contents of the database | 45 | gnunet-datastore will dump the entire contents of the database |
46 | or insert a dump file into the database. | 46 | or insert a dump file into the database. |
47 | .Bl -tag -width indent | 47 | .Bl -tag -width indent |
diff --git a/doc/man/gnunet-namestore.1 b/doc/man/gnunet-namestore.1 index b9bbff027..73bbe5a5c 100644 --- a/doc/man/gnunet-namestore.1 +++ b/doc/man/gnunet-namestore.1 | |||
@@ -109,7 +109,7 @@ Create a record that is a shadow record. | |||
109 | Shadow records are only used once all other records of the same type | 109 | Shadow records are only used once all other records of the same type |
110 | under the same label have expired. | 110 | under the same label have expired. |
111 | .It Fl t Ar TYPE | Fl -type= Ns Ar TYPE | 111 | .It Fl t Ar TYPE | Fl -type= Ns Ar TYPE |
112 | Type of the record to add/delete/display (i.e. "A", "AAAA", "NS", "PKEY", "MX" etc.). | 112 | Type of the record to add/delete/display ("A"; "AAAA"; "NS"; "PKEY"; "MX"; etc.). |
113 | .It Fl u Ar URI | Fl -uri= Ns Ar URI | 113 | .It Fl u Ar URI | Fl -uri= Ns Ar URI |
114 | Add PKEY record from gnunet://gns/-URI to our zone; the record type is | 114 | Add PKEY record from gnunet://gns/-URI to our zone; the record type is |
115 | always PKEY, if no expiration is given FOREVER is used | 115 | always PKEY, if no expiration is given FOREVER is used |
diff --git a/doc/release_policy.rfc.txt b/doc/release_policy.rfc.txt index 8fd89f73c..41c98ec93 100644 --- a/doc/release_policy.rfc.txt +++ b/doc/release_policy.rfc.txt | |||
@@ -42,7 +42,7 @@ document the current release model: | |||
42 | mostly we rather explicitly declare certain bugs as "not critical") | 42 | mostly we rather explicitly declare certain bugs as "not critical") |
43 | - Whenever API changes happen the person making that changes should update | 43 | - Whenever API changes happen the person making that changes should update |
44 | dependencies or at least work with people who hack on the dependencies to | 44 | dependencies or at least work with people who hack on the dependencies to |
45 | cooridnate the adjustments | 45 | coordinate the adjustments |
46 | o buildbots are happy (if running) | 46 | o buildbots are happy (if running) |
47 | o static analysis is happy (if available, false-positives => ignore) | 47 | o static analysis is happy (if available, false-positives => ignore) |
48 | o documentation is reasonably up-to-date | 48 | o documentation is reasonably up-to-date |
@@ -57,7 +57,7 @@ For further information see: https://trunkbaseddevelopment.com/ | |||
57 | 57 | ||
58 | II. Evaluation Criteria | 58 | II. Evaluation Criteria |
59 | ======================= | 59 | ======================= |
60 | (what are criterias to interprete the results as success if we review | 60 | (what are criteria to interpret the results as success if we review |
61 | the problem and solution after a year or so) | 61 | the problem and solution after a year or so) |
62 | 62 | ||
63 | III. Concerns (of team members) | 63 | III. Concerns (of team members) |
@@ -74,7 +74,7 @@ code. I don't have a magic bullet to motivate you to write more tests, | |||
74 | or to improve existing tests. -CG | 74 | or 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 stucked | 77 | missing releases which we feld 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 |
@@ -125,7 +125,7 @@ leaves of the dependency graph, that is great. However, occasionally | |||
125 | there are architectural changes. Not of the type where the graph | 125 | there are architectural changes. Not of the type where the graph |
126 | changes, but where key API assumptions change. We recently had one for | 126 | changes, but where key API assumptions change. We recently had one for |
127 | the GNU Name System with the dropping of ".gnu". Before, CADET | 127 | the GNU Name System with the dropping of ".gnu". Before, CADET |
128 | changed the semantics and paramter for 'port'. In the future, CORE | 128 | changed the semantics and parameter for 'port'. In the future, CORE |
129 | will introduce protocol versioning. Whenever such a change happens, | 129 | will introduce protocol versioning. Whenever such a change happens, |
130 | it usually falls upon the person making that change to update | 130 | it usually falls upon the person making that change to update |
131 | dependencies as well (or at least to work with people who hack on the | 131 | dependencies as well (or at least to work with people who hack on the |
@@ -175,7 +175,7 @@ Note that none of this really adds up to a "release policy". | |||
175 | V. Previous Versions | 175 | V. Previous Versions |
176 | ==================== | 176 | ==================== |
177 | (if we found some flaws in the solution, and we want to change the | 177 | (if we found some flaws in the solution, and we want to change the |
178 | release policy, we document the old ones here als previous versions. | 178 | release policy, we document the old ones here as previous versions. |
179 | the goal is establish a learn process.) | 179 | the goal is establish a learn process.) |
180 | 180 | ||
181 | IV. References | 181 | IV. References |
diff --git a/doc/tutorial/tutorial.texi b/doc/tutorial/tutorial.texi index e1d70c492..0a011c0c8 100644 --- a/doc/tutorial/tutorial.texi +++ b/doc/tutorial/tutorial.texi | |||
@@ -282,7 +282,7 @@ Assuming all dependencies are installed, the following commands will | |||
282 | compile and install GNUnet in your home directory. You can specify the | 282 | compile and install GNUnet in your home directory. You can specify the |
283 | directory where GNUnet will be installed by changing the | 283 | directory where GNUnet will be installed by changing the |
284 | @code{--prefix} value when calling @command{./configure}. If | 284 | @code{--prefix} value when calling @command{./configure}. If |
285 | you do not specifiy a prefix, GNUnet is installed in the directory | 285 | you do not specify a prefix, GNUnet is installed in the directory |
286 | @file{/usr/local}. When developing new applications you may want | 286 | @file{/usr/local}. When developing new applications you may want |
287 | to enable verbose logging by adding @code{--enable-logging=verbose}: | 287 | to enable verbose logging by adding @code{--enable-logging=verbose}: |
288 | 288 | ||
@@ -940,7 +940,7 @@ with the service, a connection must be created: | |||
940 | As a result a @code{GNUNET\_MQ\_Handle} is returned | 940 | As a result a @code{GNUNET\_MQ\_Handle} is returned |
941 | which can to used henceforth to transmit messages to the service. | 941 | which can to used henceforth to transmit messages to the service. |
942 | The complete MQ API can be found in @file{gnunet\_mq\_lib.h}. | 942 | The complete MQ API can be found in @file{gnunet\_mq\_lib.h}. |
943 | The @code{hanlders} array in the example above is incomplete. | 943 | The @code{handlers} array in the example above is incomplete. |
944 | Here is where you will define which messages you expect to | 944 | Here is where you will define which messages you expect to |
945 | receive from the service, and which functions handle them. | 945 | receive from the service, and which functions handle them. |
946 | The @code{error\_cb} is a function that is to be called whenever | 946 | The @code{error\_cb} is a function that is to be called whenever |
@@ -1060,7 +1060,7 @@ functions, typically called @code{run}, @code{client\_connect\_cb} and | |||
1060 | @code{client\_disconnect\_cb} as well as an array of message handlers | 1060 | @code{client\_disconnect\_cb} as well as an array of message handlers |
1061 | that will be called for incoming messages from clients. | 1061 | that will be called for incoming messages from clients. |
1062 | 1062 | ||
1063 | A minimal version of the three central service funtions would look | 1063 | A minimal version of the three central service functions would look |
1064 | like this: | 1064 | like this: |
1065 | 1065 | ||
1066 | @example | 1066 | @example |
@@ -1093,7 +1093,7 @@ forget to call @code{GNUNET\_SERVICE\_client\_continue()}? | |||
1093 | @node Interacting directly with other Peers using the CORE Service | 1093 | @node Interacting directly with other Peers using the CORE Service |
1094 | @section Interacting directly with other Peers using the CORE Service | 1094 | @section Interacting directly with other Peers using the CORE Service |
1095 | 1095 | ||
1096 | FIXME: This section still needs to be updated to the lastest API! | 1096 | FIXME: This section still needs to be updated to the latest API! |
1097 | 1097 | ||
1098 | One of the most important services in GNUnet is the @code{CORE} service | 1098 | One of the most important services in GNUnet is the @code{CORE} service |
1099 | managing connections between peers and handling encryption between peers. | 1099 | managing connections between peers and handling encryption between peers. |
@@ -1349,7 +1349,7 @@ sent. This does not guarantee that the data is accessible to others peers, | |||
1349 | or even that is has been stored, only that the service has requested to | 1349 | or even that is has been stored, only that the service has requested to |
1350 | a neighboring peer the retransmission of the PUT request towards its final | 1350 | a neighboring peer the retransmission of the PUT request towards its final |
1351 | destination. Currently there is no feedback about whether or not the data | 1351 | destination. Currently there is no feedback about whether or not the data |
1352 | has been sucessfully stored or where it has been stored. In order to | 1352 | has been successfully stored or where it has been stored. In order to |
1353 | improve the availablilty of the data and to compensate for possible | 1353 | improve the availablilty of the data and to compensate for possible |
1354 | errors, peers leaving and other unfavorable events, just make several | 1354 | errors, peers leaving and other unfavorable events, just make several |
1355 | PUT requests! | 1355 | PUT requests! |
@@ -1504,7 +1504,7 @@ GET request, a PUT request or a response (a reply to a GET). | |||
1504 | Since the different events have different associated data, | 1504 | Since the different events have different associated data, |
1505 | the API gets 3 different callbacks (one for each message type) | 1505 | the API gets 3 different callbacks (one for each message type) |
1506 | and optional type and key parameters, to allow for filtering of | 1506 | and optional type and key parameters, to allow for filtering of |
1507 | messages. When an event happens, the appropiate callback is | 1507 | messages. When an event happens, the appropriate callback is |
1508 | called with all the information about the event. | 1508 | called with all the information about the event. |
1509 | 1509 | ||
1510 | @example | 1510 | @example |
diff --git a/po/POTFILES.in b/po/POTFILES.in index 9d1e3427c..dd36b7411 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in | |||
@@ -10,13 +10,21 @@ src/arm/arm_monitor_api.c | |||
10 | src/arm/gnunet-arm.c | 10 | src/arm/gnunet-arm.c |
11 | src/arm/gnunet-service-arm.c | 11 | src/arm/gnunet-service-arm.c |
12 | src/arm/mockup-service.c | 12 | src/arm/mockup-service.c |
13 | src/ats-tests/ats-testing-experiment.c | ||
14 | src/ats-tests/ats-testing-log.c | ||
15 | src/ats-tests/ats-testing-preferences.c | ||
16 | src/ats-tests/ats-testing-traffic.c | ||
17 | src/ats-tests/ats-testing.c | ||
18 | src/ats-tests/gnunet-ats-sim.c | ||
19 | src/ats-tests/gnunet-solver-eval.c | ||
20 | src/ats-tool/gnunet-ats.c | ||
13 | src/ats/ats_api_connectivity.c | 21 | src/ats/ats_api_connectivity.c |
14 | src/ats/ats_api_performance.c | 22 | src/ats/ats_api_performance.c |
15 | src/ats/ats_api_scanner.c | 23 | src/ats/ats_api_scanner.c |
16 | src/ats/ats_api_scheduling.c | 24 | src/ats/ats_api_scheduling.c |
17 | src/ats/gnunet-ats-solver-eval.c | 25 | src/ats/gnunet-ats-solver-eval.c |
18 | src/ats/gnunet-service-ats_addresses.c | ||
19 | src/ats/gnunet-service-ats.c | 26 | src/ats/gnunet-service-ats.c |
27 | src/ats/gnunet-service-ats_addresses.c | ||
20 | src/ats/gnunet-service-ats_connectivity.c | 28 | src/ats/gnunet-service-ats_connectivity.c |
21 | src/ats/gnunet-service-ats_normalization.c | 29 | src/ats/gnunet-service-ats_normalization.c |
22 | src/ats/gnunet-service-ats_performance.c | 30 | src/ats/gnunet-service-ats_performance.c |
@@ -25,14 +33,6 @@ src/ats/gnunet-service-ats_preferences.c | |||
25 | src/ats/gnunet-service-ats_reservations.c | 33 | src/ats/gnunet-service-ats_reservations.c |
26 | src/ats/gnunet-service-ats_scheduling.c | 34 | src/ats/gnunet-service-ats_scheduling.c |
27 | src/ats/plugin_ats_proportional.c | 35 | src/ats/plugin_ats_proportional.c |
28 | src/ats-tests/ats-testing.c | ||
29 | src/ats-tests/ats-testing-experiment.c | ||
30 | src/ats-tests/ats-testing-log.c | ||
31 | src/ats-tests/ats-testing-preferences.c | ||
32 | src/ats-tests/ats-testing-traffic.c | ||
33 | src/ats-tests/gnunet-ats-sim.c | ||
34 | src/ats-tests/gnunet-solver-eval.c | ||
35 | src/ats-tool/gnunet-ats.c | ||
36 | src/auction/gnunet-auction-create.c | 36 | src/auction/gnunet-auction-create.c |
37 | src/auction/gnunet-auction-info.c | 37 | src/auction/gnunet-auction-info.c |
38 | src/auction/gnunet-auction-join.c | 38 | src/auction/gnunet-auction-join.c |
@@ -50,8 +50,8 @@ src/cadet/cadet_api_list_peers.c | |||
50 | src/cadet/cadet_api_list_tunnels.c | 50 | src/cadet/cadet_api_list_tunnels.c |
51 | src/cadet/cadet_test_lib.c | 51 | src/cadet/cadet_test_lib.c |
52 | src/cadet/desirability_table.c | 52 | src/cadet/desirability_table.c |
53 | src/cadet/gnunet-cadet.c | ||
54 | src/cadet/gnunet-cadet-profiler.c | 53 | src/cadet/gnunet-cadet-profiler.c |
54 | src/cadet/gnunet-cadet.c | ||
55 | src/cadet/gnunet-service-cadet.c | 55 | src/cadet/gnunet-service-cadet.c |
56 | src/cadet/gnunet-service-cadet_channel.c | 56 | src/cadet/gnunet-service-cadet_channel.c |
57 | src/cadet/gnunet-service-cadet_connection.c | 57 | src/cadet/gnunet-service-cadet_connection.c |
@@ -67,15 +67,15 @@ src/consensus/gnunet-service-consensus.c | |||
67 | src/consensus/plugin_block_consensus.c | 67 | src/consensus/plugin_block_consensus.c |
68 | src/conversation/conversation_api.c | 68 | src/conversation/conversation_api.c |
69 | src/conversation/conversation_api_call.c | 69 | src/conversation/conversation_api_call.c |
70 | src/conversation/gnunet-conversation.c | ||
71 | src/conversation/gnunet-conversation-test.c | 70 | src/conversation/gnunet-conversation-test.c |
72 | src/conversation/gnunet_gst.c | 71 | src/conversation/gnunet-conversation.c |
73 | src/conversation/gnunet_gst_test.c | ||
74 | src/conversation/gnunet-helper-audio-playback.c | ||
75 | src/conversation/gnunet-helper-audio-playback-gst.c | 72 | src/conversation/gnunet-helper-audio-playback-gst.c |
76 | src/conversation/gnunet-helper-audio-record.c | 73 | src/conversation/gnunet-helper-audio-playback.c |
77 | src/conversation/gnunet-helper-audio-record-gst.c | 74 | src/conversation/gnunet-helper-audio-record-gst.c |
75 | src/conversation/gnunet-helper-audio-record.c | ||
78 | src/conversation/gnunet-service-conversation.c | 76 | src/conversation/gnunet-service-conversation.c |
77 | src/conversation/gnunet_gst.c | ||
78 | src/conversation/gnunet_gst_test.c | ||
79 | src/conversation/microphone.c | 79 | src/conversation/microphone.c |
80 | src/conversation/plugin_gnsrecord_conversation.c | 80 | src/conversation/plugin_gnsrecord_conversation.c |
81 | src/conversation/speaker.c | 81 | src/conversation/speaker.c |
@@ -105,7 +105,6 @@ src/dht/dht_api.c | |||
105 | src/dht/dht_test_lib.c | 105 | src/dht/dht_test_lib.c |
106 | src/dht/gnunet-dht-get.c | 106 | src/dht/gnunet-dht-get.c |
107 | src/dht/gnunet-dht-monitor.c | 107 | src/dht/gnunet-dht-monitor.c |
108 | src/dht/gnunet_dht_profiler.c | ||
109 | src/dht/gnunet-dht-put.c | 108 | src/dht/gnunet-dht-put.c |
110 | src/dht/gnunet-service-dht.c | 109 | src/dht/gnunet-service-dht.c |
111 | src/dht/gnunet-service-dht_clients.c | 110 | src/dht/gnunet-service-dht_clients.c |
@@ -114,6 +113,7 @@ src/dht/gnunet-service-dht_hello.c | |||
114 | src/dht/gnunet-service-dht_neighbours.c | 113 | src/dht/gnunet-service-dht_neighbours.c |
115 | src/dht/gnunet-service-dht_nse.c | 114 | src/dht/gnunet-service-dht_nse.c |
116 | src/dht/gnunet-service-dht_routing.c | 115 | src/dht/gnunet-service-dht_routing.c |
116 | src/dht/gnunet_dht_profiler.c | ||
117 | src/dht/plugin_block_dht.c | 117 | src/dht/plugin_block_dht.c |
118 | src/dns/dns_api.c | 118 | src/dns/dns_api.c |
119 | src/dns/gnunet-dns-monitor.c | 119 | src/dns/gnunet-dns-monitor.c |
@@ -148,8 +148,8 @@ src/fs/gnunet-auto-share.c | |||
148 | src/fs/gnunet-daemon-fsprofiler.c | 148 | src/fs/gnunet-daemon-fsprofiler.c |
149 | src/fs/gnunet-directory.c | 149 | src/fs/gnunet-directory.c |
150 | src/fs/gnunet-download.c | 150 | src/fs/gnunet-download.c |
151 | src/fs/gnunet-fs.c | ||
152 | src/fs/gnunet-fs-profiler.c | 151 | src/fs/gnunet-fs-profiler.c |
152 | src/fs/gnunet-fs.c | ||
153 | src/fs/gnunet-helper-fs-publish.c | 153 | src/fs/gnunet-helper-fs-publish.c |
154 | src/fs/gnunet-publish.c | 154 | src/fs/gnunet-publish.c |
155 | src/fs/gnunet-search.c | 155 | src/fs/gnunet-search.c |
@@ -169,9 +169,9 @@ src/gns/gns_tld_api.c | |||
169 | src/gns/gnunet-bcd.c | 169 | src/gns/gnunet-bcd.c |
170 | src/gns/gnunet-dns2gns.c | 170 | src/gns/gnunet-dns2gns.c |
171 | src/gns/gnunet-gns-benchmark.c | 171 | src/gns/gnunet-gns-benchmark.c |
172 | src/gns/gnunet-gns.c | ||
173 | src/gns/gnunet-gns-import.c | 172 | src/gns/gnunet-gns-import.c |
174 | src/gns/gnunet-gns-proxy.c | 173 | src/gns/gnunet-gns-proxy.c |
174 | src/gns/gnunet-gns.c | ||
175 | src/gns/gnunet-service-gns.c | 175 | src/gns/gnunet-service-gns.c |
176 | src/gns/gnunet-service-gns_interceptor.c | 176 | src/gns/gnunet-service-gns_interceptor.c |
177 | src/gns/gnunet-service-gns_resolver.c | 177 | src/gns/gnunet-service-gns_resolver.c |
@@ -189,8 +189,8 @@ src/gnsrecord/json_gnsrecord.c | |||
189 | src/gnsrecord/plugin_gnsrecord_dns.c | 189 | src/gnsrecord/plugin_gnsrecord_dns.c |
190 | src/hello/address.c | 190 | src/hello/address.c |
191 | src/hello/gnunet-hello.c | 191 | src/hello/gnunet-hello.c |
192 | src/hello/hello.c | ||
193 | src/hello/hello-ng.c | 192 | src/hello/hello-ng.c |
193 | src/hello/hello.c | ||
194 | src/hostlist/gnunet-daemon-hostlist.c | 194 | src/hostlist/gnunet-daemon-hostlist.c |
195 | src/hostlist/gnunet-daemon-hostlist_client.c | 195 | src/hostlist/gnunet-daemon-hostlist_client.c |
196 | src/hostlist/gnunet-daemon-hostlist_server.c | 196 | src/hostlist/gnunet-daemon-hostlist_server.c |
@@ -205,8 +205,8 @@ src/json/json_generator.c | |||
205 | src/json/json_helper.c | 205 | src/json/json_helper.c |
206 | src/json/json_mhd.c | 206 | src/json/json_mhd.c |
207 | src/messenger/gnunet-messenger.c | 207 | src/messenger/gnunet-messenger.c |
208 | src/messenger/gnunet-service-messenger_basement.c | ||
209 | src/messenger/gnunet-service-messenger.c | 208 | src/messenger/gnunet-service-messenger.c |
209 | src/messenger/gnunet-service-messenger_basement.c | ||
210 | src/messenger/gnunet-service-messenger_ego_store.c | 210 | src/messenger/gnunet-service-messenger_ego_store.c |
211 | src/messenger/gnunet-service-messenger_handle.c | 211 | src/messenger/gnunet-service-messenger_handle.c |
212 | src/messenger/gnunet-service-messenger_list_handles.c | 212 | src/messenger/gnunet-service-messenger_list_handles.c |
@@ -245,8 +245,8 @@ src/namecache/namecache_api.c | |||
245 | src/namecache/plugin_namecache_flat.c | 245 | src/namecache/plugin_namecache_flat.c |
246 | src/namecache/plugin_namecache_postgres.c | 246 | src/namecache/plugin_namecache_postgres.c |
247 | src/namecache/plugin_namecache_sqlite.c | 247 | src/namecache/plugin_namecache_sqlite.c |
248 | src/namestore/gnunet-namestore.c | ||
249 | src/namestore/gnunet-namestore-fcfsd.c | 248 | src/namestore/gnunet-namestore-fcfsd.c |
249 | src/namestore/gnunet-namestore.c | ||
250 | src/namestore/gnunet-service-namestore.c | 250 | src/namestore/gnunet-service-namestore.c |
251 | src/namestore/gnunet-zoneimport.c | 251 | src/namestore/gnunet-zoneimport.c |
252 | src/namestore/namestore_api.c | 252 | src/namestore/namestore_api.c |
@@ -272,17 +272,17 @@ src/nat/gnunet-service-nat_mini.c | |||
272 | src/nat/gnunet-service-nat_stun.c | 272 | src/nat/gnunet-service-nat_stun.c |
273 | src/nat/nat_api.c | 273 | src/nat/nat_api.c |
274 | src/nat/nat_api_stun.c | 274 | src/nat/nat_api_stun.c |
275 | src/nse/gnunet-nse.c | ||
276 | src/nse/gnunet-nse-profiler.c | 275 | src/nse/gnunet-nse-profiler.c |
276 | src/nse/gnunet-nse.c | ||
277 | src/nse/gnunet-service-nse.c | 277 | src/nse/gnunet-service-nse.c |
278 | src/nse/nse_api.c | 278 | src/nse/nse_api.c |
279 | src/nt/nt.c | 279 | src/nt/nt.c |
280 | src/peerinfo/gnunet-service-peerinfo.c | ||
281 | src/peerinfo/peerinfo_api.c | ||
282 | src/peerinfo/peerinfo_api_notify.c | ||
283 | src/peerinfo-tool/gnunet-peerinfo.c | 280 | src/peerinfo-tool/gnunet-peerinfo.c |
284 | src/peerinfo-tool/gnunet-peerinfo_plugins.c | 281 | src/peerinfo-tool/gnunet-peerinfo_plugins.c |
285 | src/peerinfo-tool/plugin_rest_peerinfo.c | 282 | src/peerinfo-tool/plugin_rest_peerinfo.c |
283 | src/peerinfo/gnunet-service-peerinfo.c | ||
284 | src/peerinfo/peerinfo_api.c | ||
285 | src/peerinfo/peerinfo_api_notify.c | ||
286 | src/peerstore/gnunet-peerstore.c | 286 | src/peerstore/gnunet-peerstore.c |
287 | src/peerstore/gnunet-service-peerstore.c | 287 | src/peerstore/gnunet-service-peerstore.c |
288 | src/peerstore/peerstore_api.c | 288 | src/peerstore/peerstore_api.c |
@@ -302,10 +302,13 @@ src/reclaim/gnunet-service-reclaim.c | |||
302 | src/reclaim/gnunet-service-reclaim_tickets.c | 302 | src/reclaim/gnunet-service-reclaim_tickets.c |
303 | src/reclaim/json_reclaim.c | 303 | src/reclaim/json_reclaim.c |
304 | src/reclaim/oidc_helper.c | 304 | src/reclaim/oidc_helper.c |
305 | src/reclaim/pabc_helper.c | ||
305 | src/reclaim/plugin_gnsrecord_reclaim.c | 306 | src/reclaim/plugin_gnsrecord_reclaim.c |
306 | src/reclaim/plugin_reclaim_attribute_basic.c | 307 | src/reclaim/plugin_reclaim_attribute_basic.c |
307 | src/reclaim/plugin_reclaim_credential_jwt.c | 308 | src/reclaim/plugin_reclaim_credential_jwt.c |
309 | src/reclaim/plugin_reclaim_credential_pabc.c | ||
308 | src/reclaim/plugin_rest_openid_connect.c | 310 | src/reclaim/plugin_rest_openid_connect.c |
311 | src/reclaim/plugin_rest_pabc.c | ||
309 | src/reclaim/plugin_rest_reclaim.c | 312 | src/reclaim/plugin_rest_reclaim.c |
310 | src/reclaim/reclaim_api.c | 313 | src/reclaim/reclaim_api.c |
311 | src/reclaim/reclaim_attribute.c | 314 | src/reclaim/reclaim_attribute.c |
@@ -328,27 +331,27 @@ src/rest/gnunet-rest-server.c | |||
328 | src/rest/plugin_rest_config.c | 331 | src/rest/plugin_rest_config.c |
329 | src/rest/plugin_rest_copying.c | 332 | src/rest/plugin_rest_copying.c |
330 | src/rest/rest.c | 333 | src/rest/rest.c |
331 | src/revocation/gnunet-revocation.c | ||
332 | src/revocation/gnunet-revocation-tvg.c | 334 | src/revocation/gnunet-revocation-tvg.c |
335 | src/revocation/gnunet-revocation.c | ||
333 | src/revocation/gnunet-service-revocation.c | 336 | src/revocation/gnunet-service-revocation.c |
334 | src/revocation/plugin_block_revocation.c | 337 | src/revocation/plugin_block_revocation.c |
335 | src/revocation/revocation_api.c | 338 | src/revocation/revocation_api.c |
336 | src/rps/gnunet-rps.c | ||
337 | src/rps/gnunet-rps-profiler.c | 339 | src/rps/gnunet-rps-profiler.c |
340 | src/rps/gnunet-rps.c | ||
338 | src/rps/gnunet-service-rps.c | 341 | src/rps/gnunet-service-rps.c |
339 | src/rps/gnunet-service-rps_custommap.c | 342 | src/rps/gnunet-service-rps_custommap.c |
340 | src/rps/gnunet-service-rps_sampler.c | 343 | src/rps/gnunet-service-rps_sampler.c |
341 | src/rps/gnunet-service-rps_sampler_elem.c | 344 | src/rps/gnunet-service-rps_sampler_elem.c |
342 | src/rps/gnunet-service-rps_view.c | 345 | src/rps/gnunet-service-rps_view.c |
343 | src/rps/rps_api.c | ||
344 | src/rps/rps-sampler_client.c | 346 | src/rps/rps-sampler_client.c |
345 | src/rps/rps-sampler_common.c | 347 | src/rps/rps-sampler_common.c |
346 | src/rps/rps-test_util.c | 348 | src/rps/rps-test_util.c |
349 | src/rps/rps_api.c | ||
347 | src/scalarproduct/gnunet-scalarproduct.c | 350 | src/scalarproduct/gnunet-scalarproduct.c |
348 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
349 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
350 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c | 351 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c |
351 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c | 352 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c |
353 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
354 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
352 | src/scalarproduct/scalarproduct_api.c | 355 | src/scalarproduct/scalarproduct_api.c |
353 | src/secretsharing/gnunet-secretsharing-profiler.c | 356 | src/secretsharing/gnunet-secretsharing-profiler.c |
354 | src/secretsharing/gnunet-service-secretsharing.c | 357 | src/secretsharing/gnunet-service-secretsharing.c |
@@ -362,12 +365,12 @@ src/set/gnunet-set-ibf-profiler.c | |||
362 | src/set/gnunet-set-profiler.c | 365 | src/set/gnunet-set-profiler.c |
363 | src/set/ibf.c | 366 | src/set/ibf.c |
364 | src/set/ibf_sim.c | 367 | src/set/ibf_sim.c |
368 | src/set/plugin_block_set_test.c | ||
369 | src/set/set_api.c | ||
365 | src/seti/gnunet-service-seti.c | 370 | src/seti/gnunet-service-seti.c |
366 | src/seti/gnunet-seti-profiler.c | 371 | src/seti/gnunet-seti-profiler.c |
367 | src/seti/plugin_block_seti_test.c | 372 | src/seti/plugin_block_seti_test.c |
368 | src/seti/seti_api.c | 373 | src/seti/seti_api.c |
369 | src/set/plugin_block_set_test.c | ||
370 | src/set/set_api.c | ||
371 | src/setu/gnunet-service-setu.c | 374 | src/setu/gnunet-service-setu.c |
372 | src/setu/gnunet-service-setu_strata_estimator.c | 375 | src/setu/gnunet-service-setu_strata_estimator.c |
373 | src/setu/gnunet-setu-ibf-profiler.c | 376 | src/setu/gnunet-setu-ibf-profiler.c |
@@ -386,15 +389,16 @@ src/statistics/gnunet-statistics.c | |||
386 | src/statistics/statistics_api.c | 389 | src/statistics/statistics_api.c |
387 | src/template/gnunet-service-template.c | 390 | src/template/gnunet-service-template.c |
388 | src/template/gnunet-template.c | 391 | src/template/gnunet-template.c |
392 | src/testbed-logger/gnunet-service-testbed-logger.c | ||
393 | src/testbed-logger/testbed_logger_api.c | ||
389 | src/testbed/generate-underlay-topology.c | 394 | src/testbed/generate-underlay-topology.c |
390 | src/testbed/gnunet-daemon-latency-logger.c | 395 | src/testbed/gnunet-daemon-latency-logger.c |
391 | src/testbed/gnunet-daemon-testbed-blacklist.c | 396 | src/testbed/gnunet-daemon-testbed-blacklist.c |
392 | src/testbed/gnunet-daemon-testbed-underlay.c | 397 | src/testbed/gnunet-daemon-testbed-underlay.c |
393 | src/testbed/gnunet-helper-testbed.c | 398 | src/testbed/gnunet-helper-testbed.c |
394 | src/testbed/gnunet_mpi_test.c | ||
395 | src/testbed/gnunet-service-test-barriers.c | 399 | src/testbed/gnunet-service-test-barriers.c |
396 | src/testbed/gnunet-service-testbed_barriers.c | ||
397 | src/testbed/gnunet-service-testbed.c | 400 | src/testbed/gnunet-service-testbed.c |
401 | src/testbed/gnunet-service-testbed_barriers.c | ||
398 | src/testbed/gnunet-service-testbed_cache.c | 402 | src/testbed/gnunet-service-testbed_cache.c |
399 | src/testbed/gnunet-service-testbed_connectionpool.c | 403 | src/testbed/gnunet-service-testbed_connectionpool.c |
400 | src/testbed/gnunet-service-testbed_cpustatus.c | 404 | src/testbed/gnunet-service-testbed_cpustatus.c |
@@ -402,69 +406,81 @@ src/testbed/gnunet-service-testbed_links.c | |||
402 | src/testbed/gnunet-service-testbed_meminfo.c | 406 | src/testbed/gnunet-service-testbed_meminfo.c |
403 | src/testbed/gnunet-service-testbed_oc.c | 407 | src/testbed/gnunet-service-testbed_oc.c |
404 | src/testbed/gnunet-service-testbed_peers.c | 408 | src/testbed/gnunet-service-testbed_peers.c |
405 | src/testbed/gnunet_testbed_mpi_spawn.c | ||
406 | src/testbed/gnunet-testbed-profiler.c | 409 | src/testbed/gnunet-testbed-profiler.c |
407 | src/testbed-logger/gnunet-service-testbed-logger.c | 410 | src/testbed/gnunet_mpi_test.c |
408 | src/testbed-logger/testbed_logger_api.c | 411 | src/testbed/gnunet_testbed_mpi_spawn.c |
409 | src/testbed/testbed_api_barriers.c | ||
410 | src/testbed/testbed_api.c | 412 | src/testbed/testbed_api.c |
413 | src/testbed/testbed_api_barriers.c | ||
411 | src/testbed/testbed_api_cmd_controller.c | 414 | src/testbed/testbed_api_cmd_controller.c |
412 | src/testbed/testbed_api_cmd_peer.c | 415 | src/testbed/testbed_api_cmd_peer.c |
413 | src/testbed/testbed_api_cmd_service.c | 416 | src/testbed/testbed_api_cmd_peer_store.c |
417 | src/testbed/testbed_api_cmd_tng_connect.c | ||
418 | src/testbed/testbed_api_cmd_tng_service.c | ||
414 | src/testbed/testbed_api_hosts.c | 419 | src/testbed/testbed_api_hosts.c |
415 | src/testbed/testbed_api_operations.c | 420 | src/testbed/testbed_api_operations.c |
416 | src/testbed/testbed_api_peers.c | 421 | src/testbed/testbed_api_peers.c |
417 | src/testbed/testbed_api_sd.c | 422 | src/testbed/testbed_api_sd.c |
418 | src/testbed/testbed_api_services.c | 423 | src/testbed/testbed_api_services.c |
419 | src/testbed/testbed_api_statistics.c | 424 | src/testbed/testbed_api_statistics.c |
420 | src/testbed/testbed_api_testbed.c | ||
421 | src/testbed/testbed_api_test.c | 425 | src/testbed/testbed_api_test.c |
426 | src/testbed/testbed_api_testbed.c | ||
422 | src/testbed/testbed_api_topology.c | 427 | src/testbed/testbed_api_topology.c |
423 | src/testbed/testbed_api_underlay.c | 428 | src/testbed/testbed_api_underlay.c |
424 | src/testing/gnunet-testing.c | 429 | src/testing/gnunet-testing.c |
425 | src/testing/list-keys.c | 430 | src/testing/list-keys.c |
431 | src/testing/testing.c | ||
426 | src/testing/testing_api_cmd_batch.c | 432 | src/testing/testing_api_cmd_batch.c |
427 | src/testing/testing_api_cmd_hello_world_birth.c | ||
428 | src/testing/testing_api_cmd_hello_world.c | 433 | src/testing/testing_api_cmd_hello_world.c |
434 | src/testing/testing_api_cmd_hello_world_birth.c | ||
429 | src/testing/testing_api_loop.c | 435 | src/testing/testing_api_loop.c |
430 | src/testing/testing_api_trait_cmd.c | 436 | src/testing/testing_api_trait_cmd.c |
431 | src/testing/testing_api_trait_process.c | 437 | src/testing/testing_api_trait_process.c |
432 | src/testing/testing_api_traits.c | 438 | src/testing/testing_api_traits.c |
433 | src/testing/testing.c | ||
434 | src/topology/friends.c | 439 | src/topology/friends.c |
435 | src/topology/gnunet-daemon-topology.c | 440 | src/topology/gnunet-daemon-topology.c |
436 | src/transport/gnunet-communicator-tcp.c | 441 | src/transport/gnunet-communicator-tcp.c |
437 | src/transport/gnunet-communicator-udp.c | 442 | src/transport/gnunet-communicator-udp.c |
438 | src/transport/gnunet-communicator-unix.c | 443 | src/transport/gnunet-communicator-unix.c |
439 | src/transport/gnunet-helper-transport-bluetooth.c | 444 | src/transport/gnunet-helper-transport-bluetooth.c |
440 | src/transport/gnunet-helper-transport-wlan.c | ||
441 | src/transport/gnunet-helper-transport-wlan-dummy.c | 445 | src/transport/gnunet-helper-transport-wlan-dummy.c |
446 | src/transport/gnunet-helper-transport-wlan.c | ||
442 | src/transport/gnunet-service-tng.c | 447 | src/transport/gnunet-service-tng.c |
443 | src/transport/gnunet-service-transport_ats.c | ||
444 | src/transport/gnunet-service-transport.c | 448 | src/transport/gnunet-service-transport.c |
449 | src/transport/gnunet-service-transport_ats.c | ||
445 | src/transport/gnunet-service-transport_hello.c | 450 | src/transport/gnunet-service-transport_hello.c |
446 | src/transport/gnunet-service-transport_manipulation.c | 451 | src/transport/gnunet-service-transport_manipulation.c |
447 | src/transport/gnunet-service-transport_neighbours.c | 452 | src/transport/gnunet-service-transport_neighbours.c |
448 | src/transport/gnunet-service-transport_plugins.c | 453 | src/transport/gnunet-service-transport_plugins.c |
449 | src/transport/gnunet-service-transport_validation.c | 454 | src/transport/gnunet-service-transport_validation.c |
450 | src/transport/gnunet-transport.c | ||
451 | src/transport/gnunet-transport-profiler.c | 455 | src/transport/gnunet-transport-profiler.c |
452 | src/transport/gnunet-transport-wlan-receiver.c | 456 | src/transport/gnunet-transport-wlan-receiver.c |
453 | src/transport/gnunet-transport-wlan-sender.c | 457 | src/transport/gnunet-transport-wlan-sender.c |
458 | src/transport/gnunet-transport.c | ||
454 | src/transport/plugin_transport_http_client.c | 459 | src/transport/plugin_transport_http_client.c |
455 | src/transport/plugin_transport_http_common.c | 460 | src/transport/plugin_transport_http_common.c |
456 | src/transport/plugin_transport_http_server.c | 461 | src/transport/plugin_transport_http_server.c |
457 | src/transport/plugin_transport_smtp.c | 462 | src/transport/plugin_transport_smtp.c |
458 | src/transport/plugin_transport_tcp.c | 463 | src/transport/plugin_transport_tcp.c |
459 | src/transport/plugin_transport_template.c | 464 | src/transport/plugin_transport_template.c |
460 | src/transport/plugin_transport_udp_broadcasting.c | ||
461 | src/transport/plugin_transport_udp.c | 465 | src/transport/plugin_transport_udp.c |
466 | src/transport/plugin_transport_udp_broadcasting.c | ||
462 | src/transport/plugin_transport_unix.c | 467 | src/transport/plugin_transport_unix.c |
463 | src/transport/plugin_transport_wlan.c | 468 | src/transport/plugin_transport_wlan.c |
464 | src/transport/tcp_connection_legacy.c | 469 | src/transport/tcp_connection_legacy.c |
465 | src/transport/tcp_server_legacy.c | 470 | src/transport/tcp_server_legacy.c |
466 | src/transport/tcp_server_mst_legacy.c | 471 | src/transport/tcp_server_mst_legacy.c |
467 | src/transport/tcp_service_legacy.c | 472 | src/transport/tcp_service_legacy.c |
473 | src/transport/transport-testing-communicator.c | ||
474 | src/transport/transport-testing-filenames.c | ||
475 | src/transport/transport-testing-filenames2.c | ||
476 | src/transport/transport-testing-loggers.c | ||
477 | src/transport/transport-testing-loggers2.c | ||
478 | src/transport/transport-testing-main.c | ||
479 | src/transport/transport-testing-main2.c | ||
480 | src/transport/transport-testing-send.c | ||
481 | src/transport/transport-testing-send2.c | ||
482 | src/transport/transport-testing.c | ||
483 | src/transport/transport-testing2.c | ||
468 | src/transport/transport_api2_application.c | 484 | src/transport/transport_api2_application.c |
469 | src/transport/transport_api2_communication.c | 485 | src/transport/transport_api2_communication.c |
470 | src/transport/transport_api2_core.c | 486 | src/transport/transport_api2_core.c |
@@ -477,17 +493,6 @@ src/transport/transport_api_manipulation.c | |||
477 | src/transport/transport_api_monitor_peers.c | 493 | src/transport/transport_api_monitor_peers.c |
478 | src/transport/transport_api_monitor_plugins.c | 494 | src/transport/transport_api_monitor_plugins.c |
479 | src/transport/transport_api_offer_hello.c | 495 | src/transport/transport_api_offer_hello.c |
480 | src/transport/transport-testing2.c | ||
481 | src/transport/transport-testing.c | ||
482 | src/transport/transport-testing-communicator.c | ||
483 | src/transport/transport-testing-filenames2.c | ||
484 | src/transport/transport-testing-filenames.c | ||
485 | src/transport/transport-testing-loggers2.c | ||
486 | src/transport/transport-testing-loggers.c | ||
487 | src/transport/transport-testing-main2.c | ||
488 | src/transport/transport-testing-main.c | ||
489 | src/transport/transport-testing-send2.c | ||
490 | src/transport/transport-testing-send.c | ||
491 | src/util/bandwidth.c | 496 | src/util/bandwidth.c |
492 | src/util/benchmark.c | 497 | src/util/benchmark.c |
493 | src/util/bio.c | 498 | src/util/bio.c |
@@ -502,8 +507,8 @@ src/util/consttime_memcmp.c | |||
502 | src/util/container_bloomfilter.c | 507 | src/util/container_bloomfilter.c |
503 | src/util/container_heap.c | 508 | src/util/container_heap.c |
504 | src/util/container_meta_data.c | 509 | src/util/container_meta_data.c |
505 | src/util/container_multihashmap32.c | ||
506 | src/util/container_multihashmap.c | 510 | src/util/container_multihashmap.c |
511 | src/util/container_multihashmap32.c | ||
507 | src/util/container_multipeermap.c | 512 | src/util/container_multipeermap.c |
508 | src/util/container_multishortmap.c | 513 | src/util/container_multishortmap.c |
509 | src/util/container_multiuuidmap.c | 514 | src/util/container_multiuuidmap.c |
@@ -528,8 +533,8 @@ src/util/dnsstub.c | |||
528 | src/util/getopt.c | 533 | src/util/getopt.c |
529 | src/util/getopt_helpers.c | 534 | src/util/getopt_helpers.c |
530 | src/util/gnunet-base32.c | 535 | src/util/gnunet-base32.c |
531 | src/util/gnunet-config.c | ||
532 | src/util/gnunet-config-diff.c | 536 | src/util/gnunet-config-diff.c |
537 | src/util/gnunet-config.c | ||
533 | src/util/gnunet-crypto-tvg.c | 538 | src/util/gnunet-crypto-tvg.c |
534 | src/util/gnunet-ecc.c | 539 | src/util/gnunet-ecc.c |
535 | src/util/gnunet-qr.c | 540 | src/util/gnunet-qr.c |
@@ -567,8 +572,8 @@ src/vpn/gnunet-helper-vpn.c | |||
567 | src/vpn/gnunet-service-vpn.c | 572 | src/vpn/gnunet-service-vpn.c |
568 | src/vpn/gnunet-vpn.c | 573 | src/vpn/gnunet-vpn.c |
569 | src/vpn/vpn_api.c | 574 | src/vpn/vpn_api.c |
570 | src/zonemaster/gnunet-service-zonemaster.c | ||
571 | src/zonemaster/gnunet-service-zonemaster-monitor.c | 575 | src/zonemaster/gnunet-service-zonemaster-monitor.c |
576 | src/zonemaster/gnunet-service-zonemaster.c | ||
572 | src/fs/fs_api.h | 577 | src/fs/fs_api.h |
573 | src/testbed/testbed_api.h | 578 | src/testbed/testbed_api.h |
574 | src/testbed/testbed_api_operations.h | 579 | src/testbed/testbed_api_operations.h |
diff --git a/src/abd/plugin_gnsrecord_abd.c b/src/abd/plugin_gnsrecord_abd.c index 272872e24..25dc20152 100644 --- a/src/abd/plugin_gnsrecord_abd.c +++ b/src/abd/plugin_gnsrecord_abd.c | |||
@@ -276,7 +276,7 @@ static struct | |||
276 | 276 | ||
277 | 277 | ||
278 | /** | 278 | /** |
279 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 279 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
280 | * | 280 | * |
281 | * @param cls closure, unused | 281 | * @param cls closure, unused |
282 | * @param gns_typename name to convert | 282 | * @param gns_typename name to convert |
@@ -296,7 +296,7 @@ abd_typename_to_number (void *cls, const char *gns_typename) | |||
296 | 296 | ||
297 | 297 | ||
298 | /** | 298 | /** |
299 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 299 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
300 | * | 300 | * |
301 | * @param cls closure, unused | 301 | * @param cls closure, unused |
302 | * @param type number of a type to convert | 302 | * @param type number of a type to convert |
diff --git a/src/conversation/plugin_gnsrecord_conversation.c b/src/conversation/plugin_gnsrecord_conversation.c index 2ea2f48f0..786711c8e 100644 --- a/src/conversation/plugin_gnsrecord_conversation.c +++ b/src/conversation/plugin_gnsrecord_conversation.c | |||
@@ -179,7 +179,7 @@ static struct | |||
179 | 179 | ||
180 | 180 | ||
181 | /** | 181 | /** |
182 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 182 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
183 | * | 183 | * |
184 | * @param cls closure, unused | 184 | * @param cls closure, unused |
185 | * @param gns_typename name to convert | 185 | * @param gns_typename name to convert |
@@ -201,7 +201,7 @@ conversation_typename_to_number (void *cls, | |||
201 | 201 | ||
202 | 202 | ||
203 | /** | 203 | /** |
204 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 204 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
205 | * | 205 | * |
206 | * @param cls closure, unused | 206 | * @param cls closure, unused |
207 | * @param type number of a type to convert | 207 | * @param type number of a type to convert |
diff --git a/src/curl/curl.c b/src/curl/curl.c index deb14a926..949b9a1b0 100644 --- a/src/curl/curl.c +++ b/src/curl/curl.c | |||
@@ -697,7 +697,7 @@ GNUNET_CURL_job_cancel (struct GNUNET_CURL_Job *job) | |||
697 | /** | 697 | /** |
698 | * Test if the given content type @a ct is JSON | 698 | * Test if the given content type @a ct is JSON |
699 | * | 699 | * |
700 | * @param ct a content type, i.e. "application/json; charset=UTF-8" | 700 | * @param ct a content type, e.g. "application/json; charset=UTF-8" |
701 | * @return true if @a ct denotes JSON | 701 | * @return true if @a ct denotes JSON |
702 | */ | 702 | */ |
703 | static bool | 703 | static bool |
@@ -741,7 +741,7 @@ is_json (const char *ct) | |||
741 | * @param db download buffer | 741 | * @param db download buffer |
742 | * @param eh CURL handle (to get the response code) | 742 | * @param eh CURL handle (to get the response code) |
743 | * @param[out] response_code set to the HTTP response code | 743 | * @param[out] response_code set to the HTTP response code |
744 | * (or zero if we aborted the download, i.e. | 744 | * (or zero if we aborted the download, for example |
745 | * because the response was too big, or if | 745 | * because the response was too big, or if |
746 | * the JSON we received was malformed). | 746 | * the JSON we received was malformed). |
747 | * @return NULL if downloading a JSON reply failed. | 747 | * @return NULL if downloading a JSON reply failed. |
diff --git a/src/datacache/datacache.c b/src/datacache/datacache.c index 5fc5a7481..331a9b784 100644 --- a/src/datacache/datacache.c +++ b/src/datacache/datacache.c | |||
@@ -66,12 +66,12 @@ struct GNUNET_DATACACHE_Handle | |||
66 | struct GNUNET_DATACACHE_PluginFunctions *api; | 66 | struct GNUNET_DATACACHE_PluginFunctions *api; |
67 | 67 | ||
68 | /** | 68 | /** |
69 | * Short name for the plugin (i.e. "sqlite"). | 69 | * Short name for the plugin (e.g. "sqlite"). |
70 | */ | 70 | */ |
71 | char *short_name; | 71 | char *short_name; |
72 | 72 | ||
73 | /** | 73 | /** |
74 | * Name of the library (i.e. "gnunet_plugin_datacache_sqlite"). | 74 | * Name of the library (e.g. "gnunet_plugin_datacache_sqlite"). |
75 | */ | 75 | */ |
76 | char *lib_name; | 76 | char *lib_name; |
77 | 77 | ||
diff --git a/src/datastore/gnunet-service-datastore.c b/src/datastore/gnunet-service-datastore.c index 1c9e5e463..97888ce03 100644 --- a/src/datastore/gnunet-service-datastore.c +++ b/src/datastore/gnunet-service-datastore.c | |||
@@ -84,12 +84,12 @@ struct DatastorePlugin | |||
84 | struct GNUNET_DATASTORE_PluginFunctions *api; | 84 | struct GNUNET_DATASTORE_PluginFunctions *api; |
85 | 85 | ||
86 | /** | 86 | /** |
87 | * Short name for the plugin (i.e. "sqlite"). | 87 | * Short name for the plugin (e.g. "sqlite"). |
88 | */ | 88 | */ |
89 | char *short_name; | 89 | char *short_name; |
90 | 90 | ||
91 | /** | 91 | /** |
92 | * Name of the library (i.e. "gnunet_plugin_datastore_sqlite"). | 92 | * Name of the library (e.g. "gnunet_plugin_datastore_sqlite"). |
93 | */ | 93 | */ |
94 | char *lib_name; | 94 | char *lib_name; |
95 | 95 | ||
diff --git a/src/dht/dht_api.c b/src/dht/dht_api.c index ffcfba997..96399cb5a 100644 --- a/src/dht/dht_api.c +++ b/src/dht/dht_api.c | |||
@@ -1026,7 +1026,7 @@ GNUNET_DHT_put (struct GNUNET_DHT_Handle *handle, | |||
1026 | * has not yet been sent to the service, cancelling the PUT will stop | 1026 | * has not yet been sent to the service, cancelling the PUT will stop |
1027 | * this from happening (but there is no way for the user of this API | 1027 | * this from happening (but there is no way for the user of this API |
1028 | * to tell if that is the case). The only use for this API is to | 1028 | * to tell if that is the case). The only use for this API is to |
1029 | * prevent a later call to 'cont' from #GNUNET_DHT_put (i.e. because | 1029 | * prevent a later call to 'cont' from #GNUNET_DHT_put (e.g. because |
1030 | * the system is shutting down). | 1030 | * the system is shutting down). |
1031 | * | 1031 | * |
1032 | * @param ph put operation to cancel ('cont' will no longer be called) | 1032 | * @param ph put operation to cancel ('cont' will no longer be called) |
diff --git a/src/dht/gnunet-service-dht_clients.c b/src/dht/gnunet-service-dht_clients.c index dfa8ee380..cfcb25336 100644 --- a/src/dht/gnunet-service-dht_clients.c +++ b/src/dht/gnunet-service-dht_clients.c | |||
@@ -1482,7 +1482,7 @@ GDS_CLIENTS_stop () | |||
1482 | /** | 1482 | /** |
1483 | * Define "main" method using service macro. | 1483 | * Define "main" method using service macro. |
1484 | * | 1484 | * |
1485 | * @param name name of the service, i.e. "dht" or "xdht" | 1485 | * @param name name of the service, like "dht" or "xdht" |
1486 | * @param run name of the initializaton method for the service | 1486 | * @param run name of the initializaton method for the service |
1487 | */ | 1487 | */ |
1488 | #define GDS_DHT_SERVICE_INIT(name, run) \ | 1488 | #define GDS_DHT_SERVICE_INIT(name, run) \ |
diff --git a/src/fragmentation/test_fragmentation.c b/src/fragmentation/test_fragmentation.c index 4c71e0195..77879f75b 100644 --- a/src/fragmentation/test_fragmentation.c +++ b/src/fragmentation/test_fragmentation.c | |||
@@ -108,7 +108,7 @@ proc_msgs (void *cls, const struct GNUNET_MessageHeader *hdr) | |||
108 | if (0 == (total % (NUM_MSGS / 100))) | 108 | if (0 == (total % (NUM_MSGS / 100))) |
109 | fprintf (stderr, "%s", "."); | 109 | fprintf (stderr, "%s", "."); |
110 | #endif | 110 | #endif |
111 | /* tolerate 10% loss, i.e. due to duplicate fragment IDs */ | 111 | /* tolerate 10% loss, e.g. due to duplicate fragment IDs */ |
112 | if ((total >= NUM_MSGS - (NUM_MSGS / 10)) && (ret != 0)) | 112 | if ((total >= NUM_MSGS - (NUM_MSGS / 10)) && (ret != 0)) |
113 | { | 113 | { |
114 | if (NULL == shutdown_task) | 114 | if (NULL == shutdown_task) |
diff --git a/src/fragmentation/test_fragmentation_parallel.c b/src/fragmentation/test_fragmentation_parallel.c index 000ca60d2..d19296cf5 100644 --- a/src/fragmentation/test_fragmentation_parallel.c +++ b/src/fragmentation/test_fragmentation_parallel.c | |||
@@ -100,7 +100,7 @@ proc_msgs (void *cls, const struct GNUNET_MessageHeader *hdr) | |||
100 | if (0 == (total % (NUM_MSGS / 100))) | 100 | if (0 == (total % (NUM_MSGS / 100))) |
101 | fprintf (stderr, "%s", "."); | 101 | fprintf (stderr, "%s", "."); |
102 | #endif | 102 | #endif |
103 | /* tolerate 10% loss, i.e. due to duplicate fragment IDs */ | 103 | /* tolerate 10% loss, e.g due to duplicate fragment IDs */ |
104 | if ((total >= NUM_MSGS - (NUM_MSGS / 10)) && (ret != 0)) | 104 | if ((total >= NUM_MSGS - (NUM_MSGS / 10)) && (ret != 0)) |
105 | { | 105 | { |
106 | if (NULL == shutdown_task) | 106 | if (NULL == shutdown_task) |
diff --git a/src/fs/fs_directory.c b/src/fs/fs_directory.c index 9a198d8d7..9f0f12611 100644 --- a/src/fs/fs_directory.c +++ b/src/fs/fs_directory.c | |||
@@ -120,7 +120,7 @@ struct GetFullDataClosure | |||
120 | * | 120 | * |
121 | * @param cls closure (user-defined) | 121 | * @param cls closure (user-defined) |
122 | * @param plugin_name name of the plugin that produced this value; | 122 | * @param plugin_name name of the plugin that produced this value; |
123 | * special values can be used (i.e. '<zlib>' for zlib being | 123 | * special values can be used (e.g. '<zlib>' for zlib being |
124 | * used in the main libextractor library and yielding | 124 | * used in the main libextractor library and yielding |
125 | * meta data). | 125 | * meta data). |
126 | * @param type libextractor-type describing the meta data | 126 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/fs_download.c b/src/fs/fs_download.c index d4677b794..1f8ce7c05 100644 --- a/src/fs/fs_download.c +++ b/src/fs/fs_download.c | |||
@@ -586,7 +586,7 @@ try_match_block (struct GNUNET_FS_DownloadContext *dc, | |||
586 | * | 586 | * |
587 | * @param cls our 'struct GNUNET_FS_DownloadContext*' | 587 | * @param cls our 'struct GNUNET_FS_DownloadContext*' |
588 | * @param plugin_name name of the plugin that produced this value; | 588 | * @param plugin_name name of the plugin that produced this value; |
589 | * special values can be used (i.e. '<zlib>' for zlib being | 589 | * special values can be used (e.g. '<zlib>' for zlib being |
590 | * used in the main libextractor library and yielding | 590 | * used in the main libextractor library and yielding |
591 | * meta data). | 591 | * meta data). |
592 | * @param type libextractor-type describing the meta data | 592 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/fs_sharetree.c b/src/fs/fs_sharetree.c index ac850076d..d5e75f9be 100644 --- a/src/fs/fs_sharetree.c +++ b/src/fs/fs_sharetree.c | |||
@@ -183,7 +183,7 @@ add_to_keyword_counter (void *cls, const char *keyword, int is_mandatory) | |||
183 | * | 183 | * |
184 | * @param cls the container multihashmap to update | 184 | * @param cls the container multihashmap to update |
185 | * @param plugin_name name of the plugin that produced this value; | 185 | * @param plugin_name name of the plugin that produced this value; |
186 | * special values can be used (i.e. '<zlib>' for zlib being | 186 | * special values can be used (e.g. '<zlib>' for zlib being |
187 | * used in the main libextractor library and yielding | 187 | * used in the main libextractor library and yielding |
188 | * meta data). | 188 | * meta data). |
189 | * @param type libextractor-type describing the meta data | 189 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/fs_uri.c b/src/fs/fs_uri.c index a9afff3e8..4d1b7c6f0 100644 --- a/src/fs/fs_uri.c +++ b/src/fs/fs_uri.c | |||
@@ -1691,7 +1691,7 @@ get_keywords_from_tokens (const char *s, char **array, int index) | |||
1691 | * | 1691 | * |
1692 | * @param cls URI to update | 1692 | * @param cls URI to update |
1693 | * @param plugin_name name of the plugin that produced this value; | 1693 | * @param plugin_name name of the plugin that produced this value; |
1694 | * special values can be used (i.e. '<zlib>' for zlib being | 1694 | * special values can be used (e.g. '<zlib>' for zlib being |
1695 | * used in the main libextractor library and yielding | 1695 | * used in the main libextractor library and yielding |
1696 | * meta data). | 1696 | * meta data). |
1697 | * @param type libextractor-type describing the meta data | 1697 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/gnunet-helper-fs-publish.c b/src/fs/gnunet-helper-fs-publish.c index 5d2d1229b..ef1a9ce4b 100644 --- a/src/fs/gnunet-helper-fs-publish.c +++ b/src/fs/gnunet-helper-fs-publish.c | |||
@@ -100,7 +100,7 @@ static int output_stream; | |||
100 | * | 100 | * |
101 | * @param cls closure, our meta data container | 101 | * @param cls closure, our meta data container |
102 | * @param plugin_name name of the plugin that produced this value; | 102 | * @param plugin_name name of the plugin that produced this value; |
103 | * special values can be used (i.e. '<zlib>' for zlib being | 103 | * special values can be used (e.g. '<zlib>' for zlib being |
104 | * used in the main libextractor library and yielding | 104 | * used in the main libextractor library and yielding |
105 | * meta data). | 105 | * meta data). |
106 | * @param type libextractor-type describing the meta data | 106 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/gnunet-search.c b/src/fs/gnunet-search.c index e49609b18..3bf013650 100644 --- a/src/fs/gnunet-search.c +++ b/src/fs/gnunet-search.c | |||
@@ -64,7 +64,7 @@ static struct GNUNET_SCHEDULER_Task *tt; | |||
64 | * | 64 | * |
65 | * @param cls closure (user-defined, unused) | 65 | * @param cls closure (user-defined, unused) |
66 | * @param plugin_name name of the plugin that produced this value; | 66 | * @param plugin_name name of the plugin that produced this value; |
67 | * special values can be used (i.e. '<zlib>' for zlib being | 67 | * special values can be used (e.g. '<zlib>' for zlib being |
68 | * used in the main libextractor library and yielding | 68 | * used in the main libextractor library and yielding |
69 | * meta data). | 69 | * meta data). |
70 | * @param type libextractor-type describing the meta data | 70 | * @param type libextractor-type describing the meta data |
diff --git a/src/fs/perf_gnunet_service_fs_p2p_respect.c b/src/fs/perf_gnunet_service_fs_p2p_respect.c index b7fe61be7..c48db2383 100644 --- a/src/fs/perf_gnunet_service_fs_p2p_respect.c +++ b/src/fs/perf_gnunet_service_fs_p2p_respect.c | |||
@@ -21,7 +21,7 @@ | |||
21 | /** | 21 | /** |
22 | * @file fs/perf_gnunet_service_fs_p2p_respect.c | 22 | * @file fs/perf_gnunet_service_fs_p2p_respect.c |
23 | * @brief profile P2P routing respect mechanism. Creates | 23 | * @brief profile P2P routing respect mechanism. Creates |
24 | * a clique of NUM_DAEMONS (i.e. 3) where two | 24 | * a clique of NUM_DAEMONS (at least 3) where two |
25 | * peers share (seed) different files and download | 25 | * peers share (seed) different files and download |
26 | * them from each other while all the other peers | 26 | * them from each other while all the other peers |
27 | * just "leach" those files. Ideally, the seeders | 27 | * just "leach" those files. Ideally, the seeders |
diff --git a/src/gns/gns_tld_api.c b/src/gns/gns_tld_api.c index b883662ad..1b711cf40 100644 --- a/src/gns/gns_tld_api.c +++ b/src/gns/gns_tld_api.c | |||
@@ -235,7 +235,7 @@ identity_zone_cb (void *cls, | |||
235 | * @param options local options for the lookup | 235 | * @param options local options for the lookup |
236 | * @param proc processor to call on result | 236 | * @param proc processor to call on result |
237 | * @param proc_cls closure for @a proc | 237 | * @param proc_cls closure for @a proc |
238 | * @return handle to the get request, NULL on error (i.e. bad configuration) | 238 | * @return handle to the get request, NULL on error (e.g. bad configuration) |
239 | */ | 239 | */ |
240 | struct GNUNET_GNS_LookupWithTldRequest * | 240 | struct GNUNET_GNS_LookupWithTldRequest * |
241 | GNUNET_GNS_lookup_with_tld (struct GNUNET_GNS_Handle *handle, | 241 | GNUNET_GNS_lookup_with_tld (struct GNUNET_GNS_Handle *handle, |
diff --git a/src/gns/gnunet-gns-import.c b/src/gns/gnunet-gns-import.c index 972fb49cd..e99c4d3dd 100644 --- a/src/gns/gnunet-gns-import.c +++ b/src/gns/gnunet-gns-import.c | |||
@@ -272,13 +272,12 @@ zone_iteration_finished (void *cls) | |||
272 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't | 272 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't |
273 | * be invoked in the future or that there was an error. | 273 | * be invoked in the future or that there was an error. |
274 | * | 274 | * |
275 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', | 275 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', this |
276 | * this function is only called ONCE, and 'NULL' being passed in | 276 | * function is only called ONCE, and 'NULL' being passed in 'ego' does |
277 | * 'ego' does indicate an error (i.e. name is taken or no default | 277 | * indicate an error (for example because name is taken or no default value is |
278 | * value is known). If 'ego' is non-NULL and if '*ctx' | 278 | * known). If 'ego' is non-NULL and if '*ctx' is set in those callbacks, the |
279 | * is set in those callbacks, the value WILL be passed to a subsequent | 279 | * value WILL be passed to a subsequent call to the identity callback of |
280 | * call to the identity callback of 'GNUNET_IDENTITY_connect' (if | 280 | * 'GNUNET_IDENTITY_connect' (if that one was not NULL). |
281 | * that one was not NULL). | ||
282 | * | 281 | * |
283 | * When an identity is renamed, this function is called with the | 282 | * When an identity is renamed, this function is called with the |
284 | * (known) ego but the NEW identifier. | 283 | * (known) ego but the NEW identifier. |
diff --git a/src/gns/gnunet-gns-proxy-ca.template b/src/gns/gnunet-gns-proxy-ca.template index 32ee27fcd..541e3a355 100644 --- a/src/gns/gnunet-gns-proxy-ca.template +++ b/src/gns/gnunet-gns-proxy-ca.template | |||
@@ -51,7 +51,7 @@ cn = "GNS Proxy CA" | |||
51 | #dn = "cn = Nikos,st = New\, Something,C=GR,surName=Mavrogiannopoulos,2.5.4.9=Arkadias" | 51 | #dn = "cn = Nikos,st = New\, Something,C=GR,surName=Mavrogiannopoulos,2.5.4.9=Arkadias" |
52 | 52 | ||
53 | # The serial number of the certificate | 53 | # The serial number of the certificate |
54 | # The value is in decimal (i.e. 1963) or hex (i.e. 0x07ab). | 54 | # The value is in decimal (e.g. 1963) or hex (e.g. 0x07ab). |
55 | # Comment the field for a random serial number. | 55 | # Comment the field for a random serial number. |
56 | #serial = 007 | 56 | #serial = 007 |
57 | 57 | ||
@@ -283,7 +283,7 @@ tls_www_server | |||
283 | #crl_next_update = 43 | 283 | #crl_next_update = 43 |
284 | 284 | ||
285 | # this is the 5th CRL by this CA | 285 | # this is the 5th CRL by this CA |
286 | # The value is in decimal (i.e. 1963) or hex (i.e. 0x07ab). | 286 | # The value is in decimal (e.g. 1963) or hex (e.g. 0x07ab). |
287 | # Comment the field for a time-based number. | 287 | # Comment the field for a time-based number. |
288 | # Time-based CRL numbers generated in GnuTLS 3.6.3 and later | 288 | # Time-based CRL numbers generated in GnuTLS 3.6.3 and later |
289 | # are significantly larger than those generated in previous | 289 | # are significantly larger than those generated in previous |
diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index d02f0f576..5e3f9d6df 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c | |||
@@ -1811,7 +1811,7 @@ con_val_iter (void *cls, | |||
1811 | * @param con MHD connection handle | 1811 | * @param con MHD connection handle |
1812 | * @param url the url in the request | 1812 | * @param url the url in the request |
1813 | * @param meth the HTTP method used ("GET", "PUT", etc.) | 1813 | * @param meth the HTTP method used ("GET", "PUT", etc.) |
1814 | * @param ver the HTTP version string (i.e. "HTTP/1.1") | 1814 | * @param ver the HTTP version string ("HTTP/1.1" for version 1.1, etc.) |
1815 | * @param upload_data the data being uploaded (excluding HEADERS, | 1815 | * @param upload_data the data being uploaded (excluding HEADERS, |
1816 | * for a POST that fits into memory and that is encoded | 1816 | * for a POST that fits into memory and that is encoded |
1817 | * with a supported encoding, the POST data will NOT be | 1817 | * with a supported encoding, the POST data will NOT be |
@@ -2855,7 +2855,7 @@ lookup_ssl_httpd (const char*domain) | |||
2855 | 2855 | ||
2856 | /** | 2856 | /** |
2857 | * Task run when a Socks5Request somehow fails to be associated with | 2857 | * Task run when a Socks5Request somehow fails to be associated with |
2858 | * an MHD connection (i.e. because the client never speaks HTTP after | 2858 | * an MHD connection (e.g. because the client never speaks HTTP after |
2859 | * the SOCKS5 handshake). Clean up. | 2859 | * the SOCKS5 handshake). Clean up. |
2860 | * | 2860 | * |
2861 | * @param cls the `struct Socks5Request *` | 2861 | * @param cls the `struct Socks5Request *` |
diff --git a/src/gns/gnunet-service-gns.c b/src/gns/gnunet-service-gns.c index 52300ae3b..5833f4d0b 100644 --- a/src/gns/gnunet-service-gns.c +++ b/src/gns/gnunet-service-gns.c | |||
@@ -104,7 +104,7 @@ struct GnsClient | |||
104 | 104 | ||
105 | /** | 105 | /** |
106 | * Representation of a TLD, mapping the respective TLD string | 106 | * Representation of a TLD, mapping the respective TLD string |
107 | * (i.e. ".gnu") to the respective public key of the zone. | 107 | * (e.g. ".gnu") to the respective public key of the zone. |
108 | */ | 108 | */ |
109 | struct GNS_TopLevelDomain | 109 | struct GNS_TopLevelDomain |
110 | { | 110 | { |
diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index 2f8a55804..784a6ee6d 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c | |||
@@ -418,7 +418,7 @@ struct GNS_ResolverHandle | |||
418 | 418 | ||
419 | /** | 419 | /** |
420 | * We increment the loop limiter for each step in a recursive | 420 | * We increment the loop limiter for each step in a recursive |
421 | * resolution. If it passes our @e loop_threshold (i.e. due to | 421 | * resolution. If it passes our @e loop_threshold (e.g. due to |
422 | * self-recursion in the resolution, i.e CNAME fun), we stop. | 422 | * self-recursion in the resolution, i.e CNAME fun), we stop. |
423 | */ | 423 | */ |
424 | unsigned int loop_limiter; | 424 | unsigned int loop_limiter; |
@@ -516,7 +516,7 @@ static const struct GNUNET_CONFIGURATION_Handle *cfg; | |||
516 | /** | 516 | /** |
517 | * Determine if this name is canonical (is a legal name in a zone, without delegation); | 517 | * Determine if this name is canonical (is a legal name in a zone, without delegation); |
518 | * note that we do not test that the name does not contain illegal characters, we only | 518 | * note that we do not test that the name does not contain illegal characters, we only |
519 | * test for delegation. Note that service records (i.e. _foo._srv) are canonical names | 519 | * test for delegation. Note that service records (like _foo._srv) are canonical names |
520 | * even though they consist of multiple labels. | 520 | * even though they consist of multiple labels. |
521 | * | 521 | * |
522 | * Examples: | 522 | * Examples: |
diff --git a/src/gns/plugin_gnsrecord_gns.c b/src/gns/plugin_gnsrecord_gns.c index a2ad0b905..391144925 100644 --- a/src/gns/plugin_gnsrecord_gns.c +++ b/src/gns/plugin_gnsrecord_gns.c | |||
@@ -327,7 +327,7 @@ static struct | |||
327 | 327 | ||
328 | 328 | ||
329 | /** | 329 | /** |
330 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 330 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
331 | * | 331 | * |
332 | * @param cls closure, unused | 332 | * @param cls closure, unused |
333 | * @param gns_typename name to convert | 333 | * @param gns_typename name to convert |
@@ -347,7 +347,7 @@ gns_typename_to_number (void *cls, const char *gns_typename) | |||
347 | 347 | ||
348 | 348 | ||
349 | /** | 349 | /** |
350 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 350 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
351 | * | 351 | * |
352 | * @param cls closure, unused | 352 | * @param cls closure, unused |
353 | * @param type number of a type to convert | 353 | * @param type number of a type to convert |
diff --git a/src/gnsrecord/gnsrecord.c b/src/gnsrecord/gnsrecord.c index 31749a629..e9994a868 100644 --- a/src/gnsrecord/gnsrecord.c +++ b/src/gnsrecord/gnsrecord.c | |||
@@ -208,7 +208,7 @@ GNUNET_GNSRECORD_string_to_value (uint32_t type, | |||
208 | 208 | ||
209 | 209 | ||
210 | /** | 210 | /** |
211 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 211 | * Convert a type name (e.g "AAAA") to the corresponding number. |
212 | * | 212 | * |
213 | * @param dns_typename name to convert | 213 | * @param dns_typename name to convert |
214 | * @return corresponding number, UINT32_MAX on error | 214 | * @return corresponding number, UINT32_MAX on error |
@@ -235,7 +235,7 @@ GNUNET_GNSRECORD_typename_to_number (const char *dns_typename) | |||
235 | 235 | ||
236 | 236 | ||
237 | /** | 237 | /** |
238 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 238 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
239 | * | 239 | * |
240 | * @param type number of a type to convert | 240 | * @param type number of a type to convert |
241 | * @return corresponding typestring, NULL on error | 241 | * @return corresponding typestring, NULL on error |
diff --git a/src/gnsrecord/plugin_gnsrecord_dns.c b/src/gnsrecord/plugin_gnsrecord_dns.c index bde9944e2..123c59905 100644 --- a/src/gnsrecord/plugin_gnsrecord_dns.c +++ b/src/gnsrecord/plugin_gnsrecord_dns.c | |||
@@ -735,7 +735,7 @@ static struct | |||
735 | 735 | ||
736 | 736 | ||
737 | /** | 737 | /** |
738 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 738 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
739 | * | 739 | * |
740 | * @param cls closure, unused | 740 | * @param cls closure, unused |
741 | * @param dns_typename name to convert | 741 | * @param dns_typename name to convert |
@@ -755,7 +755,7 @@ dns_typename_to_number (void *cls, const char *dns_typename) | |||
755 | 755 | ||
756 | 756 | ||
757 | /** | 757 | /** |
758 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 758 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
759 | * | 759 | * |
760 | * @param cls closure, unused | 760 | * @param cls closure, unused |
761 | * @param type number of a type to convert | 761 | * @param type number of a type to convert |
diff --git a/src/hostlist/gnunet-daemon-hostlist_server.c b/src/hostlist/gnunet-daemon-hostlist_server.c index b6c0495c0..fb80f6331 100644 --- a/src/hostlist/gnunet-daemon-hostlist_server.c +++ b/src/hostlist/gnunet-daemon-hostlist_server.c | |||
@@ -320,7 +320,7 @@ accept_policy_callback (void *cls, | |||
320 | * @param url the requested url | 320 | * @param url the requested url |
321 | * @param method the HTTP method used (#MHD_HTTP_METHOD_GET, | 321 | * @param method the HTTP method used (#MHD_HTTP_METHOD_GET, |
322 | * #MHD_HTTP_METHOD_PUT, etc.) | 322 | * #MHD_HTTP_METHOD_PUT, etc.) |
323 | * @param version the HTTP version string (i.e. | 323 | * @param version the HTTP version string (e.g. |
324 | * #MHD_HTTP_VERSION_1_1) | 324 | * #MHD_HTTP_VERSION_1_1) |
325 | * @param upload_data the data being uploaded (excluding HEADERS, | 325 | * @param upload_data the data being uploaded (excluding HEADERS, |
326 | * for a POST that fits into memory and that is encoded | 326 | * for a POST that fits into memory and that is encoded |
@@ -335,7 +335,7 @@ accept_policy_callback (void *cls, | |||
335 | * @param con_cls pointer that the callback can set to some | 335 | * @param con_cls pointer that the callback can set to some |
336 | * address and that will be preserved by MHD for future | 336 | * address and that will be preserved by MHD for future |
337 | * calls for this request; since the access handler may | 337 | * calls for this request; since the access handler may |
338 | * be called many times (i.e., for a PUT/POST operation | 338 | * be called many times (e.g. for a PUT/POST operation |
339 | * with plenty of upload data) this allows the application | 339 | * with plenty of upload data) this allows the application |
340 | * to easily associate some request-specific state. | 340 | * to easily associate some request-specific state. |
341 | * If necessary, this state can be cleaned up in the | 341 | * If necessary, this state can be cleaned up in the |
diff --git a/src/identity/gnunet-identity.c b/src/identity/gnunet-identity.c index a01cd1ed7..d8dc936d3 100644 --- a/src/identity/gnunet-identity.c +++ b/src/identity/gnunet-identity.c | |||
@@ -268,13 +268,12 @@ set_done (void *cls, const char *emsg) | |||
268 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't | 268 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't |
269 | * be invoked in the future or that there was an error. | 269 | * be invoked in the future or that there was an error. |
270 | * | 270 | * |
271 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', | 271 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', this |
272 | * this function is only called ONCE, and 'NULL' being passed in | 272 | * function is only called ONCE, and 'NULL' being passed in 'ego' does |
273 | * 'ego' does indicate an error (i.e. name is taken or no default | 273 | * indicate an error (for example because name is taken or no default value is |
274 | * value is known). If 'ego' is non-NULL and if '*ctx' | 274 | * known). If 'ego' is non-NULL and if '*ctx' is set in those callbacks, the |
275 | * is set in those callbacks, the value WILL be passed to a subsequent | 275 | * value WILL be passed to a subsequent call to the identity callback of |
276 | * call to the identity callback of 'GNUNET_IDENTITY_connect' (if | 276 | * 'GNUNET_IDENTITY_connect' (if that one was not NULL). |
277 | * that one was not NULL). | ||
278 | * | 277 | * |
279 | * When an identity is renamed, this function is called with the | 278 | * When an identity is renamed, this function is called with the |
280 | * (known) ego but the NEW identifier. | 279 | * (known) ego but the NEW identifier. |
diff --git a/src/include/gnunet_ats_service.h b/src/include/gnunet_ats_service.h index 92572c72b..68ba8e6b2 100644 --- a/src/include/gnunet_ats_service.h +++ b/src/include/gnunet_ats_service.h | |||
@@ -94,7 +94,7 @@ struct GNUNET_ATS_Properties | |||
94 | 94 | ||
95 | /** | 95 | /** |
96 | * Distance on network layer (required for distance-vector routing) | 96 | * Distance on network layer (required for distance-vector routing) |
97 | * in hops. Zero for direct connections (i.e. plain TCP/UDP). | 97 | * in hops. Zero for direct connections (e.g. plain TCP/UDP). |
98 | */ | 98 | */ |
99 | unsigned int distance; | 99 | unsigned int distance; |
100 | 100 | ||
@@ -136,7 +136,7 @@ struct GNUNET_ATS_PropertiesNBO | |||
136 | 136 | ||
137 | /** | 137 | /** |
138 | * Distance on network layer (required for distance-vector routing) | 138 | * Distance on network layer (required for distance-vector routing) |
139 | * in hops. Zero for direct connections (i.e. plain TCP/UDP). | 139 | * in hops. Zero for direct connections (e.g. plain TCP/UDP). |
140 | */ | 140 | */ |
141 | uint32_t distance GNUNET_PACKED; | 141 | uint32_t distance GNUNET_PACKED; |
142 | 142 | ||
@@ -308,7 +308,7 @@ struct GNUNET_ATS_AddressRecord; | |||
308 | * | 308 | * |
309 | * @param sh handle | 309 | * @param sh handle |
310 | * @param address the address | 310 | * @param address the address |
311 | * @param session session handle (if available, i.e. for incoming connections) | 311 | * @param session session handle (if available, e.g for incoming connections) |
312 | * @param prop performance data for the address | 312 | * @param prop performance data for the address |
313 | * @return handle to the address representation inside ATS, NULL | 313 | * @return handle to the address representation inside ATS, NULL |
314 | * on error (i.e. ATS knows this exact address already, or | 314 | * on error (i.e. ATS knows this exact address already, or |
diff --git a/src/include/gnunet_ats_transport_service.h b/src/include/gnunet_ats_transport_service.h index b5848a36a..fd821baef 100644 --- a/src/include/gnunet_ats_transport_service.h +++ b/src/include/gnunet_ats_transport_service.h | |||
@@ -85,7 +85,7 @@ struct GNUNET_ATS_Properties | |||
85 | 85 | ||
86 | /** | 86 | /** |
87 | * Distance on network layer (required for distance-vector routing) | 87 | * Distance on network layer (required for distance-vector routing) |
88 | * in hops. Zero for direct connections (i.e. plain TCP/UDP). | 88 | * in hops. Zero for direct connections (e.g. plain TCP/UDP). |
89 | */ | 89 | */ |
90 | uint32_t distance; | 90 | uint32_t distance; |
91 | 91 | ||
diff --git a/src/include/gnunet_client_lib.h b/src/include/gnunet_client_lib.h index aaa1f4a74..2ecd38b04 100644 --- a/src/include/gnunet_client_lib.h +++ b/src/include/gnunet_client_lib.h | |||
@@ -56,7 +56,7 @@ extern "C" | |||
56 | * #GNUNET_NO if the service is (definitively) down, | 56 | * #GNUNET_NO if the service is (definitively) down, |
57 | * #GNUNET_SYSERR if the configuration does not give us | 57 | * #GNUNET_SYSERR if the configuration does not give us |
58 | * the necessary information about the service, or if | 58 | * the necessary information about the service, or if |
59 | * we could not check (i.e. socket() failed) | 59 | * we could not check (e.g. socket() failed) |
60 | */ | 60 | */ |
61 | int | 61 | int |
62 | GNUNET_CLIENT_test (const struct GNUNET_CONFIGURATION_Handle *cfg, | 62 | GNUNET_CLIENT_test (const struct GNUNET_CONFIGURATION_Handle *cfg, |
diff --git a/src/include/gnunet_container_lib.h b/src/include/gnunet_container_lib.h index 0d81abfd3..c8930746d 100644 --- a/src/include/gnunet_container_lib.h +++ b/src/include/gnunet_container_lib.h | |||
@@ -161,7 +161,7 @@ enum EXTRACTOR_MetaFormat | |||
161 | * | 161 | * |
162 | * @param cls closure (user-defined) | 162 | * @param cls closure (user-defined) |
163 | * @param plugin_name name of the plugin that produced this value; | 163 | * @param plugin_name name of the plugin that produced this value; |
164 | * special values can be used (i.e. '<zlib>' for zlib being | 164 | * special values can be used (e.g. '<zlib>' for zlib being |
165 | * used in the main libextractor library and yielding | 165 | * used in the main libextractor library and yielding |
166 | * meta data). | 166 | * meta data). |
167 | * @param type libextractor-type describing the meta data | 167 | * @param type libextractor-type describing the meta data |
@@ -484,7 +484,7 @@ GNUNET_CONTAINER_meta_data_test_equal ( | |||
484 | * | 484 | * |
485 | * @param md metadata to extend | 485 | * @param md metadata to extend |
486 | * @param plugin_name name of the plugin that produced this value; | 486 | * @param plugin_name name of the plugin that produced this value; |
487 | * special values can be used (i.e. '<zlib>' for zlib being | 487 | * special values can be used (e.g. '<zlib>' for zlib being |
488 | * used in the main libextractor library and yielding | 488 | * used in the main libextractor library and yielding |
489 | * meta data). | 489 | * meta data). |
490 | * @param type libextractor-type describing the meta data | 490 | * @param type libextractor-type describing the meta data |
@@ -693,7 +693,7 @@ GNUNET_CONTAINER_meta_data_get_serialized_size ( | |||
693 | * | 693 | * |
694 | * @param input serialized meta-data. | 694 | * @param input serialized meta-data. |
695 | * @param size number of bytes available | 695 | * @param size number of bytes available |
696 | * @return MD on success, NULL on error (i.e. | 696 | * @return MD on success, NULL on error (e.g. |
697 | * bad format) | 697 | * bad format) |
698 | */ | 698 | */ |
699 | struct GNUNET_CONTAINER_MetaData * | 699 | struct GNUNET_CONTAINER_MetaData * |
@@ -2441,7 +2441,7 @@ GNUNET_CONTAINER_multihashmap32_iterator_destroy ( | |||
2441 | * Insertion sort of @a element into DLL from @a head to @a tail | 2441 | * Insertion sort of @a element into DLL from @a head to @a tail |
2442 | * sorted by @a comparator. | 2442 | * sorted by @a comparator. |
2443 | * | 2443 | * |
2444 | * @param TYPE element type of the elements, i.e. `struct ListElement` | 2444 | * @param TYPE element type of the elements, e.g. `struct ListElement` |
2445 | * @param comparator function like memcmp() to compare elements; takes | 2445 | * @param comparator function like memcmp() to compare elements; takes |
2446 | * three arguments, the @a comparator_cls and two elements, | 2446 | * three arguments, the @a comparator_cls and two elements, |
2447 | * returns an `int` (-1, 0 or 1) | 2447 | * returns an `int` (-1, 0 or 1) |
diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h index 2a552e212..43cdfdfac 100644 --- a/src/include/gnunet_crypto_lib.h +++ b/src/include/gnunet_crypto_lib.h | |||
@@ -945,7 +945,7 @@ GNUNET_CRYPTO_hash_get_bit_rtl (const struct GNUNET_HashCode *code, | |||
945 | /** | 945 | /** |
946 | * @ingroup hash | 946 | * @ingroup hash |
947 | * Determine how many low order bits match in two | 947 | * Determine how many low order bits match in two |
948 | * `struct GNUNET_HashCodes`. i.e. - 010011 and 011111 share | 948 | * `struct GNUNET_HashCodes`. e.g. - 010011 and 011111 share |
949 | * the first two lowest order bits, and therefore the | 949 | * the first two lowest order bits, and therefore the |
950 | * return value is two (NOT XOR distance, nor how many | 950 | * return value is two (NOT XOR distance, nor how many |
951 | * bits match absolutely!). | 951 | * bits match absolutely!). |
@@ -2048,7 +2048,7 @@ struct GNUNET_CRYPTO_RsaSignature; | |||
2048 | /** | 2048 | /** |
2049 | * Create a new private key. Caller must free return value. | 2049 | * Create a new private key. Caller must free return value. |
2050 | * | 2050 | * |
2051 | * @param len length of the key in bits (i.e. 2048) | 2051 | * @param len length of the key in bits (e.g. 2048) |
2052 | * @return fresh private key | 2052 | * @return fresh private key |
2053 | */ | 2053 | */ |
2054 | struct GNUNET_CRYPTO_RsaPrivateKey * | 2054 | struct GNUNET_CRYPTO_RsaPrivateKey * |
diff --git a/src/include/gnunet_curl_lib.h b/src/include/gnunet_curl_lib.h index f291d6b14..f51e4b503 100644 --- a/src/include/gnunet_curl_lib.h +++ b/src/include/gnunet_curl_lib.h | |||
@@ -68,7 +68,7 @@ struct GNUNET_CURL_DownloadBuffer | |||
68 | 68 | ||
69 | /** | 69 | /** |
70 | * Error code (based on libc errno) if we failed to download | 70 | * Error code (based on libc errno) if we failed to download |
71 | * (i.e. response too large). | 71 | * (e.g. response too large). |
72 | */ | 72 | */ |
73 | int eno; | 73 | int eno; |
74 | }; | 74 | }; |
diff --git a/src/include/gnunet_dht_service.h b/src/include/gnunet_dht_service.h index ea3ea92fa..95d30ae6f 100644 --- a/src/include/gnunet_dht_service.h +++ b/src/include/gnunet_dht_service.h | |||
@@ -178,7 +178,7 @@ GNUNET_DHT_put (struct GNUNET_DHT_Handle *handle, | |||
178 | * has not yet been sent to the service, cancelling the PUT will stop | 178 | * has not yet been sent to the service, cancelling the PUT will stop |
179 | * this from happening (but there is no way for the user of this API | 179 | * this from happening (but there is no way for the user of this API |
180 | * to tell if that is the case). The only use for this API is to | 180 | * to tell if that is the case). The only use for this API is to |
181 | * prevent a later call to 'cont' from #GNUNET_DHT_put (i.e. because | 181 | * prevent a later call to 'cont' from #GNUNET_DHT_put (e.g. because |
182 | * the system is shutting down). | 182 | * the system is shutting down). |
183 | * | 183 | * |
184 | * @param ph put operation to cancel ('cont' will no longer be called) | 184 | * @param ph put operation to cancel ('cont' will no longer be called) |
diff --git a/src/include/gnunet_getopt_lib.h b/src/include/gnunet_getopt_lib.h index b37827ccc..731be4159 100644 --- a/src/include/gnunet_getopt_lib.h +++ b/src/include/gnunet_getopt_lib.h | |||
@@ -83,7 +83,7 @@ struct GNUNET_GETOPT_CommandLineProcessorContext | |||
83 | * | 83 | * |
84 | * @param ctx context for all options | 84 | * @param ctx context for all options |
85 | * @param scls specific closure (for this processor) | 85 | * @param scls specific closure (for this processor) |
86 | * @param option long name of the option (i.e. "config" for --config) | 86 | * @param option long name of the option (e.g. "config" for --config) |
87 | * @param value argument, NULL if none was given | 87 | * @param value argument, NULL if none was given |
88 | * @return #GNUNET_OK to continue processing other options, #GNUNET_SYSERR to abort | 88 | * @return #GNUNET_OK to continue processing other options, #GNUNET_SYSERR to abort |
89 | */ | 89 | */ |
diff --git a/src/include/gnunet_gnsrecord_lib.h b/src/include/gnunet_gnsrecord_lib.h index aff56146e..61cbac2ca 100644 --- a/src/include/gnunet_gnsrecord_lib.h +++ b/src/include/gnunet_gnsrecord_lib.h | |||
@@ -308,7 +308,7 @@ GNUNET_GNSRECORD_string_to_value (uint32_t type, const char *s, void **data, | |||
308 | 308 | ||
309 | 309 | ||
310 | /** | 310 | /** |
311 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 311 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
312 | * | 312 | * |
313 | * @param dns_typename name to convert | 313 | * @param dns_typename name to convert |
314 | * @return corresponding number, UINT32_MAX on error | 314 | * @return corresponding number, UINT32_MAX on error |
@@ -318,7 +318,7 @@ GNUNET_GNSRECORD_typename_to_number (const char *dns_typename); | |||
318 | 318 | ||
319 | 319 | ||
320 | /** | 320 | /** |
321 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 321 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
322 | * | 322 | * |
323 | * @param type number of a type to convert | 323 | * @param type number of a type to convert |
324 | * @return corresponding typestring, NULL on error | 324 | * @return corresponding typestring, NULL on error |
diff --git a/src/include/gnunet_gnsrecord_plugin.h b/src/include/gnunet_gnsrecord_plugin.h index 1435bc4b3..aec22c3af 100644 --- a/src/include/gnunet_gnsrecord_plugin.h +++ b/src/include/gnunet_gnsrecord_plugin.h | |||
@@ -81,7 +81,7 @@ typedef int | |||
81 | 81 | ||
82 | 82 | ||
83 | /** | 83 | /** |
84 | * Function called to convert a type name (i.e. "AAAA") to the | 84 | * Function called to convert a type name (e.g. "AAAA") to the |
85 | * corresponding number. | 85 | * corresponding number. |
86 | * | 86 | * |
87 | * @param cls closure | 87 | * @param cls closure |
@@ -94,8 +94,8 @@ typedef uint32_t | |||
94 | 94 | ||
95 | 95 | ||
96 | /** | 96 | /** |
97 | * Function called to convert a type number (i.e. 1) to the | 97 | * Function called to convert a type number to the |
98 | * corresponding type string (i.e. "A") | 98 | * corresponding type string (e.g. 1 to "A") |
99 | * | 99 | * |
100 | * @param cls closure | 100 | * @param cls closure |
101 | * @param type number of a type to convert | 101 | * @param type number of a type to convert |
diff --git a/src/include/gnunet_identity_service.h b/src/include/gnunet_identity_service.h index 2974568db..c123983e2 100644 --- a/src/include/gnunet_identity_service.h +++ b/src/include/gnunet_identity_service.h | |||
@@ -210,13 +210,12 @@ GNUNET_IDENTITY_ego_get_public_key (struct GNUNET_IDENTITY_Ego *ego, | |||
210 | * with 'NULL' for @a ego. That does NOT mean that the callback won't | 210 | * with 'NULL' for @a ego. That does NOT mean that the callback won't |
211 | * be invoked in the future or that there was an error. | 211 | * be invoked in the future or that there was an error. |
212 | * | 212 | * |
213 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, | 213 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, this |
214 | * this function is only called ONCE, and 'NULL' being passed in | 214 | * function is only called ONCE, and 'NULL' being passed in @a ego does |
215 | * @a ego does indicate an error (i.e. name is taken or no default | 215 | * indicate an error (for example because name is taken or no default value is |
216 | * value is known). If @a ego is non-NULL and if '*ctx' | 216 | * known). If @a ego is non-NULL and if '*ctx' is set in those callbacks, the |
217 | * is set in those callbacks, the value WILL be passed to a subsequent | 217 | * value WILL be passed to a subsequent call to the identity callback of |
218 | * call to the identity callback of #GNUNET_IDENTITY_connect (if | 218 | * #GNUNET_IDENTITY_connect (if that one was not NULL). |
219 | * that one was not NULL). | ||
220 | * | 219 | * |
221 | * When an identity is renamed, this function is called with the | 220 | * When an identity is renamed, this function is called with the |
222 | * (known) @a ego but the NEW @a name. | 221 | * (known) @a ego but the NEW @a name. |
@@ -768,7 +767,7 @@ struct GNUNET_IDENTITY_EgoSuffixLookup; | |||
768 | 767 | ||
769 | /** | 768 | /** |
770 | * Obtain the ego with the maximum suffix match between the | 769 | * Obtain the ego with the maximum suffix match between the |
771 | * ego's name and the given domain name @a suffix. I.e., given | 770 | * ego's name and the given domain name @a suffix. For example, given |
772 | * a @a suffix "a.b.c" and egos with names "d.a.b.c", "b.c" and "c", | 771 | * a @a suffix "a.b.c" and egos with names "d.a.b.c", "b.c" and "c", |
773 | * we return the ego for "b.c". | 772 | * we return the ego for "b.c". |
774 | * | 773 | * |
diff --git a/src/include/gnunet_mq_lib.h b/src/include/gnunet_mq_lib.h index 710664fe7..37bba8c1b 100644 --- a/src/include/gnunet_mq_lib.h +++ b/src/include/gnunet_mq_lib.h | |||
@@ -227,23 +227,23 @@ enum GNUNET_MQ_Error | |||
227 | enum GNUNET_MQ_PriorityPreferences | 227 | enum GNUNET_MQ_PriorityPreferences |
228 | { | 228 | { |
229 | /** | 229 | /** |
230 | * Lowest priority, i.e. background traffic (i.e. NSE, FS). | 230 | * Lowest priority, i.e. background traffic (e.g. NSE, FS). |
231 | * This is the default! | 231 | * This is the default! |
232 | */ | 232 | */ |
233 | GNUNET_MQ_PRIO_BACKGROUND = 0, | 233 | GNUNET_MQ_PRIO_BACKGROUND = 0, |
234 | 234 | ||
235 | /** | 235 | /** |
236 | * Best-effort traffic (i.e. CADET relay, DHT) | 236 | * Best-effort traffic (e.g. CADET relay, DHT) |
237 | */ | 237 | */ |
238 | GNUNET_MQ_PRIO_BEST_EFFORT = 1, | 238 | GNUNET_MQ_PRIO_BEST_EFFORT = 1, |
239 | 239 | ||
240 | /** | 240 | /** |
241 | * Urgent traffic (local peer, i.e. Conversation). | 241 | * Urgent traffic (local peer, e.g. Conversation). |
242 | */ | 242 | */ |
243 | GNUNET_MQ_PRIO_URGENT = 2, | 243 | GNUNET_MQ_PRIO_URGENT = 2, |
244 | 244 | ||
245 | /** | 245 | /** |
246 | * Highest priority, control traffic (i.e. CORE/CADET KX). | 246 | * Highest priority, control traffic (e.g. CORE/CADET KX). |
247 | */ | 247 | */ |
248 | GNUNET_MQ_PRIO_CRITICAL_CONTROL = 3, | 248 | GNUNET_MQ_PRIO_CRITICAL_CONTROL = 3, |
249 | 249 | ||
diff --git a/src/include/gnunet_network_lib.h b/src/include/gnunet_network_lib.h index e40dacde7..97ab64add 100644 --- a/src/include/gnunet_network_lib.h +++ b/src/include/gnunet_network_lib.h | |||
@@ -561,7 +561,7 @@ GNUNET_NETWORK_fdset_destroy (struct GNUNET_NETWORK_FDSet *fds); | |||
561 | /** | 561 | /** |
562 | * Test if the given @a port is available. | 562 | * Test if the given @a port is available. |
563 | * | 563 | * |
564 | * @param ipproto transport protocol to test (i.e. IPPROTO_TCP) | 564 | * @param ipproto transport protocol to test (e.g. IPPROTO_TCP) |
565 | * @param port port number to test | 565 | * @param port port number to test |
566 | * @return #GNUNET_OK if the port is available, #GNUNET_NO if not | 566 | * @return #GNUNET_OK if the port is available, #GNUNET_NO if not |
567 | */ | 567 | */ |
diff --git a/src/include/gnunet_reclaim_plugin.h b/src/include/gnunet_reclaim_plugin.h index 2ba8fc8a0..11d5d76f7 100644 --- a/src/include/gnunet_reclaim_plugin.h +++ b/src/include/gnunet_reclaim_plugin.h | |||
@@ -92,8 +92,8 @@ typedef uint32_t (*GNUNET_RECLAIM_AttributeTypenameToNumberFunction) ( | |||
92 | 92 | ||
93 | 93 | ||
94 | /** | 94 | /** |
95 | * Function called to convert a type number (i.e. 1) to the | 95 | * Function called to convert a type number to the |
96 | * corresponding type string | 96 | * corresponding type string (e.g. 1 to "A") |
97 | * | 97 | * |
98 | * @param cls closure | 98 | * @param cls closure |
99 | * @param type number of a type to convert | 99 | * @param type number of a type to convert |
@@ -154,8 +154,8 @@ typedef uint32_t (*GNUNET_RECLAIM_CredentialTypenameToNumberFunction) ( | |||
154 | 154 | ||
155 | 155 | ||
156 | /** | 156 | /** |
157 | * Function called to convert a type number (i.e. 1) to the | 157 | * Function called to convert a type number to the |
158 | * corresponding type string | 158 | * corresponding type string (e.g. 1 to "A") |
159 | * | 159 | * |
160 | * @param cls closure | 160 | * @param cls closure |
161 | * @param type number of a type to convert | 161 | * @param type number of a type to convert |
@@ -253,8 +253,8 @@ typedef uint32_t (*GNUNET_RECLAIM_PresentationTypenameToNumberFunction) ( | |||
253 | 253 | ||
254 | 254 | ||
255 | /** | 255 | /** |
256 | * Function called to convert a type number (i.e. 1) to the | 256 | * Function called to convert a type number to the |
257 | * corresponding type string | 257 | * corresponding type string (e.g. 1 to "A") |
258 | * | 258 | * |
259 | * @param cls closure | 259 | * @param cls closure |
260 | * @param type number of a type to convert | 260 | * @param type number of a type to convert |
diff --git a/src/include/gnunet_strings_lib.h b/src/include/gnunet_strings_lib.h index cc655d0b0..955a3afca 100644 --- a/src/include/gnunet_strings_lib.h +++ b/src/include/gnunet_strings_lib.h | |||
@@ -59,7 +59,7 @@ extern "C" | |||
59 | /** | 59 | /** |
60 | * Convert a given fancy human-readable size to bytes. | 60 | * Convert a given fancy human-readable size to bytes. |
61 | * | 61 | * |
62 | * @param fancy_size human readable string (i.e. 1 MB) | 62 | * @param fancy_size human readable string (e.g. 1 MB) |
63 | * @param size set to the size in bytes | 63 | * @param size set to the size in bytes |
64 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 64 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
65 | */ | 65 | */ |
@@ -72,7 +72,7 @@ GNUNET_STRINGS_fancy_size_to_bytes (const char *fancy_size, | |||
72 | * Convert a given fancy human-readable time to our internal | 72 | * Convert a given fancy human-readable time to our internal |
73 | * representation. | 73 | * representation. |
74 | * | 74 | * |
75 | * @param fancy_time human readable string (i.e. 1 minute) | 75 | * @param fancy_time human readable string (e.g. 1 minute) |
76 | * @param rtime set to the relative time | 76 | * @param rtime set to the relative time |
77 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 77 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
78 | */ | 78 | */ |
@@ -87,7 +87,7 @@ GNUNET_STRINGS_fancy_time_to_relative (const char *fancy_time, | |||
87 | * representation. The human-readable time is expected to be | 87 | * representation. The human-readable time is expected to be |
88 | * in local time, whereas the returned value will be in UTC. | 88 | * in local time, whereas the returned value will be in UTC. |
89 | * | 89 | * |
90 | * @param fancy_time human readable string (i.e. %Y-%m-%d %H:%M:%S) | 90 | * @param fancy_time human readable string (e.g. %Y-%m-%d %H:%M:%S) |
91 | * @param atime set to the absolute time | 91 | * @param atime set to the absolute time |
92 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 92 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
93 | */ | 93 | */ |
@@ -548,7 +548,7 @@ GNUNET_STRINGS_to_address_ipv4 (const char *zt_addr, | |||
548 | * `struct sockaddr`. | 548 | * `struct sockaddr`. |
549 | * | 549 | * |
550 | * @param addr the address | 550 | * @param addr the address |
551 | * @param[out] af set to the parsed address family (i.e. AF_INET) | 551 | * @param[out] af set to the parsed address family (e.g. AF_INET) |
552 | * @param[out] sa set to the parsed address | 552 | * @param[out] sa set to the parsed address |
553 | * @return 0 on error, otherwise number of bytes in @a sa | 553 | * @return 0 on error, otherwise number of bytes in @a sa |
554 | */ | 554 | */ |
diff --git a/src/include/gnunet_testbed_service.h b/src/include/gnunet_testbed_service.h index acdfb2034..acb444de4 100644 --- a/src/include/gnunet_testbed_service.h +++ b/src/include/gnunet_testbed_service.h | |||
@@ -485,7 +485,7 @@ GNUNET_TESTBED_controller_stop (struct GNUNET_TESTBED_ControllerProc *cproc); | |||
485 | * @param event_mask bit mask with set of events to call 'cc' for; | 485 | * @param event_mask bit mask with set of events to call 'cc' for; |
486 | * or-ed values of "1LL" shifted by the | 486 | * or-ed values of "1LL" shifted by the |
487 | * respective 'enum GNUNET_TESTBED_EventType' | 487 | * respective 'enum GNUNET_TESTBED_EventType' |
488 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) | ...") | 488 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) | ...") |
489 | * @param cc controller callback to invoke on events | 489 | * @param cc controller callback to invoke on events |
490 | * @param cc_cls closure for cc | 490 | * @param cc_cls closure for cc |
491 | * @return handle to the controller | 491 | * @return handle to the controller |
@@ -1415,7 +1415,7 @@ typedef void | |||
1415 | * @param event_mask bit mask with set of events to call 'cc' for; | 1415 | * @param event_mask bit mask with set of events to call 'cc' for; |
1416 | * or-ed values of "1LL" shifted by the | 1416 | * or-ed values of "1LL" shifted by the |
1417 | * respective 'enum GNUNET_TESTBED_EventType' | 1417 | * respective 'enum GNUNET_TESTBED_EventType' |
1418 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") | 1418 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") |
1419 | * @param cc controller callback to invoke on events; This callback is called | 1419 | * @param cc controller callback to invoke on events; This callback is called |
1420 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't | 1420 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't |
1421 | * set in the event_mask as this is the only way get access to the | 1421 | * set in the event_mask as this is the only way get access to the |
@@ -1463,7 +1463,7 @@ GNUNET_TESTBED_run (const char *host_filename, | |||
1463 | * @param event_mask bit mask with set of events to call 'cc' for; | 1463 | * @param event_mask bit mask with set of events to call 'cc' for; |
1464 | * or-ed values of "1LL" shifted by the | 1464 | * or-ed values of "1LL" shifted by the |
1465 | * respective 'enum GNUNET_TESTBED_EventType' | 1465 | * respective 'enum GNUNET_TESTBED_EventType' |
1466 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") | 1466 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") |
1467 | * @param cc controller callback to invoke on events; This callback is called | 1467 | * @param cc controller callback to invoke on events; This callback is called |
1468 | * for all peer start events even if #GNUNET_TESTBED_ET_PEER_START isn't | 1468 | * for all peer start events even if #GNUNET_TESTBED_ET_PEER_START isn't |
1469 | * set in the event_mask as this is the only way get access to the | 1469 | * set in the event_mask as this is the only way get access to the |
diff --git a/src/include/gnunet_time_lib.h b/src/include/gnunet_time_lib.h index 38c372f23..b9e87fcbe 100644 --- a/src/include/gnunet_time_lib.h +++ b/src/include/gnunet_time_lib.h | |||
@@ -558,7 +558,7 @@ GNUNET_TIME_get_offset (void); | |||
558 | 558 | ||
559 | 559 | ||
560 | /** | 560 | /** |
561 | * Return the current year (i.e. '2011'). | 561 | * Return the current year (e.g. '2011'). |
562 | */ | 562 | */ |
563 | unsigned int | 563 | unsigned int |
564 | GNUNET_TIME_get_current_year (void); | 564 | GNUNET_TIME_get_current_year (void); |
diff --git a/src/include/gnunet_transport_communication_service.h b/src/include/gnunet_transport_communication_service.h index af2e36b4d..81a382fb2 100644 --- a/src/include/gnunet_transport_communication_service.h +++ b/src/include/gnunet_transport_communication_service.h | |||
@@ -94,17 +94,17 @@ struct GNUNET_TRANSPORT_CommunicatorHandle; | |||
94 | enum GNUNET_TRANSPORT_CommunicatorCharacteristics | 94 | enum GNUNET_TRANSPORT_CommunicatorCharacteristics |
95 | { | 95 | { |
96 | /** | 96 | /** |
97 | * Characteristics are unknown (i.e. DV). | 97 | * Characteristics are unknown (e.g. DV). |
98 | */ | 98 | */ |
99 | GNUNET_TRANSPORT_CC_UNKNOWN = 0, | 99 | GNUNET_TRANSPORT_CC_UNKNOWN = 0, |
100 | 100 | ||
101 | /** | 101 | /** |
102 | * Transmission is reliabile (with ACKs), i.e. TCP/HTTP/HTTPS. | 102 | * Transmission is reliabile (with ACKs), e.g. TCP/HTTP/HTTPS. |
103 | */ | 103 | */ |
104 | GNUNET_TRANSPORT_CC_RELIABLE = 1, | 104 | GNUNET_TRANSPORT_CC_RELIABLE = 1, |
105 | 105 | ||
106 | /** | 106 | /** |
107 | * Transmission is unreliable (i.e. UDP) | 107 | * Transmission is unreliable (e.g. UDP) |
108 | */ | 108 | */ |
109 | GNUNET_TRANSPORT_CC_UNRELIABLE = 2 | 109 | GNUNET_TRANSPORT_CC_UNRELIABLE = 2 |
110 | }; | 110 | }; |
diff --git a/src/include/gnunet_transport_plugin.h b/src/include/gnunet_transport_plugin.h index 01b10f75c..3e6d1edc6 100644 --- a/src/include/gnunet_transport_plugin.h +++ b/src/include/gnunet_transport_plugin.h | |||
@@ -49,7 +49,7 @@ | |||
49 | * connections to a given peer. Typically used by stateful plugins to | 49 | * connections to a given peer. Typically used by stateful plugins to |
50 | * allow the service to refer to specific streams instead of a more | 50 | * allow the service to refer to specific streams instead of a more |
51 | * general notion of "some connection" to the given peer. This is | 51 | * general notion of "some connection" to the given peer. This is |
52 | * useful since sometimes (i.e. for inbound TCP connections) a | 52 | * useful since sometimes (e.g. for inbound TCP connections) a |
53 | * connection may not have an address that can be used for meaningful | 53 | * connection may not have an address that can be used for meaningful |
54 | * distinction between sessions to the same peer. | 54 | * distinction between sessions to the same peer. |
55 | * | 55 | * |
diff --git a/src/include/gnunet_tun_lib.h b/src/include/gnunet_tun_lib.h index 0af9a1d3e..61880cea1 100644 --- a/src/include/gnunet_tun_lib.h +++ b/src/include/gnunet_tun_lib.h | |||
@@ -746,7 +746,7 @@ GNUNET_NETWORK_STRUCT_END | |||
746 | * Initialize an IPv4 header. | 746 | * Initialize an IPv4 header. |
747 | * | 747 | * |
748 | * @param ip header to initialize | 748 | * @param ip header to initialize |
749 | * @param protocol protocol to use (i.e. IPPROTO_UDP) | 749 | * @param protocol protocol to use (e.g. IPPROTO_UDP) |
750 | * @param payload_length number of bytes of payload that follow (excluding IPv4 | 750 | * @param payload_length number of bytes of payload that follow (excluding IPv4 |
751 | * header) | 751 | * header) |
752 | * @param src source IP address to use | 752 | * @param src source IP address to use |
@@ -764,7 +764,7 @@ GNUNET_TUN_initialize_ipv4_header (struct GNUNET_TUN_IPv4Header *ip, | |||
764 | * Initialize an IPv6 header. | 764 | * Initialize an IPv6 header. |
765 | * | 765 | * |
766 | * @param ip header to initialize | 766 | * @param ip header to initialize |
767 | * @param protocol protocol to use (i.e. IPPROTO_UDP) | 767 | * @param protocol protocol to use (e.g. IPPROTO_UDP) |
768 | * @param payload_length number of bytes of payload that follow (excluding IPv4 | 768 | * @param payload_length number of bytes of payload that follow (excluding IPv4 |
769 | * header) | 769 | * header) |
770 | * @param src source IP address to use | 770 | * @param src source IP address to use |
diff --git a/src/namestore/gnunet-namestore-fcfsd.c b/src/namestore/gnunet-namestore-fcfsd.c index 22d108067..6d794746e 100644 --- a/src/namestore/gnunet-namestore-fcfsd.c +++ b/src/namestore/gnunet-namestore-fcfsd.c | |||
@@ -751,7 +751,7 @@ lookup_it_finished (void *cls) | |||
751 | * @param connection MHD connection handle | 751 | * @param connection MHD connection handle |
752 | * @param url the requested url | 752 | * @param url the requested url |
753 | * @param method the HTTP method used ("GET", "PUT", etc.) | 753 | * @param method the HTTP method used ("GET", "PUT", etc.) |
754 | * @param version the HTTP version string (i.e. "HTTP/1.1") | 754 | * @param version the HTTP version string ("HTTP/1.1" for version 1.1, etc.) |
755 | * @param upload_data the data being uploaded (excluding HEADERS, | 755 | * @param upload_data the data being uploaded (excluding HEADERS, |
756 | * for a POST that fits into memory and that is encoded | 756 | * for a POST that fits into memory and that is encoded |
757 | * with a supported encoding, the POST data will NOT be | 757 | * with a supported encoding, the POST data will NOT be |
@@ -1057,13 +1057,12 @@ do_shutdown (void *cls) | |||
1057 | /** | 1057 | /** |
1058 | * Method called to inform about the egos of this peer. | 1058 | * Method called to inform about the egos of this peer. |
1059 | * | 1059 | * |
1060 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, | 1060 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, this |
1061 | * this function is only called ONCE, and 'NULL' being passed in | 1061 | * function is only called ONCE, and 'NULL' being passed in @a ego does |
1062 | * @a ego does indicate an error (i.e. name is taken or no default | 1062 | * indicate an error (for example because name is taken or no default value is |
1063 | * value is known). If @a ego is non-NULL and if '*ctx' | 1063 | * known). If @a ego is non-NULL and if '*ctx' is set in those callbacks, the |
1064 | * is set in those callbacks, the value WILL be passed to a subsequent | 1064 | * value WILL be passed to a subsequent call to the identity callback of |
1065 | * call to the identity callback of #GNUNET_IDENTITY_connect (if | 1065 | * #GNUNET_IDENTITY_connect (if that one was not NULL). |
1066 | * that one was not NULL). | ||
1067 | * | 1066 | * |
1068 | * @param cls closure, NULL | 1067 | * @param cls closure, NULL |
1069 | * @param ego ego handle | 1068 | * @param ego ego handle |
diff --git a/src/namestore/gnunet-zoneimport.c b/src/namestore/gnunet-zoneimport.c index ce62b52d5..68b43a016 100644 --- a/src/namestore/gnunet-zoneimport.c +++ b/src/namestore/gnunet-zoneimport.c | |||
@@ -1713,13 +1713,12 @@ process_stdin (void *cls) | |||
1713 | * with 'NULL' for @a ego. That does NOT mean that the callback won't | 1713 | * with 'NULL' for @a ego. That does NOT mean that the callback won't |
1714 | * be invoked in the future or that there was an error. | 1714 | * be invoked in the future or that there was an error. |
1715 | * | 1715 | * |
1716 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, | 1716 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, this |
1717 | * this function is only called ONCE, and 'NULL' being passed in | 1717 | * function is only called ONCE, and 'NULL' being passed in @a ego does |
1718 | * @a ego does indicate an error (i.e. name is taken or no default | 1718 | * indicate an error (for example because name is taken or no default value is |
1719 | * value is known). If @a ego is non-NULL and if '*ctx' | 1719 | * known). If @a ego is non-NULL and if '*ctx' is set in those callbacks, the |
1720 | * is set in those callbacks, the value WILL be passed to a subsequent | 1720 | * value WILL be passed to a subsequent call to the identity callback of |
1721 | * call to the identity callback of #GNUNET_IDENTITY_connect (if | 1721 | * #GNUNET_IDENTITY_connect (if that one was not NULL). |
1722 | * that one was not NULL). | ||
1723 | * | 1722 | * |
1724 | * When an identity is renamed, this function is called with the | 1723 | * When an identity is renamed, this function is called with the |
1725 | * (known) @a ego but the NEW @a name. | 1724 | * (known) @a ego but the NEW @a name. |
diff --git a/src/peerinfo-tool/gnunet-peerinfo_plugins.c b/src/peerinfo-tool/gnunet-peerinfo_plugins.c index 901ded014..e196ec58a 100644 --- a/src/peerinfo-tool/gnunet-peerinfo_plugins.c +++ b/src/peerinfo-tool/gnunet-peerinfo_plugins.c | |||
@@ -50,12 +50,12 @@ struct TransportPlugin | |||
50 | struct GNUNET_TRANSPORT_PluginFunctions *api; | 50 | struct GNUNET_TRANSPORT_PluginFunctions *api; |
51 | 51 | ||
52 | /** | 52 | /** |
53 | * Short name for the plugin (i.e. "tcp"). | 53 | * Short name for the plugin (e.g. "tcp"). |
54 | */ | 54 | */ |
55 | char *short_name; | 55 | char *short_name; |
56 | 56 | ||
57 | /** | 57 | /** |
58 | * Name of the library (i.e. "gnunet_plugin_transport_tcp"). | 58 | * Name of the library (e.g. "gnunet_plugin_transport_tcp"). |
59 | */ | 59 | */ |
60 | char *lib_name; | 60 | char *lib_name; |
61 | 61 | ||
diff --git a/src/pt/test_gns_vpn.c b/src/pt/test_gns_vpn.c index 7b4abaec2..e20d835f8 100644 --- a/src/pt/test_gns_vpn.c +++ b/src/pt/test_gns_vpn.c | |||
@@ -530,13 +530,12 @@ fork_and_exec (const char *file, | |||
530 | * with 'NULL' for @a ego. That does NOT mean that the callback won't | 530 | * with 'NULL' for @a ego. That does NOT mean that the callback won't |
531 | * be invoked in the future or that there was an error. | 531 | * be invoked in the future or that there was an error. |
532 | * | 532 | * |
533 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, | 533 | * When used with #GNUNET_IDENTITY_create or #GNUNET_IDENTITY_get, this |
534 | * this function is only called ONCE, and 'NULL' being passed in | 534 | * function is only called ONCE, and 'NULL' being passed in @a ego does |
535 | * @a ego does indicate an error (i.e. name is taken or no default | 535 | * indicate an error (for example because name is taken or no default value is |
536 | * value is known). If @a ego is non-NULL and if '*ctx' | 536 | * known). If @a ego is non-NULL and if '*ctx' is set in those callbacks, the |
537 | * is set in those callbacks, the value WILL be passed to a subsequent | 537 | * value WILL be passed to a subsequent call to the identity callback of |
538 | * call to the identity callback of #GNUNET_IDENTITY_connect (if | 538 | * #GNUNET_IDENTITY_connect (if that one was not NULL). |
539 | * that one was not NULL). | ||
540 | * | 539 | * |
541 | * When an identity is renamed, this function is called with the | 540 | * When an identity is renamed, this function is called with the |
542 | * (known) @a ego but the NEW @a name. | 541 | * (known) @a ego but the NEW @a name. |
diff --git a/src/reclaim/Makefile.am b/src/reclaim/Makefile.am index 9463f19d9..1a0b7fae4 100644 --- a/src/reclaim/Makefile.am +++ b/src/reclaim/Makefile.am | |||
@@ -16,6 +16,11 @@ REST_PLUGIN = \ | |||
16 | CREDENTIAL_PLUGIN = \ | 16 | CREDENTIAL_PLUGIN = \ |
17 | libgnunet_plugin_reclaim_credential_jwt.la | 17 | libgnunet_plugin_reclaim_credential_jwt.la |
18 | 18 | ||
19 | if HAVE_PABC | ||
20 | CREDENTIAL_PLUGIN += libgnunet_plugin_reclaim_credential_pabc.la | ||
21 | REST_PLUGIN += libgnunet_plugin_rest_pabc.la | ||
22 | endif | ||
23 | |||
19 | EXTRA_DIST = \ | 24 | EXTRA_DIST = \ |
20 | reclaim.conf \ | 25 | reclaim.conf \ |
21 | test_reclaim_defaults.conf \ | 26 | test_reclaim_defaults.conf \ |
@@ -87,6 +92,26 @@ libgnunet_plugin_rest_openid_connect_la_LDFLAGS = \ | |||
87 | $(GN_PLUGIN_LDFLAGS) | 92 | $(GN_PLUGIN_LDFLAGS) |
88 | libgnunet_plugin_rest_openid_connect_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS) | 93 | libgnunet_plugin_rest_openid_connect_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS) |
89 | 94 | ||
95 | if HAVE_PABC | ||
96 | libgnunet_plugin_rest_pabc_la_SOURCES = \ | ||
97 | plugin_rest_pabc.c \ | ||
98 | pabc_helper.c | ||
99 | libgnunet_plugin_rest_pabc_la_LIBADD = \ | ||
100 | libgnunetreclaim.la \ | ||
101 | $(top_builddir)/src/json/libgnunetjson.la \ | ||
102 | $(top_builddir)/src/rest/libgnunetrest.la \ | ||
103 | $(top_builddir)/src/util/libgnunetutil.la $(XLIBS) \ | ||
104 | $(LTLIBINTL) -ljansson -lpabc $(MHD_LIBS) | ||
105 | libgnunet_plugin_rest_pabc_la_DEPENDENCIES = \ | ||
106 | libgnunetreclaim.la \ | ||
107 | $(top_builddir)/src/json/libgnunetjson.la \ | ||
108 | $(top_builddir)/src/rest/libgnunetrest.la \ | ||
109 | $(top_builddir)/src/util/libgnunetutil.la | ||
110 | libgnunet_plugin_rest_pabc_la_LDFLAGS = \ | ||
111 | $(GN_PLUGIN_LDFLAGS) | ||
112 | libgnunet_plugin_rest_pabc_la_CFLAGS = $(MHD_CFLAGS) $(AM_CFLAGS) | ||
113 | endif | ||
114 | |||
90 | 115 | ||
91 | libgnunet_plugin_gnsrecord_reclaim_la_SOURCES = \ | 116 | libgnunet_plugin_gnsrecord_reclaim_la_SOURCES = \ |
92 | plugin_gnsrecord_reclaim.c | 117 | plugin_gnsrecord_reclaim.c |
@@ -134,6 +159,21 @@ libgnunet_plugin_reclaim_attribute_basic_la_LIBADD = \ | |||
134 | libgnunet_plugin_reclaim_attribute_basic_la_LDFLAGS = \ | 159 | libgnunet_plugin_reclaim_attribute_basic_la_LDFLAGS = \ |
135 | $(GN_PLUGIN_LDFLAGS) | 160 | $(GN_PLUGIN_LDFLAGS) |
136 | 161 | ||
162 | if HAVE_PABC | ||
163 | libgnunet_plugin_reclaim_credential_pabc_la_SOURCES = \ | ||
164 | plugin_reclaim_credential_pabc.c \ | ||
165 | pabc_helper.c | ||
166 | libgnunet_plugin_reclaim_credential_pabc_la_LIBADD = \ | ||
167 | $(top_builddir)/src/util/libgnunetutil.la \ | ||
168 | libgnunetreclaim.la \ | ||
169 | -ljansson\ | ||
170 | -lpabc \ | ||
171 | $(LTLIBINTL) | ||
172 | libgnunet_plugin_reclaim_credential_pabc_la_LDFLAGS = \ | ||
173 | $(GN_PLUGIN_LDFLAGS) | ||
174 | endif | ||
175 | |||
176 | |||
137 | libgnunet_plugin_reclaim_credential_jwt_la_SOURCES = \ | 177 | libgnunet_plugin_reclaim_credential_jwt_la_SOURCES = \ |
138 | plugin_reclaim_credential_jwt.c | 178 | plugin_reclaim_credential_jwt.c |
139 | libgnunet_plugin_reclaim_credential_jwt_la_LIBADD = \ | 179 | libgnunet_plugin_reclaim_credential_jwt_la_LIBADD = \ |
diff --git a/src/reclaim/json_reclaim.c b/src/reclaim/json_reclaim.c index 4eeb22bee..b1ca7a4a5 100644 --- a/src/reclaim/json_reclaim.c +++ b/src/reclaim/json_reclaim.c | |||
@@ -290,10 +290,11 @@ parse_credential (void *cls, json_t *root, struct GNUNET_JSON_Specification *spe | |||
290 | { | 290 | { |
291 | struct GNUNET_RECLAIM_Credential *cred; | 291 | struct GNUNET_RECLAIM_Credential *cred; |
292 | const char *name_str = NULL; | 292 | const char *name_str = NULL; |
293 | const char *val_str = NULL; | ||
294 | const char *type_str = NULL; | 293 | const char *type_str = NULL; |
295 | const char *id_str = NULL; | 294 | const char *id_str = NULL; |
296 | char *data; | 295 | json_t *val_json; |
296 | char *data = NULL; | ||
297 | char *val_str = NULL; | ||
297 | int unpack_state; | 298 | int unpack_state; |
298 | uint32_t type; | 299 | uint32_t type; |
299 | size_t data_size; | 300 | size_t data_size; |
@@ -308,7 +309,7 @@ parse_credential (void *cls, json_t *root, struct GNUNET_JSON_Specification *spe | |||
308 | } | 309 | } |
309 | // interpret single attribute | 310 | // interpret single attribute |
310 | unpack_state = json_unpack (root, | 311 | unpack_state = json_unpack (root, |
311 | "{s:s, s?s, s:s, s:s!}", | 312 | "{s:s, s?s, s:s, s:o!}", |
312 | "name", | 313 | "name", |
313 | &name_str, | 314 | &name_str, |
314 | "id", | 315 | "id", |
@@ -316,14 +317,19 @@ parse_credential (void *cls, json_t *root, struct GNUNET_JSON_Specification *spe | |||
316 | "type", | 317 | "type", |
317 | &type_str, | 318 | &type_str, |
318 | "value", | 319 | "value", |
319 | &val_str); | 320 | &val_json); |
320 | if ((0 != unpack_state) || (NULL == name_str) || (NULL == val_str) || | 321 | if ((0 != unpack_state) || (NULL == name_str) || (NULL == val_json) || |
321 | (NULL == type_str)) | 322 | (NULL == type_str)) |
322 | { | 323 | { |
323 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 324 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
324 | "Error json object has a wrong format!\n"); | 325 | "Error json object has a wrong format!\n"); |
325 | return GNUNET_SYSERR; | 326 | return GNUNET_SYSERR; |
326 | } | 327 | } |
328 | if (json_is_string (val_json)) { | ||
329 | val_str = GNUNET_strdup (json_string_value (val_json)); | ||
330 | } else { | ||
331 | val_str = json_dumps (val_json, JSON_COMPACT); | ||
332 | } | ||
327 | type = GNUNET_RECLAIM_credential_typename_to_number (type_str); | 333 | type = GNUNET_RECLAIM_credential_typename_to_number (type_str); |
328 | if (GNUNET_SYSERR == | 334 | if (GNUNET_SYSERR == |
329 | (GNUNET_RECLAIM_credential_string_to_value (type, | 335 | (GNUNET_RECLAIM_credential_string_to_value (type, |
diff --git a/src/reclaim/pabc_helper.c b/src/reclaim/pabc_helper.c new file mode 100644 index 000000000..1b1dbea0f --- /dev/null +++ b/src/reclaim/pabc_helper.c | |||
@@ -0,0 +1,364 @@ | |||
1 | // maximilian.kaul@aisec.fraunhofer.de | ||
2 | |||
3 | // WIP implementation of | ||
4 | // https://github.com/ontio/ontology-crypto/wiki/Anonymous-Credential | ||
5 | // using the relic library https://github.com/relic-toolkit/relic/ | ||
6 | |||
7 | #include "pabc_helper.h" | ||
8 | #include <pwd.h> | ||
9 | #include <stdlib.h> | ||
10 | #include <unistd.h> | ||
11 | |||
12 | static char pabc_dir[PATH_MAX + 1]; | ||
13 | |||
14 | static const char * | ||
15 | get_homedir () | ||
16 | { | ||
17 | const char *homedir; | ||
18 | if ((homedir = getenv ("HOME")) == NULL) | ||
19 | { | ||
20 | homedir = getpwuid (getuid ())->pw_dir; | ||
21 | } | ||
22 | return homedir; | ||
23 | } | ||
24 | |||
25 | |||
26 | static enum GNUNET_GenericReturnValue | ||
27 | write_file (char const *const filename, const char *buffer) | ||
28 | { | ||
29 | struct GNUNET_DISK_FileHandle *fh; | ||
30 | fh = GNUNET_DISK_file_open (filename, | ||
31 | GNUNET_DISK_OPEN_WRITE | ||
32 | | GNUNET_DISK_OPEN_TRUNCATE | ||
33 | | GNUNET_DISK_OPEN_CREATE, | ||
34 | GNUNET_DISK_PERM_USER_WRITE | ||
35 | | GNUNET_DISK_PERM_USER_READ); | ||
36 | if (fh == NULL) | ||
37 | return GNUNET_SYSERR; | ||
38 | if (GNUNET_SYSERR == GNUNET_DISK_file_write (fh, | ||
39 | buffer, strlen (buffer) + 1)) | ||
40 | goto fail; | ||
41 | GNUNET_DISK_file_close (fh); | ||
42 | return GNUNET_OK; | ||
43 | |||
44 | fail: | ||
45 | GNUNET_DISK_file_close (fh); | ||
46 | return GNUNET_SYSERR; | ||
47 | } | ||
48 | |||
49 | |||
50 | static enum GNUNET_GenericReturnValue | ||
51 | init_pabc_dir () | ||
52 | { | ||
53 | size_t filename_size = strlen (get_homedir ()) + 1 + strlen (".local") + 1 | ||
54 | + strlen ("pabc-reclaim") + 1; | ||
55 | snprintf (pabc_dir, filename_size, "%s/%s/%s", | ||
56 | get_homedir (), ".local", "pabc-reclaim"); | ||
57 | return GNUNET_DISK_directory_create (pabc_dir); | ||
58 | } | ||
59 | |||
60 | |||
61 | static const char * | ||
62 | get_pabcdir () | ||
63 | { | ||
64 | init_pabc_dir (); | ||
65 | return pabc_dir; | ||
66 | } | ||
67 | |||
68 | |||
69 | enum GNUNET_GenericReturnValue | ||
70 | read_file (char const *const filename, char **buffer) | ||
71 | { | ||
72 | struct GNUNET_DISK_FileHandle *fh; | ||
73 | if (GNUNET_YES != GNUNET_DISK_file_test (filename)) | ||
74 | return GNUNET_SYSERR; | ||
75 | |||
76 | fh = GNUNET_DISK_file_open (filename, | ||
77 | GNUNET_DISK_OPEN_READ, | ||
78 | GNUNET_DISK_PERM_USER_READ); | ||
79 | if (fh == NULL) | ||
80 | return GNUNET_SYSERR; | ||
81 | long lSize = GNUNET_DISK_file_seek (fh, 0, GNUNET_DISK_SEEK_END); | ||
82 | if (lSize < 0) | ||
83 | goto fail; | ||
84 | GNUNET_DISK_file_seek (fh, 0, GNUNET_DISK_SEEK_SET); | ||
85 | *buffer = calloc ((size_t) lSize + 1, sizeof(char)); | ||
86 | if (*buffer == NULL) | ||
87 | goto fail; | ||
88 | |||
89 | // copy the file into the buffer: | ||
90 | size_t r = GNUNET_DISK_file_read (fh, *buffer, (size_t) lSize); | ||
91 | if (r != (size_t) lSize) | ||
92 | goto fail; | ||
93 | |||
94 | GNUNET_DISK_file_close (fh); | ||
95 | return GNUNET_OK; | ||
96 | |||
97 | fail: | ||
98 | GNUNET_DISK_file_close (fh); | ||
99 | return GNUNET_SYSERR; | ||
100 | } | ||
101 | |||
102 | |||
103 | struct pabc_public_parameters * | ||
104 | PABC_read_issuer_ppfile (const char *f, struct pabc_context *const ctx) | ||
105 | { | ||
106 | if (NULL == ctx) | ||
107 | { | ||
108 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No global context provided\n"); | ||
109 | return NULL; | ||
110 | } | ||
111 | struct pabc_public_parameters *pp; | ||
112 | char *buffer; | ||
113 | int r; | ||
114 | r = read_file (f, &buffer); | ||
115 | if (GNUNET_OK != r) | ||
116 | { | ||
117 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Error reading file\n"); | ||
118 | return NULL; | ||
119 | } | ||
120 | if (PABC_OK != pabc_decode_and_new_public_parameters (ctx, &pp, buffer)) | ||
121 | { | ||
122 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
123 | "Failed to decode public parameters\n"); | ||
124 | PABC_FREE_NULL (buffer); | ||
125 | return NULL; | ||
126 | } | ||
127 | PABC_FREE_NULL (buffer); | ||
128 | return pp; | ||
129 | } | ||
130 | |||
131 | |||
132 | enum GNUNET_GenericReturnValue | ||
133 | PABC_load_public_parameters (struct pabc_context *const ctx, | ||
134 | char const *const pp_name, | ||
135 | struct pabc_public_parameters **pp) | ||
136 | { | ||
137 | char fname[PATH_MAX]; | ||
138 | char *pp_filename; | ||
139 | const char *pdir = get_pabcdir (); | ||
140 | |||
141 | if (ctx == NULL) | ||
142 | return GNUNET_SYSERR; | ||
143 | if (pp_name == NULL) | ||
144 | return GNUNET_SYSERR; | ||
145 | |||
146 | GNUNET_STRINGS_urlencode (pp_name, strlen (pp_name), &pp_filename); | ||
147 | if (GNUNET_YES != GNUNET_DISK_directory_test (pdir, GNUNET_YES)) | ||
148 | { | ||
149 | GNUNET_free (pp_filename); | ||
150 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Error reading %s\n", pdir); | ||
151 | return GNUNET_SYSERR; | ||
152 | } | ||
153 | snprintf (fname, PATH_MAX, "%s/%s%s", pdir, pp_filename, PABC_PP_EXT); | ||
154 | if (GNUNET_YES != GNUNET_DISK_file_test (fname)) | ||
155 | { | ||
156 | GNUNET_free (pp_filename); | ||
157 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Error testing %s\n", fname); | ||
158 | return GNUNET_SYSERR; | ||
159 | } | ||
160 | *pp = PABC_read_issuer_ppfile (fname, ctx); | ||
161 | if (*pp) | ||
162 | return GNUNET_OK; | ||
163 | else | ||
164 | return GNUNET_SYSERR; | ||
165 | } | ||
166 | |||
167 | |||
168 | enum GNUNET_GenericReturnValue | ||
169 | PABC_write_public_parameters (char const *const pp_name, | ||
170 | struct pabc_public_parameters *const pp) | ||
171 | { | ||
172 | char *json; | ||
173 | char *filename; | ||
174 | char *pp_filename; | ||
175 | enum pabc_status status; | ||
176 | struct pabc_context *ctx = NULL; | ||
177 | |||
178 | GNUNET_STRINGS_urlencode (pp_name, strlen (pp_name), &pp_filename); | ||
179 | PABC_ASSERT (pabc_new_ctx (&ctx)); | ||
180 | // store in json file | ||
181 | status = pabc_encode_public_parameters (ctx, pp, &json); | ||
182 | if (status != PABC_OK) | ||
183 | { | ||
184 | GNUNET_free (pp_filename); | ||
185 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
186 | "Failed to encode public parameters.\n"); | ||
187 | pabc_free_ctx (&ctx); | ||
188 | return GNUNET_SYSERR; | ||
189 | } | ||
190 | |||
191 | size_t filename_size = | ||
192 | strlen (get_pabcdir ()) + 1 + strlen (pp_filename) + strlen (PABC_PP_EXT) | ||
193 | + 1; | ||
194 | filename = GNUNET_malloc (filename_size); | ||
195 | if (! filename) | ||
196 | { | ||
197 | GNUNET_free (pp_filename); | ||
198 | PABC_FREE_NULL (json); | ||
199 | pabc_free_ctx (&ctx); | ||
200 | return GNUNET_SYSERR; | ||
201 | } | ||
202 | snprintf (filename, filename_size, "%s/%s%s", get_pabcdir (), pp_filename, | ||
203 | PABC_PP_EXT); | ||
204 | |||
205 | GNUNET_free (pp_filename); | ||
206 | if (GNUNET_OK != write_file (filename, json)) | ||
207 | { | ||
208 | PABC_FREE_NULL (filename); | ||
209 | PABC_FREE_NULL (json); | ||
210 | pabc_free_ctx (&ctx); | ||
211 | return GNUNET_SYSERR; | ||
212 | } | ||
213 | PABC_FREE_NULL (filename); | ||
214 | PABC_FREE_NULL (json); | ||
215 | pabc_free_ctx (&ctx); | ||
216 | return GNUNET_OK; | ||
217 | } | ||
218 | |||
219 | |||
220 | enum GNUNET_GenericReturnValue | ||
221 | PABC_write_usr_ctx (char const *const usr_name, | ||
222 | char const *const pp_name, | ||
223 | struct pabc_context const *const ctx, | ||
224 | struct pabc_public_parameters const *const pp, | ||
225 | struct pabc_user_context *const usr_ctx) | ||
226 | { | ||
227 | |||
228 | char *pp_filename; | ||
229 | char *json = NULL; | ||
230 | enum pabc_status status; | ||
231 | char *fname = NULL; | ||
232 | |||
233 | if (NULL == usr_name) | ||
234 | { | ||
235 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No issuer given.\n"); | ||
236 | return GNUNET_SYSERR; | ||
237 | } | ||
238 | if (NULL == pp_name) | ||
239 | { | ||
240 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No user given.\n"); | ||
241 | return GNUNET_SYSERR; | ||
242 | } | ||
243 | if (NULL == ctx) | ||
244 | { | ||
245 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No context given.\n"); | ||
246 | return GNUNET_SYSERR; | ||
247 | } | ||
248 | if (NULL == pp) | ||
249 | { | ||
250 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No public parameters given.\n"); | ||
251 | return GNUNET_SYSERR; | ||
252 | } | ||
253 | if (NULL == usr_ctx) | ||
254 | { | ||
255 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No user context given.\n"); | ||
256 | return GNUNET_SYSERR; | ||
257 | } | ||
258 | |||
259 | GNUNET_STRINGS_urlencode (pp_name, strlen (pp_name), &pp_filename); | ||
260 | status = pabc_encode_user_ctx (ctx, pp, usr_ctx, &json); | ||
261 | if (PABC_OK != status) | ||
262 | { | ||
263 | GNUNET_free (pp_filename); | ||
264 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to encode user context.\n"); | ||
265 | return status; | ||
266 | } | ||
267 | |||
268 | size_t fname_size = strlen (get_pabcdir ()) + 1 + strlen (usr_name) + 1 | ||
269 | + strlen (pp_filename) + strlen (PABC_USR_EXT) + 1; | ||
270 | fname = GNUNET_malloc (fname_size); | ||
271 | |||
272 | snprintf (fname, fname_size, "%s/%s_%s%s", get_pabcdir (), usr_name, | ||
273 | pp_filename, | ||
274 | PABC_USR_EXT); | ||
275 | |||
276 | GNUNET_free (pp_filename); | ||
277 | if (GNUNET_OK == write_file (fname, json)) | ||
278 | { | ||
279 | GNUNET_free (fname); | ||
280 | GNUNET_free (json); | ||
281 | return GNUNET_OK; | ||
282 | } | ||
283 | else | ||
284 | { | ||
285 | GNUNET_free (fname); | ||
286 | GNUNET_free (json); | ||
287 | return GNUNET_SYSERR; | ||
288 | } | ||
289 | } | ||
290 | |||
291 | |||
292 | enum GNUNET_GenericReturnValue | ||
293 | PABC_read_usr_ctx (char const *const usr_name, | ||
294 | char const *const pp_name, | ||
295 | struct pabc_context const *const ctx, | ||
296 | struct pabc_public_parameters const *const pp, | ||
297 | struct pabc_user_context **usr_ctx) | ||
298 | { | ||
299 | char *json = NULL; | ||
300 | char *pp_filename; | ||
301 | enum pabc_status status; | ||
302 | |||
303 | char *fname = NULL; | ||
304 | |||
305 | if (NULL == usr_name) | ||
306 | { | ||
307 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No issuer given.\n"); | ||
308 | return GNUNET_SYSERR; | ||
309 | } | ||
310 | if (NULL == pp_name) | ||
311 | { | ||
312 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No user given.\n"); | ||
313 | return GNUNET_SYSERR; | ||
314 | } | ||
315 | if (NULL == ctx) | ||
316 | { | ||
317 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No context given.\n"); | ||
318 | return GNUNET_SYSERR; | ||
319 | } | ||
320 | if (NULL == pp) | ||
321 | { | ||
322 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No public parameters given.\n"); | ||
323 | return GNUNET_SYSERR; | ||
324 | } | ||
325 | if (NULL == usr_ctx) | ||
326 | { | ||
327 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "No user context given.\n"); | ||
328 | return GNUNET_SYSERR; | ||
329 | } | ||
330 | GNUNET_STRINGS_urlencode (pp_name, strlen (pp_name), &pp_filename); | ||
331 | |||
332 | size_t fname_size = strlen (get_pabcdir ()) + 1 + strlen (usr_name) + 1 | ||
333 | + strlen (pp_filename) + strlen (PABC_USR_EXT) + 1; | ||
334 | fname = GNUNET_malloc (fname_size); | ||
335 | snprintf (fname, fname_size, "%s/%s_%s%s", get_pabcdir (), usr_name, | ||
336 | pp_filename, | ||
337 | PABC_USR_EXT); | ||
338 | GNUNET_free (pp_filename); | ||
339 | if (GNUNET_OK != read_file (fname, &json)) | ||
340 | { | ||
341 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
342 | "Failed to read `%s'\n", fname); | ||
343 | PABC_FREE_NULL (fname); | ||
344 | return GNUNET_SYSERR; | ||
345 | } | ||
346 | GNUNET_free (fname); | ||
347 | |||
348 | status = pabc_new_user_context (ctx, pp, usr_ctx); | ||
349 | if (PABC_OK != status) | ||
350 | { | ||
351 | GNUNET_free (json); | ||
352 | return GNUNET_SYSERR; | ||
353 | } | ||
354 | status = pabc_decode_user_ctx (ctx, pp, *usr_ctx, json); | ||
355 | GNUNET_free (json); | ||
356 | if (PABC_OK != status) | ||
357 | { | ||
358 | pabc_free_user_context (ctx, pp, usr_ctx); | ||
359 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to encode user context.\n"); | ||
360 | return GNUNET_SYSERR; | ||
361 | } | ||
362 | |||
363 | return GNUNET_OK; | ||
364 | } | ||
diff --git a/src/reclaim/pabc_helper.h b/src/reclaim/pabc_helper.h new file mode 100644 index 000000000..045ad5dda --- /dev/null +++ b/src/reclaim/pabc_helper.h | |||
@@ -0,0 +1,41 @@ | |||
1 | #include "platform.h" | ||
2 | #include "gnunet_util_lib.h" | ||
3 | #include <pabc/pabc.h> | ||
4 | |||
5 | #ifndef PATH_MAX | ||
6 | #define PATH_MAX 4096 | ||
7 | #endif | ||
8 | |||
9 | #define PABC_ISK_EXT ".isk" | ||
10 | |||
11 | #define PABC_PP_EXT ".pp" | ||
12 | |||
13 | #define PABC_USR_EXT ".usr" | ||
14 | |||
15 | #define PABC_ATTR_DELIM "=" | ||
16 | |||
17 | enum GNUNET_GenericReturnValue | ||
18 | PABC_write_public_parameters (char const *const pp_name, | ||
19 | struct pabc_public_parameters *const pp); | ||
20 | |||
21 | |||
22 | enum GNUNET_GenericReturnValue | ||
23 | PABC_load_public_parameters (struct pabc_context *const ctx, | ||
24 | char const *const pp_name, | ||
25 | struct pabc_public_parameters **pp); | ||
26 | |||
27 | enum GNUNET_GenericReturnValue | ||
28 | PABC_write_usr_ctx (char const *const user_name, | ||
29 | char const *const pp_name, | ||
30 | struct pabc_context const *const ctx, | ||
31 | struct pabc_public_parameters const *const | ||
32 | pp, | ||
33 | struct pabc_user_context *const usr_ctx); | ||
34 | |||
35 | enum GNUNET_GenericReturnValue | ||
36 | PABC_read_usr_ctx (char const *const user_name, | ||
37 | char const *const pp_name, | ||
38 | struct pabc_context const *const ctx, | ||
39 | struct pabc_public_parameters const *const | ||
40 | pp, | ||
41 | struct pabc_user_context **usr_ctx); | ||
diff --git a/src/reclaim/plugin_gnsrecord_reclaim.c b/src/reclaim/plugin_gnsrecord_reclaim.c index 9e4f0a5c4..ce6fe483d 100644 --- a/src/reclaim/plugin_gnsrecord_reclaim.c +++ b/src/reclaim/plugin_gnsrecord_reclaim.c | |||
@@ -118,7 +118,7 @@ static struct | |||
118 | 118 | ||
119 | 119 | ||
120 | /** | 120 | /** |
121 | * Convert a type name (i.e. "AAAA") to the corresponding number. | 121 | * Convert a type name (e.g. "AAAA") to the corresponding number. |
122 | * | 122 | * |
123 | * @param cls closure, unused | 123 | * @param cls closure, unused |
124 | * @param dns_typename name to convert | 124 | * @param dns_typename name to convert |
@@ -138,7 +138,7 @@ typename_to_number (void *cls, const char *dns_typename) | |||
138 | 138 | ||
139 | 139 | ||
140 | /** | 140 | /** |
141 | * Convert a type number (i.e. 1) to the corresponding type string (i.e. "A") | 141 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
142 | * | 142 | * |
143 | * @param cls closure, unused | 143 | * @param cls closure, unused |
144 | * @param type number of a type to convert | 144 | * @param type number of a type to convert |
diff --git a/src/reclaim/plugin_reclaim_attribute_basic.c b/src/reclaim/plugin_reclaim_attribute_basic.c index c87922886..66f59998a 100644 --- a/src/reclaim/plugin_reclaim_attribute_basic.c +++ b/src/reclaim/plugin_reclaim_attribute_basic.c | |||
@@ -124,7 +124,7 @@ basic_typename_to_number (void *cls, const char *basic_typename) | |||
124 | 124 | ||
125 | 125 | ||
126 | /** | 126 | /** |
127 | * Convert a type number (i.e. 1) to the corresponding type string | 127 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
128 | * | 128 | * |
129 | * @param cls closure, unused | 129 | * @param cls closure, unused |
130 | * @param type number of a type to convert | 130 | * @param type number of a type to convert |
diff --git a/src/reclaim/plugin_reclaim_credential_jwt.c b/src/reclaim/plugin_reclaim_credential_jwt.c index aac0a6ea5..fb01903aa 100644 --- a/src/reclaim/plugin_reclaim_credential_jwt.c +++ b/src/reclaim/plugin_reclaim_credential_jwt.c | |||
@@ -122,7 +122,7 @@ jwt_typename_to_number (void *cls, const char *jwt_typename) | |||
122 | 122 | ||
123 | 123 | ||
124 | /** | 124 | /** |
125 | * Convert a type number (i.e. 1) to the corresponding type string | 125 | * Convert a type number to the corresponding type string (e.g. 1 to "A") |
126 | * | 126 | * |
127 | * @param cls closure, unused | 127 | * @param cls closure, unused |
128 | * @param type number of a type to convert | 128 | * @param type number of a type to convert |
@@ -158,11 +158,10 @@ jwt_parse_attributes (void *cls, | |||
158 | struct GNUNET_RECLAIM_AttributeList *attrs; | 158 | struct GNUNET_RECLAIM_AttributeList *attrs; |
159 | char delim[] = "."; | 159 | char delim[] = "."; |
160 | char *val_str = NULL; | 160 | char *val_str = NULL; |
161 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Parsing JWT attributes.\n"); | ||
162 | char *decoded_jwt; | 161 | char *decoded_jwt; |
163 | char *tmp; | 162 | char *tmp; |
164 | json_t *json_val; | 163 | json_t *json_val; |
165 | json_error_t *json_err = NULL; | 164 | json_error_t json_err; |
166 | 165 | ||
167 | attrs = GNUNET_new (struct GNUNET_RECLAIM_AttributeList); | 166 | attrs = GNUNET_new (struct GNUNET_RECLAIM_AttributeList); |
168 | 167 | ||
@@ -173,7 +172,7 @@ jwt_parse_attributes (void *cls, | |||
173 | (void **) &decoded_jwt); | 172 | (void **) &decoded_jwt); |
174 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Decoded JWT: %s\n", decoded_jwt); | 173 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Decoded JWT: %s\n", decoded_jwt); |
175 | GNUNET_assert (NULL != decoded_jwt); | 174 | GNUNET_assert (NULL != decoded_jwt); |
176 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, json_err); | 175 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, &json_err); |
177 | GNUNET_free (decoded_jwt); | 176 | GNUNET_free (decoded_jwt); |
178 | const char *key; | 177 | const char *key; |
179 | const char *addr_key; | 178 | const char *addr_key; |
@@ -252,6 +251,8 @@ struct GNUNET_RECLAIM_AttributeList * | |||
252 | jwt_parse_attributes_c (void *cls, | 251 | jwt_parse_attributes_c (void *cls, |
253 | const struct GNUNET_RECLAIM_Credential *cred) | 252 | const struct GNUNET_RECLAIM_Credential *cred) |
254 | { | 253 | { |
254 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT) | ||
255 | return NULL; | ||
255 | return jwt_parse_attributes (cls, cred->data, cred->data_size); | 256 | return jwt_parse_attributes (cls, cred->data, cred->data_size); |
256 | } | 257 | } |
257 | 258 | ||
@@ -267,6 +268,8 @@ struct GNUNET_RECLAIM_AttributeList * | |||
267 | jwt_parse_attributes_p (void *cls, | 268 | jwt_parse_attributes_p (void *cls, |
268 | const struct GNUNET_RECLAIM_Presentation *cred) | 269 | const struct GNUNET_RECLAIM_Presentation *cred) |
269 | { | 270 | { |
271 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT) | ||
272 | return NULL; | ||
270 | return jwt_parse_attributes (cls, cred->data, cred->data_size); | 273 | return jwt_parse_attributes (cls, cred->data, cred->data_size); |
271 | } | 274 | } |
272 | 275 | ||
@@ -291,14 +294,14 @@ jwt_get_issuer (void *cls, | |||
291 | json_t *issuer_json; | 294 | json_t *issuer_json; |
292 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Parsing JWT attributes.\n"); | 295 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Parsing JWT attributes.\n"); |
293 | json_t *json_val; | 296 | json_t *json_val; |
294 | json_error_t *json_err = NULL; | 297 | json_error_t json_err; |
295 | 298 | ||
296 | jwt_string = GNUNET_strndup (data, data_size); | 299 | jwt_string = GNUNET_strndup (data, data_size); |
297 | jwt_body = strtok (jwt_string, delim); | 300 | jwt_body = strtok (jwt_string, delim); |
298 | jwt_body = strtok (NULL, delim); | 301 | jwt_body = strtok (NULL, delim); |
299 | GNUNET_STRINGS_base64url_decode (jwt_body, strlen (jwt_body), | 302 | GNUNET_STRINGS_base64url_decode (jwt_body, strlen (jwt_body), |
300 | (void **) &decoded_jwt); | 303 | (void **) &decoded_jwt); |
301 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, json_err); | 304 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, &json_err); |
302 | GNUNET_free (decoded_jwt); | 305 | GNUNET_free (decoded_jwt); |
303 | GNUNET_free (jwt_string); | 306 | GNUNET_free (jwt_string); |
304 | if (NULL == json_val) | 307 | if (NULL == json_val) |
@@ -355,7 +358,7 @@ jwt_get_issuer_p (void *cls, | |||
355 | * @param cred the jwt credential | 358 | * @param cred the jwt credential |
356 | * @return a string, containing the isser | 359 | * @return a string, containing the isser |
357 | */ | 360 | */ |
358 | int | 361 | enum GNUNET_GenericReturnValue |
359 | jwt_get_expiration (void *cls, | 362 | jwt_get_expiration (void *cls, |
360 | const char *data, | 363 | const char *data, |
361 | size_t data_size, | 364 | size_t data_size, |
@@ -368,14 +371,14 @@ jwt_get_expiration (void *cls, | |||
368 | json_t *exp_json; | 371 | json_t *exp_json; |
369 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Parsing JWT attributes.\n"); | 372 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Parsing JWT attributes.\n"); |
370 | json_t *json_val; | 373 | json_t *json_val; |
371 | json_error_t *json_err = NULL; | 374 | json_error_t json_err; |
372 | 375 | ||
373 | jwt_string = GNUNET_strndup (data, data_size); | 376 | jwt_string = GNUNET_strndup (data, data_size); |
374 | jwt_body = strtok (jwt_string, delim); | 377 | jwt_body = strtok (jwt_string, delim); |
375 | jwt_body = strtok (NULL, delim); | 378 | jwt_body = strtok (NULL, delim); |
376 | GNUNET_STRINGS_base64url_decode (jwt_body, strlen (jwt_body), | 379 | GNUNET_STRINGS_base64url_decode (jwt_body, strlen (jwt_body), |
377 | (void **) &decoded_jwt); | 380 | (void **) &decoded_jwt); |
378 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, json_err); | 381 | json_val = json_loads (decoded_jwt, JSON_DECODE_ANY, &json_err); |
379 | GNUNET_free (decoded_jwt); | 382 | GNUNET_free (decoded_jwt); |
380 | GNUNET_free (jwt_string); | 383 | GNUNET_free (jwt_string); |
381 | if (NULL == json_val) | 384 | if (NULL == json_val) |
@@ -396,13 +399,15 @@ jwt_get_expiration (void *cls, | |||
396 | * | 399 | * |
397 | * @param cls the plugin | 400 | * @param cls the plugin |
398 | * @param cred the jwt credential | 401 | * @param cred the jwt credential |
399 | * @return a string, containing the isser | 402 | * @return the expirati |
400 | */ | 403 | */ |
401 | int | 404 | enum GNUNET_GenericReturnValue |
402 | jwt_get_expiration_c (void *cls, | 405 | jwt_get_expiration_c (void *cls, |
403 | const struct GNUNET_RECLAIM_Credential *cred, | 406 | const struct GNUNET_RECLAIM_Credential *cred, |
404 | struct GNUNET_TIME_Absolute *exp) | 407 | struct GNUNET_TIME_Absolute *exp) |
405 | { | 408 | { |
409 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT != cred->type) | ||
410 | return GNUNET_NO; | ||
406 | return jwt_get_expiration (cls, cred->data, cred->data_size, exp); | 411 | return jwt_get_expiration (cls, cred->data, cred->data_size, exp); |
407 | } | 412 | } |
408 | 413 | ||
@@ -414,22 +419,23 @@ jwt_get_expiration_c (void *cls, | |||
414 | * @param cred the jwt credential | 419 | * @param cred the jwt credential |
415 | * @return a string, containing the isser | 420 | * @return a string, containing the isser |
416 | */ | 421 | */ |
417 | int | 422 | enum GNUNET_GenericReturnValue |
418 | jwt_get_expiration_p (void *cls, | 423 | jwt_get_expiration_p (void *cls, |
419 | const struct GNUNET_RECLAIM_Presentation *cred, | 424 | const struct GNUNET_RECLAIM_Presentation *cred, |
420 | struct GNUNET_TIME_Absolute *exp) | 425 | struct GNUNET_TIME_Absolute *exp) |
421 | { | 426 | { |
427 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT != cred->type) | ||
428 | return GNUNET_NO; | ||
422 | return jwt_get_expiration (cls, cred->data, cred->data_size, exp); | 429 | return jwt_get_expiration (cls, cred->data, cred->data_size, exp); |
423 | } | 430 | } |
424 | 431 | ||
425 | 432 | ||
426 | int | 433 | enum GNUNET_GenericReturnValue |
427 | jwt_create_presentation (void *cls, | 434 | jwt_create_presentation (void *cls, |
428 | const struct GNUNET_RECLAIM_Credential *cred, | 435 | const struct GNUNET_RECLAIM_Credential *cred, |
429 | const struct GNUNET_RECLAIM_AttributeList *attrs, | 436 | const struct GNUNET_RECLAIM_AttributeList *attrs, |
430 | struct GNUNET_RECLAIM_Presentation **pres) | 437 | struct GNUNET_RECLAIM_Presentation **pres) |
431 | { | 438 | { |
432 | // FIXME sanity checks?? | ||
433 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT != cred->type) | 439 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT != cred->type) |
434 | return GNUNET_NO; | 440 | return GNUNET_NO; |
435 | *pres = GNUNET_RECLAIM_presentation_new (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT, | 441 | *pres = GNUNET_RECLAIM_presentation_new (GNUNET_RECLAIM_CREDENTIAL_TYPE_JWT, |
diff --git a/src/reclaim/plugin_reclaim_credential_pabc.c b/src/reclaim/plugin_reclaim_credential_pabc.c new file mode 100644 index 000000000..2f6b7b8c4 --- /dev/null +++ b/src/reclaim/plugin_reclaim_credential_pabc.c | |||
@@ -0,0 +1,639 @@ | |||
1 | /* | ||
2 | This file is part of GNUnet | ||
3 | Copyright (C) 2013, 2014, 2016 GNUnet e.V. | ||
4 | |||
5 | GNUnet is free software: you can redistribute it and/or modify it | ||
6 | under the terms of the GNU Affero General Public License as published | ||
7 | by the Free Software Foundation, either version 3 of the License, | ||
8 | or (at your option) any later version. | ||
9 | |||
10 | GNUnet is distributed in the hope that it will be useful, but | ||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | Affero General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU Affero General Public License | ||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | |||
18 | SPDX-License-Identifier: AGPL3.0-or-later | ||
19 | */ | ||
20 | |||
21 | /** | ||
22 | * @file reclaim/plugin_reclaim_credential_pabc.c | ||
23 | * @brief reclaim-credential-plugin-pabc attribute plugin to provide the API for | ||
24 | * pabc credentials. | ||
25 | * | ||
26 | * @author Martin Schanzenbach | ||
27 | */ | ||
28 | #include "platform.h" | ||
29 | #include "gnunet_util_lib.h" | ||
30 | #include "gnunet_reclaim_plugin.h" | ||
31 | #include <inttypes.h> | ||
32 | #include <jansson.h> | ||
33 | #include <pabc/pabc.h> | ||
34 | #include "pabc_helper.h" | ||
35 | |||
36 | /** | ||
37 | * Convert the 'value' of an credential to a string. | ||
38 | * | ||
39 | * @param cls closure, unused | ||
40 | * @param type type of the credential | ||
41 | * @param data value in binary encoding | ||
42 | * @param data_size number of bytes in @a data | ||
43 | * @return NULL on error, otherwise human-readable representation of the value | ||
44 | */ | ||
45 | static char * | ||
46 | pabc_value_to_string (void *cls, | ||
47 | uint32_t type, | ||
48 | const void *data, | ||
49 | size_t data_size) | ||
50 | { | ||
51 | switch (type) | ||
52 | { | ||
53 | case GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC: | ||
54 | return GNUNET_strndup (data, data_size); | ||
55 | |||
56 | default: | ||
57 | return NULL; | ||
58 | } | ||
59 | } | ||
60 | |||
61 | |||
62 | /** | ||
63 | * Convert human-readable version of a 'value' of an credential to the binary | ||
64 | * representation. | ||
65 | * | ||
66 | * @param cls closure, unused | ||
67 | * @param type type of the credential | ||
68 | * @param s human-readable string | ||
69 | * @param data set to value in binary encoding (will be allocated) | ||
70 | * @param data_size set to number of bytes in @a data | ||
71 | * @return #GNUNET_OK on success | ||
72 | */ | ||
73 | static int | ||
74 | pabc_string_to_value (void *cls, | ||
75 | uint32_t type, | ||
76 | const char *s, | ||
77 | void **data, | ||
78 | size_t *data_size) | ||
79 | { | ||
80 | if (NULL == s) | ||
81 | return GNUNET_SYSERR; | ||
82 | switch (type) | ||
83 | { | ||
84 | case GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC: | ||
85 | *data = GNUNET_strdup (s); | ||
86 | *data_size = strlen (s) + 1; | ||
87 | return GNUNET_OK; | ||
88 | |||
89 | default: | ||
90 | return GNUNET_SYSERR; | ||
91 | } | ||
92 | } | ||
93 | |||
94 | |||
95 | /** | ||
96 | * Mapping of credential type numbers to human-readable | ||
97 | * credential type names. | ||
98 | */ | ||
99 | static struct | ||
100 | { | ||
101 | const char *name; | ||
102 | uint32_t number; | ||
103 | } pabc_cred_name_map[] = { { "PABC", GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC }, | ||
104 | { NULL, UINT32_MAX } }; | ||
105 | |||
106 | /** | ||
107 | * Convert a type name to the corresponding number. | ||
108 | * | ||
109 | * @param cls closure, unused | ||
110 | * @param pabc_typename name to convert | ||
111 | * @return corresponding number, UINT32_MAX on error | ||
112 | */ | ||
113 | static uint32_t | ||
114 | pabc_typename_to_number (void *cls, const char *pabc_typename) | ||
115 | { | ||
116 | unsigned int i; | ||
117 | |||
118 | i = 0; | ||
119 | while ((NULL != pabc_cred_name_map[i].name) && | ||
120 | (0 != strcasecmp (pabc_typename, pabc_cred_name_map[i].name))) | ||
121 | i++; | ||
122 | return pabc_cred_name_map[i].number; | ||
123 | } | ||
124 | |||
125 | |||
126 | /** | ||
127 | * Convert a type number (i.e. 1) to the corresponding type string | ||
128 | * | ||
129 | * @param cls closure, unused | ||
130 | * @param type number of a type to convert | ||
131 | * @return corresponding typestring, NULL on error | ||
132 | */ | ||
133 | static const char * | ||
134 | pabc_number_to_typename (void *cls, uint32_t type) | ||
135 | { | ||
136 | unsigned int i; | ||
137 | |||
138 | i = 0; | ||
139 | while ((NULL != pabc_cred_name_map[i].name) && (type != | ||
140 | pabc_cred_name_map[i]. | ||
141 | number)) | ||
142 | i++; | ||
143 | return pabc_cred_name_map[i].name; | ||
144 | } | ||
145 | |||
146 | |||
147 | static void | ||
148 | inspect_attrs (char const *const key, | ||
149 | char const *const value, | ||
150 | void *ctx) | ||
151 | { | ||
152 | struct GNUNET_RECLAIM_AttributeList *attrs = ctx; | ||
153 | |||
154 | if (NULL == value) | ||
155 | return; | ||
156 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
157 | "Found attribue in PABC credential: `%s': `%s'\n", | ||
158 | key, value); | ||
159 | if (0 == strcmp (key, "expiration")) | ||
160 | return; | ||
161 | if (0 == strcmp (key, "issuer")) | ||
162 | return; | ||
163 | if (0 == strcmp (key, "subject")) | ||
164 | return; | ||
165 | GNUNET_RECLAIM_attribute_list_add (attrs, | ||
166 | key, | ||
167 | NULL, | ||
168 | GNUNET_RECLAIM_ATTRIBUTE_TYPE_STRING, | ||
169 | value, | ||
170 | strlen (value)); | ||
171 | } | ||
172 | |||
173 | |||
174 | /** | ||
175 | * Parse a pabc and return the respective claim value as Attribute | ||
176 | * | ||
177 | * @param cls the plugin | ||
178 | * @param cred the pabc credential | ||
179 | * @return a GNUNET_RECLAIM_Attribute, containing the new value | ||
180 | */ | ||
181 | struct GNUNET_RECLAIM_AttributeList * | ||
182 | pabc_parse_attributes (void *cls, | ||
183 | const char *data, | ||
184 | size_t data_size) | ||
185 | { | ||
186 | struct GNUNET_RECLAIM_AttributeList *attrs; | ||
187 | |||
188 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
189 | "Collecting PABC attributes...\n"); | ||
190 | attrs = GNUNET_new (struct GNUNET_RECLAIM_AttributeList); | ||
191 | GNUNET_assert (PABC_OK == | ||
192 | pabc_cred_inspect_credential (data, | ||
193 | &inspect_attrs, attrs)); | ||
194 | return attrs; | ||
195 | } | ||
196 | |||
197 | |||
198 | /** | ||
199 | * Parse a pabc and return the respective claim value as Attribute | ||
200 | * | ||
201 | * @param cls the plugin | ||
202 | * @param cred the pabc credential | ||
203 | * @return a GNUNET_RECLAIM_Attribute, containing the new value | ||
204 | */ | ||
205 | struct GNUNET_RECLAIM_AttributeList * | ||
206 | pabc_parse_attributes_c (void *cls, | ||
207 | const struct GNUNET_RECLAIM_Credential *cred) | ||
208 | { | ||
209 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC) | ||
210 | return NULL; | ||
211 | return pabc_parse_attributes (cls, cred->data, cred->data_size); | ||
212 | } | ||
213 | |||
214 | |||
215 | /** | ||
216 | * Parse a pabc and return the respective claim value as Attribute | ||
217 | * | ||
218 | * @param cls the plugin | ||
219 | * @param cred the pabc credential | ||
220 | * @return a GNUNET_RECLAIM_Attribute, containing the new value | ||
221 | */ | ||
222 | struct GNUNET_RECLAIM_AttributeList * | ||
223 | pabc_parse_attributes_p (void *cls, | ||
224 | const struct GNUNET_RECLAIM_Presentation *cred) | ||
225 | { | ||
226 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC) | ||
227 | return NULL; | ||
228 | return pabc_parse_attributes (cls, cred->data, cred->data_size); | ||
229 | } | ||
230 | |||
231 | struct Finder | ||
232 | { | ||
233 | const char* target; | ||
234 | char *result; | ||
235 | }; | ||
236 | |||
237 | static void | ||
238 | find_attr (char const *const key, | ||
239 | char const *const value, | ||
240 | void *ctx) | ||
241 | { | ||
242 | struct Finder *fdr = ctx; | ||
243 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
244 | "Found `%s', looking for `%s'\n", | ||
245 | key, fdr->target); | ||
246 | if (0 == strcmp (key, fdr->target)) | ||
247 | fdr->result = GNUNET_strdup (value); | ||
248 | } | ||
249 | |||
250 | |||
251 | |||
252 | /** | ||
253 | * Parse a pabc and return an attribute value. | ||
254 | * | ||
255 | * @param cls the plugin | ||
256 | * @param data the pabc credential data | ||
257 | * @param data_size the pabc credential size | ||
258 | * @param skey the attribute key to look for. | ||
259 | * @return a string, containing the isser | ||
260 | */ | ||
261 | char * | ||
262 | pabc_get_attribute (void *cls, | ||
263 | const char *data, | ||
264 | size_t data_size, | ||
265 | const char *skey) | ||
266 | { | ||
267 | |||
268 | struct Finder fdr; | ||
269 | memset (&fdr, 0, sizeof (fdr)); | ||
270 | fdr.target = skey; | ||
271 | pabc_cred_inspect_credential (data, &find_attr, &fdr); | ||
272 | return fdr.result; | ||
273 | } | ||
274 | |||
275 | |||
276 | /** | ||
277 | * Parse a pabc and return the issuer | ||
278 | * | ||
279 | * @param cls the plugin | ||
280 | * @param cred the pabc credential | ||
281 | * @return a string, containing the isser | ||
282 | */ | ||
283 | char* | ||
284 | pabc_get_issuer (void *cls, | ||
285 | const char *data, | ||
286 | size_t data_size) | ||
287 | { | ||
288 | char *res; | ||
289 | if (PABC_OK != pabc_cred_get_attr_by_name_from_cred (data, | ||
290 | "issuer", | ||
291 | &res)) | ||
292 | return NULL; | ||
293 | return res; | ||
294 | } | ||
295 | |||
296 | |||
297 | /** | ||
298 | * Parse a pabc and return the issuer | ||
299 | * | ||
300 | * @param cls the plugin | ||
301 | * @param cred the pabc credential | ||
302 | * @return a string, containing the isser | ||
303 | */ | ||
304 | char* | ||
305 | pabc_get_issuer (void *cls, | ||
306 | const char *data, | ||
307 | size_t data_size) | ||
308 | { | ||
309 | return pabc_get_attribute (cls, data, data_size, "issuer"); | ||
310 | } | ||
311 | |||
312 | |||
313 | /** | ||
314 | * Parse a pabc and return the issuer | ||
315 | * | ||
316 | * @param cls the plugin | ||
317 | * @param cred the pabc credential | ||
318 | * @return a string, containing the isser | ||
319 | */ | ||
320 | char * | ||
321 | pabc_get_issuer_c (void *cls, | ||
322 | const struct GNUNET_RECLAIM_Credential *cred) | ||
323 | { | ||
324 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC != cred->type) | ||
325 | return NULL; | ||
326 | return pabc_get_issuer (cls, cred->data, cred->data_size); | ||
327 | } | ||
328 | |||
329 | |||
330 | /** | ||
331 | * Parse a pabc and return the issuer | ||
332 | * | ||
333 | * @param cls the plugin | ||
334 | * @param cred the pabc credential | ||
335 | * @return a string, containing the isser | ||
336 | */ | ||
337 | char * | ||
338 | pabc_get_issuer_p (void *cls, | ||
339 | const struct GNUNET_RECLAIM_Presentation *cred) | ||
340 | { | ||
341 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC != cred->type) | ||
342 | return NULL; | ||
343 | return pabc_get_issuer (cls, cred->data, cred->data_size); | ||
344 | } | ||
345 | |||
346 | |||
347 | /** | ||
348 | * Parse a pabc and return the expiration | ||
349 | * | ||
350 | * @param cls the plugin | ||
351 | * @param cred the pabc credential | ||
352 | * @return a string, containing the isser | ||
353 | */ | ||
354 | int | ||
355 | pabc_get_expiration (void *cls, | ||
356 | const char *data, | ||
357 | size_t data_size, | ||
358 | struct GNUNET_TIME_Absolute *exp) | ||
359 | { | ||
360 | json_t *json_root; | ||
361 | json_t *json_attrs; | ||
362 | json_t *value; | ||
363 | json_t *exp_j; | ||
364 | json_error_t *json_err = NULL; | ||
365 | const char*key; | ||
366 | |||
367 | json_root = json_loads (data, JSON_DECODE_ANY, json_err); | ||
368 | if ((NULL == json_root) || | ||
369 | (! json_is_object (json_root))) | ||
370 | { | ||
371 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
372 | "Unable to retrive expiration from credential\n"); | ||
373 | return GNUNET_SYSERR; | ||
374 | } | ||
375 | |||
376 | if (1 != sscanf (exp_str, "%llu", &exp_i)) | ||
377 | { | ||
378 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
379 | "Invalid expiration `%s'\n", exp_str); | ||
380 | GNUNET_free (exp_str); | ||
381 | return GNUNET_SYSERR; | ||
382 | } | ||
383 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
384 | "Converted expiration string `%s' to %llu", | ||
385 | exp_str, exp_i); | ||
386 | |||
387 | GNUNET_free (exp_str); | ||
388 | exp->abs_value_us = exp_i * 1000 * 1000; | ||
389 | return GNUNET_OK; | ||
390 | } | ||
391 | |||
392 | |||
393 | /** | ||
394 | * Parse a pabc and return the expiration | ||
395 | * | ||
396 | * @param cls the plugin | ||
397 | * @param cred the pabc credential | ||
398 | * @return a string, containing the isser | ||
399 | */ | ||
400 | enum GNUNET_GenericReturnValue | ||
401 | pabc_get_expiration_c (void *cls, | ||
402 | const struct GNUNET_RECLAIM_Credential *cred, | ||
403 | struct GNUNET_TIME_Absolute *exp) | ||
404 | { | ||
405 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC) | ||
406 | return GNUNET_NO; | ||
407 | return pabc_get_expiration (cls, cred->data, cred->data_size, exp); | ||
408 | } | ||
409 | |||
410 | |||
411 | /** | ||
412 | * Parse a pabc and return the expiration | ||
413 | * | ||
414 | * @param cls the plugin | ||
415 | * @param cred the pabc credential | ||
416 | * @return a string, containing the isser | ||
417 | */ | ||
418 | enum GNUNET_GenericReturnValue | ||
419 | pabc_get_expiration_p (void *cls, | ||
420 | const struct GNUNET_RECLAIM_Presentation *cred, | ||
421 | struct GNUNET_TIME_Absolute *exp) | ||
422 | { | ||
423 | if (cred->type != GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC) | ||
424 | return GNUNET_NO; | ||
425 | return pabc_get_expiration (cls, cred->data, cred->data_size, exp); | ||
426 | } | ||
427 | |||
428 | |||
429 | int | ||
430 | pabc_create_presentation (void *cls, | ||
431 | const struct GNUNET_RECLAIM_Credential *credential, | ||
432 | const struct GNUNET_RECLAIM_AttributeList *attrs, | ||
433 | struct GNUNET_RECLAIM_Presentation **pres) | ||
434 | { | ||
435 | struct pabc_context *ctx = NULL; | ||
436 | struct pabc_user_context *usr_ctx = NULL; | ||
437 | struct pabc_public_parameters *pp = NULL; | ||
438 | struct pabc_credential *cred = NULL; | ||
439 | struct pabc_blinded_proof *proof = NULL; | ||
440 | struct GNUNET_RECLAIM_AttributeListEntry *ale; | ||
441 | char *issuer; | ||
442 | char *subject; | ||
443 | enum pabc_status status; | ||
444 | |||
445 | if (GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC != credential->type) | ||
446 | return GNUNET_NO; | ||
447 | |||
448 | |||
449 | PABC_ASSERT (pabc_new_ctx (&ctx)); | ||
450 | issuer = pabc_get_issuer_c (cls, credential); | ||
451 | if (NULL == issuer) | ||
452 | { | ||
453 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
454 | "No issuer found in credential\n"); | ||
455 | pabc_free_ctx (&ctx); | ||
456 | return GNUNET_SYSERR; | ||
457 | } | ||
458 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
459 | "Got issuer for credential: %s\n", issuer); | ||
460 | status = PABC_load_public_parameters (ctx, issuer, &pp); | ||
461 | if (status != PABC_OK) | ||
462 | { | ||
463 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
464 | "Failed to read public parameters.\n"); | ||
465 | pabc_free_ctx (&ctx); | ||
466 | GNUNET_free (issuer); | ||
467 | return GNUNET_SYSERR; | ||
468 | } | ||
469 | if (PABC_OK != pabc_cred_get_attr_by_name_from_cred (credential->data, | ||
470 | "subject", | ||
471 | &subject)) | ||
472 | { | ||
473 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
474 | "Failed to get subject.\n"); | ||
475 | pabc_free_ctx (&ctx); | ||
476 | GNUNET_free (issuer); | ||
477 | return GNUNET_SYSERR; | ||
478 | } | ||
479 | status = PABC_read_usr_ctx (subject, issuer, ctx, pp, &usr_ctx); | ||
480 | GNUNET_free (issuer); | ||
481 | GNUNET_free (subject); | ||
482 | if (PABC_OK != status) | ||
483 | { | ||
484 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
485 | "Failed to read user context.\n"); | ||
486 | pabc_free_public_parameters (ctx, &pp); | ||
487 | return GNUNET_SYSERR; | ||
488 | } | ||
489 | |||
490 | status = pabc_new_credential (ctx, pp, &cred); | ||
491 | if (status != PABC_OK) | ||
492 | { | ||
493 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
494 | "Failed to allocate credential.\n"); | ||
495 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
496 | pabc_free_public_parameters (ctx, &pp); | ||
497 | return GNUNET_SYSERR; | ||
498 | } | ||
499 | |||
500 | status = pabc_decode_credential (ctx, pp, cred, credential->data); | ||
501 | if (status != PABC_OK) | ||
502 | { | ||
503 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
504 | "Failed to decode credential.\n"); | ||
505 | pabc_free_credential (ctx, pp, &cred); | ||
506 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
507 | pabc_free_public_parameters (ctx, &pp); | ||
508 | return GNUNET_SYSERR; | ||
509 | } | ||
510 | |||
511 | status = pabc_new_proof (ctx, pp, &proof); | ||
512 | if (status != PABC_OK) | ||
513 | { | ||
514 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
515 | "Failed to allocate proof.\n"); | ||
516 | pabc_free_credential (ctx, pp, &cred); | ||
517 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
518 | pabc_free_public_parameters (ctx, &pp); | ||
519 | return GNUNET_SYSERR; | ||
520 | } | ||
521 | |||
522 | // now we can parse the attributes to disclose and configure the proof | ||
523 | for (ale = attrs->list_head; NULL != ale; ale = ale->next) | ||
524 | { | ||
525 | status = pabc_set_disclosure_by_attribute_name (ctx, pp, proof, | ||
526 | ale->attribute->name, | ||
527 | PABC_DISCLOSED, cred); | ||
528 | if (status != PABC_OK) | ||
529 | { | ||
530 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
531 | "Failed to configure proof.\n"); | ||
532 | pabc_free_credential (ctx, pp, &cred); | ||
533 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
534 | pabc_free_public_parameters (ctx, &pp); | ||
535 | return GNUNET_SYSERR; | ||
536 | } | ||
537 | } | ||
538 | |||
539 | // and finally -> sign the proof | ||
540 | status = pabc_gen_proof (ctx, usr_ctx, pp, proof, cred); | ||
541 | if (status != PABC_OK) | ||
542 | { | ||
543 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
544 | "Failed to sign proof.\n"); | ||
545 | pabc_free_proof (ctx, pp, &proof); | ||
546 | pabc_free_credential (ctx, pp, &cred); | ||
547 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
548 | pabc_free_public_parameters (ctx, &pp); | ||
549 | return GNUNET_SYSERR; | ||
550 | } | ||
551 | // print the result | ||
552 | char *json = NULL; | ||
553 | char *ppid = NULL; | ||
554 | char *userid = NULL; | ||
555 | GNUNET_assert (PABC_OK == pabc_cred_get_userid_from_cred (credential->data, | ||
556 | &userid)); | ||
557 | GNUNET_assert (PABC_OK == pabc_cred_get_ppid_from_cred (credential->data, | ||
558 | &ppid)); | ||
559 | pabc_cred_encode_proof (ctx, pp, proof, userid, ppid, &json); | ||
560 | GNUNET_free (ppid); | ||
561 | GNUNET_free (userid); | ||
562 | if (PABC_OK != status) | ||
563 | { | ||
564 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
565 | "Failed to serialize proof.\n"); | ||
566 | pabc_free_proof (ctx, pp, &proof); | ||
567 | pabc_free_credential (ctx, pp, &cred); | ||
568 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
569 | pabc_free_public_parameters (ctx, &pp); | ||
570 | return GNUNET_SYSERR; | ||
571 | } | ||
572 | char *json_enc; | ||
573 | GNUNET_STRINGS_base64_encode (json, | ||
574 | strlen (json) + 1, | ||
575 | &json_enc); | ||
576 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
577 | "Presentation: %s\n", json_enc); | ||
578 | // clean up | ||
579 | *pres = GNUNET_RECLAIM_presentation_new (GNUNET_RECLAIM_CREDENTIAL_TYPE_PABC, | ||
580 | json_enc, | ||
581 | strlen (json_enc) + 1); | ||
582 | GNUNET_free (json_enc); | ||
583 | PABC_FREE_NULL (json); | ||
584 | pabc_free_proof (ctx, pp, &proof); | ||
585 | pabc_free_credential (ctx, pp, &cred); | ||
586 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
587 | pabc_free_public_parameters (ctx, &pp); | ||
588 | return GNUNET_OK; | ||
589 | } | ||
590 | |||
591 | |||
592 | /** | ||
593 | * Entry point for the plugin. | ||
594 | * | ||
595 | * @param cls NULL | ||
596 | * @return the exported block API | ||
597 | */ | ||
598 | void * | ||
599 | libgnunet_plugin_reclaim_credential_pabc_init (void *cls) | ||
600 | { | ||
601 | struct GNUNET_RECLAIM_CredentialPluginFunctions *api; | ||
602 | |||
603 | api = GNUNET_new (struct GNUNET_RECLAIM_CredentialPluginFunctions); | ||
604 | api->value_to_string = &pabc_value_to_string; | ||
605 | api->string_to_value = &pabc_string_to_value; | ||
606 | api->typename_to_number = &pabc_typename_to_number; | ||
607 | api->number_to_typename = &pabc_number_to_typename; | ||
608 | api->get_attributes = &pabc_parse_attributes_c; | ||
609 | api->get_issuer = &pabc_get_issuer_c; | ||
610 | api->get_expiration = &pabc_get_expiration_c; | ||
611 | api->value_to_string_p = &pabc_value_to_string; | ||
612 | api->string_to_value_p = &pabc_string_to_value; | ||
613 | api->typename_to_number_p = &pabc_typename_to_number; | ||
614 | api->number_to_typename_p = &pabc_number_to_typename; | ||
615 | api->get_attributes_p = &pabc_parse_attributes_p; | ||
616 | api->get_issuer_p = &pabc_get_issuer_p; | ||
617 | api->get_expiration_p = &pabc_get_expiration_p; | ||
618 | api->create_presentation = &pabc_create_presentation; | ||
619 | return api; | ||
620 | } | ||
621 | |||
622 | |||
623 | /** | ||
624 | * Exit point from the plugin. | ||
625 | * | ||
626 | * @param cls the return value from #libgnunet_plugin_block_test_init() | ||
627 | * @return NULL | ||
628 | */ | ||
629 | void * | ||
630 | libgnunet_plugin_reclaim_credential_pabc_done (void *cls) | ||
631 | { | ||
632 | struct GNUNET_RECLAIM_CredentialPluginFunctions *api = cls; | ||
633 | |||
634 | GNUNET_free (api); | ||
635 | return NULL; | ||
636 | } | ||
637 | |||
638 | |||
639 | /* end of plugin_reclaim_credential_type_pabc.c */ | ||
diff --git a/src/reclaim/plugin_rest_openid_connect.c b/src/reclaim/plugin_rest_openid_connect.c index c6259d745..fef79fb10 100644 --- a/src/reclaim/plugin_rest_openid_connect.c +++ b/src/reclaim/plugin_rest_openid_connect.c | |||
@@ -2478,13 +2478,12 @@ userinfo_endpoint (struct GNUNET_REST_RequestHandle *con_handle, | |||
2478 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't | 2478 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't |
2479 | * be invoked in the future or that there was an error. | 2479 | * be invoked in the future or that there was an error. |
2480 | * | 2480 | * |
2481 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', | 2481 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', this |
2482 | * this function is only called ONCE, and 'NULL' being passed in | 2482 | * function is only called ONCE, and 'NULL' being passed in 'ego' does |
2483 | * 'ego' does indicate an error (i.e. name is taken or no default | 2483 | * indicate an error (for example because name is taken or no default value is |
2484 | * value is known). If 'ego' is non-NULL and if '*ctx' | 2484 | * known). If 'ego' is non-NULL and if '*ctx' is set in those callbacks, the |
2485 | * is set in those callbacks, the value WILL be passed to a subsequent | 2485 | * value WILL be passed to a subsequent call to the identity callback of |
2486 | * call to the identity callback of 'GNUNET_IDENTITY_connect' (if | 2486 | * 'GNUNET_IDENTITY_connect' (if that one was not NULL). |
2487 | * that one was not NULL). | ||
2488 | * | 2487 | * |
2489 | * When an identity is renamed, this function is called with the | 2488 | * When an identity is renamed, this function is called with the |
2490 | * (known) ego but the NEW identifier. | 2489 | * (known) ego but the NEW identifier. |
diff --git a/src/reclaim/plugin_rest_pabc.c b/src/reclaim/plugin_rest_pabc.c new file mode 100644 index 000000000..6603fb888 --- /dev/null +++ b/src/reclaim/plugin_rest_pabc.c | |||
@@ -0,0 +1,666 @@ | |||
1 | /* | ||
2 | This file is part of GNUnet. | ||
3 | Copyright (C) 2012-2015 GNUnet e.V. | ||
4 | |||
5 | GNUnet is free software: you can redistribute it and/or modify it | ||
6 | under the terms of the GNU Affero General Public License as published | ||
7 | by the Free Software Foundation, either version 3 of the License, | ||
8 | or (at your option) any later version. | ||
9 | |||
10 | GNUnet is distributed in the hope that it will be useful, but | ||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | Affero General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU Affero General Public License | ||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
17 | |||
18 | SPDX-License-Identifier: AGPL3.0-or-later | ||
19 | */ | ||
20 | /** | ||
21 | * @author Martin Schanzenbach | ||
22 | * @file reclaim/plugin_rest_pabc.c | ||
23 | * @brief GNUnet pabc REST plugin | ||
24 | * | ||
25 | */ | ||
26 | #include "platform.h" | ||
27 | #include "microhttpd.h" | ||
28 | #include <inttypes.h> | ||
29 | #include <jansson.h> | ||
30 | #include <pabc/pabc.h> | ||
31 | #include "gnunet_reclaim_lib.h" | ||
32 | #include "gnunet_reclaim_service.h" | ||
33 | #include "gnunet_rest_lib.h" | ||
34 | #include "gnunet_rest_plugin.h" | ||
35 | #include "gnunet_signatures.h" | ||
36 | #include "pabc_helper.h" | ||
37 | |||
38 | /** | ||
39 | * REST root namespace | ||
40 | */ | ||
41 | #define GNUNET_REST_API_NS_PABC "/pabc" | ||
42 | |||
43 | /** | ||
44 | * Credential request endpoint | ||
45 | */ | ||
46 | #define GNUNET_REST_API_NS_PABC_CR "/pabc/cr" | ||
47 | |||
48 | /** | ||
49 | * The configuration handle | ||
50 | */ | ||
51 | const struct GNUNET_CONFIGURATION_Handle *cfg; | ||
52 | |||
53 | /** | ||
54 | * HTTP methods allows for this plugin | ||
55 | */ | ||
56 | static char *allow_methods; | ||
57 | |||
58 | /** | ||
59 | * @brief struct returned by the initialization function of the plugin | ||
60 | */ | ||
61 | struct Plugin | ||
62 | { | ||
63 | const struct GNUNET_CONFIGURATION_Handle *cfg; | ||
64 | }; | ||
65 | |||
66 | |||
67 | struct RequestHandle | ||
68 | { | ||
69 | /** | ||
70 | * DLL | ||
71 | */ | ||
72 | struct RequestHandle *next; | ||
73 | |||
74 | /** | ||
75 | * DLL | ||
76 | */ | ||
77 | struct RequestHandle *prev; | ||
78 | |||
79 | /** | ||
80 | * Rest connection | ||
81 | */ | ||
82 | struct GNUNET_REST_RequestHandle *rest_handle; | ||
83 | |||
84 | /** | ||
85 | * Desired timeout for the lookup (default is no timeout). | ||
86 | */ | ||
87 | struct GNUNET_TIME_Relative timeout; | ||
88 | |||
89 | /** | ||
90 | * ID of a task associated with the resolution process. | ||
91 | */ | ||
92 | struct GNUNET_SCHEDULER_Task *timeout_task; | ||
93 | |||
94 | /** | ||
95 | * The plugin result processor | ||
96 | */ | ||
97 | GNUNET_REST_ResultProcessor proc; | ||
98 | |||
99 | /** | ||
100 | * The closure of the result processor | ||
101 | */ | ||
102 | void *proc_cls; | ||
103 | |||
104 | /** | ||
105 | * The url | ||
106 | */ | ||
107 | char *url; | ||
108 | |||
109 | /** | ||
110 | * Error response message | ||
111 | */ | ||
112 | char *emsg; | ||
113 | |||
114 | /** | ||
115 | * Reponse code | ||
116 | */ | ||
117 | int response_code; | ||
118 | |||
119 | /** | ||
120 | * Response object | ||
121 | */ | ||
122 | json_t *resp_object; | ||
123 | }; | ||
124 | |||
125 | /** | ||
126 | * DLL | ||
127 | */ | ||
128 | static struct RequestHandle *requests_head; | ||
129 | |||
130 | /** | ||
131 | * DLL | ||
132 | */ | ||
133 | static struct RequestHandle *requests_tail; | ||
134 | |||
135 | |||
136 | /** | ||
137 | * Cleanup lookup handle | ||
138 | * @param handle Handle to clean up | ||
139 | */ | ||
140 | static void | ||
141 | cleanup_handle (void *cls) | ||
142 | { | ||
143 | struct RequestHandle *handle = cls; | ||
144 | |||
145 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up\n"); | ||
146 | if (NULL != handle->resp_object) | ||
147 | json_decref (handle->resp_object); | ||
148 | if (NULL != handle->timeout_task) | ||
149 | GNUNET_SCHEDULER_cancel (handle->timeout_task); | ||
150 | if (NULL != handle->url) | ||
151 | GNUNET_free (handle->url); | ||
152 | if (NULL != handle->emsg) | ||
153 | GNUNET_free (handle->emsg); | ||
154 | GNUNET_CONTAINER_DLL_remove (requests_head, | ||
155 | requests_tail, | ||
156 | handle); | ||
157 | GNUNET_free (handle); | ||
158 | } | ||
159 | |||
160 | |||
161 | /** | ||
162 | * Task run on error, sends error message. Cleans up everything. | ||
163 | * | ||
164 | * @param cls the `struct RequestHandle` | ||
165 | */ | ||
166 | static void | ||
167 | do_error (void *cls) | ||
168 | { | ||
169 | struct RequestHandle *handle = cls; | ||
170 | struct MHD_Response *resp; | ||
171 | char *json_error; | ||
172 | |||
173 | GNUNET_asprintf (&json_error, "{ \"error\" : \"%s\" }", handle->emsg); | ||
174 | if (0 == handle->response_code) | ||
175 | { | ||
176 | handle->response_code = MHD_HTTP_BAD_REQUEST; | ||
177 | } | ||
178 | resp = GNUNET_REST_create_response (json_error); | ||
179 | MHD_add_response_header (resp, "Content-Type", "application/json"); | ||
180 | handle->proc (handle->proc_cls, resp, handle->response_code); | ||
181 | cleanup_handle (handle); | ||
182 | GNUNET_free (json_error); | ||
183 | } | ||
184 | |||
185 | |||
186 | /** | ||
187 | * Task run on timeout, sends error message. Cleans up everything. | ||
188 | * | ||
189 | * @param cls the `struct RequestHandle` | ||
190 | */ | ||
191 | static void | ||
192 | do_timeout (void *cls) | ||
193 | { | ||
194 | struct RequestHandle *handle = cls; | ||
195 | |||
196 | handle->timeout_task = NULL; | ||
197 | do_error (handle); | ||
198 | } | ||
199 | |||
200 | |||
201 | static void | ||
202 | return_response (void *cls) | ||
203 | { | ||
204 | char *result_str; | ||
205 | struct RequestHandle *handle = cls; | ||
206 | struct MHD_Response *resp; | ||
207 | |||
208 | result_str = json_dumps (handle->resp_object, 0); | ||
209 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Result %s\n", result_str); | ||
210 | resp = GNUNET_REST_create_response (result_str); | ||
211 | MHD_add_response_header (resp, "Access-Control-Allow-Methods", allow_methods); | ||
212 | handle->proc (handle->proc_cls, resp, MHD_HTTP_OK); | ||
213 | GNUNET_free (result_str); | ||
214 | cleanup_handle (handle); | ||
215 | } | ||
216 | |||
217 | |||
218 | static enum pabc_status | ||
219 | set_attributes_from_idtoken (const struct pabc_context *ctx, | ||
220 | const struct pabc_public_parameters *pp, | ||
221 | struct pabc_user_context *usr_ctx, | ||
222 | const char *id_token) | ||
223 | { | ||
224 | json_t *payload_json; | ||
225 | json_t *value; | ||
226 | json_error_t json_err; | ||
227 | const char *key; | ||
228 | const char *jwt_body; | ||
229 | char *decoded_jwt; | ||
230 | char delim[] = "."; | ||
231 | char *jwt_string; | ||
232 | const char *pabc_key; | ||
233 | enum pabc_status status; | ||
234 | |||
235 | // FIXME parse JWT | ||
236 | jwt_string = GNUNET_strndup (id_token, strlen (id_token)); | ||
237 | jwt_body = strtok (jwt_string, delim); | ||
238 | jwt_body = strtok (NULL, delim); | ||
239 | GNUNET_STRINGS_base64url_decode (jwt_body, strlen (jwt_body), | ||
240 | (void **) &decoded_jwt); | ||
241 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Decoded ID Token: %s\n", decoded_jwt); | ||
242 | payload_json = json_loads (decoded_jwt, JSON_DECODE_ANY, &json_err); | ||
243 | GNUNET_free (decoded_jwt); | ||
244 | |||
245 | json_object_foreach (payload_json, key, value) | ||
246 | { | ||
247 | pabc_key = key; | ||
248 | if (0 == strcmp ("iss", key)) | ||
249 | pabc_key = "issuer"; // rename | ||
250 | if (0 == strcmp ("sub", key)) | ||
251 | pabc_key = "subject"; // rename | ||
252 | if (0 == strcmp ("jti", key)) | ||
253 | continue; | ||
254 | if (0 == strcmp ("exp", key)) | ||
255 | pabc_key = "expiration"; // rename | ||
256 | if (0 == strcmp ("iat", key)) | ||
257 | continue; | ||
258 | if (0 == strcmp ("nbf", key)) | ||
259 | continue; | ||
260 | if (0 == strcmp ("aud", key)) | ||
261 | continue; | ||
262 | char *tmp_val; | ||
263 | if (json_is_string (value)) | ||
264 | tmp_val = GNUNET_strdup (json_string_value (value)); | ||
265 | else | ||
266 | tmp_val = json_dumps (value, JSON_ENCODE_ANY); | ||
267 | if (NULL == tmp_val) | ||
268 | { | ||
269 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
270 | "Unable to encode JSON value for `%s'\n", key); | ||
271 | continue; | ||
272 | } | ||
273 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
274 | "Setting `%s' to `%s'\n", key, tmp_val); | ||
275 | status = pabc_set_attribute_value_by_name (ctx, pp, usr_ctx, | ||
276 | pabc_key, | ||
277 | tmp_val); | ||
278 | GNUNET_free (tmp_val); | ||
279 | if (PABC_OK != status) | ||
280 | { | ||
281 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | ||
282 | "Failed to set attribute `%s'.\n", key); | ||
283 | } | ||
284 | } | ||
285 | return PABC_OK; | ||
286 | } | ||
287 | |||
288 | |||
289 | static enum GNUNET_GenericReturnValue | ||
290 | setup_new_user_context (struct pabc_context *ctx, | ||
291 | struct pabc_public_parameters *pp, | ||
292 | struct pabc_user_context **usr_ctx) | ||
293 | { | ||
294 | if (PABC_OK != pabc_new_user_context (ctx, pp, usr_ctx)) | ||
295 | return GNUNET_SYSERR; | ||
296 | |||
297 | if (PABC_OK != pabc_populate_user_context (ctx, *usr_ctx)) | ||
298 | { | ||
299 | pabc_free_user_context (ctx, pp, usr_ctx); | ||
300 | return GNUNET_SYSERR; | ||
301 | } | ||
302 | return GNUNET_OK; | ||
303 | } | ||
304 | |||
305 | |||
306 | static void | ||
307 | cr_cont (struct GNUNET_REST_RequestHandle *con_handle, | ||
308 | const char *url, | ||
309 | void *cls) | ||
310 | { | ||
311 | struct RequestHandle *handle = cls; | ||
312 | char term_data[handle->rest_handle->data_size + 1]; | ||
313 | char *response_str; | ||
314 | json_t *data_json; | ||
315 | json_t *nonce_json; | ||
316 | json_t *pp_json; | ||
317 | json_t *idtoken_json; | ||
318 | json_t *iss_json; | ||
319 | json_t *identity_json; | ||
320 | json_error_t err; | ||
321 | struct pabc_public_parameters *pp = NULL; | ||
322 | struct pabc_context *ctx = NULL; | ||
323 | struct pabc_user_context *usr_ctx = NULL; | ||
324 | struct pabc_credential_request *cr = NULL; | ||
325 | struct pabc_nonce *nonce = NULL; | ||
326 | enum pabc_status status; | ||
327 | |||
328 | |||
329 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
330 | "Credential request...\n"); | ||
331 | |||
332 | if (0 >= handle->rest_handle->data_size) | ||
333 | { | ||
334 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
335 | return; | ||
336 | } | ||
337 | |||
338 | term_data[handle->rest_handle->data_size] = '\0'; | ||
339 | GNUNET_memcpy (term_data, | ||
340 | handle->rest_handle->data, | ||
341 | handle->rest_handle->data_size); | ||
342 | data_json = json_loads (term_data, JSON_DECODE_ANY, &err); | ||
343 | if (NULL == data_json) | ||
344 | { | ||
345 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
346 | "Unable to parse %s\n", term_data); | ||
347 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
348 | return; | ||
349 | } | ||
350 | if (! json_is_object (data_json)) | ||
351 | { | ||
352 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
353 | "Unable to parse %s\n", term_data); | ||
354 | json_decref (data_json); | ||
355 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
356 | return; | ||
357 | } | ||
358 | |||
359 | nonce_json = json_object_get (data_json, "nonce"); | ||
360 | if (NULL == nonce_json) | ||
361 | { | ||
362 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
363 | "Unable to parse nonce\n"); | ||
364 | json_decref (data_json); | ||
365 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
366 | return; | ||
367 | } | ||
368 | iss_json = json_object_get (data_json, "issuer"); | ||
369 | if (NULL == iss_json) | ||
370 | { | ||
371 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
372 | "Unable to parse issuer\n"); | ||
373 | json_decref (data_json); | ||
374 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
375 | return; | ||
376 | } | ||
377 | identity_json = json_object_get (data_json, "identity"); | ||
378 | if (NULL == identity_json) | ||
379 | { | ||
380 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
381 | "Unable to parse identity\n"); | ||
382 | json_decref (data_json); | ||
383 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
384 | return; | ||
385 | } | ||
386 | idtoken_json = json_object_get (data_json, "id_token"); | ||
387 | if (NULL == idtoken_json) | ||
388 | { | ||
389 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
390 | "Unable to parse id_token\n"); | ||
391 | json_decref (data_json); | ||
392 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
393 | return; | ||
394 | } | ||
395 | pp_json = json_object_get (data_json, "public_params"); | ||
396 | if (NULL == pp_json) | ||
397 | { | ||
398 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
399 | "Unable to parse public parameters\n"); | ||
400 | json_decref (data_json); | ||
401 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
402 | return; | ||
403 | } | ||
404 | |||
405 | PABC_ASSERT (pabc_new_ctx (&ctx)); | ||
406 | char *pp_str = json_dumps (pp_json, JSON_ENCODE_ANY); | ||
407 | status = pabc_decode_and_new_public_parameters (ctx, | ||
408 | &pp, | ||
409 | pp_str); | ||
410 | char *ppid; | ||
411 | GNUNET_assert (PABC_OK == pabc_cred_get_ppid_from_pp (pp_str, &ppid)); | ||
412 | GNUNET_free (pp_str); | ||
413 | if (status != PABC_OK) | ||
414 | { | ||
415 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
416 | "Failed to read public parameters: %s\n", | ||
417 | pp_str); | ||
418 | json_decref (data_json); | ||
419 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
420 | return; | ||
421 | } | ||
422 | // (Over)write parameters | ||
423 | status = PABC_write_public_parameters (json_string_value (iss_json), | ||
424 | pp); | ||
425 | if (status != PABC_OK) | ||
426 | { | ||
427 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
428 | "Failed to write public parameters.\n"); | ||
429 | json_decref (data_json); | ||
430 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
431 | return; | ||
432 | } | ||
433 | status = PABC_read_usr_ctx (json_string_value (identity_json), | ||
434 | json_string_value (iss_json), | ||
435 | ctx, pp, &usr_ctx); | ||
436 | if (PABC_OK != status) | ||
437 | { | ||
438 | if (GNUNET_OK != setup_new_user_context (ctx, pp, &usr_ctx)) | ||
439 | { | ||
440 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to setup user context.\n"); | ||
441 | pabc_free_public_parameters (ctx, &pp); | ||
442 | json_decref (data_json); | ||
443 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
444 | return; | ||
445 | } | ||
446 | PABC_write_usr_ctx (json_string_value (identity_json), | ||
447 | json_string_value (iss_json), | ||
448 | ctx, pp, usr_ctx); | ||
449 | } | ||
450 | |||
451 | // Set attributes from JWT to context | ||
452 | status = set_attributes_from_idtoken (ctx, | ||
453 | pp, | ||
454 | usr_ctx, | ||
455 | json_string_value (idtoken_json)); | ||
456 | if (status != PABC_OK) | ||
457 | { | ||
458 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to set attributes.\n"); | ||
459 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
460 | pabc_free_public_parameters (ctx, &pp); | ||
461 | json_decref (data_json); | ||
462 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
463 | return; | ||
464 | } | ||
465 | |||
466 | |||
467 | // nonce | ||
468 | status = pabc_new_nonce (ctx, &nonce); | ||
469 | if (status != PABC_OK) | ||
470 | { | ||
471 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to allocate nonce.\n"); | ||
472 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
473 | pabc_free_public_parameters (ctx, &pp); | ||
474 | json_decref (data_json); | ||
475 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
476 | return; | ||
477 | } | ||
478 | char *nonce_str = json_dumps (nonce_json, JSON_ENCODE_ANY); | ||
479 | status = pabc_decode_nonce (ctx, nonce, nonce_str); | ||
480 | if (status != PABC_OK) | ||
481 | { | ||
482 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to decode nonce.\n"); | ||
483 | pabc_free_nonce (ctx, &nonce); | ||
484 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
485 | pabc_free_public_parameters (ctx, &pp); | ||
486 | json_decref (data_json); | ||
487 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
488 | return; | ||
489 | } | ||
490 | |||
491 | // cr | ||
492 | status = pabc_new_credential_request (ctx, pp, &cr); | ||
493 | if (PABC_OK != status) | ||
494 | { | ||
495 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to allocate cr.\n"); | ||
496 | pabc_free_nonce (ctx, &nonce); | ||
497 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
498 | pabc_free_public_parameters (ctx, &pp); | ||
499 | json_decref (data_json); | ||
500 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
501 | return; | ||
502 | } | ||
503 | |||
504 | status = pabc_gen_credential_request (ctx, pp, usr_ctx, nonce, cr); | ||
505 | if (PABC_OK != status) | ||
506 | { | ||
507 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to generate cr.\n"); | ||
508 | pabc_free_nonce (ctx, &nonce); | ||
509 | pabc_free_credential_request (ctx, pp, &cr); | ||
510 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
511 | pabc_free_public_parameters (ctx, &pp); | ||
512 | json_decref (data_json); | ||
513 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
514 | return; | ||
515 | } | ||
516 | handle->resp_object = json_object (); | ||
517 | GNUNET_assert (PABC_OK == pabc_cred_encode_cr (ctx, pp, cr, | ||
518 | json_string_value ( | ||
519 | identity_json), | ||
520 | ppid, &response_str)); | ||
521 | if (PABC_OK != status) | ||
522 | { | ||
523 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to serialize cr.\n"); | ||
524 | pabc_free_nonce (ctx, &nonce); | ||
525 | pabc_free_credential_request (ctx, pp, &cr); | ||
526 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
527 | pabc_free_public_parameters (ctx, &pp); | ||
528 | json_decref (data_json); | ||
529 | GNUNET_SCHEDULER_add_now (&do_error, handle); | ||
530 | return; | ||
531 | } | ||
532 | json_decref (handle->resp_object); | ||
533 | handle->resp_object = json_loads (response_str, JSON_DECODE_ANY, &err); | ||
534 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%s\n", response_str); | ||
535 | GNUNET_free (response_str); | ||
536 | |||
537 | // clean up | ||
538 | pabc_free_nonce (ctx, &nonce); | ||
539 | pabc_free_credential_request (ctx, pp, &cr); | ||
540 | pabc_free_user_context (ctx, pp, &usr_ctx); | ||
541 | pabc_free_public_parameters (ctx, &pp); | ||
542 | GNUNET_SCHEDULER_add_now (&return_response, handle); | ||
543 | json_decref (data_json); | ||
544 | } | ||
545 | |||
546 | |||
547 | /** | ||
548 | * Respond to OPTIONS request | ||
549 | * | ||
550 | * @param con_handle the connection handle | ||
551 | * @param url the url | ||
552 | * @param cls the RequestHandle | ||
553 | */ | ||
554 | static void | ||
555 | options_cont (struct GNUNET_REST_RequestHandle *con_handle, | ||
556 | const char *url, | ||
557 | void *cls) | ||
558 | { | ||
559 | struct MHD_Response *resp; | ||
560 | struct RequestHandle *handle = cls; | ||
561 | |||
562 | // For now, independent of path return all options | ||
563 | resp = GNUNET_REST_create_response (NULL); | ||
564 | MHD_add_response_header (resp, "Access-Control-Allow-Methods", allow_methods); | ||
565 | handle->proc (handle->proc_cls, resp, MHD_HTTP_OK); | ||
566 | cleanup_handle (handle); | ||
567 | return; | ||
568 | } | ||
569 | |||
570 | |||
571 | static enum GNUNET_GenericReturnValue | ||
572 | rest_identity_process_request (struct GNUNET_REST_RequestHandle *rest_handle, | ||
573 | GNUNET_REST_ResultProcessor proc, | ||
574 | void *proc_cls) | ||
575 | { | ||
576 | struct RequestHandle *handle = GNUNET_new (struct RequestHandle); | ||
577 | struct GNUNET_REST_RequestHandlerError err; | ||
578 | static const struct GNUNET_REST_RequestHandler handlers[] = { | ||
579 | {MHD_HTTP_METHOD_POST, | ||
580 | GNUNET_REST_API_NS_PABC_CR, &cr_cont }, | ||
581 | { MHD_HTTP_METHOD_OPTIONS, GNUNET_REST_API_NS_PABC, &options_cont }, | ||
582 | GNUNET_REST_HANDLER_END | ||
583 | }; | ||
584 | |||
585 | handle->response_code = 0; | ||
586 | handle->timeout = GNUNET_TIME_UNIT_FOREVER_REL; | ||
587 | handle->proc_cls = proc_cls; | ||
588 | handle->proc = proc; | ||
589 | handle->rest_handle = rest_handle; | ||
590 | |||
591 | handle->url = GNUNET_strdup (rest_handle->url); | ||
592 | if (handle->url[strlen (handle->url) - 1] == '/') | ||
593 | handle->url[strlen (handle->url) - 1] = '\0'; | ||
594 | handle->timeout_task = | ||
595 | GNUNET_SCHEDULER_add_delayed (handle->timeout, &do_timeout, handle); | ||
596 | GNUNET_CONTAINER_DLL_insert (requests_head, | ||
597 | requests_tail, | ||
598 | handle); | ||
599 | if (GNUNET_NO == | ||
600 | GNUNET_REST_handle_request (handle->rest_handle, handlers, &err, handle)) | ||
601 | { | ||
602 | cleanup_handle (handle); | ||
603 | return GNUNET_NO; | ||
604 | } | ||
605 | |||
606 | return GNUNET_YES; | ||
607 | } | ||
608 | |||
609 | |||
610 | /** | ||
611 | * Entry point for the plugin. | ||
612 | * | ||
613 | * @param cls Config info | ||
614 | * @return NULL on error, otherwise the plugin context | ||
615 | */ | ||
616 | void * | ||
617 | libgnunet_plugin_rest_pabc_init (void *cls) | ||
618 | { | ||
619 | static struct Plugin plugin; | ||
620 | struct GNUNET_REST_Plugin *api; | ||
621 | |||
622 | cfg = cls; | ||
623 | if (NULL != plugin.cfg) | ||
624 | return NULL; /* can only initialize once! */ | ||
625 | memset (&plugin, 0, sizeof(struct Plugin)); | ||
626 | plugin.cfg = cfg; | ||
627 | api = GNUNET_new (struct GNUNET_REST_Plugin); | ||
628 | api->cls = &plugin; | ||
629 | api->name = GNUNET_REST_API_NS_PABC; | ||
630 | api->process_request = &rest_identity_process_request; | ||
631 | GNUNET_asprintf (&allow_methods, | ||
632 | "%s, %s", | ||
633 | MHD_HTTP_METHOD_POST, | ||
634 | MHD_HTTP_METHOD_OPTIONS); | ||
635 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
636 | _ ("Identity Provider REST API initialized\n")); | ||
637 | return api; | ||
638 | } | ||
639 | |||
640 | |||
641 | /** | ||
642 | * Exit point from the plugin. | ||
643 | * | ||
644 | * @param cls the plugin context (as returned by "init") | ||
645 | * @return always NULL | ||
646 | */ | ||
647 | void * | ||
648 | libgnunet_plugin_rest_reclaim_done (void *cls) | ||
649 | { | ||
650 | struct GNUNET_REST_Plugin *api = cls; | ||
651 | struct Plugin *plugin = api->cls; | ||
652 | struct RequestHandle *request; | ||
653 | |||
654 | plugin->cfg = NULL; | ||
655 | while (NULL != (request = requests_head)) | ||
656 | do_error (request); | ||
657 | |||
658 | GNUNET_free (allow_methods); | ||
659 | GNUNET_free (api); | ||
660 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
661 | "PABC REST plugin is finished\n"); | ||
662 | return NULL; | ||
663 | } | ||
664 | |||
665 | |||
666 | /* end of plugin_rest_reclaim.c */ | ||
diff --git a/src/reclaim/plugin_rest_reclaim.c b/src/reclaim/plugin_rest_reclaim.c index 39d24ea61..1d1231cbd 100644 --- a/src/reclaim/plugin_rest_reclaim.c +++ b/src/reclaim/plugin_rest_reclaim.c | |||
@@ -1332,13 +1332,12 @@ options_cont (struct GNUNET_REST_RequestHandle *con_handle, | |||
1332 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't | 1332 | * with 'NULL' for 'ego'. That does NOT mean that the callback won't |
1333 | * be invoked in the future or that there was an error. | 1333 | * be invoked in the future or that there was an error. |
1334 | * | 1334 | * |
1335 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', | 1335 | * When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', this |
1336 | * this function is only called ONCE, and 'NULL' being passed in | 1336 | * function is only called ONCE, and 'NULL' being passed in 'ego' does |
1337 | * 'ego' does indicate an error (i.e. name is taken or no default | 1337 | * indicate an error (for example because name is taken or no default value is |
1338 | * value is known). If 'ego' is non-NULL and if '*ctx' | 1338 | * known). If 'ego' is non-NULL and if '*ctx' is set in those callbacks, the |
1339 | * is set in those callbacks, the value WILL be passed to a subsequent | 1339 | * value WILL be passed to a subsequent call to the identity callback of |
1340 | * call to the identity callback of 'GNUNET_IDENTITY_connect' (if | 1340 | * 'GNUNET_IDENTITY_connect' (if that one was not NULL). |
1341 | * that one was not NULL). | ||
1342 | * | 1341 | * |
1343 | * When an identity is renamed, this function is called with the | 1342 | * When an identity is renamed, this function is called with the |
1344 | * (known) ego but the NEW identifier. | 1343 | * (known) ego but the NEW identifier. |
diff --git a/src/reclaim/reclaim_credential.c b/src/reclaim/reclaim_credential.c index c8c0d397c..da5cee988 100644 --- a/src/reclaim/reclaim_credential.c +++ b/src/reclaim/reclaim_credential.c | |||
@@ -1033,7 +1033,6 @@ GNUNET_RECLAIM_presentation_get_expiration (const struct | |||
1033 | /** | 1033 | /** |
1034 | * Create a presentation from a credential and a lift of (selected) | 1034 | * Create a presentation from a credential and a lift of (selected) |
1035 | * attributes in the credential. | 1035 | * attributes in the credential. |
1036 | * FIXME not yet implemented | ||
1037 | * | 1036 | * |
1038 | * @param cred the credential to use | 1037 | * @param cred the credential to use |
1039 | * @param attrs the attributes to present from the credential | 1038 | * @param attrs the attributes to present from the credential |
diff --git a/src/rest/gnunet-rest-server.c b/src/rest/gnunet-rest-server.c index ecb3e2ae5..63847587b 100644 --- a/src/rest/gnunet-rest-server.c +++ b/src/rest/gnunet-rest-server.c | |||
@@ -436,7 +436,7 @@ post_data_iter (void *cls, | |||
436 | * @param con MHD connection handle | 436 | * @param con MHD connection handle |
437 | * @param url the url in the request | 437 | * @param url the url in the request |
438 | * @param meth the HTTP method used ("GET", "PUT", etc.) | 438 | * @param meth the HTTP method used ("GET", "PUT", etc.) |
439 | * @param ver the HTTP version string (i.e. "HTTP/1.1") | 439 | * @param ver the HTTP version string ("HTTP/1.1" for version 1.1, etc.) |
440 | * @param upload_data the data being uploaded (excluding HEADERS, | 440 | * @param upload_data the data being uploaded (excluding HEADERS, |
441 | * for a POST that fits into memory and that is encoded | 441 | * for a POST that fits into memory and that is encoded |
442 | * with a supported encoding, the POST data will NOT be | 442 | * with a supported encoding, the POST data will NOT be |
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index f291892c6..386850b89 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c | |||
@@ -1546,7 +1546,7 @@ mq_error_handler (void *cls, enum GNUNET_MQ_Error error) | |||
1546 | * @param event_mask bit mask with set of events to call 'cc' for; | 1546 | * @param event_mask bit mask with set of events to call 'cc' for; |
1547 | * or-ed values of "1LL" shifted by the | 1547 | * or-ed values of "1LL" shifted by the |
1548 | * respective 'enum GNUNET_TESTBED_EventType' | 1548 | * respective 'enum GNUNET_TESTBED_EventType' |
1549 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) | ...") | 1549 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) | ...") |
1550 | * @param cc controller callback to invoke on events | 1550 | * @param cc controller callback to invoke on events |
1551 | * @param cc_cls closure for cc | 1551 | * @param cc_cls closure for cc |
1552 | * @return handle to the controller | 1552 | * @return handle to the controller |
diff --git a/src/testbed/testbed_api_test.c b/src/testbed/testbed_api_test.c index 30dbe455d..dd43cf2f6 100644 --- a/src/testbed/testbed_api_test.c +++ b/src/testbed/testbed_api_test.c | |||
@@ -109,7 +109,7 @@ run (void *cls, char *const *args, const char *cfgfile, | |||
109 | * @param event_mask bit mask with set of events to call 'cc' for; | 109 | * @param event_mask bit mask with set of events to call 'cc' for; |
110 | * or-ed values of "1LL" shifted by the | 110 | * or-ed values of "1LL" shifted by the |
111 | * respective 'enum GNUNET_TESTBED_EventType' | 111 | * respective 'enum GNUNET_TESTBED_EventType' |
112 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") | 112 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") |
113 | * @param cc controller callback to invoke on events; This callback is called | 113 | * @param cc controller callback to invoke on events; This callback is called |
114 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't | 114 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't |
115 | * set in the event_mask as this is the only way get access to the | 115 | * set in the event_mask as this is the only way get access to the |
diff --git a/src/testbed/testbed_api_testbed.c b/src/testbed/testbed_api_testbed.c index 7ae30e0c6..1aa344e99 100644 --- a/src/testbed/testbed_api_testbed.c +++ b/src/testbed/testbed_api_testbed.c | |||
@@ -1237,7 +1237,7 @@ timeout_task (void *cls) | |||
1237 | * @param event_mask bit mask with set of events to call 'cc' for; | 1237 | * @param event_mask bit mask with set of events to call 'cc' for; |
1238 | * or-ed values of "1LL" shifted by the | 1238 | * or-ed values of "1LL" shifted by the |
1239 | * respective 'enum GNUNET_TESTBED_EventType' | 1239 | * respective 'enum GNUNET_TESTBED_EventType' |
1240 | * (i.e. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") | 1240 | * (e.g. "(1LL << GNUNET_TESTBED_ET_CONNECT) || ...") |
1241 | * @param cc controller callback to invoke on events; This callback is called | 1241 | * @param cc controller callback to invoke on events; This callback is called |
1242 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't | 1242 | * for all peer start events even if GNUNET_TESTBED_ET_PEER_START isn't |
1243 | * set in the event_mask as this is the only way get access to the | 1243 | * set in the event_mask as this is the only way get access to the |
diff --git a/src/testing/testing.c b/src/testing/testing.c index 9724fb55b..991c11a6c 100644 --- a/src/testing/testing.c +++ b/src/testing/testing.c | |||
@@ -91,7 +91,7 @@ struct SharedService | |||
91 | struct GNUNET_TESTING_System | 91 | struct GNUNET_TESTING_System |
92 | { | 92 | { |
93 | /** | 93 | /** |
94 | * Prefix (i.e. "/tmp/gnunet-testing/") we prepend to each | 94 | * Prefix (e.g. "/tmp/gnunet-testing/") we prepend to each |
95 | * GNUNET_HOME. | 95 | * GNUNET_HOME. |
96 | */ | 96 | */ |
97 | char *tmppath; | 97 | char *tmppath; |
diff --git a/src/transport/gnunet-helper-transport-bluetooth.c b/src/transport/gnunet-helper-transport-bluetooth.c index 4923e6428..ef3a6292b 100644 --- a/src/transport/gnunet-helper-transport-bluetooth.c +++ b/src/transport/gnunet-helper-transport-bluetooth.c | |||
@@ -1374,7 +1374,7 @@ inquiry_devices: // skip the conditions and force a inquiry for new devices | |||
1374 | * stdin/stdout of this process. Error messages are written to stderr. | 1374 | * stdin/stdout of this process. Error messages are written to stderr. |
1375 | * | 1375 | * |
1376 | * @param argc number of arguments, must be 2 | 1376 | * @param argc number of arguments, must be 2 |
1377 | * @param argv arguments only argument is the name of the interface (i.e. 'hci0') | 1377 | * @param argv arguments only argument is the name of the interface (e.g. 'hci0') |
1378 | * @return 0 on success (never happens, as we don't return unless aborted), 1 on error | 1378 | * @return 0 on success (never happens, as we don't return unless aborted), 1 on error |
1379 | * | 1379 | * |
1380 | **** similar to gnunet-helper-transport-wlan.c **** | 1380 | **** similar to gnunet-helper-transport-wlan.c **** |
diff --git a/src/transport/gnunet-helper-transport-wlan.c b/src/transport/gnunet-helper-transport-wlan.c index f1b190993..d90565c9c 100644 --- a/src/transport/gnunet-helper-transport-wlan.c +++ b/src/transport/gnunet-helper-transport-wlan.c | |||
@@ -1935,7 +1935,7 @@ stdin_send_hw (void *cls, const struct GNUNET_MessageHeader *hdr) | |||
1935 | * process. Error messages are written to stdout. | 1935 | * process. Error messages are written to stdout. |
1936 | * | 1936 | * |
1937 | * @param argc number of arguments, must be 2 | 1937 | * @param argc number of arguments, must be 2 |
1938 | * @param argv arguments only argument is the name of the interface (i.e. 'mon0') | 1938 | * @param argv arguments only argument is the name of the interface (e.g. 'mon0') |
1939 | * @return 0 on success (never happens, as we don't return unless aborted), 1 on error | 1939 | * @return 0 on success (never happens, as we don't return unless aborted), 1 on error |
1940 | */ | 1940 | */ |
1941 | int | 1941 | int |
diff --git a/src/transport/gnunet-service-transport_plugins.c b/src/transport/gnunet-service-transport_plugins.c index d0a10cbc7..c88532806 100644 --- a/src/transport/gnunet-service-transport_plugins.c +++ b/src/transport/gnunet-service-transport_plugins.c | |||
@@ -51,12 +51,12 @@ struct TransportPlugin | |||
51 | struct GNUNET_TRANSPORT_PluginFunctions *api; | 51 | struct GNUNET_TRANSPORT_PluginFunctions *api; |
52 | 52 | ||
53 | /** | 53 | /** |
54 | * Short name for the plugin (i.e. "tcp"). | 54 | * Short name for the plugin (e.g. "tcp"). |
55 | */ | 55 | */ |
56 | char *short_name; | 56 | char *short_name; |
57 | 57 | ||
58 | /** | 58 | /** |
59 | * Name of the library (i.e. "gnunet_plugin_transport_tcp"). | 59 | * Name of the library (e.g. "gnunet_plugin_transport_tcp"). |
60 | */ | 60 | */ |
61 | char *lib_name; | 61 | char *lib_name; |
62 | 62 | ||
diff --git a/src/util/client.c b/src/util/client.c index 746c0eb55..afd2fe900 100644 --- a/src/util/client.c +++ b/src/util/client.c | |||
@@ -892,7 +892,7 @@ connection_client_cancel_impl (struct GNUNET_MQ_Handle *mq, | |||
892 | * #GNUNET_NO if the service is (definitively) down, | 892 | * #GNUNET_NO if the service is (definitively) down, |
893 | * #GNUNET_SYSERR if the configuration does not give us | 893 | * #GNUNET_SYSERR if the configuration does not give us |
894 | * the necessary information about the service, or if | 894 | * the necessary information about the service, or if |
895 | * we could not check (i.e. socket() failed) | 895 | * we could not check (e.g. socket() failed) |
896 | */ | 896 | */ |
897 | int | 897 | int |
898 | GNUNET_CLIENT_test (const struct GNUNET_CONFIGURATION_Handle *cfg, | 898 | GNUNET_CLIENT_test (const struct GNUNET_CONFIGURATION_Handle *cfg, |
diff --git a/src/util/common_logging.c b/src/util/common_logging.c index b30175543..48cc6fe3b 100644 --- a/src/util/common_logging.c +++ b/src/util/common_logging.c | |||
@@ -246,27 +246,27 @@ static int gnunet_force_log_present; | |||
246 | 246 | ||
247 | /** | 247 | /** |
248 | * Convert a textual description of a loglevel | 248 | * Convert a textual description of a loglevel |
249 | * to the respective GNUNET_GE_KIND. | 249 | * to the respective enumeration type. |
250 | * | 250 | * |
251 | * @param log loglevel to parse | 251 | * @param log loglevel to parse |
252 | * @return GNUNET_GE_INVALID if log does not parse | 252 | * @return GNUNET_ERROR_TYPE_INVALID if log does not parse |
253 | */ | 253 | */ |
254 | static enum GNUNET_ErrorType | 254 | static enum GNUNET_ErrorType |
255 | get_type (const char *log) | 255 | get_type (const char *log) |
256 | { | 256 | { |
257 | if (NULL == log) | 257 | if (NULL == log) |
258 | return GNUNET_ERROR_TYPE_UNSPECIFIED; | 258 | return GNUNET_ERROR_TYPE_UNSPECIFIED; |
259 | if (0 == strcasecmp (log, _ ("DEBUG"))) | 259 | if (0 == strcasecmp (log, "DEBUG")) |
260 | return GNUNET_ERROR_TYPE_DEBUG; | 260 | return GNUNET_ERROR_TYPE_DEBUG; |
261 | if (0 == strcasecmp (log, _ ("INFO"))) | 261 | if (0 == strcasecmp (log, "INFO")) |
262 | return GNUNET_ERROR_TYPE_INFO; | 262 | return GNUNET_ERROR_TYPE_INFO; |
263 | if (0 == strcasecmp (log, _ ("MESSAGE"))) | 263 | if (0 == strcasecmp (log, "MESSAGE")) |
264 | return GNUNET_ERROR_TYPE_MESSAGE; | 264 | return GNUNET_ERROR_TYPE_MESSAGE; |
265 | if (0 == strcasecmp (log, _ ("WARNING"))) | 265 | if (0 == strcasecmp (log, "WARNING")) |
266 | return GNUNET_ERROR_TYPE_WARNING; | 266 | return GNUNET_ERROR_TYPE_WARNING; |
267 | if (0 == strcasecmp (log, _ ("ERROR"))) | 267 | if (0 == strcasecmp (log, "ERROR")) |
268 | return GNUNET_ERROR_TYPE_ERROR; | 268 | return GNUNET_ERROR_TYPE_ERROR; |
269 | if (0 == strcasecmp (log, _ ("NONE"))) | 269 | if (0 == strcasecmp (log, "NONE")) |
270 | return GNUNET_ERROR_TYPE_NONE; | 270 | return GNUNET_ERROR_TYPE_NONE; |
271 | return GNUNET_ERROR_TYPE_INVALID; | 271 | return GNUNET_ERROR_TYPE_INVALID; |
272 | } | 272 | } |
diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c index efaac1136..2c477db40 100644 --- a/src/util/container_meta_data.c +++ b/src/util/container_meta_data.c | |||
@@ -337,7 +337,7 @@ GNUNET_CONTAINER_meta_data_test_equal (const struct GNUNET_CONTAINER_MetaData | |||
337 | * | 337 | * |
338 | * @param md metadata to extend | 338 | * @param md metadata to extend |
339 | * @param plugin_name name of the plugin that produced this value; | 339 | * @param plugin_name name of the plugin that produced this value; |
340 | * special values can be used (i.e. '<zlib>' for zlib being | 340 | * special values can be used (e.g. '<zlib>' for zlib being |
341 | * used in the main libextractor library and yielding | 341 | * used in the main libextractor library and yielding |
342 | * meta data). | 342 | * meta data). |
343 | * @param type libextractor-type describing the meta data | 343 | * @param type libextractor-type describing the meta data |
@@ -427,7 +427,7 @@ GNUNET_CONTAINER_meta_data_insert (struct GNUNET_CONTAINER_MetaData *md, | |||
427 | * | 427 | * |
428 | * @param cls the `struct GNUNET_CONTAINER_MetaData` to merge into | 428 | * @param cls the `struct GNUNET_CONTAINER_MetaData` to merge into |
429 | * @param plugin_name name of the plugin that produced this value; | 429 | * @param plugin_name name of the plugin that produced this value; |
430 | * special values can be used (i.e. '<zlib>' for zlib being | 430 | * special values can be used (e.g. '<zlib>' for zlib being |
431 | * used in the main libextractor library and yielding | 431 | * used in the main libextractor library and yielding |
432 | * meta data). | 432 | * meta data). |
433 | * @param type libextractor-type describing the meta data | 433 | * @param type libextractor-type describing the meta data |
diff --git a/src/util/crypto_rsa.c b/src/util/crypto_rsa.c index 5e4c4d1e6..4d3de00bc 100644 --- a/src/util/crypto_rsa.c +++ b/src/util/crypto_rsa.c | |||
@@ -473,7 +473,7 @@ rsa_gcd_validate (gcry_mpi_t r, gcry_mpi_t n) | |||
473 | /** | 473 | /** |
474 | * Create a blinding key | 474 | * Create a blinding key |
475 | * | 475 | * |
476 | * @param len length of the key in bits (i.e. 2048) | 476 | * @param len length of the key in bits (e.g. 2048) |
477 | * @param bks pre-secret to use to derive the blinding key | 477 | * @param bks pre-secret to use to derive the blinding key |
478 | * @return the newly created blinding key, NULL if RSA key is malicious | 478 | * @return the newly created blinding key, NULL if RSA key is malicious |
479 | */ | 479 | */ |
diff --git a/src/util/gnunet-config.c b/src/util/gnunet-config.c index 2b279dda2..4d050cdd3 100644 --- a/src/util/gnunet-config.c +++ b/src/util/gnunet-config.c | |||
@@ -65,10 +65,11 @@ static int list_sections; | |||
65 | static int global_ret; | 65 | static int global_ret; |
66 | 66 | ||
67 | /** | 67 | /** |
68 | * Should we generate a configuration file that is clean and | 68 | * Should the generated configuration file contain the whole configuration, or |
69 | * only contains the deltas to the defaults? | 69 | * just the differences with the defaults? |
70 | * If set to a non-zero value, the full configuration will be written to file. | ||
70 | */ | 71 | */ |
71 | static int rewrite; | 72 | static int rewrite = 0; |
72 | 73 | ||
73 | 74 | ||
74 | /** | 75 | /** |
@@ -157,7 +158,7 @@ run (void *cls, | |||
157 | GNUNET_free (name); | 158 | GNUNET_free (name); |
158 | return; | 159 | return; |
159 | } | 160 | } |
160 | if (rewrite) | 161 | if (!rewrite) |
161 | { | 162 | { |
162 | struct GNUNET_CONFIGURATION_Handle *def; | 163 | struct GNUNET_CONFIGURATION_Handle *def; |
163 | 164 | ||
@@ -315,7 +316,7 @@ main (int argc, char *const *argv) | |||
315 | 'w', | 316 | 'w', |
316 | "rewrite", | 317 | "rewrite", |
317 | gettext_noop ( | 318 | gettext_noop ( |
318 | "write configuration file that only contains delta to defaults"), | 319 | "write the full configuration file, including default values"), |
319 | &rewrite), | 320 | &rewrite), |
320 | GNUNET_GETOPT_OPTION_END }; | 321 | GNUNET_GETOPT_OPTION_END }; |
321 | int ret; | 322 | int ret; |
diff --git a/src/util/network.c b/src/util/network.c index c4adefb8f..e771a9834 100644 --- a/src/util/network.c +++ b/src/util/network.c | |||
@@ -1269,7 +1269,7 @@ GNUNET_NETWORK_fdset_destroy (struct GNUNET_NETWORK_FDSet *fds) | |||
1269 | /** | 1269 | /** |
1270 | * Test if the given @a port is available. | 1270 | * Test if the given @a port is available. |
1271 | * | 1271 | * |
1272 | * @param ipproto transport protocol to test (i.e. IPPROTO_TCP) | 1272 | * @param ipproto transport protocol to test (e.g. IPPROTO_TCP) |
1273 | * @param port port number to test | 1273 | * @param port port number to test |
1274 | * @return #GNUNET_OK if the port is available, #GNUNET_NO if not | 1274 | * @return #GNUNET_OK if the port is available, #GNUNET_NO if not |
1275 | */ | 1275 | */ |
diff --git a/src/util/scheduler.c b/src/util/scheduler.c index 759312df5..d5c7b964f 100644 --- a/src/util/scheduler.c +++ b/src/util/scheduler.c | |||
@@ -193,7 +193,7 @@ struct GNUNET_SCHEDULER_Task | |||
193 | /** | 193 | /** |
194 | * Why is the task ready? Set after task is added to ready queue. | 194 | * Why is the task ready? Set after task is added to ready queue. |
195 | * Initially set to zero. All reasons that have already been | 195 | * Initially set to zero. All reasons that have already been |
196 | * satisfied (i.e. read or write ready) will be set over time. | 196 | * satisfied (e.g. read or write ready) will be set over time. |
197 | */ | 197 | */ |
198 | enum GNUNET_SCHEDULER_Reason reason; | 198 | enum GNUNET_SCHEDULER_Reason reason; |
199 | 199 | ||
diff --git a/src/util/strings.c b/src/util/strings.c index 61e04c457..b62d5f547 100644 --- a/src/util/strings.c +++ b/src/util/strings.c | |||
@@ -316,7 +316,7 @@ convert_with_table (const char *input, | |||
316 | /** | 316 | /** |
317 | * Convert a given fancy human-readable size to bytes. | 317 | * Convert a given fancy human-readable size to bytes. |
318 | * | 318 | * |
319 | * @param fancy_size human readable string (i.e. 1 MB) | 319 | * @param fancy_size human readable string (e.g. 1 MB) |
320 | * @param size set to the size in bytes | 320 | * @param size set to the size in bytes |
321 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 321 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
322 | */ | 322 | */ |
@@ -348,7 +348,7 @@ GNUNET_STRINGS_fancy_size_to_bytes (const char *fancy_size, | |||
348 | * Convert a given fancy human-readable time to our internal | 348 | * Convert a given fancy human-readable time to our internal |
349 | * representation. | 349 | * representation. |
350 | * | 350 | * |
351 | * @param fancy_time human readable string (i.e. 1 minute) | 351 | * @param fancy_time human readable string (e.g. 1 minute) |
352 | * @param rtime set to the relative time | 352 | * @param rtime set to the relative time |
353 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 353 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
354 | */ | 354 | */ |
@@ -399,7 +399,7 @@ GNUNET_STRINGS_fancy_time_to_relative (const char *fancy_time, | |||
399 | * representation. The human-readable time is expected to be | 399 | * representation. The human-readable time is expected to be |
400 | * in local time, whereas the returned value will be in UTC. | 400 | * in local time, whereas the returned value will be in UTC. |
401 | * | 401 | * |
402 | * @param fancy_time human readable string (i.e. %Y-%m-%d %H:%M:%S) | 402 | * @param fancy_time human readable string (e.g. %Y-%m-%d %H:%M:%S) |
403 | * @param atime set to the absolute time | 403 | * @param atime set to the absolute time |
404 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error | 404 | * @return #GNUNET_OK on success, #GNUNET_SYSERR on error |
405 | */ | 405 | */ |
@@ -1364,7 +1364,7 @@ GNUNET_STRINGS_to_address_ip (const char *addr, | |||
1364 | * `struct sockaddr`. | 1364 | * `struct sockaddr`. |
1365 | * | 1365 | * |
1366 | * @param addr the address | 1366 | * @param addr the address |
1367 | * @param[out] af set to the parsed address family (i.e. AF_INET) | 1367 | * @param[out] af set to the parsed address family (e.g. AF_INET) |
1368 | * @param[out] sa set to the parsed address | 1368 | * @param[out] sa set to the parsed address |
1369 | * @return 0 on error, otherwise number of bytes in @a sa | 1369 | * @return 0 on error, otherwise number of bytes in @a sa |
1370 | */ | 1370 | */ |
diff --git a/src/util/tun.c b/src/util/tun.c index 0e3017551..d2b675c71 100644 --- a/src/util/tun.c +++ b/src/util/tun.c | |||
@@ -37,7 +37,7 @@ | |||
37 | * Initialize an IPv4 header. | 37 | * Initialize an IPv4 header. |
38 | * | 38 | * |
39 | * @param ip header to initialize | 39 | * @param ip header to initialize |
40 | * @param protocol protocol to use (i.e. IPPROTO_UDP) | 40 | * @param protocol protocol to use (e.g. IPPROTO_UDP) |
41 | * @param payload_length number of bytes of payload that follow (excluding IPv4 header) | 41 | * @param payload_length number of bytes of payload that follow (excluding IPv4 header) |
42 | * @param src source IP address to use | 42 | * @param src source IP address to use |
43 | * @param dst destination IP address to use | 43 | * @param dst destination IP address to use |
@@ -72,7 +72,7 @@ GNUNET_TUN_initialize_ipv4_header (struct GNUNET_TUN_IPv4Header *ip, | |||
72 | * Initialize an IPv6 header. | 72 | * Initialize an IPv6 header. |
73 | * | 73 | * |
74 | * @param ip header to initialize | 74 | * @param ip header to initialize |
75 | * @param protocol protocol to use (i.e. IPPROTO_UDP), technically "next_header" for IPv6 | 75 | * @param protocol protocol to use (e.g. IPPROTO_UDP), technically "next_header" for IPv6 |
76 | * @param payload_length number of bytes of payload that follow (excluding IPv6 header) | 76 | * @param payload_length number of bytes of payload that follow (excluding IPv6 header) |
77 | * @param src source IP address to use | 77 | * @param src source IP address to use |
78 | * @param dst destination IP address to use | 78 | * @param dst destination IP address to use |