Make REQUEST_AGPL messages configurable and add handler by default
authorAlessio Vanni <vannilla@firemail.cc>
Wed, 27 May 2020 13:01:30 +0000 (15:01 +0200)
committerChristian Grothoff <christian@grothoff.org>
Wed, 27 May 2020 20:37:08 +0000 (22:37 +0200)
commitcf4608196bc02093409dbf6b7a24e6ed08c36f76
tree46c2ecc852810e35d9d5eabcfcb52620e06aaa3f
parent3a966c83d32db67d0e9cb23675f28b7233280aeb
Make REQUEST_AGPL messages configurable and add handler by default

This makes two changes:

* Add a field to `struct GNUNET_OS_ProjectData' containing a URL (as a string)
pointing to the source code of the application.

* If the field is not NULL, add a handler for the REQUEST_AGPL messages
sending the specified URL to the client.

The handler is added both in client-service communications (i.e. local
services that don't make requests to other peers in the network) and in
peer-peer communications (CADET.)  This way, any client (local or remote with
CADET) can request the source code location using a standardized mechanism
instead of writing ad-hoc solutions (unless the service/peer explicitly
specifies a NULL pointer.)

Signed-off-by: Christian Grothoff <christian@grothoff.org>
src/cadet/cadet_api.c
src/include/gnunet_os_lib.h
src/include/gnunet_protocols.h
src/util/os_installation.c
src/util/service.c