}
+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
//GNUNET_free(s5r);
return;
}
+
+ add_handle_to_mhd ( s5r->sock );
+ //GNUNET_free ( s5r );
+ //FIXME complete socks resp!
+ return;
}
}
else
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
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
*