[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: network from scratch
From: |
Martin Schanzenbach |
Subject: |
Re: network from scratch |
Date: |
Tue, 1 Nov 2022 02:10:10 +0000 |
On 31.10.22 15:45, accounts-gnunet@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-gnunet@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
> >
> >
> >