peerinfo
authorChristian Grothoff <christian@grothoff.org>
Fri, 23 Apr 2010 09:46:25 +0000 (09:46 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 23 Apr 2010 09:46:25 +0000 (09:46 +0000)
doc/man/gnunet-peerinfo.1
src/peerinfo-tool/gnunet-peerinfo.c
src/peerinfo-tool/test_gnunet_peerinfo.py

index 3eb2157d64d837ca05f0987847be5fb058935016..99a56007583a5c15343d93b021e7f5c65ef14dfb 100644 (file)
@@ -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 <https://gnunet.org/mantis/> or by sending electronic mail to <gnunet\-developers@gnu.org>
+Report bugs by using mantis <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet\-developers@gnu.org>
 
 .SH SEE ALSO
 gnunet.conf(5)
index ba6609596abab4fd5fdaab8dd6baa5ef6378f920..ba98320995d7b7e9e9bfbbc67d3dba44f8b2898e 100644 (file)
@@ -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);
index 3aa8497af99acff6a1065d36eb6bc9aaa97639c0..e9881a7b6296c17c6bdbf5f91e6639f746086496 100755 (executable)
@@ -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')