diff options
Diffstat (limited to 'src/transport/plugin_transport_http_server.c')
-rw-r--r-- | src/transport/plugin_transport_http_server.c | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index dfd0294e5..c43124c2e 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c | |||
@@ -374,17 +374,17 @@ struct HTTP_Server_Plugin | |||
374 | /** | 374 | /** |
375 | * MHD IPv4 task | 375 | * MHD IPv4 task |
376 | */ | 376 | */ |
377 | struct GNUNET_SCHEDULER_Task * server_v4_task; | 377 | struct GNUNET_SCHEDULER_Task *server_v4_task; |
378 | 378 | ||
379 | /** | 379 | /** |
380 | * MHD IPv6 task | 380 | * MHD IPv6 task |
381 | */ | 381 | */ |
382 | struct GNUNET_SCHEDULER_Task * server_v6_task; | 382 | struct GNUNET_SCHEDULER_Task *server_v6_task; |
383 | 383 | ||
384 | /** | 384 | /** |
385 | * Task calling transport service about external address | 385 | * Task calling transport service about external address |
386 | */ | 386 | */ |
387 | struct GNUNET_SCHEDULER_Task * notify_ext_task; | 387 | struct GNUNET_SCHEDULER_Task *notify_ext_task; |
388 | 388 | ||
389 | /** | 389 | /** |
390 | * Notify transport only about external address | 390 | * Notify transport only about external address |
@@ -496,12 +496,8 @@ static void | |||
496 | server_wake_up (void *cls) | 496 | server_wake_up (void *cls) |
497 | { | 497 | { |
498 | struct GNUNET_ATS_Session *s = cls; | 498 | struct GNUNET_ATS_Session *s = cls; |
499 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
500 | 499 | ||
501 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
502 | s->recv_wakeup_task = NULL; | 500 | s->recv_wakeup_task = NULL; |
503 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
504 | return; | ||
505 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 501 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
506 | "Session %p: Waking up PUT handle\n", | 502 | "Session %p: Waking up PUT handle\n", |
507 | s); | 503 | s); |
@@ -913,12 +909,8 @@ static void | |||
913 | server_v4_run (void *cls) | 909 | server_v4_run (void *cls) |
914 | { | 910 | { |
915 | struct HTTP_Server_Plugin *plugin = cls; | 911 | struct HTTP_Server_Plugin *plugin = cls; |
916 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
917 | 912 | ||
918 | plugin->server_v4_task = NULL; | 913 | plugin->server_v4_task = NULL; |
919 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
920 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
921 | return; | ||
922 | plugin->server_v4_immediately = GNUNET_NO; | 914 | plugin->server_v4_immediately = GNUNET_NO; |
923 | GNUNET_assert (MHD_YES == MHD_run (plugin->server_v4)); | 915 | GNUNET_assert (MHD_YES == MHD_run (plugin->server_v4)); |
924 | server_reschedule (plugin, plugin->server_v4, GNUNET_NO); | 916 | server_reschedule (plugin, plugin->server_v4, GNUNET_NO); |
@@ -935,12 +927,8 @@ static void | |||
935 | server_v6_run (void *cls) | 927 | server_v6_run (void *cls) |
936 | { | 928 | { |
937 | struct HTTP_Server_Plugin *plugin = cls; | 929 | struct HTTP_Server_Plugin *plugin = cls; |
938 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
939 | 930 | ||
940 | plugin->server_v6_task = NULL; | 931 | plugin->server_v6_task = NULL; |
941 | tc = GNUNET_SCHEDULER_get_task_context (); | ||
942 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | ||
943 | return; | ||
944 | plugin->server_v6_immediately = GNUNET_NO; | 932 | plugin->server_v6_immediately = GNUNET_NO; |
945 | GNUNET_assert (MHD_YES == MHD_run (plugin->server_v6)); | 933 | GNUNET_assert (MHD_YES == MHD_run (plugin->server_v6)); |
946 | server_reschedule (plugin, plugin->server_v6, GNUNET_NO); | 934 | server_reschedule (plugin, plugin->server_v6, GNUNET_NO); |
@@ -1869,8 +1857,10 @@ server_access_cb (void *cls, | |||
1869 | GNUNET_assert(s->server_recv->mhd_conn == mhd_connection); | 1857 | GNUNET_assert(s->server_recv->mhd_conn == mhd_connection); |
1870 | MHD_suspend_connection (s->server_recv->mhd_conn); | 1858 | MHD_suspend_connection (s->server_recv->mhd_conn); |
1871 | if (NULL == s->recv_wakeup_task) | 1859 | if (NULL == s->recv_wakeup_task) |
1872 | s->recv_wakeup_task = GNUNET_SCHEDULER_add_delayed (delay, | 1860 | s->recv_wakeup_task |
1873 | &server_wake_up, s); | 1861 | = GNUNET_SCHEDULER_add_delayed (delay, |
1862 | &server_wake_up, | ||
1863 | s); | ||
1874 | } | 1864 | } |
1875 | return MHD_YES; | 1865 | return MHD_YES; |
1876 | } | 1866 | } |
@@ -2851,18 +2841,12 @@ server_notify_external_hostname (void *cls) | |||
2851 | size_t ext_addr_len; | 2841 | size_t ext_addr_len; |
2852 | unsigned int urlen; | 2842 | unsigned int urlen; |
2853 | char *url; | 2843 | char *url; |
2854 | const struct GNUNET_SCHEDULER_TaskContext *tc; | ||
2855 | 2844 | ||
2856 | plugin->notify_ext_task = NULL; | 2845 | plugin->notify_ext_task = NULL; |
2857 | tc = GNUNET_SCHEDULER_get_task_context (); | 2846 | GNUNET_asprintf (&url, |
2858 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 2847 | "%s://%s", |
2859 | return; | 2848 | plugin->protocol, |
2860 | 2849 | plugin->external_hostname); | |
2861 | GNUNET_asprintf(&url, | ||
2862 | "%s://%s", | ||
2863 | plugin->protocol, | ||
2864 | plugin->external_hostname); | ||
2865 | |||
2866 | urlen = strlen (url) + 1; | 2850 | urlen = strlen (url) + 1; |
2867 | ext_addr = GNUNET_malloc (sizeof (struct HttpAddress) + urlen); | 2851 | ext_addr = GNUNET_malloc (sizeof (struct HttpAddress) + urlen); |
2868 | ext_addr->options = htonl (plugin->options); | 2852 | ext_addr->options = htonl (plugin->options); |
@@ -2881,13 +2865,23 @@ server_notify_external_hostname (void *cls) | |||
2881 | "Enabling SSL verification for external hostname address `%s'\n", | 2865 | "Enabling SSL verification for external hostname address `%s'\n", |
2882 | plugin->external_hostname); | 2866 | plugin->external_hostname); |
2883 | plugin->ext_addr = GNUNET_HELLO_address_allocate (plugin->env->my_identity, | 2867 | plugin->ext_addr = GNUNET_HELLO_address_allocate (plugin->env->my_identity, |
2884 | "https_client", ext_addr, ext_addr_len, GNUNET_HELLO_ADDRESS_INFO_NONE ); | 2868 | "https_client", |
2885 | plugin->env->notify_address (plugin->env->cls, GNUNET_YES, plugin->ext_addr); | 2869 | ext_addr, |
2870 | ext_addr_len, | ||
2871 | GNUNET_HELLO_ADDRESS_INFO_NONE); | ||
2872 | plugin->env->notify_address (plugin->env->cls, | ||
2873 | GNUNET_YES, | ||
2874 | plugin->ext_addr); | ||
2886 | GNUNET_free (ext_addr); | 2875 | GNUNET_free (ext_addr); |
2887 | #else | 2876 | #else |
2888 | plugin->ext_addr = GNUNET_HELLO_address_allocate (plugin->env->my_identity, | 2877 | plugin->ext_addr = GNUNET_HELLO_address_allocate (plugin->env->my_identity, |
2889 | "http_client", ext_addr, ext_addr_len, GNUNET_HELLO_ADDRESS_INFO_NONE ); | 2878 | "http_client", |
2890 | plugin->env->notify_address (plugin->env->cls, GNUNET_YES, plugin->ext_addr); | 2879 | ext_addr, |
2880 | ext_addr_len, | ||
2881 | GNUNET_HELLO_ADDRESS_INFO_NONE); | ||
2882 | plugin->env->notify_address (plugin->env->cls, | ||
2883 | GNUNET_YES, | ||
2884 | plugin->ext_addr); | ||
2891 | GNUNET_free (ext_addr); | 2885 | GNUNET_free (ext_addr); |
2892 | #endif | 2886 | #endif |
2893 | } | 2887 | } |