From: Christian Grothoff Date: Fri, 23 Apr 2010 09:46:25 +0000 (+0000) Subject: peerinfo X-Git-Tag: initial-import-from-subversion-38251~22018 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b03c1fcb8458283526af2ef15f8dab7edf7c14f8;p=oweals%2Fgnunet.git peerinfo --- 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')