add function conv param string
[oweals/gnunet.git] / src / vpn / gnunet-vpn.c
index 5a35a0df59290dd5531325043a3f03346522177d..2e7daf7f7291b11f396034341cdb37c0fa38bf72 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2012 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2012 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -26,6 +26,7 @@
 
 #include "platform.h"
 #include "gnunet_util_lib.h"
+#include "gnunet_tun_lib.h"
 #include "gnunet_vpn_service.h"
 
 
@@ -94,7 +95,7 @@ static struct GNUNET_TIME_Relative duration = { 5 * 60 * 1000} ;
  * Shutdown.
  */
 static void
-do_disconnect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+do_disconnect (void *cls)
 {
   if (NULL != request)
   {
@@ -162,7 +163,9 @@ allocation_cb (void *cls,
  * @param cfg configuration
  */
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls,
+     char *const *args,
+     const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
   int dst_af;
@@ -176,8 +179,7 @@ run (void *cls, char *const *args, const char *cfgfile,
   struct GNUNET_TIME_Absolute etime;
 
   etime = GNUNET_TIME_relative_to_absolute (duration);
-  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
-                               &do_disconnect, NULL);
+  GNUNET_SCHEDULER_add_shutdown (&do_disconnect, NULL);
   handle = GNUNET_VPN_connect (cfg);
   if (NULL == handle)
     goto error;
@@ -226,17 +228,17 @@ run (void *cls, char *const *args, const char *cfgfile,
     if (udp)
       protocol = IPPROTO_UDP;
     if (GNUNET_OK !=
-       GNUNET_CRYPTO_ecc_public_sign_key_from_string (peer_id,
-                                                      strlen (peer_id),
-                                                      &peer.public_key))
+       GNUNET_CRYPTO_eddsa_public_key_from_string (peer_id,
+                                                    strlen (peer_id),
+                                                    &peer.public_key))
     {
-      FPRINTF (stderr, _("`%s' is not a valid peer identifier.\n"),
+      FPRINTF (stderr,
+               _("`%s' is not a valid peer identifier.\n"),
                peer_id);
       goto error;
     }
-    GNUNET_CRYPTO_hash (service_name,
-                       strlen (service_name),
-                       &sd);
+    GNUNET_TUN_service_name_to_hash (service_name,
+                                     &sd);
     request = GNUNET_VPN_redirect_to_peer (handle,
                                           req_af,
                                           protocol,