From: Martin Schanzenbach Date: Fri, 1 Jun 2012 16:29:41 +0000 (+0000) Subject: -added accessors for network handle X-Git-Tag: initial-import-from-subversion-38251~13292 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=520740d4575a810a4ace1134c778fd797296d817;p=oweals%2Fgnunet.git -added accessors for network handle --- diff --git a/src/gns/gnunet-gns-proxy.c b/src/gns/gnunet-gns-proxy.c index 7a157e87d..b37421c82 100644 --- a/src/gns/gnunet-gns-proxy.c +++ b/src/gns/gnunet-gns-proxy.c @@ -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 diff --git a/src/include/gnunet_network_lib.h b/src/include/gnunet_network_lib.h index a14d5f0bb..085845a0b 100644 --- a/src/include/gnunet_network_lib.h +++ b/src/include/gnunet_network_lib.h @@ -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 diff --git a/src/util/network.c b/src/util/network.c index 1eec0c766..ff559599f 100644 --- a/src/util/network.c +++ b/src/util/network.c @@ -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 *