[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-developers] On applications using GNUnet

From: Alessio Vanni
Subject: [GNUnet-developers] On applications using GNUnet
Date: Sun, 04 Aug 2019 16:17:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Hello everyone.

I've been following the project for a while and, besides keeping the
peer active when possible, I've also tried developing some simple
clients/services.  In this mail I want to report a couple of things I
think are a problem and ask some questions to some things I couldn't
fully grasp by reading the documentation or various papers.

The first thing is a "user interface" issue: when I develop a client
following the handbook, if I run it with the '--help' or '--version'
flags I get messages that do not apply to my program.  The help message
prints a series of messages related to the GNU project, of which my
simple program is not part of.  Also, it says that the bug reporting
address is GNUnet's one instead of my own.  The '--version' flag is
similar, in which it prints '0.11.6' instead of e.g. '1.0' (the version
of my program.)

A similar issue is that if I use autoconf I can't include my own
config.h file, as many entries there are overridden by gnunet_config.h.
In particular, macros like PACKAGE are defined with the GNUnet's value
rather than mine.  If I include config.h after gnunet/platform.h, I get
a number of warnings about redefining already defined values.

Similarily, I think gettext is broken but I'm not sure about this one.

Actually, I've hacked GNUnet a bit to fix this issue, by creating a
GNUNET_APPLICATION parallel to GNUNET_PROGRAM.  I'd like to submit my
work, but I'm not sure how to do that.  It spans a lot of commits and
making each of them a patch seems unwieldy.

Another issue I've met while developing a service is that ARM can't find
it unless it's installed in the same directory as the default services.
I'm not sure if there is another way to test services, nor if there is a
way to let ARM scan other paths.

A question on CADET: I wrote a silly program that scans each peer
checking if a specific port is open (it was part of an experiment.)  The
documentation says that if the port is closed a certain callback is
called, but when I tried it the function is never called until the
channel is destroyed by disconnecting from the CADET service.  Actually,
I log a message when the function is called, but this message is never
printed until the program exits.  I can't tell if I'm doing something
wrong because the documentation is either outdated (at least the one in
the website) or somewhat cryptic.  The question is how to make sure the
connection with the other peer is established.  Do I have to send a
message and see what happens?

Lastly, a question on GNS, which is the part I understood less: let's
say I'm walking down the street and see a flyier advertising something
and saying something like "visit us on GNUnet at".  Let's also
say I don't have GNUnet installed, so when I get back home I install it
and try to resolve the "" address.  What happens then? Do I get
something or not? If I do, what do I get?  In particular, is "fun"
unique like with DNS? If not and is resolved, do I get a single result
or multiple ones?  Sorry for the barrage of questions, but I'm having a
hard time understanding some of GNS's implications.

Thank you in advance.


P.S.: I'm not subscribed to the list, so please CC me in your replies.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]