From b03c1fcb8458283526af2ef15f8dab7edf7c14f8 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 23 Apr 2010 09:46:25 +0000 Subject: [PATCH] peerinfo --- doc/man/gnunet-peerinfo.1 | 15 ++++++++++++-- src/peerinfo-tool/gnunet-peerinfo.c | 24 +++++++++++++++++++++++ src/peerinfo-tool/test_gnunet_peerinfo.py | 16 +++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/doc/man/gnunet-peerinfo.1 b/doc/man/gnunet-peerinfo.1 index 3eb2157d6..99a560075 100644 --- a/doc/man/gnunet-peerinfo.1 +++ b/doc/man/gnunet-peerinfo.1 @@ -10,7 +10,7 @@ gnunet\-peerinfo \- Display information about other peers. .SH DESCRIPTION .PP -\fBgnunet\-peerinfo\fP display the known addresses and trust of known peers. +\fBgnunet\-peerinfo\fP display the known addresses and trust of known peers. The tool can also be used to change the amount of trust we have in another peer. For this, the options should be first the amount of trust changed (prefix it with "\-\- " if the amount is negative) followed by the peer identity. .SH OPTIONS .B @@ -35,8 +35,19 @@ Print the version number .IP "\-L LOGLEVEL, \-\-loglelvel=LOGLEVEL" Set the loglevel +.SH EXAMPLE +.TP +gnunet\-peerinfo 4 S9LBDF6V770H8CELVKBFJMOTS25LB272JB81MRJHSRJI9B1FBVOSGJVSEIRIS5J4SRDU4HT3TBPLM4MNEND7FFUHMGCK4NBR8R2UTSG +Increase the trust in a peer by 4 +.TP +gnunet\-peerinfo \-\- \-2 S9LBDF6V770H8CELVKBFJMOTS25LB272JB81MRJHSRJI9B1FBVOSGJVSEIRIS5J4SRDU4HT3TBPLM4MNEND7FFUHMGCK4NBR8R2UTSG +Decrease the trust in a peer by 2 + + + + .SH BUGS -Report bugs by using mantis or by sending electronic mail to +Report bugs by using mantis or by sending electronic mail to .SH SEE ALSO gnunet.conf(5) diff --git a/src/peerinfo-tool/gnunet-peerinfo.c b/src/peerinfo-tool/gnunet-peerinfo.c index ba6609596..ba9832099 100644 --- a/src/peerinfo-tool/gnunet-peerinfo.c +++ b/src/peerinfo-tool/gnunet-peerinfo.c @@ -228,9 +228,33 @@ run (void *cls, struct GNUNET_PeerIdentity pid; struct GNUNET_CRYPTO_HashAsciiEncoded enc; char *fn; + int delta; sched = s; cfg = c; + delta = 0; + if ( (args[0] != NULL) && + (args[1] != NULL) && + (1 == sscanf(args[0], "%d", &delta)) && + (GNUNET_OK == + GNUNET_CRYPTO_hash_from_string (args[1], + &pid.hashPubKey)) ) + { + peerinfo = GNUNET_PEERINFO_connect (sched, cfg); + GNUNET_PEERINFO_iterate (peerinfo, + &pid, + delta, + GNUNET_TIME_UNIT_SECONDS, + &print_peer_info, NULL); + return; + } + else if (args[0] != NULL) + { + fprintf (stderr, + _("Invalid command line argument `%s'\n"), + args[0]); + return; + } if (get_self != GNUNET_YES) { peerinfo = GNUNET_PEERINFO_connect (sched, cfg); diff --git a/src/peerinfo-tool/test_gnunet_peerinfo.py b/src/peerinfo-tool/test_gnunet_peerinfo.py index 3aa8497af..e9881a7b6 100755 --- a/src/peerinfo-tool/test_gnunet_peerinfo.py +++ b/src/peerinfo-tool/test_gnunet_peerinfo.py @@ -38,6 +38,11 @@ try: pinfo.expect (re.compile (".......................................................................................................\r")); pinfo.expect (pexpect.EOF); + pinfo = pexpect.spawn ('gnunet-peerinfo -c test_gnunet_peerinfo_data.conf invalid') + pinfo.expect (re.compile ("Invalid command line argument `invalid\'\r")); + pinfo.expect (pexpect.EOF); + + os.system ('gnunet-arm -q -i transport -c test_gnunet_peerinfo_data.conf') pinfo = pexpect.spawn ('gnunet-peerinfo -c test_gnunet_peerinfo_data.conf') @@ -50,6 +55,17 @@ try: pinfo.expect (re.compile (" *127.0.0.1:24357\r")); pinfo.expect (pexpect.EOF); + pinfo = pexpect.spawn ('gnunet-peerinfo -c test_gnunet_peerinfo_data.conf -qs') + pid = pinfo.read (-1) + pid = pid.strip () + + pinfo = pexpect.spawn ('gnunet-peerinfo -c test_gnunet_peerinfo_data.conf 4 ' + pid) + pinfo.expect (re.compile ("Peer `" + pid + "\' with trust *4\r")); + pinfo.expect (pexpect.EOF); + + pinfo = pexpect.spawn ('gnunet-peerinfo -c test_gnunet_peerinfo_data.conf -- -4 ' + pid) + pinfo.expect (re.compile ("Peer `" + pid + "\' with trust *0\r")); + pinfo.expect (pexpect.EOF); finally: os.system ('gnunet-arm -c test_gnunet_peerinfo_data.conf -eq') -- 2.25.1