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 party.fun". Let's also say I don't have GNUnet installed, so when I get back home I install it and try to resolve the "party.fun" 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. A.V. P.S.: I'm not subscribed to the list, so please CC me in your replies. _______________________________________________ GNUnet-developers mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnunet-developers
