On 31.10.22 15:45, accounts-gnu...@holbrook.no wrote: > Aha so adding -f to the gnunet-peer -s -g makes it output the hello. > > And that URI is accepted by gnunet-peer -p > > Now the peer is listed with gnunet-peer (-f) > > Now peer A and B has both peer A and B in their peerinfo lists. > > However, the peer A is still not being sent by the hostlist (after retstarting > the nodes), still only the Y924 is being sent. > > Then I changed the URIs from gnunet://hello-friend to gnunet://hello. > Now the peers get sent with the hostlist. >
Hmm I think the API is confusingly documented. You are right and that is how it is implemented: "Friends-only" HELLOs are not advertised via hostlist as it seems and I assume that importing hello-friend HELLOs marks them as "friend-only". Which makes sense I guess. We could make this configurable for the hostlist, but we should also think if that actually makes sense or if your use case is actually different from the F2F case. > However, peer B still does not connect to peer A during bootstrap, in spite of > getting the peer info. Ok but to make sure: Both A and B have each other configured as friends? Having the HELLOs from a hostlist is not enough to make them connect. Maybe you want a hostlist-bootstrapped, non-public network instead? > > Also of note: > > 1. If I restart the peer A, again only Y924 is seems to be > left in the peerinfo db - that is, only Y924 is being sent to B. > Are you talking about hostlist here or gnunet-peerinfo? > 2. After achieving connection, if I restart the nodes they don't > reconnect automatically. Hmmm... > > -- > > So to summarize, to connect I can do: > > PEER=`gnunet -s -g -f -c peer1.conf | sed s/hello-friend/hello/g` > gnunet -p $PEER > > BUT the association does NOT seem to persist across sessions. > > -- > > Also, tbh, I would advocate to get rid of the Y924 peer. At least make > it a setting in configure... > That may be worth a discussion. The way Y924 is currently configured is by having the HELLO shipped as a file with the tarball. See $PREFIX/share/gnunet/hellos/ I guess you could delete the file and reset your peerinfo database to try. Br > > On Sun, Oct 30, 2022 at 02:20:05PM +0000, Martin Schanzenbach wrote: > > On 30.10.22 12:37, accounts-gnu...@holbrook.no wrote: > > > Following > > > doc/handbook/html/users/configuration.html#configuring-the-friend-to-friend-f2f-mode, > > > here's what I am trying to do: > > > > > > 1. Start peer A > > > 2. Start peer B. > > > 3. B connects to HTTP hostlist service, gets info for peer A. > > > 4. B makes p2p connection to A. > > > > > > > > > What happens instead: > > > > > > A only gives B a single peer; > > > Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 > > > > > > > > > --- > > > > > > Configuration excerpt: > > > > > > [hostlist] > > > SERVERS = > > > OPTIONS = -p > > > > > > [topology] > > > FRIENDS-ONLY = YES > > > FRIENDS = .../friends.txt > > > MINIMUM-FRIENDS = 1 > > > > > > # peer A > > > [hostlist] > > > SERVERS = > > > OPTIONS = -p > > > > > > # peer B > > > [hostlist] > > > SERVERS = http://localhost:8080 > > > #OPTIONS = -b > > > > > > > > > I tried feeding the output of gnunet-dht-hello into gnunet-dht-hello > > > <peer> on both peers, but it did not help. That was just a wild stab, and > > > I can't see > > > any other obvious likely ways of manually instructing a peer connection. > > > > > > > > > Three questions: > > > > > > - how to explicitly connect to a known host? > > > > I _think_ that is what gnunet-peerinfo should be used for. > > You can get a hello uri like this: > > > > $ gnunet-peerinfo -sg > > > > and (not tried) "load" it at another peer using > > > > $ gnunet-peerinfo -p $URI > > > > > - is it expected behavior that the peer running the hostlist should not > > > peer on information about itself? Shouldn't there at least be an > > > option for that? > > > > Yeah. I briefly checked the code and it is not clear to me that own own > > hello is in the peerinfo database. And only those seem to get > > published. Maybe you can add your own to the database as above? > > > > > - is it right that you always get peer > > > Y924NSHMMZ1N1SQCE5TXF93ED6S6JY311K0QT86G9WJC68F6XVZ0 no matter what? > > > > Yes. That is gnunet.org and its hello is shipped (as a file) with any > > gnunet installation. > > If that peer is not your friend, no connection should happen though. > > > > > > Br > > Martin > > > > > > > > > > > thanks, > > > l > > > > > INFO: gnunet-bugreport 0.11.0 > > > INFO: > > > INFO: Please submit the following > > > INFO: information with your bug report: > > > ========================================= > > > INFO: OS : Linux > > > INFO: OS RELEASE : 6.0.1-arch2-1 > > > INFO: HARDWARE : x86_64 > > > INFO: awk : Found > > > INFO: gcc : gcc (GCC) 12.2.0 > > > INFO: cc : cc (GCC) 12.2.0 > > > INFO: c++ : c++ (GCC) 12.2.0 > > > INFO: clang : clang version 14.0.6 > > > INFO: clang++ : clang version 14.0.6 > > > WARNING: make : Not Found (unexpected result) > > > /home/lash/src/build/gnunet/0.18.0/build/bin/gnunet-bugreport: line 135: > > > type: gmake: not found > > > INFO: gmake : > > > INFO: autoconf : 2.71 > > > INFO: automake : 1.16.5 > > > INFO: libtool : 2.4.7-dirty > > > INFO: libextractor : 1.11 > > > /home/lash/src/build/gnunet/0.18.0/build/bin/gnunet-bugreport: line 223: > > > type: gnunetd: not found > > > /home/lash/src/build/gnunet/0.18.0/build/bin/gnunet-bugreport: line 225: > > > gnunetd: command not found > > > INFO: GNUnet 0.8 : Not Found (good) > > > INFO: GNUnet : 0.18.0-18-g3cf47c04e > > > INFO: git commit : 3cf47c04e2de3e3f275398f4dbc223fdaeea6aff > > > INFO: libgcrypt : 1.10.1-unknown > > > INFO: mysql : 10.9.3 > > > INFO: pkgconf : 1.8.0 > > > INFO: pkg-config : 1.8.0 > > > INFO: glib2 : 2.74.0 > > > INFO: GTK2 : 2.24.33 > > > INFO: GTK3 : 3.24.34 > > > INFO: GTK4 : > > > dpkg-query: package 'libgmp-dev' is not installed and no information is > > > available > > > Use dpkg --info (= dpkg-deb --info) to examine archive files. > > > ERROR: GMP : dpkg: libgmp-dev not installed > > > dpkg-query: package 'libunistring-dev' is not installed and no > > > information is available > > > Use dpkg --info (= dpkg-deb --info) to examine archive files. > > > ERROR: libunistring : dpkg: libunistring3-dev not installed > > > INFO: GNU gettext : 0.21.1 > > > INFO: gettext : Found > > > INFO: libcurl : 7.85.0 > > > /home/lash/src/build/gnunet/0.18.0/build/bin/gnunet-bugreport: line 436: > > > type: gnurl-config: not found > > > INFO: libgnurl : found > > > INFO: libmicrohttpd : 97500 > > > INFO: GNU GLPK : 5.0 > > > INFO: GnuTLS : Not found > > > ========================================= > > > INFO: Bug report saved in ./my_gnunet_bugreport.log > > > > > >