diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-08-15 21:54:06 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-08-15 21:54:06 +0000 |
commit | 5746309cb4be2073d550ad7a6885e918631dbc38 (patch) | |
tree | 89455bc4aadf977816b38df13f990372cd81d71a /src/hostlist | |
parent | 6fd3e715cae09fa6e657c96f1c6f9711ee51f42f (diff) | |
download | gnunet-5746309cb4be2073d550ad7a6885e918631dbc38.tar.gz gnunet-5746309cb4be2073d550ad7a6885e918631dbc38.zip |
indentation
Diffstat (limited to 'src/hostlist')
-rw-r--r-- | src/hostlist/gnunet-daemon-hostlist.c | 48 | ||||
-rw-r--r-- | src/hostlist/hostlist-client.c | 151 | ||||
-rw-r--r-- | src/hostlist/hostlist-server.c | 125 | ||||
-rw-r--r-- | src/hostlist/test_gnunet_daemon_hostlist.c | 34 | ||||
-rw-r--r-- | src/hostlist/test_gnunet_daemon_hostlist_learning.c | 131 | ||||
-rw-r--r-- | src/hostlist/test_gnunet_daemon_hostlist_reconnect.c | 34 |
6 files changed, 225 insertions, 298 deletions
diff --git a/src/hostlist/gnunet-daemon-hostlist.c b/src/hostlist/gnunet-daemon-hostlist.c index c49aec765..9d47dfa9c 100644 --- a/src/hostlist/gnunet-daemon-hostlist.c +++ b/src/hostlist/gnunet-daemon-hostlist.c | |||
@@ -128,8 +128,7 @@ struct GNUNET_HOSTLIST_ADV_Message | |||
128 | static struct GNUNET_PeerIdentity me; | 128 | static struct GNUNET_PeerIdentity me; |
129 | 129 | ||
130 | static void | 130 | static void |
131 | core_init (void *cls, | 131 | core_init (void *cls, struct GNUNET_CORE_Handle *server, |
132 | struct GNUNET_CORE_Handle *server, | ||
133 | const struct GNUNET_PeerIdentity *my_identity, | 132 | const struct GNUNET_PeerIdentity *my_identity, |
134 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *publicKey) | 133 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *publicKey) |
135 | { | 134 | { |
@@ -140,8 +139,7 @@ core_init (void *cls, | |||
140 | * Core handler for p2p hostlist advertisements | 139 | * Core handler for p2p hostlist advertisements |
141 | */ | 140 | */ |
142 | static int | 141 | static int |
143 | advertisement_handler (void *cls, | 142 | advertisement_handler (void *cls, const struct GNUNET_PeerIdentity *peer, |
144 | const struct GNUNET_PeerIdentity *peer, | ||
145 | const struct GNUNET_MessageHeader *message, | 143 | const struct GNUNET_MessageHeader *message, |
146 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 144 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
147 | { | 145 | { |
@@ -158,9 +156,7 @@ advertisement_handler (void *cls, | |||
158 | * @param atsi performance data | 156 | * @param atsi performance data |
159 | */ | 157 | */ |
160 | static void | 158 | static void |
161 | connect_handler (void *cls, | 159 | connect_handler (void *cls, const struct GNUNET_PeerIdentity *peer, |
162 | const struct | ||
163 | GNUNET_PeerIdentity *peer, | ||
164 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 160 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
165 | { | 161 | { |
166 | if (0 == memcmp (&me, peer, sizeof (struct GNUNET_PeerIdentity))) | 162 | if (0 == memcmp (&me, peer, sizeof (struct GNUNET_PeerIdentity))) |
@@ -236,9 +232,8 @@ cleaning_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
236 | * @param cfg configuration | 232 | * @param cfg configuration |
237 | */ | 233 | */ |
238 | static void | 234 | static void |
239 | run (void *cls, | 235 | run (void *cls, char *const *args, const char *cfgfile, |
240 | char *const *args, | 236 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
241 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
242 | { | 237 | { |
243 | static const struct GNUNET_CORE_MessageHandler learn_handlers[] = { | 238 | static const struct GNUNET_CORE_MessageHandler learn_handlers[] = { |
244 | {&advertisement_handler, GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT, 0}, | 239 | {&advertisement_handler, GNUNET_MESSAGE_TYPE_HOSTLIST_ADVERTISEMENT, 0}, |
@@ -263,20 +258,16 @@ run (void *cls, | |||
263 | 258 | ||
264 | stats = GNUNET_STATISTICS_create ("hostlist", cfg); | 259 | stats = GNUNET_STATISTICS_create ("hostlist", cfg); |
265 | 260 | ||
266 | core = GNUNET_CORE_connect (cfg, | 261 | core = |
267 | 1, | 262 | GNUNET_CORE_connect (cfg, 1, NULL, &core_init, &connect_handler, |
268 | NULL, | 263 | &disconnect_handler, NULL, NULL, GNUNET_NO, NULL, |
269 | &core_init, | 264 | GNUNET_NO, |
270 | &connect_handler, &disconnect_handler, NULL, | 265 | learning ? learn_handlers : no_learn_handlers); |
271 | NULL, GNUNET_NO, | ||
272 | NULL, GNUNET_NO, | ||
273 | learning ? learn_handlers : no_learn_handlers); | ||
274 | 266 | ||
275 | if (bootstrapping) | 267 | if (bootstrapping) |
276 | { | 268 | { |
277 | GNUNET_HOSTLIST_client_start (cfg, stats, | 269 | GNUNET_HOSTLIST_client_start (cfg, stats, &client_ch, &client_dh, |
278 | &client_ch, &client_dh, &client_adv_handler, | 270 | &client_adv_handler, learning); |
279 | learning); | ||
280 | } | 271 | } |
281 | 272 | ||
282 | #if HAVE_MHD | 273 | #if HAVE_MHD |
@@ -286,8 +277,8 @@ run (void *cls, | |||
286 | advertising); | 277 | advertising); |
287 | } | 278 | } |
288 | #endif | 279 | #endif |
289 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 280 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &cleaning_task, |
290 | &cleaning_task, NULL); | 281 | NULL); |
291 | 282 | ||
292 | if (NULL == core) | 283 | if (NULL == core) |
293 | { | 284 | { |
@@ -333,12 +324,11 @@ main (int argc, char *const *argv) | |||
333 | int ret; | 324 | int ret; |
334 | 325 | ||
335 | GNUNET_log_setup ("hostlist", "WARNING", NULL); | 326 | GNUNET_log_setup ("hostlist", "WARNING", NULL); |
336 | ret = (GNUNET_OK == | 327 | ret = |
337 | GNUNET_PROGRAM_run (argc, | 328 | (GNUNET_OK == |
338 | argv, | 329 | GNUNET_PROGRAM_run (argc, argv, "hostlist", |
339 | "hostlist", | 330 | _("GNUnet hostlist server and client"), options, |
340 | _("GNUnet hostlist server and client"), | 331 | &run, NULL)) ? 0 : 1; |
341 | options, &run, NULL)) ? 0 : 1; | ||
342 | 332 | ||
343 | return ret; | 333 | return ret; |
344 | } | 334 | } |
diff --git a/src/hostlist/hostlist-client.c b/src/hostlist/hostlist-client.c index 422855f0e..c049dceea 100644 --- a/src/hostlist/hostlist-client.c +++ b/src/hostlist/hostlist-client.c | |||
@@ -366,8 +366,8 @@ get_bootstrap_server () | |||
366 | size_t pos; | 366 | size_t pos; |
367 | 367 | ||
368 | if (GNUNET_OK != | 368 | if (GNUNET_OK != |
369 | GNUNET_CONFIGURATION_get_value_string (cfg, | 369 | GNUNET_CONFIGURATION_get_value_string (cfg, "HOSTLIST", "SERVERS", |
370 | "HOSTLIST", "SERVERS", &servers)) | 370 | &servers)) |
371 | { | 371 | { |
372 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 372 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
373 | _ | 373 | _ |
@@ -453,8 +453,8 @@ download_get_url () | |||
453 | current_hostlist = NULL; | 453 | current_hostlist = NULL; |
454 | return get_bootstrap_server (); | 454 | return get_bootstrap_server (); |
455 | } | 455 | } |
456 | index = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, | 456 | index = |
457 | linked_list_size); | 457 | GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, linked_list_size); |
458 | counter = 0; | 458 | counter = 0; |
459 | pos = linked_list_head; | 459 | pos = linked_list_head; |
460 | while (counter < index) | 460 | while (counter < index) |
@@ -462,8 +462,8 @@ download_get_url () | |||
462 | pos = pos->next; | 462 | pos = pos->next; |
463 | counter++; | 463 | counter++; |
464 | } | 464 | } |
465 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 465 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using learned hostlist `%s'\n", |
466 | "Using learned hostlist `%s'\n", pos->hostlist_uri); | 466 | pos->hostlist_uri); |
467 | current_hostlist = pos; | 467 | current_hostlist = pos; |
468 | return strdup (pos->hostlist_uri); | 468 | return strdup (pos->hostlist_uri); |
469 | } | 469 | } |
@@ -585,11 +585,10 @@ insert_hostlist () | |||
585 | linked_list_size--; | 585 | linked_list_size--; |
586 | GNUNET_free (lowest_quality); | 586 | GNUNET_free (lowest_quality); |
587 | } | 587 | } |
588 | GNUNET_CONTAINER_DLL_insert (linked_list_head, | 588 | GNUNET_CONTAINER_DLL_insert (linked_list_head, linked_list_tail, |
589 | linked_list_tail, hostlist_to_test); | 589 | hostlist_to_test); |
590 | linked_list_size++; | 590 | linked_list_size++; |
591 | GNUNET_STATISTICS_set (stats, | 591 | GNUNET_STATISTICS_set (stats, gettext_noop ("# advertised hostlist URIs"), |
592 | gettext_noop ("# advertised hostlist URIs"), | ||
593 | linked_list_size, GNUNET_NO); | 592 | linked_list_size, GNUNET_NO); |
594 | stat_testing_hostlist = GNUNET_NO; | 593 | stat_testing_hostlist = GNUNET_NO; |
595 | } | 594 | } |
@@ -679,15 +678,13 @@ clean_up () | |||
679 | mret = curl_multi_remove_handle (multi, curl); | 678 | mret = curl_multi_remove_handle (multi, curl); |
680 | if (mret != CURLM_OK) | 679 | if (mret != CURLM_OK) |
681 | { | 680 | { |
682 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 681 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
683 | _("%s failed at %s:%d: `%s'\n"), | ||
684 | "curl_multi_remove_handle", __FILE__, __LINE__, | 682 | "curl_multi_remove_handle", __FILE__, __LINE__, |
685 | curl_multi_strerror (mret)); | 683 | curl_multi_strerror (mret)); |
686 | } | 684 | } |
687 | mret = curl_multi_cleanup (multi); | 685 | mret = curl_multi_cleanup (multi); |
688 | if (mret != CURLM_OK) | 686 | if (mret != CURLM_OK) |
689 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 687 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
690 | _("%s failed at %s:%d: `%s'\n"), | ||
691 | "curl_multi_cleanup", __FILE__, __LINE__, | 688 | "curl_multi_cleanup", __FILE__, __LINE__, |
692 | curl_multi_strerror (mret)); | 689 | curl_multi_strerror (mret)); |
693 | multi = NULL; | 690 | multi = NULL; |
@@ -711,8 +708,8 @@ clean_up () | |||
711 | * @param cls closure, unused | 708 | * @param cls closure, unused |
712 | * @param tc task context, unused | 709 | * @param tc task context, unused |
713 | */ | 710 | */ |
714 | static void | 711 | static void task_download (void *cls, |
715 | task_download (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc); | 712 | const struct GNUNET_SCHEDULER_TaskContext *tc); |
716 | 713 | ||
717 | 714 | ||
718 | /** | 715 | /** |
@@ -739,8 +736,7 @@ download_prepare () | |||
739 | mret = curl_multi_fdset (multi, &rs, &ws, &es, &max); | 736 | mret = curl_multi_fdset (multi, &rs, &ws, &es, &max); |
740 | if (mret != CURLM_OK) | 737 | if (mret != CURLM_OK) |
741 | { | 738 | { |
742 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 739 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
743 | _("%s failed at %s:%d: `%s'\n"), | ||
744 | "curl_multi_fdset", __FILE__, __LINE__, | 740 | "curl_multi_fdset", __FILE__, __LINE__, |
745 | curl_multi_strerror (mret)); | 741 | curl_multi_strerror (mret)); |
746 | clean_up (); | 742 | clean_up (); |
@@ -749,8 +745,7 @@ download_prepare () | |||
749 | mret = curl_multi_timeout (multi, &timeout); | 745 | mret = curl_multi_timeout (multi, &timeout); |
750 | if (mret != CURLM_OK) | 746 | if (mret != CURLM_OK) |
751 | { | 747 | { |
752 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 748 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
753 | _("%s failed at %s:%d: `%s'\n"), | ||
754 | "curl_multi_timeout", __FILE__, __LINE__, | 749 | "curl_multi_timeout", __FILE__, __LINE__, |
755 | curl_multi_strerror (mret)); | 750 | curl_multi_strerror (mret)); |
756 | clean_up (); | 751 | clean_up (); |
@@ -768,10 +763,10 @@ download_prepare () | |||
768 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 763 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
769 | "Scheduling task for hostlist download using cURL\n"); | 764 | "Scheduling task for hostlist download using cURL\n"); |
770 | #endif | 765 | #endif |
771 | ti_download | 766 | ti_download = |
772 | = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, | 767 | GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, |
773 | GNUNET_SCHEDULER_NO_TASK, | 768 | GNUNET_SCHEDULER_NO_TASK, rtime, grs, gws, |
774 | rtime, grs, gws, &task_download, multi); | 769 | &task_download, multi); |
775 | GNUNET_NETWORK_fdset_destroy (gws); | 770 | GNUNET_NETWORK_fdset_destroy (gws); |
776 | GNUNET_NETWORK_fdset_destroy (grs); | 771 | GNUNET_NETWORK_fdset_destroy (grs); |
777 | } | 772 | } |
@@ -844,10 +839,8 @@ task_download (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
844 | (msg->data.result != CURLE_GOT_NOTHING)) | 839 | (msg->data.result != CURLE_GOT_NOTHING)) |
845 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 840 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
846 | _("%s failed for `%s' at %s:%d: `%s'\n"), | 841 | _("%s failed for `%s' at %s:%d: `%s'\n"), |
847 | "curl_multi_perform", | 842 | "curl_multi_perform", current_url, __FILE__, __LINE__, |
848 | current_url, | 843 | curl_easy_strerror (msg->data.result)); |
849 | __FILE__, | ||
850 | __LINE__, curl_easy_strerror (msg->data.result)); | ||
851 | else | 844 | else |
852 | { | 845 | { |
853 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 846 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
@@ -880,8 +873,7 @@ task_download (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
880 | 873 | ||
881 | if (mret != CURLM_OK) | 874 | if (mret != CURLM_OK) |
882 | { | 875 | { |
883 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 876 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("%s failed at %s:%d: `%s'\n"), |
884 | _("%s failed at %s:%d: `%s'\n"), | ||
885 | "curl_multi_perform", __FILE__, __LINE__, | 877 | "curl_multi_perform", __FILE__, __LINE__, |
886 | curl_multi_strerror (mret)); | 878 | curl_multi_strerror (mret)); |
887 | clean_up (); | 879 | clean_up (); |
@@ -921,8 +913,8 @@ download_hostlist () | |||
921 | stat_bytes_downloaded = 0; | 913 | stat_bytes_downloaded = 0; |
922 | 914 | ||
923 | GNUNET_STATISTICS_update (stats, | 915 | GNUNET_STATISTICS_update (stats, |
924 | gettext_noop ("# hostlist downloads initiated"), | 916 | gettext_noop ("# hostlist downloads initiated"), 1, |
925 | 1, GNUNET_NO); | 917 | GNUNET_NO); |
926 | if (proxy != NULL) | 918 | if (proxy != NULL) |
927 | CURL_EASY_SETOPT (curl, CURLOPT_PROXY, proxy); | 919 | CURL_EASY_SETOPT (curl, CURLOPT_PROXY, proxy); |
928 | download_pos = 0; | 920 | download_pos = 0; |
@@ -971,14 +963,12 @@ download_hostlist () | |||
971 | mret = curl_multi_add_handle (multi, curl); | 963 | mret = curl_multi_add_handle (multi, curl); |
972 | if (mret != CURLM_OK) | 964 | if (mret != CURLM_OK) |
973 | { | 965 | { |
974 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 966 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
975 | _("%s failed at %s:%d: `%s'\n"), | ||
976 | "curl_multi_add_handle", __FILE__, __LINE__, | 967 | "curl_multi_add_handle", __FILE__, __LINE__, |
977 | curl_multi_strerror (mret)); | 968 | curl_multi_strerror (mret)); |
978 | mret = curl_multi_cleanup (multi); | 969 | mret = curl_multi_cleanup (multi); |
979 | if (mret != CURLM_OK) | 970 | if (mret != CURLM_OK) |
980 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 971 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("%s failed at %s:%d: `%s'\n"), |
981 | _("%s failed at %s:%d: `%s'\n"), | ||
982 | "curl_multi_cleanup", __FILE__, __LINE__, | 972 | "curl_multi_cleanup", __FILE__, __LINE__, |
983 | curl_multi_strerror (mret)); | 973 | curl_multi_strerror (mret)); |
984 | multi = NULL; | 974 | multi = NULL; |
@@ -1104,8 +1094,9 @@ task_hostlist_saving (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1104 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1094 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
1105 | _("Hostlists will be saved to file again in %llums\n"), | 1095 | _("Hostlists will be saved to file again in %llums\n"), |
1106 | (unsigned long long) SAVING_INTERVALL.rel_value); | 1096 | (unsigned long long) SAVING_INTERVALL.rel_value); |
1107 | ti_saving_task = GNUNET_SCHEDULER_add_delayed (SAVING_INTERVALL, | 1097 | ti_saving_task = |
1108 | &task_hostlist_saving, NULL); | 1098 | GNUNET_SCHEDULER_add_delayed (SAVING_INTERVALL, &task_hostlist_saving, |
1099 | NULL); | ||
1109 | } | 1100 | } |
1110 | 1101 | ||
1111 | 1102 | ||
@@ -1117,16 +1108,13 @@ task_hostlist_saving (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1117 | * @param atsi performance data | 1108 | * @param atsi performance data |
1118 | */ | 1109 | */ |
1119 | static void | 1110 | static void |
1120 | handler_connect (void *cls, | 1111 | handler_connect (void *cls, const struct GNUNET_PeerIdentity *peer, |
1121 | const struct | ||
1122 | GNUNET_PeerIdentity *peer, | ||
1123 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 1112 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
1124 | { | 1113 | { |
1125 | GNUNET_assert (stat_connection_count < UINT_MAX); | 1114 | GNUNET_assert (stat_connection_count < UINT_MAX); |
1126 | stat_connection_count++; | 1115 | stat_connection_count++; |
1127 | GNUNET_STATISTICS_update (stats, | 1116 | GNUNET_STATISTICS_update (stats, gettext_noop ("# active connections"), 1, |
1128 | gettext_noop ("# active connections"), | 1117 | GNUNET_NO); |
1129 | 1, GNUNET_NO); | ||
1130 | } | 1118 | } |
1131 | 1119 | ||
1132 | 1120 | ||
@@ -1141,9 +1129,8 @@ handler_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
1141 | { | 1129 | { |
1142 | GNUNET_assert (stat_connection_count > 0); | 1130 | GNUNET_assert (stat_connection_count > 0); |
1143 | stat_connection_count--; | 1131 | stat_connection_count--; |
1144 | GNUNET_STATISTICS_update (stats, | 1132 | GNUNET_STATISTICS_update (stats, gettext_noop ("# active connections"), -1, |
1145 | gettext_noop ("# active connections"), | 1133 | GNUNET_NO); |
1146 | -1, GNUNET_NO); | ||
1147 | } | 1134 | } |
1148 | 1135 | ||
1149 | 1136 | ||
@@ -1158,8 +1145,7 @@ handler_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
1158 | * GNUNET_SYSERR to close it (signal serious error) | 1145 | * GNUNET_SYSERR to close it (signal serious error) |
1159 | */ | 1146 | */ |
1160 | static int | 1147 | static int |
1161 | handler_advertisement (void *cls, | 1148 | handler_advertisement (void *cls, const struct GNUNET_PeerIdentity *peer, |
1162 | const struct GNUNET_PeerIdentity *peer, | ||
1163 | const struct GNUNET_MessageHeader *message, | 1149 | const struct GNUNET_MessageHeader *message, |
1164 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 1150 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
1165 | { | 1151 | { |
@@ -1217,9 +1203,9 @@ handler_advertisement (void *cls, | |||
1217 | 1203 | ||
1218 | stat_testing_hostlist = GNUNET_YES; | 1204 | stat_testing_hostlist = GNUNET_YES; |
1219 | stat_testing_allowed = GNUNET_NO; | 1205 | stat_testing_allowed = GNUNET_NO; |
1220 | ti_testing_intervall_task = GNUNET_SCHEDULER_add_delayed (TESTING_INTERVAL, | 1206 | ti_testing_intervall_task = |
1221 | &task_testing_intervall_reset, | 1207 | GNUNET_SCHEDULER_add_delayed (TESTING_INTERVAL, |
1222 | NULL); | 1208 | &task_testing_intervall_reset, NULL); |
1223 | 1209 | ||
1224 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1210 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1225 | "Testing new hostlist advertisements is locked for the next %u ms\n", | 1211 | "Testing new hostlist advertisements is locked for the next %u ms\n", |
@@ -1255,9 +1241,8 @@ primary_task (void *cls, int success) | |||
1255 | 1241 | ||
1256 | 1242 | ||
1257 | static int | 1243 | static int |
1258 | process_stat (void *cls, | 1244 | process_stat (void *cls, const char *subsystem, const char *name, |
1259 | const char *subsystem, | 1245 | uint64_t value, int is_persistent) |
1260 | const char *name, uint64_t value, int is_persistent) | ||
1261 | { | 1246 | { |
1262 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1247 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
1263 | _("Initial time between hostlist downloads is %llums\n"), | 1248 | _("Initial time between hostlist downloads is %llums\n"), |
@@ -1286,9 +1271,8 @@ load_hostlist_file () | |||
1286 | uint32_t counter; | 1271 | uint32_t counter; |
1287 | 1272 | ||
1288 | if (GNUNET_OK != | 1273 | if (GNUNET_OK != |
1289 | GNUNET_CONFIGURATION_get_value_filename (cfg, | 1274 | GNUNET_CONFIGURATION_get_value_filename (cfg, "HOSTLIST", "HOSTLISTFILE", |
1290 | "HOSTLIST", | 1275 | &filename)) |
1291 | "HOSTLISTFILE", &filename)) | ||
1292 | { | 1276 | { |
1293 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 1277 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
1294 | _ | 1278 | _ |
@@ -1321,9 +1305,8 @@ load_hostlist_file () | |||
1321 | 1305 | ||
1322 | counter = 0; | 1306 | counter = 0; |
1323 | while ((GNUNET_OK == GNUNET_BIO_read_string (rh, "url", &uri, MAX_URL_LEN)) && | 1307 | while ((GNUNET_OK == GNUNET_BIO_read_string (rh, "url", &uri, MAX_URL_LEN)) && |
1324 | (NULL != uri) && | 1308 | (NULL != uri) && (GNUNET_OK == GNUNET_BIO_read_int32 (rh, ×_used)) |
1325 | (GNUNET_OK == GNUNET_BIO_read_int32 (rh, ×_used)) && | 1309 | && (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &quality)) && |
1326 | (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &quality)) && | ||
1327 | (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &last_used)) && | 1310 | (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &last_used)) && |
1328 | (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &created)) && | 1311 | (GNUNET_OK == GNUNET_BIO_read_int64 (rh, &created)) && |
1329 | (GNUNET_OK == GNUNET_BIO_read_int32 (rh, &hellos_returned))) | 1312 | (GNUNET_OK == GNUNET_BIO_read_int32 (rh, &hellos_returned))) |
@@ -1347,13 +1330,11 @@ load_hostlist_file () | |||
1347 | break; | 1330 | break; |
1348 | } | 1331 | } |
1349 | 1332 | ||
1350 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1333 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("%u hostlist URIs loaded from file\n"), |
1351 | _("%u hostlist URIs loaded from file\n"), counter); | 1334 | counter); |
1352 | GNUNET_STATISTICS_set (stats, | 1335 | GNUNET_STATISTICS_set (stats, gettext_noop ("# hostlist URIs read from file"), |
1353 | gettext_noop ("# hostlist URIs read from file"), | ||
1354 | counter, GNUNET_YES); | 1336 | counter, GNUNET_YES); |
1355 | GNUNET_STATISTICS_set (stats, | 1337 | GNUNET_STATISTICS_set (stats, gettext_noop ("# advertised hostlist URIs"), |
1356 | gettext_noop ("# advertised hostlist URIs"), | ||
1357 | linked_list_size, GNUNET_NO); | 1338 | linked_list_size, GNUNET_NO); |
1358 | 1339 | ||
1359 | GNUNET_free_non_null (uri); | 1340 | GNUNET_free_non_null (uri); |
@@ -1379,9 +1360,8 @@ save_hostlist_file (int shutdown) | |||
1379 | uint32_t counter; | 1360 | uint32_t counter; |
1380 | 1361 | ||
1381 | if (GNUNET_OK != | 1362 | if (GNUNET_OK != |
1382 | GNUNET_CONFIGURATION_get_value_filename (cfg, | 1363 | GNUNET_CONFIGURATION_get_value_filename (cfg, "HOSTLIST", "HOSTLISTFILE", |
1383 | "HOSTLIST", | 1364 | &filename)) |
1384 | "HOSTLISTFILE", &filename)) | ||
1385 | { | 1365 | { |
1386 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 1366 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
1387 | _ | 1367 | _ |
@@ -1404,8 +1384,7 @@ save_hostlist_file (int shutdown) | |||
1404 | GNUNET_free (filename); | 1384 | GNUNET_free (filename); |
1405 | return; | 1385 | return; |
1406 | } | 1386 | } |
1407 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1387 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Writing %u hostlist URIs to `%s'\n"), |
1408 | _("Writing %u hostlist URIs to `%s'\n"), | ||
1409 | linked_list_size, filename); | 1388 | linked_list_size, filename); |
1410 | /* add code to write hostlists to file using bio */ | 1389 | /* add code to write hostlists to file using bio */ |
1411 | ok = GNUNET_YES; | 1390 | ok = GNUNET_YES; |
@@ -1419,12 +1398,9 @@ save_hostlist_file (int shutdown) | |||
1419 | } | 1398 | } |
1420 | if (GNUNET_YES == ok) | 1399 | if (GNUNET_YES == ok) |
1421 | { | 1400 | { |
1422 | if ((GNUNET_OK != | 1401 | if ((GNUNET_OK != GNUNET_BIO_write_string (wh, pos->hostlist_uri)) || |
1423 | GNUNET_BIO_write_string (wh, pos->hostlist_uri)) || | 1402 | (GNUNET_OK != GNUNET_BIO_write_int32 (wh, pos->times_used)) || |
1424 | (GNUNET_OK != | 1403 | (GNUNET_OK != GNUNET_BIO_write_int64 (wh, pos->quality)) || |
1425 | GNUNET_BIO_write_int32 (wh, pos->times_used)) || | ||
1426 | (GNUNET_OK != | ||
1427 | GNUNET_BIO_write_int64 (wh, pos->quality)) || | ||
1428 | (GNUNET_OK != | 1404 | (GNUNET_OK != |
1429 | GNUNET_BIO_write_int64 (wh, pos->time_last_usage.abs_value)) || | 1405 | GNUNET_BIO_write_int64 (wh, pos->time_last_usage.abs_value)) || |
1430 | (GNUNET_OK != | 1406 | (GNUNET_OK != |
@@ -1480,8 +1456,8 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
1480 | cfg = c; | 1456 | cfg = c; |
1481 | stats = st; | 1457 | stats = st; |
1482 | if (GNUNET_OK != | 1458 | if (GNUNET_OK != |
1483 | GNUNET_CONFIGURATION_get_value_string (cfg, | 1459 | GNUNET_CONFIGURATION_get_value_string (cfg, "HOSTLIST", "HTTP-PROXY", |
1484 | "HOSTLIST", "HTTP-PROXY", &proxy)) | 1460 | &proxy)) |
1485 | proxy = NULL; | 1461 | proxy = NULL; |
1486 | stat_learning = learn; | 1462 | stat_learning = learn; |
1487 | *ch = &handler_connect; | 1463 | *ch = &handler_connect; |
@@ -1501,18 +1477,18 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
1501 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1477 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
1502 | _("Hostlists will be saved to file again in %llums\n"), | 1478 | _("Hostlists will be saved to file again in %llums\n"), |
1503 | (unsigned long long) SAVING_INTERVALL.rel_value); | 1479 | (unsigned long long) SAVING_INTERVALL.rel_value); |
1504 | ti_saving_task = GNUNET_SCHEDULER_add_delayed (SAVING_INTERVALL, | 1480 | ti_saving_task = |
1505 | &task_hostlist_saving, NULL); | 1481 | GNUNET_SCHEDULER_add_delayed (SAVING_INTERVALL, &task_hostlist_saving, |
1482 | NULL); | ||
1506 | } | 1483 | } |
1507 | else | 1484 | else |
1508 | { | 1485 | { |
1509 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 1486 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
1510 | _("Learning is not enabled on this peer\n")); | 1487 | _("Learning is not enabled on this peer\n")); |
1511 | *msgh = NULL; | 1488 | *msgh = NULL; |
1512 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_filename (cfg, | 1489 | if (GNUNET_OK == |
1513 | "HOSTLIST", | 1490 | GNUNET_CONFIGURATION_get_value_filename (cfg, "HOSTLIST", |
1514 | "HOSTLISTFILE", | 1491 | "HOSTLISTFILE", &filename)) |
1515 | &filename)) | ||
1516 | { | 1492 | { |
1517 | if (GNUNET_YES == GNUNET_DISK_file_test (filename)) | 1493 | if (GNUNET_YES == GNUNET_DISK_file_test (filename)) |
1518 | { | 1494 | { |
@@ -1529,8 +1505,7 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
1529 | } | 1505 | } |
1530 | GNUNET_free (filename); | 1506 | GNUNET_free (filename); |
1531 | } | 1507 | } |
1532 | GNUNET_STATISTICS_get (stats, | 1508 | GNUNET_STATISTICS_get (stats, "hostlist", |
1533 | "hostlist", | ||
1534 | gettext_noop | 1509 | gettext_noop |
1535 | ("# milliseconds between hostlist downloads"), | 1510 | ("# milliseconds between hostlist downloads"), |
1536 | GNUNET_TIME_UNIT_MINUTES, &primary_task, &process_stat, | 1511 | GNUNET_TIME_UNIT_MINUTES, &primary_task, &process_stat, |
diff --git a/src/hostlist/hostlist-server.c b/src/hostlist/hostlist-server.c index e30b3c1e0..e48b6a4ac 100644 --- a/src/hostlist/hostlist-server.c +++ b/src/hostlist/hostlist-server.c | |||
@@ -123,15 +123,15 @@ finish_response (struct HostSet *results) | |||
123 | "Creating hostlist response with %u bytes\n", | 123 | "Creating hostlist response with %u bytes\n", |
124 | (unsigned int) results->size); | 124 | (unsigned int) results->size); |
125 | #endif | 125 | #endif |
126 | response = MHD_create_response_from_data (results->size, | 126 | response = |
127 | results->data, MHD_YES, MHD_NO); | 127 | MHD_create_response_from_data (results->size, results->data, MHD_YES, |
128 | MHD_NO); | ||
128 | if ((daemon_handle_v4 == NULL) && (daemon_handle_v6 == NULL)) | 129 | if ((daemon_handle_v4 == NULL) && (daemon_handle_v6 == NULL)) |
129 | { | 130 | { |
130 | MHD_destroy_response (response); | 131 | MHD_destroy_response (response); |
131 | response = NULL; | 132 | response = NULL; |
132 | } | 133 | } |
133 | GNUNET_STATISTICS_set (stats, | 134 | GNUNET_STATISTICS_set (stats, gettext_noop ("bytes in hostlist"), |
134 | gettext_noop ("bytes in hostlist"), | ||
135 | results->size, GNUNET_YES); | 135 | results->size, GNUNET_YES); |
136 | GNUNET_free (results); | 136 | GNUNET_free (results); |
137 | } | 137 | } |
@@ -148,18 +148,17 @@ finish_response (struct HostSet *results) | |||
148 | * @return GNUNET_SYSERR to stop iterating (unless expiration has occured) | 148 | * @return GNUNET_SYSERR to stop iterating (unless expiration has occured) |
149 | */ | 149 | */ |
150 | static int | 150 | static int |
151 | check_has_addr (void *cls, | 151 | check_has_addr (void *cls, const char *tname, |
152 | const char *tname, | 152 | struct GNUNET_TIME_Absolute expiration, const void *addr, |
153 | struct GNUNET_TIME_Absolute expiration, | 153 | uint16_t addrlen) |
154 | const void *addr, uint16_t addrlen) | ||
155 | { | 154 | { |
156 | int *arg = cls; | 155 | int *arg = cls; |
157 | 156 | ||
158 | if (GNUNET_TIME_absolute_get_remaining (expiration).rel_value == 0) | 157 | if (GNUNET_TIME_absolute_get_remaining (expiration).rel_value == 0) |
159 | { | 158 | { |
160 | GNUNET_STATISTICS_update (stats, | 159 | GNUNET_STATISTICS_update (stats, |
161 | gettext_noop ("expired addresses encountered"), | 160 | gettext_noop ("expired addresses encountered"), 1, |
162 | 1, GNUNET_YES); | 161 | GNUNET_YES); |
163 | return GNUNET_YES; /* ignore this address */ | 162 | return GNUNET_YES; /* ignore this address */ |
164 | } | 163 | } |
165 | *arg = GNUNET_YES; | 164 | *arg = GNUNET_YES; |
@@ -172,8 +171,7 @@ check_has_addr (void *cls, | |||
172 | * hostlist response construction. | 171 | * hostlist response construction. |
173 | */ | 172 | */ |
174 | static void | 173 | static void |
175 | host_processor (void *cls, | 174 | host_processor (void *cls, const struct GNUNET_PeerIdentity *peer, |
176 | const struct GNUNET_PeerIdentity *peer, | ||
177 | const struct GNUNET_HELLO_Message *hello, const char *err_msg) | 175 | const struct GNUNET_HELLO_Message *hello, const char *err_msg) |
178 | { | 176 | { |
179 | struct HostSet *results = cls; | 177 | struct HostSet *results = cls; |
@@ -229,8 +227,8 @@ host_processor (void *cls, | |||
229 | } | 227 | } |
230 | #if DEBUG_HOSTLIST_SERVER | 228 | #if DEBUG_HOSTLIST_SERVER |
231 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 229 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
232 | "Adding peer `%s' to hostlist (%u bytes)\n", | 230 | "Adding peer `%s' to hostlist (%u bytes)\n", GNUNET_i2s (peer), |
233 | GNUNET_i2s (peer), (unsigned int) s); | 231 | (unsigned int) s); |
234 | #endif | 232 | #endif |
235 | GNUNET_array_grow (results->data, results->size, old + s); | 233 | GNUNET_array_grow (results->data, results->size, old + s); |
236 | memcpy (&results->data[old], hello, s); | 234 | memcpy (&results->data[old], hello, s); |
@@ -242,8 +240,8 @@ host_processor (void *cls, | |||
242 | * Hostlist access policy (very permissive, allows everything). | 240 | * Hostlist access policy (very permissive, allows everything). |
243 | */ | 241 | */ |
244 | static int | 242 | static int |
245 | accept_policy_callback (void *cls, | 243 | accept_policy_callback (void *cls, const struct sockaddr *addr, |
246 | const struct sockaddr *addr, socklen_t addrlen) | 244 | socklen_t addrlen) |
247 | { | 245 | { |
248 | if (NULL == response) | 246 | if (NULL == response) |
249 | { | 247 | { |
@@ -261,12 +259,9 @@ accept_policy_callback (void *cls, | |||
261 | * Main request handler. | 259 | * Main request handler. |
262 | */ | 260 | */ |
263 | static int | 261 | static int |
264 | access_handler_callback (void *cls, | 262 | access_handler_callback (void *cls, struct MHD_Connection *connection, |
265 | struct MHD_Connection *connection, | 263 | const char *url, const char *method, |
266 | const char *url, | 264 | const char *version, const char *upload_data, |
267 | const char *method, | ||
268 | const char *version, | ||
269 | const char *upload_data, | ||
270 | size_t * upload_data_size, void **con_cls) | 265 | size_t * upload_data_size, void **con_cls) |
271 | { | 266 | { |
272 | static int dummy; | 267 | static int dummy; |
@@ -312,8 +307,7 @@ access_handler_callback (void *cls, | |||
312 | return MHD_NO; /* internal error, no response yet */ | 307 | return MHD_NO; /* internal error, no response yet */ |
313 | } | 308 | } |
314 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Received request for our hostlist\n")); | 309 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Received request for our hostlist\n")); |
315 | GNUNET_STATISTICS_update (stats, | 310 | GNUNET_STATISTICS_update (stats, gettext_noop ("hostlist requests processed"), |
316 | gettext_noop ("hostlist requests processed"), | ||
317 | 1, GNUNET_YES); | 311 | 1, GNUNET_YES); |
318 | return MHD_queue_response (connection, MHD_HTTP_OK, response); | 312 | return MHD_queue_response (connection, MHD_HTTP_OK, response); |
319 | } | 313 | } |
@@ -353,11 +347,11 @@ adv_transmit_ready (void *cls, size_t size, void *buf) | |||
353 | "Sent advertisement message: Copied %u bytes into buffer!\n", | 347 | "Sent advertisement message: Copied %u bytes into buffer!\n", |
354 | (unsigned int) transmission_size); | 348 | (unsigned int) transmission_size); |
355 | hostlist_adv_count++; | 349 | hostlist_adv_count++; |
356 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 350 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " # Sent advertisement message: %u\n", |
357 | " # Sent advertisement message: %u\n", hostlist_adv_count); | 351 | hostlist_adv_count); |
358 | GNUNET_STATISTICS_update (stats, | 352 | GNUNET_STATISTICS_update (stats, |
359 | gettext_noop ("# hostlist advertisements send"), | 353 | gettext_noop ("# hostlist advertisements send"), 1, |
360 | 1, GNUNET_NO); | 354 | GNUNET_NO); |
361 | return transmission_size; | 355 | return transmission_size; |
362 | } | 356 | } |
363 | 357 | ||
@@ -370,9 +364,7 @@ adv_transmit_ready (void *cls, size_t size, void *buf) | |||
370 | * @param atsi performance data | 364 | * @param atsi performance data |
371 | */ | 365 | */ |
372 | static void | 366 | static void |
373 | connect_handler (void *cls, | 367 | connect_handler (void *cls, const struct GNUNET_PeerIdentity *peer, |
374 | const struct | ||
375 | GNUNET_PeerIdentity *peer, | ||
376 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 368 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
377 | { | 369 | { |
378 | size_t size; | 370 | size_t size; |
@@ -397,13 +389,10 @@ connect_handler (void *cls, | |||
397 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 389 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
398 | "Asked core to transmit advertisement message with a size of %u bytes to peer `%s'\n", | 390 | "Asked core to transmit advertisement message with a size of %u bytes to peer `%s'\n", |
399 | size, GNUNET_i2s (peer)); | 391 | size, GNUNET_i2s (peer)); |
400 | if (NULL == GNUNET_CORE_notify_transmit_ready (core, | 392 | if (NULL == |
401 | GNUNET_YES, | 393 | GNUNET_CORE_notify_transmit_ready (core, GNUNET_YES, 0, |
402 | 0, | 394 | GNUNET_ADV_TIMEOUT, peer, size, |
403 | GNUNET_ADV_TIMEOUT, | 395 | &adv_transmit_ready, NULL)) |
404 | peer, | ||
405 | size, | ||
406 | &adv_transmit_ready, NULL)) | ||
407 | { | 396 | { |
408 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 397 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
409 | _("Advertisement message could not be queued by core\n")); | 398 | _("Advertisement message could not be queued by core\n")); |
@@ -433,8 +422,7 @@ disconnect_handler (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
433 | * @param err_msg NULL if successful, otherwise contains error message | 422 | * @param err_msg NULL if successful, otherwise contains error message |
434 | */ | 423 | */ |
435 | static void | 424 | static void |
436 | process_notify (void *cls, | 425 | process_notify (void *cls, const struct GNUNET_PeerIdentity *peer, |
437 | const struct GNUNET_PeerIdentity *peer, | ||
438 | const struct GNUNET_HELLO_Message *hello, const char *err_msg) | 426 | const struct GNUNET_HELLO_Message *hello, const char *err_msg) |
439 | { | 427 | { |
440 | struct HostSet *results; | 428 | struct HostSet *results; |
@@ -451,18 +439,17 @@ process_notify (void *cls, | |||
451 | } | 439 | } |
452 | results = GNUNET_malloc (sizeof (struct HostSet)); | 440 | results = GNUNET_malloc (sizeof (struct HostSet)); |
453 | GNUNET_assert (peerinfo != NULL); | 441 | GNUNET_assert (peerinfo != NULL); |
454 | pitr = GNUNET_PEERINFO_iterate (peerinfo, | 442 | pitr = |
455 | NULL, | 443 | GNUNET_PEERINFO_iterate (peerinfo, NULL, GNUNET_TIME_UNIT_MINUTES, |
456 | GNUNET_TIME_UNIT_MINUTES, | 444 | &host_processor, results); |
457 | &host_processor, results); | ||
458 | } | 445 | } |
459 | 446 | ||
460 | /** | 447 | /** |
461 | * Function that queries MHD's select sets and | 448 | * Function that queries MHD's select sets and |
462 | * starts the task waiting for them. | 449 | * starts the task waiting for them. |
463 | */ | 450 | */ |
464 | static GNUNET_SCHEDULER_TaskIdentifier | 451 | static GNUNET_SCHEDULER_TaskIdentifier prepare_daemon (struct MHD_Daemon |
465 | prepare_daemon (struct MHD_Daemon *daemon_handle); | 452 | *daemon_handle); |
466 | 453 | ||
467 | 454 | ||
468 | /** | 455 | /** |
@@ -524,9 +511,10 @@ prepare_daemon (struct MHD_Daemon *daemon_handle) | |||
524 | GNUNET_NETWORK_fdset_copy_native (wrs, &rs, max + 1); | 511 | GNUNET_NETWORK_fdset_copy_native (wrs, &rs, max + 1); |
525 | GNUNET_NETWORK_fdset_copy_native (wws, &ws, max + 1); | 512 | GNUNET_NETWORK_fdset_copy_native (wws, &ws, max + 1); |
526 | GNUNET_NETWORK_fdset_copy_native (wes, &es, max + 1); | 513 | GNUNET_NETWORK_fdset_copy_native (wes, &es, max + 1); |
527 | ret = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH, | 514 | ret = |
528 | GNUNET_SCHEDULER_NO_TASK, | 515 | GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH, |
529 | tv, wrs, wws, &run_daemon, daemon_handle); | 516 | GNUNET_SCHEDULER_NO_TASK, tv, wrs, wws, |
517 | &run_daemon, daemon_handle); | ||
530 | GNUNET_NETWORK_fdset_destroy (wrs); | 518 | GNUNET_NETWORK_fdset_destroy (wrs); |
531 | GNUNET_NETWORK_fdset_destroy (wws); | 519 | GNUNET_NETWORK_fdset_destroy (wws); |
532 | GNUNET_NETWORK_fdset_destroy (wes); | 520 | GNUNET_NETWORK_fdset_destroy (wes); |
@@ -568,9 +556,9 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
568 | _("Could not access PEERINFO service. Exiting.\n")); | 556 | _("Could not access PEERINFO service. Exiting.\n")); |
569 | return GNUNET_SYSERR; | 557 | return GNUNET_SYSERR; |
570 | } | 558 | } |
571 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (cfg, | 559 | if (GNUNET_OK != |
572 | "HOSTLIST", | 560 | GNUNET_CONFIGURATION_get_value_number (cfg, "HOSTLIST", "HTTPPORT", |
573 | "HTTPPORT", &port)) | 561 | &port)) |
574 | return GNUNET_SYSERR; | 562 | return GNUNET_SYSERR; |
575 | if ((port == 0) || (port > UINT16_MAX)) | 563 | if ((port == 0) || (port > UINT16_MAX)) |
576 | { | 564 | { |
@@ -579,14 +567,13 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
579 | return GNUNET_SYSERR; | 567 | return GNUNET_SYSERR; |
580 | } | 568 | } |
581 | 569 | ||
582 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (cfg, | 570 | if (GNUNET_SYSERR == |
583 | "HOSTLIST", | 571 | GNUNET_CONFIGURATION_get_value_string (cfg, "HOSTLIST", |
584 | "EXTERNAL_DNS_NAME", | 572 | "EXTERNAL_DNS_NAME", &hostname)) |
585 | &hostname)) | ||
586 | hostname = GNUNET_RESOLVER_local_fqdn_get (); | 573 | hostname = GNUNET_RESOLVER_local_fqdn_get (); |
587 | 574 | ||
588 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 575 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Hostlist service starts on %s:%llu\n"), |
589 | _("Hostlist service starts on %s:%llu\n"), hostname, port); | 576 | hostname, port); |
590 | if (NULL != hostname) | 577 | if (NULL != hostname) |
591 | { | 578 | { |
592 | size = strlen (hostname); | 579 | size = strlen (hostname); |
@@ -596,8 +583,8 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
596 | } | 583 | } |
597 | else | 584 | else |
598 | { | 585 | { |
599 | GNUNET_asprintf (&hostlist_uri, | 586 | GNUNET_asprintf (&hostlist_uri, "http://%s:%u/", hostname, |
600 | "http://%s:%u/", hostname, (unsigned int) port); | 587 | (unsigned int) port); |
601 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 588 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
602 | _("Address to obtain hostlist: `%s'\n"), hostlist_uri); | 589 | _("Address to obtain hostlist: `%s'\n"), hostlist_uri); |
603 | } | 590 | } |
@@ -607,12 +594,9 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
607 | #if DEBUG_HOSTLIST_SERVER | 594 | #if DEBUG_HOSTLIST_SERVER |
608 | | MHD_USE_DEBUG | 595 | | MHD_USE_DEBUG |
609 | #endif | 596 | #endif |
610 | , | 597 | , (unsigned short) port, |
611 | (unsigned short) port, | 598 | &accept_policy_callback, NULL, |
612 | &accept_policy_callback, | 599 | &access_handler_callback, NULL, |
613 | NULL, | ||
614 | &access_handler_callback, | ||
615 | NULL, | ||
616 | MHD_OPTION_CONNECTION_LIMIT, | 600 | MHD_OPTION_CONNECTION_LIMIT, |
617 | (unsigned int) 16, | 601 | (unsigned int) 16, |
618 | MHD_OPTION_PER_IP_CONNECTION_LIMIT, | 602 | MHD_OPTION_PER_IP_CONNECTION_LIMIT, |
@@ -625,12 +609,9 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, | |||
625 | #if DEBUG_HOSTLIST_SERVER | 609 | #if DEBUG_HOSTLIST_SERVER |
626 | | MHD_USE_DEBUG | 610 | | MHD_USE_DEBUG |
627 | #endif | 611 | #endif |
628 | , | 612 | , (unsigned short) port, |
629 | (unsigned short) port, | 613 | &accept_policy_callback, NULL, |
630 | &accept_policy_callback, | 614 | &access_handler_callback, NULL, |
631 | NULL, | ||
632 | &access_handler_callback, | ||
633 | NULL, | ||
634 | MHD_OPTION_CONNECTION_LIMIT, | 615 | MHD_OPTION_CONNECTION_LIMIT, |
635 | (unsigned int) 16, | 616 | (unsigned int) 16, |
636 | MHD_OPTION_PER_IP_CONNECTION_LIMIT, | 617 | MHD_OPTION_PER_IP_CONNECTION_LIMIT, |
diff --git a/src/hostlist/test_gnunet_daemon_hostlist.c b/src/hostlist/test_gnunet_daemon_hostlist.c index 5cca8becd..909b946e7 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist.c +++ b/src/hostlist/test_gnunet_daemon_hostlist.c | |||
@@ -95,8 +95,7 @@ timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
95 | * @param distance in overlay hops, as given by transport plugin | 95 | * @param distance in overlay hops, as given by transport plugin |
96 | */ | 96 | */ |
97 | static void | 97 | static void |
98 | notify_connect (void *cls, | 98 | notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, |
99 | const struct GNUNET_PeerIdentity *peer, | ||
100 | const struct GNUNET_TRANSPORT_ATS_Information *ats, | 99 | const struct GNUNET_TRANSPORT_ATS_Information *ats, |
101 | uint32_t ats_count) | 100 | uint32_t ats_count) |
102 | { | 101 | { |
@@ -129,16 +128,17 @@ setup_peer (struct PeerContext *p, const char *cfgname) | |||
129 | { | 128 | { |
130 | p->cfg = GNUNET_CONFIGURATION_create (); | 129 | p->cfg = GNUNET_CONFIGURATION_create (); |
131 | #if START_ARM | 130 | #if START_ARM |
132 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 131 | p->arm_proc = |
133 | "gnunet-service-arm", | 132 | GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
133 | "gnunet-service-arm", | ||
134 | #if VERBOSE | 134 | #if VERBOSE |
135 | "-L", "DEBUG", | 135 | "-L", "DEBUG", |
136 | #endif | 136 | #endif |
137 | "-c", cfgname, NULL); | 137 | "-c", cfgname, NULL); |
138 | #endif | 138 | #endif |
139 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); | 139 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); |
140 | p->th = GNUNET_TRANSPORT_connect (p->cfg, NULL, p, NULL, | 140 | p->th = |
141 | ¬ify_connect, NULL); | 141 | GNUNET_TRANSPORT_connect (p->cfg, NULL, p, NULL, ¬ify_connect, NULL); |
142 | GNUNET_assert (p->th != NULL); | 142 | GNUNET_assert (p->th != NULL); |
143 | GNUNET_TRANSPORT_get_hello (p->th, &process_hello, p); | 143 | GNUNET_TRANSPORT_get_hello (p->th, &process_hello, p); |
144 | } | 144 | } |
@@ -155,8 +155,7 @@ waitpid_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
155 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 155 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); |
156 | if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) | 156 | if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) |
157 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); | 157 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); |
158 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 158 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", |
159 | "ARM process %u stopped\n", | ||
160 | GNUNET_OS_process_get_pid (p->arm_proc)); | 159 | GNUNET_OS_process_get_pid (p->arm_proc)); |
161 | GNUNET_OS_process_close (p->arm_proc); | 160 | GNUNET_OS_process_close (p->arm_proc); |
162 | p->arm_proc = NULL; | 161 | p->arm_proc = NULL; |
@@ -185,15 +184,14 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
185 | 184 | ||
186 | 185 | ||
187 | static void | 186 | static void |
188 | run (void *cls, | 187 | run (void *cls, char *const *args, const char *cfgfile, |
189 | char *const *args, | 188 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
190 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
191 | { | 189 | { |
192 | GNUNET_assert (ok == 1); | 190 | GNUNET_assert (ok == 1); |
193 | ok++; | 191 | ok++; |
194 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); | 192 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); |
195 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 193 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, |
196 | &shutdown_task, NULL); | 194 | NULL); |
197 | setup_peer (&p1, "test_gnunet_daemon_hostlist_peer1.conf"); | 195 | setup_peer (&p1, "test_gnunet_daemon_hostlist_peer1.conf"); |
198 | setup_peer (&p2, "test_gnunet_daemon_hostlist_peer2.conf"); | 196 | setup_peer (&p2, "test_gnunet_daemon_hostlist_peer2.conf"); |
199 | } | 197 | } |
@@ -213,9 +211,9 @@ check () | |||
213 | GNUNET_GETOPT_OPTION_END | 211 | GNUNET_GETOPT_OPTION_END |
214 | }; | 212 | }; |
215 | ok = 1; | 213 | ok = 1; |
216 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, | 214 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, |
217 | argv, "test-gnunet-daemon-hostlist", | 215 | "test-gnunet-daemon-hostlist", "nohelp", options, &run, |
218 | "nohelp", options, &run, &ok); | 216 | &ok); |
219 | return ok; | 217 | return ok; |
220 | } | 218 | } |
221 | 219 | ||
diff --git a/src/hostlist/test_gnunet_daemon_hostlist_learning.c b/src/hostlist/test_gnunet_daemon_hostlist_learning.c index 7ecca8a85..2538e42fb 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_learning.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_learning.c | |||
@@ -182,9 +182,8 @@ process_downloads_done (void *cls, int success) | |||
182 | 182 | ||
183 | 183 | ||
184 | static int | 184 | static int |
185 | process_downloads (void *cls, | 185 | process_downloads (void *cls, const char *subsystem, const char *name, |
186 | const char *subsystem, | 186 | uint64_t value, int is_persistent) |
187 | const char *name, uint64_t value, int is_persistent) | ||
188 | { | 187 | { |
189 | if ((value >= 2) && (learned_hostlist_downloaded == GNUNET_NO)) | 188 | if ((value >= 2) && (learned_hostlist_downloaded == GNUNET_NO)) |
190 | { | 189 | { |
@@ -206,12 +205,11 @@ process_uris_recv_done (void *cls, int success) | |||
206 | 205 | ||
207 | 206 | ||
208 | static int | 207 | static int |
209 | process_uris_recv (void *cls, | 208 | process_uris_recv (void *cls, const char *subsystem, const char *name, |
210 | const char *subsystem, | 209 | uint64_t value, int is_persistent) |
211 | const char *name, uint64_t value, int is_persistent) | ||
212 | { | 210 | { |
213 | if (((struct PeerContext *) cls == &learn_peer) && | 211 | if (((struct PeerContext *) cls == &learn_peer) && (value == 1) && |
214 | (value == 1) && (learned_hostlist_saved == GNUNET_NO)) | 212 | (learned_hostlist_saved == GNUNET_NO)) |
215 | { | 213 | { |
216 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 214 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
217 | "Peer has successfully saved advertised URI\n"); | 215 | "Peer has successfully saved advertised URI\n"); |
@@ -231,9 +229,8 @@ process_adv_sent_done (void *cls, int success) | |||
231 | 229 | ||
232 | 230 | ||
233 | static int | 231 | static int |
234 | process_adv_sent (void *cls, | 232 | process_adv_sent (void *cls, const char *subsystem, const char *name, |
235 | const char *subsystem, | 233 | uint64_t value, int is_persistent) |
236 | const char *name, uint64_t value, int is_persistent) | ||
237 | { | 234 | { |
238 | if ((value >= 1) && (adv_sent == GNUNET_NO)) | 235 | if ((value >= 1) && (adv_sent == GNUNET_NO)) |
239 | { | 236 | { |
@@ -259,44 +256,39 @@ check_statistics (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
259 | check_task = GNUNET_SCHEDULER_NO_TASK; | 256 | check_task = GNUNET_SCHEDULER_NO_TASK; |
260 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 257 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) |
261 | return; | 258 | return; |
262 | GNUNET_asprintf (&stat, | 259 | GNUNET_asprintf (&stat, gettext_noop ("# advertised URI `%s' downloaded"), |
263 | gettext_noop ("# advertised URI `%s' downloaded"), | ||
264 | current_adv_uri); | 260 | current_adv_uri); |
265 | if (NULL != learn_peer.stats) | 261 | if (NULL != learn_peer.stats) |
266 | { | 262 | { |
267 | if (NULL != download_stats) | 263 | if (NULL != download_stats) |
268 | GNUNET_STATISTICS_get_cancel (download_stats); | 264 | GNUNET_STATISTICS_get_cancel (download_stats); |
269 | download_stats = GNUNET_STATISTICS_get (learn_peer.stats, | 265 | download_stats = |
270 | "hostlist", | 266 | GNUNET_STATISTICS_get (learn_peer.stats, "hostlist", stat, |
271 | stat, | 267 | GNUNET_TIME_UNIT_MINUTES, |
272 | GNUNET_TIME_UNIT_MINUTES, | 268 | &process_downloads_done, &process_downloads, |
273 | &process_downloads_done, | 269 | &learn_peer); |
274 | &process_downloads, &learn_peer); | ||
275 | if (NULL != urisrecv_stat) | 270 | if (NULL != urisrecv_stat) |
276 | GNUNET_STATISTICS_get_cancel (urisrecv_stat); | 271 | GNUNET_STATISTICS_get_cancel (urisrecv_stat); |
277 | urisrecv_stat = GNUNET_STATISTICS_get (learn_peer.stats, | 272 | urisrecv_stat = |
278 | "hostlist", | 273 | GNUNET_STATISTICS_get (learn_peer.stats, "hostlist", |
279 | gettext_noop | 274 | gettext_noop ("# advertised hostlist URIs"), |
280 | ("# advertised hostlist URIs"), | 275 | GNUNET_TIME_UNIT_MINUTES, |
281 | GNUNET_TIME_UNIT_MINUTES, | 276 | &process_uris_recv_done, &process_uris_recv, |
282 | &process_uris_recv_done, | 277 | &learn_peer); |
283 | &process_uris_recv, &learn_peer); | ||
284 | } | 278 | } |
285 | GNUNET_free (stat); | 279 | GNUNET_free (stat); |
286 | if (NULL != adv_peer.stats) | 280 | if (NULL != adv_peer.stats) |
287 | { | 281 | { |
288 | if (NULL != advsent_stat) | 282 | if (NULL != advsent_stat) |
289 | GNUNET_STATISTICS_get_cancel (advsent_stat); | 283 | GNUNET_STATISTICS_get_cancel (advsent_stat); |
290 | advsent_stat = GNUNET_STATISTICS_get (adv_peer.stats, | 284 | advsent_stat = |
291 | "hostlist", | 285 | GNUNET_STATISTICS_get (adv_peer.stats, "hostlist", |
292 | gettext_noop | 286 | gettext_noop ("# hostlist advertisements send"), |
293 | ("# hostlist advertisements send"), | 287 | GNUNET_TIME_UNIT_MINUTES, &process_adv_sent_done, |
294 | GNUNET_TIME_UNIT_MINUTES, | 288 | &process_adv_sent, NULL); |
295 | &process_adv_sent_done, | ||
296 | &process_adv_sent, NULL); | ||
297 | } | 289 | } |
298 | check_task = GNUNET_SCHEDULER_add_delayed (CHECK_INTERVALL, | 290 | check_task = |
299 | &check_statistics, NULL); | 291 | GNUNET_SCHEDULER_add_delayed (CHECK_INTERVALL, &check_statistics, NULL); |
300 | } | 292 | } |
301 | 293 | ||
302 | 294 | ||
@@ -304,8 +296,7 @@ check_statistics (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
304 | * Core handler for p2p hostlist advertisements | 296 | * Core handler for p2p hostlist advertisements |
305 | */ | 297 | */ |
306 | static int | 298 | static int |
307 | ad_arrive_handler (void *cls, | 299 | ad_arrive_handler (void *cls, const struct GNUNET_PeerIdentity *peer, |
308 | const struct GNUNET_PeerIdentity *peer, | ||
309 | const struct GNUNET_MessageHeader *message, | 300 | const struct GNUNET_MessageHeader *message, |
310 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) | 301 | const struct GNUNET_TRANSPORT_ATS_Information *atsi) |
311 | { | 302 | { |
@@ -315,22 +306,20 @@ ad_arrive_handler (void *cls, | |||
315 | const struct GNUNET_MessageHeader *incoming; | 306 | const struct GNUNET_MessageHeader *incoming; |
316 | const char *end; | 307 | const char *end; |
317 | 308 | ||
318 | if (-1 == GNUNET_CONFIGURATION_get_value_number (adv_peer.cfg, | 309 | if (-1 == |
319 | "HOSTLIST", | 310 | GNUNET_CONFIGURATION_get_value_number (adv_peer.cfg, "HOSTLIST", |
320 | "HTTPPORT", &port)) | 311 | "HTTPPORT", &port)) |
321 | { | 312 | { |
322 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 313 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
323 | "Could not read advertising server's configuration\n"); | 314 | "Could not read advertising server's configuration\n"); |
324 | return GNUNET_SYSERR; | 315 | return GNUNET_SYSERR; |
325 | } | 316 | } |
326 | 317 | ||
327 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (adv_peer.cfg, | 318 | if (GNUNET_SYSERR == |
328 | "HOSTLIST", | 319 | GNUNET_CONFIGURATION_get_value_string (adv_peer.cfg, "HOSTLIST", |
329 | "EXTERNAL_DNS_NAME", | 320 | "EXTERNAL_DNS_NAME", &hostname)) |
330 | &hostname)) | ||
331 | hostname = GNUNET_RESOLVER_local_fqdn_get (); | 321 | hostname = GNUNET_RESOLVER_local_fqdn_get (); |
332 | GNUNET_asprintf (&expected_uri, | 322 | GNUNET_asprintf (&expected_uri, "http://%s:%u/", |
333 | "http://%s:%u/", | ||
334 | hostname != NULL ? hostname : "localhost", | 323 | hostname != NULL ? hostname : "localhost", |
335 | (unsigned int) port); | 324 | (unsigned int) port); |
336 | incoming = (const struct GNUNET_MessageHeader *) message; | 325 | incoming = (const struct GNUNET_MessageHeader *) message; |
@@ -379,18 +368,18 @@ setup_learn_peer (struct PeerContext *p, const char *cfgname) | |||
379 | 368 | ||
380 | p->cfg = GNUNET_CONFIGURATION_create (); | 369 | p->cfg = GNUNET_CONFIGURATION_create (); |
381 | #if START_ARM | 370 | #if START_ARM |
382 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 371 | p->arm_proc = |
383 | "gnunet-service-arm", | 372 | GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
373 | "gnunet-service-arm", | ||
384 | #if VERBOSE | 374 | #if VERBOSE |
385 | "-L", "DEBUG", | 375 | "-L", "DEBUG", |
386 | #endif | 376 | #endif |
387 | "-c", cfgname, NULL); | 377 | "-c", cfgname, NULL); |
388 | #endif | 378 | #endif |
389 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); | 379 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); |
390 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (p->cfg, | 380 | if (GNUNET_OK == |
391 | "HOSTLIST", | 381 | GNUNET_CONFIGURATION_get_value_string (p->cfg, "HOSTLIST", "HOSTLISTFILE", |
392 | "HOSTLISTFILE", | 382 | &filename)) |
393 | &filename)) | ||
394 | { | 383 | { |
395 | if (GNUNET_YES == GNUNET_DISK_file_test (filename)) | 384 | if (GNUNET_YES == GNUNET_DISK_file_test (filename)) |
396 | { | 385 | { |
@@ -401,13 +390,9 @@ setup_learn_peer (struct PeerContext *p, const char *cfgname) | |||
401 | } | 390 | } |
402 | GNUNET_free (filename); | 391 | GNUNET_free (filename); |
403 | } | 392 | } |
404 | p->core = GNUNET_CORE_connect (p->cfg, | 393 | p->core = |
405 | 1, | 394 | GNUNET_CORE_connect (p->cfg, 1, NULL, NULL, NULL, NULL, NULL, NULL, |
406 | NULL, | 395 | GNUNET_NO, NULL, GNUNET_NO, learn_handlers); |
407 | NULL, | ||
408 | NULL, NULL, NULL, | ||
409 | NULL, GNUNET_NO, | ||
410 | NULL, GNUNET_NO, learn_handlers); | ||
411 | GNUNET_assert (NULL != p->core); | 396 | GNUNET_assert (NULL != p->core); |
412 | p->stats = GNUNET_STATISTICS_create ("hostlist", p->cfg); | 397 | p->stats = GNUNET_STATISTICS_create ("hostlist", p->cfg); |
413 | GNUNET_assert (NULL != p->stats); | 398 | GNUNET_assert (NULL != p->stats); |
@@ -419,12 +404,13 @@ setup_adv_peer (struct PeerContext *p, const char *cfgname) | |||
419 | { | 404 | { |
420 | p->cfg = GNUNET_CONFIGURATION_create (); | 405 | p->cfg = GNUNET_CONFIGURATION_create (); |
421 | #if START_ARM | 406 | #if START_ARM |
422 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 407 | p->arm_proc = |
423 | "gnunet-service-arm", | 408 | GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
409 | "gnunet-service-arm", | ||
424 | #if VERBOSE | 410 | #if VERBOSE |
425 | "-L", "DEBUG", | 411 | "-L", "DEBUG", |
426 | #endif | 412 | #endif |
427 | "-c", cfgname, NULL); | 413 | "-c", cfgname, NULL); |
428 | #endif | 414 | #endif |
429 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); | 415 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); |
430 | p->stats = GNUNET_STATISTICS_create ("hostlist", p->cfg); | 416 | p->stats = GNUNET_STATISTICS_create ("hostlist", p->cfg); |
@@ -433,9 +419,8 @@ setup_adv_peer (struct PeerContext *p, const char *cfgname) | |||
433 | 419 | ||
434 | 420 | ||
435 | static void | 421 | static void |
436 | run (void *cls, | 422 | run (void *cls, char *const *args, const char *cfgfile, |
437 | char *const *args, | 423 | const struct GNUNET_CONFIGURATION_Handle *c) |
438 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *c) | ||
439 | { | 424 | { |
440 | timeout = GNUNET_NO; | 425 | timeout = GNUNET_NO; |
441 | adv_sent = GNUNET_NO; | 426 | adv_sent = GNUNET_NO; |
@@ -450,8 +435,8 @@ run (void *cls, | |||
450 | setup_learn_peer (&learn_peer, "test_learning_learn_peer.conf"); | 435 | setup_learn_peer (&learn_peer, "test_learning_learn_peer.conf"); |
451 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); | 436 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); |
452 | 437 | ||
453 | check_task = GNUNET_SCHEDULER_add_delayed (CHECK_INTERVALL, | 438 | check_task = |
454 | &check_statistics, NULL); | 439 | GNUNET_SCHEDULER_add_delayed (CHECK_INTERVALL, &check_statistics, NULL); |
455 | } | 440 | } |
456 | 441 | ||
457 | 442 | ||
@@ -472,9 +457,9 @@ check () | |||
472 | GNUNET_GETOPT_OPTION_END | 457 | GNUNET_GETOPT_OPTION_END |
473 | }; | 458 | }; |
474 | 459 | ||
475 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, | 460 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, |
476 | argv, "test-gnunet-daemon-hostlist-learning", | 461 | "test-gnunet-daemon-hostlist-learning", "nohelp", options, |
477 | "nohelp", options, &run, NULL); | 462 | &run, NULL); |
478 | failed = GNUNET_NO; | 463 | failed = GNUNET_NO; |
479 | if (timeout == GNUNET_YES) | 464 | if (timeout == GNUNET_YES) |
480 | { | 465 | { |
diff --git a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c index d1227da4c..ff625cf8e 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c | |||
@@ -96,8 +96,7 @@ timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
96 | * @param distance in overlay hops, as given by transport plugin | 96 | * @param distance in overlay hops, as given by transport plugin |
97 | */ | 97 | */ |
98 | static void | 98 | static void |
99 | notify_connect (void *cls, | 99 | notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, |
100 | const struct GNUNET_PeerIdentity *peer, | ||
101 | const struct GNUNET_TRANSPORT_ATS_Information *ats, | 100 | const struct GNUNET_TRANSPORT_ATS_Information *ats, |
102 | uint32_t ats_count) | 101 | uint32_t ats_count) |
103 | { | 102 | { |
@@ -133,16 +132,17 @@ setup_peer (struct PeerContext *p, const char *cfgname) | |||
133 | { | 132 | { |
134 | p->cfg = GNUNET_CONFIGURATION_create (); | 133 | p->cfg = GNUNET_CONFIGURATION_create (); |
135 | #if START_ARM | 134 | #if START_ARM |
136 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 135 | p->arm_proc = |
137 | "gnunet-service-arm", | 136 | GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
137 | "gnunet-service-arm", | ||
138 | #if VERBOSE | 138 | #if VERBOSE |
139 | "-L", "DEBUG", | 139 | "-L", "DEBUG", |
140 | #endif | 140 | #endif |
141 | "-c", cfgname, NULL); | 141 | "-c", cfgname, NULL); |
142 | #endif | 142 | #endif |
143 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); | 143 | GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); |
144 | p->th = GNUNET_TRANSPORT_connect (p->cfg, NULL, p, NULL, | 144 | p->th = |
145 | ¬ify_connect, NULL); | 145 | GNUNET_TRANSPORT_connect (p->cfg, NULL, p, NULL, ¬ify_connect, NULL); |
146 | GNUNET_assert (p->th != NULL); | 146 | GNUNET_assert (p->th != NULL); |
147 | GNUNET_TRANSPORT_get_hello (p->th, &process_hello, p); | 147 | GNUNET_TRANSPORT_get_hello (p->th, &process_hello, p); |
148 | } | 148 | } |
@@ -159,8 +159,7 @@ waitpid_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
159 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 159 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); |
160 | if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) | 160 | if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) |
161 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); | 161 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); |
162 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 162 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", |
163 | "ARM process %u stopped\n", | ||
164 | GNUNET_OS_process_get_pid (p->arm_proc)); | 163 | GNUNET_OS_process_get_pid (p->arm_proc)); |
165 | GNUNET_OS_process_close (p->arm_proc); | 164 | GNUNET_OS_process_close (p->arm_proc); |
166 | p->arm_proc = NULL; | 165 | p->arm_proc = NULL; |
@@ -189,15 +188,14 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
189 | 188 | ||
190 | 189 | ||
191 | static void | 190 | static void |
192 | run (void *cls, | 191 | run (void *cls, char *const *args, const char *cfgfile, |
193 | char *const *args, | 192 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
194 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
195 | { | 193 | { |
196 | GNUNET_assert (ok == 1); | 194 | GNUNET_assert (ok == 1); |
197 | ok++; | 195 | ok++; |
198 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); | 196 | timeout_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &timeout_error, NULL); |
199 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | 197 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, |
200 | &shutdown_task, NULL); | 198 | NULL); |
201 | setup_peer (&p1, "test_gnunet_daemon_hostlist_peer1.conf"); | 199 | setup_peer (&p1, "test_gnunet_daemon_hostlist_peer1.conf"); |
202 | setup_peer (&p2, "test_gnunet_daemon_hostlist_peer2.conf"); | 200 | setup_peer (&p2, "test_gnunet_daemon_hostlist_peer2.conf"); |
203 | } | 201 | } |
@@ -217,9 +215,9 @@ check () | |||
217 | GNUNET_GETOPT_OPTION_END | 215 | GNUNET_GETOPT_OPTION_END |
218 | }; | 216 | }; |
219 | ok = 1; | 217 | ok = 1; |
220 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, | 218 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, |
221 | argv, "test-gnunet-daemon-hostlist", | 219 | "test-gnunet-daemon-hostlist", "nohelp", options, &run, |
222 | "nohelp", options, &run, &ok); | 220 | &ok); |
223 | return ok; | 221 | return ok; |
224 | } | 222 | } |
225 | 223 | ||