Tell core that we want to have this packet delivered
[oweals/gnunet.git] / src / peerinfo-tool / gnunet-peerinfo.c
index ba6609596abab4fd5fdaab8dd6baa5ef6378f920..1963d6a98c0bd161cb9494f93575913cb7530980 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
@@ -37,8 +37,6 @@ static int be_quiet;
 
 static int get_self;
 
-static struct GNUNET_SCHEDULER_Handle *sched;
-
 static struct GNUNET_PEERINFO_Handle *peerinfo;
 
 static const struct GNUNET_CONFIGURATION_Handle *cfg;
@@ -49,7 +47,6 @@ struct PrintContext
   char **address_list;
   unsigned int num_addresses;
   uint32_t off;
-  uint32_t trust;
 };
 
 
@@ -60,9 +57,8 @@ dump_pc (struct PrintContext *pc)
   unsigned int i;
 
   GNUNET_CRYPTO_hash_to_enc (&pc->peer.hashPubKey, &enc);
-  printf (_("Peer `%s' with trust %8u\n"), 
-         (const char *) &enc,
-         pc->trust);
+  printf (_("Peer `%s'\n"), 
+         (const char *) &enc);
   for (i=0;i<pc->num_addresses;i++)
     {
       printf ("\t%s\n",
@@ -116,7 +112,7 @@ static int
 count_address (void *cls,
               const char *tname,
               struct GNUNET_TIME_Absolute expiration,
-              const void *addr, size_t addrlen)
+              const void *addr, uint16_t addrlen)
 {
   struct PrintContext *pc = cls;
   pc->off++;
@@ -138,11 +134,10 @@ static int
 print_address (void *cls,
               const char *tname,
               struct GNUNET_TIME_Absolute expiration,
-              const void *addr, size_t addrlen)
+              const void *addr, uint16_t addrlen)
 {
   struct PrintContext *pc = cls;
-  GNUNET_TRANSPORT_address_lookup (sched,
-                                  cfg,
+  GNUNET_TRANSPORT_address_lookup (cfg,
                                   addr,
                                   addrlen,
                                   no_resolve,
@@ -156,13 +151,13 @@ print_address (void *cls,
 
 /**
  * Print information about the peer.
- * Currently prints the GNUNET_PeerIdentity, trust and the IP.
+ * Currently prints the GNUNET_PeerIdentity and the IP.
  * Could of course do more (e.g. resolve via DNS).
  */
 static void
 print_peer_info (void *cls,
                  const struct GNUNET_PeerIdentity *peer,
-                 const struct GNUNET_HELLO_Message *hello, uint32_t trust)
+                 const struct GNUNET_HELLO_Message *hello)
 {
   struct GNUNET_CRYPTO_HashAsciiEncoded enc;
   struct PrintContext *pc;
@@ -170,22 +165,8 @@ print_peer_info (void *cls,
   if (peer == NULL)    
     {
       GNUNET_PEERINFO_disconnect (peerinfo);
-      switch (trust)
-       {
-       case 0:
-         break;
-       case 1:
-         fprintf (stderr,
-                  _("Timeout trying to interact with PEERINFO service\n"));
-         break;
-       case 2:
-         fprintf (stderr,
-                  _("Error in communication with PEERINFO service\n"));
-         break;
-       default:
-         GNUNET_break (0);
-         break;
-       }
+      fprintf (stderr,
+              _("Error in communication with PEERINFO service\n"));
       return;    
     }
   if (be_quiet)
@@ -196,7 +177,6 @@ print_peer_info (void *cls,
     }
   pc = GNUNET_malloc (sizeof (struct PrintContext));
   pc->peer = *peer;  
-  pc->trust = trust;
   GNUNET_HELLO_iterate_addresses (hello, GNUNET_NO, &count_address, pc);
   if (0 == pc->off)
     {
@@ -211,14 +191,12 @@ print_peer_info (void *cls,
  * Main function that will be run by the scheduler.
  *
  * @param cls closure
- * @param s the scheduler to use
  * @param args remaining command-line arguments
  * @param cfgfile name of the configuration file used (for saving, can be NULL!)
  * @param c configuration
  */
 static void
 run (void *cls,
-     struct GNUNET_SCHEDULER_Handle *s,
      char *const *args,
      const char *cfgfile, 
      const struct GNUNET_CONFIGURATION_Handle *c)
@@ -229,11 +207,17 @@ run (void *cls,
   struct GNUNET_CRYPTO_HashAsciiEncoded enc;
   char *fn;
 
-  sched = s;
   cfg = c;
+  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);
+      peerinfo = GNUNET_PEERINFO_connect (cfg);
       if (peerinfo == NULL)
        {
          fprintf (stderr,
@@ -242,7 +226,6 @@ run (void *cls,
        }
       (void) GNUNET_PEERINFO_iterate (peerinfo,
                                      NULL,
-                                     0,
                                      GNUNET_TIME_relative_multiply
                                      (GNUNET_TIME_UNIT_SECONDS, 2),
                                      &print_peer_info, NULL);
@@ -280,22 +263,6 @@ run (void *cls,
 }
 
 
-/**
- * gnunet-peerinfo command line options
- */
-static struct GNUNET_GETOPT_CommandLineOption options[] = {
-  {'n', "numeric", NULL,
-   gettext_noop ("don't resolve host names"),
-   0, &GNUNET_GETOPT_set_one, &no_resolve},
-  {'q', "quiet", NULL,
-   gettext_noop ("output only the identity strings"),
-   0, &GNUNET_GETOPT_set_one, &be_quiet},
-  {'s', "self", NULL,
-   gettext_noop ("output our own identity only"),
-   0, &GNUNET_GETOPT_set_one, &get_self},
-  GNUNET_GETOPT_OPTION_END
-};
-
 /**
  * The main function to obtain peer information.
  *
@@ -306,6 +273,18 @@ static struct GNUNET_GETOPT_CommandLineOption options[] = {
 int
 main (int argc, char *const *argv)
 {
+  static const struct GNUNET_GETOPT_CommandLineOption options[] = {
+    {'n', "numeric", NULL,
+     gettext_noop ("don't resolve host names"),
+     0, &GNUNET_GETOPT_set_one, &no_resolve},
+    {'q', "quiet", NULL,
+     gettext_noop ("output only the identity strings"),
+     0, &GNUNET_GETOPT_set_one, &be_quiet},
+    {'s', "self", NULL,
+     gettext_noop ("output our own identity only"),
+     0, &GNUNET_GETOPT_set_one, &get_self},
+    GNUNET_GETOPT_OPTION_END
+  };
   return (GNUNET_OK ==
           GNUNET_PROGRAM_run (argc,
                               argv,