diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-06-01 16:29:41 +0000 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-06-01 16:29:41 +0000 |
commit | 520740d4575a810a4ace1134c778fd797296d817 (patch) | |
tree | 936690d56aade0a60c3674d0bb58f79c3be7dbed /src | |
parent | 7f0b04482f00c6902ef972fb50d40756d31e3fdc (diff) | |
download | gnunet-520740d4575a810a4ace1134c778fd797296d817.tar.gz gnunet-520740d4575a810a4ace1134c778fd797296d817.zip |
-added accessors for network handle
Diffstat (limited to 'src')
-rw-r--r-- | src/gns/gnunet-gns-proxy.c | 18 | ||||
-rw-r--r-- | src/include/gnunet_network_lib.h | 20 | ||||
-rw-r--r-- | src/util/network.c | 22 |
3 files changed, 60 insertions, 0 deletions
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) | |||
371 | } | 371 | } |
372 | 372 | ||
373 | 373 | ||
374 | static int | ||
375 | add_handle_to_mhd (struct GNUNET_NETWORK_Handle *h) | ||
376 | { | ||
377 | int fd; | ||
378 | struct sockaddr *addr; | ||
379 | socklen_t len; | ||
380 | |||
381 | fd = GNUNET_NETWORK_get_fd (h); | ||
382 | addr = GNUNET_NETWORK_get_addr (h); | ||
383 | len = GNUNET_NETWORK_get_addrlen (h); | ||
384 | |||
385 | return MHD_add_connection (httpd, fd, addr, len); | ||
386 | } | ||
374 | 387 | ||
375 | /** | 388 | /** |
376 | * Read data from incoming connection | 389 | * Read data from incoming connection |
@@ -500,6 +513,11 @@ do_read (void* cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
500 | //GNUNET_free(s5r); | 513 | //GNUNET_free(s5r); |
501 | return; | 514 | return; |
502 | } | 515 | } |
516 | |||
517 | add_handle_to_mhd ( s5r->sock ); | ||
518 | //GNUNET_free ( s5r ); | ||
519 | //FIXME complete socks resp! | ||
520 | return; | ||
503 | } | 521 | } |
504 | } | 522 | } |
505 | else | 523 | 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 | |||
@@ -374,6 +374,26 @@ GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc); | |||
374 | 374 | ||
375 | 375 | ||
376 | /** | 376 | /** |
377 | * Return the sockaddr for this network handle | ||
378 | * | ||
379 | * @param desc wrapper to process | ||
380 | * @return POSIX file descriptor | ||
381 | */ | ||
382 | struct sockaddr* | ||
383 | GNUNET_NETWORK_get_addr (struct GNUNET_NETWORK_Handle *desc); | ||
384 | |||
385 | |||
386 | /** | ||
387 | * Return sockaddr length for this network handle | ||
388 | * | ||
389 | * @param desc wrapper to process | ||
390 | * @return socklen_t for sockaddr | ||
391 | */ | ||
392 | socklen_t | ||
393 | GNUNET_NETWORK_get_addrlen (struct GNUNET_NETWORK_Handle *desc); | ||
394 | |||
395 | |||
396 | /** | ||
377 | * Copy a native fd set | 397 | * Copy a native fd set |
378 | * @param to destination | 398 | * @param to destination |
379 | * @param from native source set | 399 | * @param from native source set |
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,8 +865,30 @@ GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc) | |||
865 | return desc->fd; | 865 | return desc->fd; |
866 | } | 866 | } |
867 | 867 | ||
868 | /** | ||
869 | * Return sockaddr for this network handle | ||
870 | * | ||
871 | * @param desc wrapper to process | ||
872 | * @return sockaddr | ||
873 | */ | ||
874 | struct sockaddr* | ||
875 | GNUNET_NETWORK_get_addr (struct GNUNET_NETWORK_Handle *desc) | ||
876 | { | ||
877 | return desc->addr; | ||
878 | } | ||
868 | 879 | ||
869 | /** | 880 | /** |
881 | * Return sockaddr length for this network handle | ||
882 | * | ||
883 | * @param desc wrapper to process | ||
884 | * @return socklen_t for sockaddr | ||
885 | */ | ||
886 | socklen_t | ||
887 | GNUNET_NETWORK_get_addrlen (struct GNUNET_NETWORK_Handle *desc) | ||
888 | { | ||
889 | return desc->addrlen; | ||
890 | } | ||
891 | /** | ||
870 | * Copy a native fd set | 892 | * Copy a native fd set |
871 | * | 893 | * |
872 | * @param to destination | 894 | * @param to destination |