-added accessors for network handle
authorMartin Schanzenbach <mschanzenbach@posteo.de>
Fri, 1 Jun 2012 16:29:41 +0000 (16:29 +0000)
committerMartin Schanzenbach <mschanzenbach@posteo.de>
Fri, 1 Jun 2012 16:29:41 +0000 (16:29 +0000)
src/gns/gnunet-gns-proxy.c
src/include/gnunet_network_lib.h
src/util/network.c

index 7a157e87d129bb5e9897b50ee92b2e28938080c1..b37421c827892561e3d9a7e787c2af1b16bd97f7 100644 (file)
@@ -371,6 +371,19 @@ do_read_remote (void* cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 }
 
 
+static int
+add_handle_to_mhd (struct GNUNET_NETWORK_Handle *h)
+{
+  int fd;
+  struct sockaddr *addr;
+  socklen_t len;
+
+  fd = GNUNET_NETWORK_get_fd (h);
+  addr = GNUNET_NETWORK_get_addr (h);
+  len = GNUNET_NETWORK_get_addrlen (h);
+
+  return MHD_add_connection (httpd, fd, addr, len);
+}
 
 /**
  * Read data from incoming connection
@@ -500,6 +513,11 @@ do_read (void* cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
           //GNUNET_free(s5r);
           return;
         }
+
+        add_handle_to_mhd ( s5r->sock );
+        //GNUNET_free ( s5r );
+        //FIXME complete socks resp!
+        return;
       }
     }
     else
index a14d5f0bb6fd0d87c2d3287071dfe3a88c2e6084..085845a0bbb533ea0a9453968c9e8c16ef530f9e 100644 (file)
@@ -373,6 +373,26 @@ int
 GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc);
 
 
+/**
+ * Return the sockaddr for this network handle
+ *
+ * @param desc wrapper to process
+ * @return POSIX file descriptor
+ */
+struct sockaddr*
+GNUNET_NETWORK_get_addr (struct GNUNET_NETWORK_Handle *desc);
+
+
+/**
+ * Return sockaddr length for this network handle
+ *
+ * @param desc wrapper to process
+ * @return socklen_t for sockaddr
+ */
+socklen_t
+GNUNET_NETWORK_get_addrlen (struct GNUNET_NETWORK_Handle *desc);
+
+
 /**
  * Copy a native fd set
  * @param to destination
index 1eec0c766a30fb64a326b9c78349069ce7d96f4b..ff559599fedef5b21bebe8617f65ff86bfb5ce79 100644 (file)
@@ -865,7 +865,29 @@ GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc)
   return desc->fd;
 }
 
+/**
+ * Return sockaddr for this network handle
+ *
+ * @param desc wrapper to process
+ * @return sockaddr
+ */
+struct sockaddr*
+GNUNET_NETWORK_get_addr (struct GNUNET_NETWORK_Handle *desc)
+{
+  return desc->addr;
+}
 
+/**
+ * Return sockaddr length for this network handle
+ *
+ * @param desc wrapper to process
+ * @return socklen_t for sockaddr
+ */
+socklen_t
+GNUNET_NETWORK_get_addrlen (struct GNUNET_NETWORK_Handle *desc)
+{
+  return desc->addrlen;
+}
 /**
  * Copy a native fd set
  *