help-gnunet
[Top][All Lists]
Advanced

[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
> > 
> > 
> > 



reply via email to

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