aboutsummaryrefslogtreecommitdiff
path: root/src/hostlist
diff options
context:
space:
mode:
Diffstat (limited to 'src/hostlist')
-rw-r--r--src/hostlist/gnunet-daemon-hostlist.c21
-rw-r--r--src/hostlist/gnunet-daemon-hostlist_client.c104
-rw-r--r--src/hostlist/gnunet-daemon-hostlist_server.c22
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist.c8
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist_learning.c16
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist_reconnect.c8
6 files changed, 100 insertions, 79 deletions
diff --git a/src/hostlist/gnunet-daemon-hostlist.c b/src/hostlist/gnunet-daemon-hostlist.c
index 62ecc5dfd..833f24ece 100644
--- a/src/hostlist/gnunet-daemon-hostlist.c
+++ b/src/hostlist/gnunet-daemon-hostlist.c
@@ -275,16 +275,24 @@ run (void *cls,
275 return; 275 return;
276 } 276 }
277 stats = GNUNET_STATISTICS_create ("hostlist", cfg); 277 stats = GNUNET_STATISTICS_create ("hostlist", cfg);
278 if (NULL == stats)
279 {
280 GNUNET_break (0);
281 return;
282 }
278 if (bootstrapping) 283 if (bootstrapping)
279 GNUNET_HOSTLIST_client_start (cfg, stats, &client_ch, &client_dh, 284 GNUNET_HOSTLIST_client_start (cfg, stats,
280 &client_adv_handler, learning); 285 &client_ch,
286 &client_dh,
287 &client_adv_handler,
288 learning);
281 core = 289 core =
282 GNUNET_CORE_connect (cfg, NULL, 290 GNUNET_CORE_connect (cfg, NULL,
283 &core_init, 291 &core_init,
284 &connect_handler, 292 &connect_handler,
285 &disconnect_handler, NULL, 293 &disconnect_handler,
286 GNUNET_NO, NULL, 294 NULL, GNUNET_NO,
287 GNUNET_NO, 295 NULL, GNUNET_NO,
288 learning ? learn_handlers : no_learn_handlers); 296 learning ? learn_handlers : no_learn_handlers);
289 297
290 298
@@ -346,7 +354,8 @@ main (int argc, char *const *argv)
346 GNUNET_log_setup ("hostlist", "WARNING", NULL); 354 GNUNET_log_setup ("hostlist", "WARNING", NULL);
347 ret = 355 ret =
348 (GNUNET_OK == 356 (GNUNET_OK ==
349 GNUNET_PROGRAM_run (argc, argv, "hostlist", 357 GNUNET_PROGRAM_run (argc, argv,
358 "hostlist",
350 _("GNUnet hostlist server and client"), 359 _("GNUnet hostlist server and client"),
351 options, 360 options,
352 &run, NULL)) ? 0 : 1; 361 &run, NULL)) ? 0 : 1;
diff --git a/src/hostlist/gnunet-daemon-hostlist_client.c b/src/hostlist/gnunet-daemon-hostlist_client.c
index b92f195f8..0751668b3 100644
--- a/src/hostlist/gnunet-daemon-hostlist_client.c
+++ b/src/hostlist/gnunet-daemon-hostlist_client.c
@@ -205,27 +205,27 @@ static struct GNUNET_TIME_Relative hostlist_delay;
205/** 205/**
206 * ID of the task, checking if hostlist download should take plate 206 * ID of the task, checking if hostlist download should take plate
207 */ 207 */
208static GNUNET_SCHEDULER_TaskIdentifier ti_check_download; 208static struct GNUNET_SCHEDULER_Task * ti_check_download;
209 209
210/** 210/**
211 * ID of the task downloading the hostlist 211 * ID of the task downloading the hostlist
212 */ 212 */
213static GNUNET_SCHEDULER_TaskIdentifier ti_download; 213static struct GNUNET_SCHEDULER_Task * ti_download;
214 214
215/** 215/**
216 * ID of the task saving the hostlsit in a regular intervall 216 * ID of the task saving the hostlsit in a regular intervall
217 */ 217 */
218static GNUNET_SCHEDULER_TaskIdentifier ti_saving_task; 218static struct GNUNET_SCHEDULER_Task * ti_saving_task;
219 219
220/** 220/**
221 * ID of the task called to initiate a download 221 * ID of the task called to initiate a download
222 */ 222 */
223static GNUNET_SCHEDULER_TaskIdentifier ti_download_dispatcher_task; 223static struct GNUNET_SCHEDULER_Task * ti_download_dispatcher_task;
224 224
225/** 225/**
226 * ID of the task controlling the locking between two hostlist tests 226 * ID of the task controlling the locking between two hostlist tests
227 */ 227 */
228static GNUNET_SCHEDULER_TaskIdentifier ti_testing_intervall_task; 228static struct GNUNET_SCHEDULER_Task * ti_testing_intervall_task;
229 229
230/** 230/**
231 * At what time MUST the current hostlist request be done? 231 * At what time MUST the current hostlist request be done?
@@ -846,7 +846,7 @@ task_download (void *cls,
846 struct CURLMsg *msg; 846 struct CURLMsg *msg;
847 CURLMcode mret; 847 CURLMcode mret;
848 848
849 ti_download = GNUNET_SCHEDULER_NO_TASK; 849 ti_download = NULL;
850 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 850 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
851 { 851 {
852 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 852 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -1044,7 +1044,7 @@ static void
1044task_download_dispatcher (void *cls, 1044task_download_dispatcher (void *cls,
1045 const struct GNUNET_SCHEDULER_TaskContext *tc) 1045 const struct GNUNET_SCHEDULER_TaskContext *tc)
1046{ 1046{
1047 ti_download_dispatcher_task = GNUNET_SCHEDULER_NO_TASK; 1047 ti_download_dispatcher_task = NULL;
1048 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 1048 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
1049 return; 1049 return;
1050 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Download is initiated...\n"); 1050 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Download is initiated...\n");
@@ -1075,7 +1075,7 @@ task_check (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
1075 static int once; 1075 static int once;
1076 struct GNUNET_TIME_Relative delay; 1076 struct GNUNET_TIME_Relative delay;
1077 1077
1078 ti_check_download = GNUNET_SCHEDULER_NO_TASK; 1078 ti_check_download = NULL;
1079 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 1079 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
1080 return; 1080 return;
1081 if (stats == NULL) 1081 if (stats == NULL)
@@ -1084,7 +1084,7 @@ task_check (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
1084 return; /* in shutdown */ 1084 return; /* in shutdown */
1085 } 1085 }
1086 if ( (stat_connection_count < MIN_CONNECTIONS) && 1086 if ( (stat_connection_count < MIN_CONNECTIONS) &&
1087 (GNUNET_SCHEDULER_NO_TASK == ti_download_dispatcher_task) ) 1087 (NULL == ti_download_dispatcher_task) )
1088 ti_download_dispatcher_task = 1088 ti_download_dispatcher_task =
1089 GNUNET_SCHEDULER_add_now (&task_download_dispatcher, NULL); 1089 GNUNET_SCHEDULER_add_now (&task_download_dispatcher, NULL);
1090 1090
@@ -1126,7 +1126,7 @@ static void
1126task_testing_intervall_reset (void *cls, 1126task_testing_intervall_reset (void *cls,
1127 const struct GNUNET_SCHEDULER_TaskContext *tc) 1127 const struct GNUNET_SCHEDULER_TaskContext *tc)
1128{ 1128{
1129 ti_testing_intervall_task = GNUNET_SCHEDULER_NO_TASK; 1129 ti_testing_intervall_task = NULL;
1130 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 1130 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
1131 return; 1131 return;
1132 stat_testing_allowed = GNUNET_OK; 1132 stat_testing_allowed = GNUNET_OK;
@@ -1144,7 +1144,7 @@ task_testing_intervall_reset (void *cls,
1144static void 1144static void
1145task_hostlist_saving (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 1145task_hostlist_saving (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
1146{ 1146{
1147 ti_saving_task = GNUNET_SCHEDULER_NO_TASK; 1147 ti_saving_task = NULL;
1148 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 1148 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
1149 return; 1149 return;
1150 save_hostlist_file (GNUNET_NO); 1150 save_hostlist_file (GNUNET_NO);
@@ -1284,7 +1284,7 @@ static void
1284primary_task (void *cls, int success) 1284primary_task (void *cls, int success)
1285{ 1285{
1286 sget = NULL; 1286 sget = NULL;
1287 GNUNET_assert (stats != NULL); 1287 GNUNET_assert (NULL != stats);
1288 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1288 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1289 "Statistics request done, scheduling hostlist download\n"); 1289 "Statistics request done, scheduling hostlist download\n");
1290 ti_check_download = GNUNET_SCHEDULER_add_now (&task_check, NULL); 1290 ti_check_download = GNUNET_SCHEDULER_add_now (&task_check, NULL);
@@ -1310,7 +1310,8 @@ process_stat (void *cls,
1310 hostlist_delay.rel_value_us = value * 1000LL; 1310 hostlist_delay.rel_value_us = value * 1000LL;
1311 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1311 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1312 "Initial time between hostlist downloads is %s\n", 1312 "Initial time between hostlist downloads is %s\n",
1313 GNUNET_STRINGS_relative_time_to_string (hostlist_delay, GNUNET_YES)); 1313 GNUNET_STRINGS_relative_time_to_string (hostlist_delay,
1314 GNUNET_YES));
1314 return GNUNET_OK; 1315 return GNUNET_OK;
1315} 1316}
1316 1317
@@ -1441,13 +1442,14 @@ save_hostlist_file (int shutdown)
1441 if (NULL == wh) 1442 if (NULL == wh)
1442 { 1443 {
1443 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, 1444 GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
1444 _ 1445 _("Could not open file `%s' for writing to save hostlists: %s\n"),
1445 ("Could not open file `%s' for writing to save hostlists: %s\n"), 1446 filename,
1446 filename, STRERROR (errno)); 1447 STRERROR (errno));
1447 GNUNET_free (filename); 1448 GNUNET_free (filename);
1448 return; 1449 return;
1449 } 1450 }
1450 GNUNET_log (GNUNET_ERROR_TYPE_INFO, _("Writing %u hostlist URIs to `%s'\n"), 1451 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
1452 _("Writing %u hostlist URIs to `%s'\n"),
1451 linked_list_size, filename); 1453 linked_list_size, filename);
1452 /* add code to write hostlists to file using bio */ 1454 /* add code to write hostlists to file using bio */
1453 ok = GNUNET_YES; 1455 ok = GNUNET_YES;
@@ -1525,6 +1527,7 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
1525 transport = GNUNET_TRANSPORT_connect (c, NULL, NULL, NULL, NULL, NULL); 1527 transport = GNUNET_TRANSPORT_connect (c, NULL, NULL, NULL, NULL, NULL);
1526 if (NULL == transport) 1528 if (NULL == transport)
1527 { 1529 {
1530 GNUNET_break (0);
1528 curl_global_cleanup (); 1531 curl_global_cleanup ();
1529 return GNUNET_SYSERR; 1532 return GNUNET_SYSERR;
1530 } 1533 }
@@ -1532,8 +1535,9 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
1532 stats = st; 1535 stats = st;
1533 1536
1534 /* Read proxy configuration */ 1537 /* Read proxy configuration */
1535 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (cfg, 1538 if (GNUNET_OK ==
1536 "HOSTLIST", "PROXY", &proxy)) 1539 GNUNET_CONFIGURATION_get_value_string (cfg,
1540 "HOSTLIST", "PROXY", &proxy))
1537 { 1541 {
1538 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1542 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1539 "Found proxy host: `%s'\n", 1543 "Found proxy host: `%s'\n",
@@ -1557,23 +1561,26 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
1557 } 1561 }
1558 1562
1559 /* proxy type */ 1563 /* proxy type */
1560 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (cfg, 1564 if (GNUNET_OK ==
1561 "HOSTLIST", "PROXY_TYPE", &proxytype_str)) 1565 GNUNET_CONFIGURATION_get_value_string (cfg,
1566 "HOSTLIST",
1567 "PROXY_TYPE",
1568 &proxytype_str))
1562 { 1569 {
1563 GNUNET_STRINGS_utf8_toupper (proxytype_str, proxytype_str); 1570 GNUNET_STRINGS_utf8_toupper (proxytype_str,
1564 1571 proxytype_str);
1565 proxy_type = CURLPROXY_HTTP; 1572 proxy_type = CURLPROXY_HTTP;
1566 if (0 == strcmp(proxytype_str, "HTTP")) 1573 if (0 == strcmp (proxytype_str, "HTTP"))
1567 proxy_type = CURLPROXY_HTTP; 1574 proxy_type = CURLPROXY_HTTP;
1568 else if (0 == strcmp(proxytype_str, "HTTP_1_0")) 1575 else if (0 == strcmp (proxytype_str, "HTTP_1_0"))
1569 proxy_type = CURLPROXY_HTTP_1_0; 1576 proxy_type = CURLPROXY_HTTP_1_0;
1570 else if (0 == strcmp(proxytype_str, "SOCKS4")) 1577 else if (0 == strcmp (proxytype_str, "SOCKS4"))
1571 proxy_type = CURLPROXY_SOCKS4; 1578 proxy_type = CURLPROXY_SOCKS4;
1572 else if (0 == strcmp(proxytype_str, "SOCKS5")) 1579 else if (0 == strcmp (proxytype_str, "SOCKS5"))
1573 proxy_type = CURLPROXY_SOCKS5; 1580 proxy_type = CURLPROXY_SOCKS5;
1574 else if (0 == strcmp(proxytype_str, "SOCKS4A")) 1581 else if (0 == strcmp (proxytype_str, "SOCKS4A"))
1575 proxy_type = CURLPROXY_SOCKS4A; 1582 proxy_type = CURLPROXY_SOCKS4A;
1576 else if (0 == strcmp(proxytype_str, "SOCKS5_HOSTNAME")) 1583 else if (0 == strcmp (proxytype_str, "SOCKS5_HOSTNAME"))
1577 proxy_type = CURLPROXY_SOCKS5_HOSTNAME; 1584 proxy_type = CURLPROXY_SOCKS5_HOSTNAME;
1578 else 1585 else
1579 { 1586 {
@@ -1613,7 +1620,8 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
1613 "Hostlists will be saved to file again in %s\n", 1620 "Hostlists will be saved to file again in %s\n",
1614 GNUNET_STRINGS_relative_time_to_string (SAVING_INTERVAL, GNUNET_YES)); 1621 GNUNET_STRINGS_relative_time_to_string (SAVING_INTERVAL, GNUNET_YES));
1615 ti_saving_task = 1622 ti_saving_task =
1616 GNUNET_SCHEDULER_add_delayed (SAVING_INTERVAL, &task_hostlist_saving, 1623 GNUNET_SCHEDULER_add_delayed (SAVING_INTERVAL,
1624 &task_hostlist_saving,
1617 NULL); 1625 NULL);
1618 } 1626 }
1619 else 1627 else
@@ -1628,22 +1636,26 @@ GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
1628 if (GNUNET_YES == GNUNET_DISK_file_test (filename)) 1636 if (GNUNET_YES == GNUNET_DISK_file_test (filename))
1629 { 1637 {
1630 result = remove (filename); 1638 result = remove (filename);
1631 if (result == 0) 1639 if (0 == result)
1632 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 1640 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
1633 _ 1641 _("Since learning is not enabled on this peer, hostlist file `%s' was removed\n"),
1634 ("Since learning is not enabled on this peer, hostlist file `%s' was removed\n"),
1635 filename); 1642 filename);
1636 else 1643 else
1637 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1644 GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
1638 _("Hostlist file `%s' could not be removed\n"), filename); 1645 "remove",
1646 filename);
1639 } 1647 }
1640 } 1648 }
1641 GNUNET_free (filename); 1649 GNUNET_free (filename);
1642 } 1650 }
1651 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1652 "Loading stats value on hostlist download frequency\n");
1643 sget = GNUNET_STATISTICS_get (stats, "hostlist", 1653 sget = GNUNET_STATISTICS_get (stats, "hostlist",
1644 gettext_noop 1654 gettext_noop
1645 ("# milliseconds between hostlist downloads"), 1655 ("# milliseconds between hostlist downloads"),
1646 GNUNET_TIME_UNIT_MINUTES, &primary_task, &process_stat, 1656 GNUNET_TIME_UNIT_MINUTES,
1657 &primary_task,
1658 &process_stat,
1647 NULL); 1659 NULL);
1648 return GNUNET_OK; 1660 return GNUNET_OK;
1649} 1661}
@@ -1664,31 +1676,31 @@ GNUNET_HOSTLIST_client_stop ()
1664 stats = NULL; 1676 stats = NULL;
1665 if (GNUNET_YES == stat_learning) 1677 if (GNUNET_YES == stat_learning)
1666 save_hostlist_file (GNUNET_YES); 1678 save_hostlist_file (GNUNET_YES);
1667 if (ti_saving_task != GNUNET_SCHEDULER_NO_TASK) 1679 if (ti_saving_task != NULL)
1668 { 1680 {
1669 GNUNET_SCHEDULER_cancel (ti_saving_task); 1681 GNUNET_SCHEDULER_cancel (ti_saving_task);
1670 ti_saving_task = GNUNET_SCHEDULER_NO_TASK; 1682 ti_saving_task = NULL;
1671 } 1683 }
1672 1684
1673 if (ti_download_dispatcher_task != GNUNET_SCHEDULER_NO_TASK) 1685 if (ti_download_dispatcher_task != NULL)
1674 { 1686 {
1675 GNUNET_SCHEDULER_cancel (ti_download_dispatcher_task); 1687 GNUNET_SCHEDULER_cancel (ti_download_dispatcher_task);
1676 ti_download_dispatcher_task = GNUNET_SCHEDULER_NO_TASK; 1688 ti_download_dispatcher_task = NULL;
1677 } 1689 }
1678 if (ti_testing_intervall_task != GNUNET_SCHEDULER_NO_TASK) 1690 if (ti_testing_intervall_task != NULL)
1679 { 1691 {
1680 GNUNET_SCHEDULER_cancel (ti_testing_intervall_task); 1692 GNUNET_SCHEDULER_cancel (ti_testing_intervall_task);
1681 ti_testing_intervall_task = GNUNET_SCHEDULER_NO_TASK; 1693 ti_testing_intervall_task = NULL;
1682 } 1694 }
1683 if (ti_download != GNUNET_SCHEDULER_NO_TASK) 1695 if (ti_download != NULL)
1684 { 1696 {
1685 GNUNET_SCHEDULER_cancel (ti_download); 1697 GNUNET_SCHEDULER_cancel (ti_download);
1686 ti_download = GNUNET_SCHEDULER_NO_TASK; 1698 ti_download = NULL;
1687 } 1699 }
1688 if (ti_check_download != GNUNET_SCHEDULER_NO_TASK) 1700 if (ti_check_download != NULL)
1689 { 1701 {
1690 GNUNET_SCHEDULER_cancel (ti_check_download); 1702 GNUNET_SCHEDULER_cancel (ti_check_download);
1691 ti_check_download = GNUNET_SCHEDULER_NO_TASK; 1703 ti_check_download = NULL;
1692 curl_global_cleanup (); 1704 curl_global_cleanup ();
1693 } 1705 }
1694 if (NULL != transport) 1706 if (NULL != transport)
diff --git a/src/hostlist/gnunet-daemon-hostlist_server.c b/src/hostlist/gnunet-daemon-hostlist_server.c
index 9c8b14598..542fa1a98 100644
--- a/src/hostlist/gnunet-daemon-hostlist_server.c
+++ b/src/hostlist/gnunet-daemon-hostlist_server.c
@@ -74,12 +74,12 @@ static struct GNUNET_PEERINFO_NotifyContext *notify;
74/** 74/**
75 * Our primary task for IPv4. 75 * Our primary task for IPv4.
76 */ 76 */
77static GNUNET_SCHEDULER_TaskIdentifier hostlist_task_v4; 77static struct GNUNET_SCHEDULER_Task * hostlist_task_v4;
78 78
79/** 79/**
80 * Our primary task for IPv6. 80 * Our primary task for IPv6.
81 */ 81 */
82static GNUNET_SCHEDULER_TaskIdentifier hostlist_task_v6; 82static struct GNUNET_SCHEDULER_Task * hostlist_task_v6;
83 83
84/** 84/**
85 * Our canonical response. 85 * Our canonical response.
@@ -618,7 +618,7 @@ process_notify (void *cls,
618 * Function that queries MHD's select sets and 618 * Function that queries MHD's select sets and
619 * starts the task waiting for them. 619 * starts the task waiting for them.
620 */ 620 */
621static GNUNET_SCHEDULER_TaskIdentifier 621static struct GNUNET_SCHEDULER_Task *
622prepare_daemon (struct MHD_Daemon *daemon_handle); 622prepare_daemon (struct MHD_Daemon *daemon_handle);
623 623
624 624
@@ -636,9 +636,9 @@ run_daemon (void *cls,
636 struct MHD_Daemon *daemon_handle = cls; 636 struct MHD_Daemon *daemon_handle = cls;
637 637
638 if (daemon_handle == daemon_handle_v4) 638 if (daemon_handle == daemon_handle_v4)
639 hostlist_task_v4 = GNUNET_SCHEDULER_NO_TASK; 639 hostlist_task_v4 = NULL;
640 else 640 else
641 hostlist_task_v6 = GNUNET_SCHEDULER_NO_TASK; 641 hostlist_task_v6 = NULL;
642 642
643 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 643 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
644 return; 644 return;
@@ -656,10 +656,10 @@ run_daemon (void *cls,
656 * 656 *
657 * @param daemon_handle HTTP server to prepare to run 657 * @param daemon_handle HTTP server to prepare to run
658 */ 658 */
659static GNUNET_SCHEDULER_TaskIdentifier 659static struct GNUNET_SCHEDULER_Task *
660prepare_daemon (struct MHD_Daemon *daemon_handle) 660prepare_daemon (struct MHD_Daemon *daemon_handle)
661{ 661{
662 GNUNET_SCHEDULER_TaskIdentifier ret; 662 struct GNUNET_SCHEDULER_Task * ret;
663 fd_set rs; 663 fd_set rs;
664 fd_set ws; 664 fd_set ws;
665 fd_set es; 665 fd_set es;
@@ -917,15 +917,15 @@ GNUNET_HOSTLIST_server_stop ()
917{ 917{
918 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 918 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
919 "Hostlist server shutdown\n"); 919 "Hostlist server shutdown\n");
920 if (GNUNET_SCHEDULER_NO_TASK != hostlist_task_v6) 920 if (NULL != hostlist_task_v6)
921 { 921 {
922 GNUNET_SCHEDULER_cancel (hostlist_task_v6); 922 GNUNET_SCHEDULER_cancel (hostlist_task_v6);
923 hostlist_task_v6 = GNUNET_SCHEDULER_NO_TASK; 923 hostlist_task_v6 = NULL;
924 } 924 }
925 if (GNUNET_SCHEDULER_NO_TASK != hostlist_task_v4) 925 if (NULL != hostlist_task_v4)
926 { 926 {
927 GNUNET_SCHEDULER_cancel (hostlist_task_v4); 927 GNUNET_SCHEDULER_cancel (hostlist_task_v4);
928 hostlist_task_v4 = GNUNET_SCHEDULER_NO_TASK; 928 hostlist_task_v4 = NULL;
929 } 929 }
930 if (NULL != daemon_handle_v4) 930 if (NULL != daemon_handle_v4)
931 { 931 {
diff --git a/src/hostlist/test_gnunet_daemon_hostlist.c b/src/hostlist/test_gnunet_daemon_hostlist.c
index a39f346ae..21cd164bc 100644
--- a/src/hostlist/test_gnunet_daemon_hostlist.c
+++ b/src/hostlist/test_gnunet_daemon_hostlist.c
@@ -35,7 +35,7 @@
35 35
36static int ok; 36static int ok;
37 37
38static GNUNET_SCHEDULER_TaskIdentifier timeout_task; 38static struct GNUNET_SCHEDULER_Task * timeout_task;
39 39
40struct PeerContext 40struct PeerContext
41{ 41{
@@ -83,7 +83,7 @@ clean_up (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
83static void 83static void
84timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 84timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
85{ 85{
86 timeout_task = GNUNET_SCHEDULER_NO_TASK; 86 timeout_task = NULL;
87 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 87 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
88 "Timeout trying to connect peers, test failed.\n"); 88 "Timeout trying to connect peers, test failed.\n");
89 clean_up (NULL, tc); 89 clean_up (NULL, tc);
@@ -106,10 +106,10 @@ notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
106 return; 106 return;
107 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down.\n"); 107 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down.\n");
108 ok = 0; 108 ok = 0;
109 if (timeout_task != GNUNET_SCHEDULER_NO_TASK) 109 if (timeout_task != NULL)
110 { 110 {
111 GNUNET_SCHEDULER_cancel (timeout_task); 111 GNUNET_SCHEDULER_cancel (timeout_task);
112 timeout_task = GNUNET_SCHEDULER_NO_TASK; 112 timeout_task = NULL;
113 } 113 }
114 GNUNET_SCHEDULER_add_now (&clean_up, NULL); 114 GNUNET_SCHEDULER_add_now (&clean_up, NULL);
115} 115}
diff --git a/src/hostlist/test_gnunet_daemon_hostlist_learning.c b/src/hostlist/test_gnunet_daemon_hostlist_learning.c
index 9f4d8e3d7..5f497f242 100644
--- a/src/hostlist/test_gnunet_daemon_hostlist_learning.c
+++ b/src/hostlist/test_gnunet_daemon_hostlist_learning.c
@@ -64,9 +64,9 @@ static char *current_adv_uri;
64 64
65static const struct GNUNET_CONFIGURATION_Handle *cfg; 65static const struct GNUNET_CONFIGURATION_Handle *cfg;
66 66
67static GNUNET_SCHEDULER_TaskIdentifier timeout_task; 67static struct GNUNET_SCHEDULER_Task * timeout_task;
68 68
69static GNUNET_SCHEDULER_TaskIdentifier check_task; 69static struct GNUNET_SCHEDULER_Task * check_task;
70 70
71static struct PeerContext adv_peer; 71static struct PeerContext adv_peer;
72 72
@@ -83,10 +83,10 @@ static void
83shutdown_testcase () 83shutdown_testcase ()
84{ 84{
85 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutdown testcase....\n"); 85 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutdown testcase....\n");
86 if (timeout_task != GNUNET_SCHEDULER_NO_TASK) 86 if (timeout_task != NULL)
87 { 87 {
88 GNUNET_SCHEDULER_cancel (timeout_task); 88 GNUNET_SCHEDULER_cancel (timeout_task);
89 timeout_task = GNUNET_SCHEDULER_NO_TASK; 89 timeout_task = NULL;
90 } 90 }
91 if (NULL != download_stats) 91 if (NULL != download_stats)
92 { 92 {
@@ -113,10 +113,10 @@ shutdown_testcase ()
113 GNUNET_STATISTICS_destroy (learn_peer.stats, GNUNET_NO); 113 GNUNET_STATISTICS_destroy (learn_peer.stats, GNUNET_NO);
114 learn_peer.stats = NULL; 114 learn_peer.stats = NULL;
115 } 115 }
116 if (check_task != GNUNET_SCHEDULER_NO_TASK) 116 if (check_task != NULL)
117 { 117 {
118 GNUNET_SCHEDULER_cancel (check_task); 118 GNUNET_SCHEDULER_cancel (check_task);
119 check_task = GNUNET_SCHEDULER_NO_TASK; 119 check_task = NULL;
120 } 120 }
121 if (NULL != current_adv_uri) 121 if (NULL != current_adv_uri)
122 { 122 {
@@ -168,7 +168,7 @@ shutdown_testcase ()
168static void 168static void
169timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 169timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
170{ 170{
171 timeout_task = GNUNET_SCHEDULER_NO_TASK; 171 timeout_task = NULL;
172 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 172 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
173 "Timeout while executing testcase, test failed.\n"); 173 "Timeout while executing testcase, test failed.\n");
174 timeout = GNUNET_YES; 174 timeout = GNUNET_YES;
@@ -269,7 +269,7 @@ check_statistics (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
269{ 269{
270 char *stat; 270 char *stat;
271 271
272 check_task = GNUNET_SCHEDULER_NO_TASK; 272 check_task = NULL;
273 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 273 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
274 return; 274 return;
275 GNUNET_asprintf (&stat, gettext_noop ("# advertised URI `%s' downloaded"), 275 GNUNET_asprintf (&stat, gettext_noop ("# advertised URI `%s' downloaded"),
diff --git a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c
index 1962bcd45..5ff97ff6b 100644
--- a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c
+++ b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c
@@ -35,7 +35,7 @@
35 35
36static int ok; 36static int ok;
37 37
38static GNUNET_SCHEDULER_TaskIdentifier timeout_task; 38static struct GNUNET_SCHEDULER_Task * timeout_task;
39 39
40struct PeerContext 40struct PeerContext
41{ 41{
@@ -83,7 +83,7 @@ clean_up (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
83static void 83static void
84timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 84timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
85{ 85{
86 timeout_task = GNUNET_SCHEDULER_NO_TASK; 86 timeout_task = NULL;
87 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 87 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
88 "Timeout trying to connect peers, test failed.\n"); 88 "Timeout trying to connect peers, test failed.\n");
89 clean_up (NULL, tc); 89 clean_up (NULL, tc);
@@ -106,10 +106,10 @@ notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer)
106 return; 106 return;
107 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down.\n"); 107 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down.\n");
108 ok = 0; 108 ok = 0;
109 if (timeout_task != GNUNET_SCHEDULER_NO_TASK) 109 if (timeout_task != NULL)
110 { 110 {
111 GNUNET_SCHEDULER_cancel (timeout_task); 111 GNUNET_SCHEDULER_cancel (timeout_task);
112 timeout_task = GNUNET_SCHEDULER_NO_TASK; 112 timeout_task = NULL;
113 } 113 }
114 GNUNET_SCHEDULER_add_now (&clean_up, NULL); 114 GNUNET_SCHEDULER_add_now (&clean_up, NULL);
115} 115}