aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2012-06-01 16:29:41 +0000
committerMartin Schanzenbach <mschanzenbach@posteo.de>2012-06-01 16:29:41 +0000
commit520740d4575a810a4ace1134c778fd797296d817 (patch)
tree936690d56aade0a60c3674d0bb58f79c3be7dbed /src
parent7f0b04482f00c6902ef972fb50d40756d31e3fdc (diff)
downloadgnunet-520740d4575a810a4ace1134c778fd797296d817.tar.gz
gnunet-520740d4575a810a4ace1134c778fd797296d817.zip
-added accessors for network handle
Diffstat (limited to 'src')
-rw-r--r--src/gns/gnunet-gns-proxy.c18
-rw-r--r--src/include/gnunet_network_lib.h20
-rw-r--r--src/util/network.c22
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
374static int
375add_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 */
382struct sockaddr*
383GNUNET_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 */
392socklen_t
393GNUNET_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 */
874struct sockaddr*
875GNUNET_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 */
886socklen_t
887GNUNET_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