diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-03-02 11:27:11 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-03-02 11:27:11 +0100 |
commit | bb3ff9584ea7ac92b742d2f435173dbd0d4f1589 (patch) | |
tree | 6f9d10238ed5bd8a79737315b5af31b8fa6abdb9 /src/util | |
parent | 1b1edf92c24f91c36747458e880e0d6a5e559e95 (diff) | |
download | gnunet-bb3ff9584ea7ac92b742d2f435173dbd0d4f1589.tar.gz gnunet-bb3ff9584ea7ac92b742d2f435173dbd0d4f1589.zip |
use existing pf probe function from network.c instead of re-implementing it in service.c
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/client.c | 5 | ||||
-rw-r--r-- | src/util/service.c | 52 |
2 files changed, 11 insertions, 46 deletions
diff --git a/src/util/client.c b/src/util/client.c index 356123e94..05e05a328 100644 --- a/src/util/client.c +++ b/src/util/client.c | |||
@@ -847,12 +847,13 @@ connection_client_send_impl (struct GNUNET_MQ_Handle *mq, | |||
847 | GNUNET_assert (NULL == cstate->send_task); | 847 | GNUNET_assert (NULL == cstate->send_task); |
848 | cstate->msg = msg; | 848 | cstate->msg = msg; |
849 | cstate->msg_off = 0; | 849 | cstate->msg_off = 0; |
850 | if (NULL == cstate->sock){ | 850 | if (NULL == cstate->sock) |
851 | { | ||
851 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 852 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
852 | "message of type %u waiting for socket\n", | 853 | "message of type %u waiting for socket\n", |
853 | ntohs(msg->type)); | 854 | ntohs(msg->type)); |
854 | return; /* still waiting for connection */ | 855 | return; /* still waiting for connection */ |
855 | } | 856 | } |
856 | cstate->send_task | 857 | cstate->send_task |
857 | = GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL, | 858 | = GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL, |
858 | cstate->sock, | 859 | cstate->sock, |
diff --git a/src/util/service.c b/src/util/service.c index 3f7b74e0d..b2e3e89cc 100644 --- a/src/util/service.c +++ b/src/util/service.c | |||
@@ -1132,50 +1132,14 @@ get_server_addresses (const char *service_name, | |||
1132 | *addrs = NULL; | 1132 | *addrs = NULL; |
1133 | *addr_lens = NULL; | 1133 | *addr_lens = NULL; |
1134 | desc = NULL; | 1134 | desc = NULL; |
1135 | if (GNUNET_CONFIGURATION_have_value (cfg, | 1135 | disablev6 = GNUNET_NO; |
1136 | service_name, | 1136 | if ( (GNUNET_NO == |
1137 | "DISABLEV6")) | 1137 | GNUNET_NETWORK_test_pf (PF_INET6)) || |
1138 | { | 1138 | (GNUNET_YES == |
1139 | if (GNUNET_SYSERR == | 1139 | GNUNET_CONFIGURATION_get_value_yesno (cfg, |
1140 | (disablev6 = | 1140 | service_name, |
1141 | GNUNET_CONFIGURATION_get_value_yesno (cfg, | 1141 | "DISABLEV6") ) ) |
1142 | service_name, | 1142 | disablev6 = GNUNET_YES; |
1143 | "DISABLEV6"))) | ||
1144 | return GNUNET_SYSERR; | ||
1145 | } | ||
1146 | else | ||
1147 | disablev6 = GNUNET_NO; | ||
1148 | |||
1149 | if (! disablev6) | ||
1150 | { | ||
1151 | /* probe IPv6 support */ | ||
1152 | desc = GNUNET_NETWORK_socket_create (PF_INET6, | ||
1153 | SOCK_STREAM, | ||
1154 | 0); | ||
1155 | if (NULL == desc) | ||
1156 | { | ||
1157 | if ( (ENOBUFS == errno) || | ||
1158 | (ENOMEM == errno) || | ||
1159 | (ENFILE == errno) || | ||
1160 | (EACCES == errno) ) | ||
1161 | { | ||
1162 | LOG_STRERROR (GNUNET_ERROR_TYPE_ERROR, | ||
1163 | "socket"); | ||
1164 | return GNUNET_SYSERR; | ||
1165 | } | ||
1166 | LOG (GNUNET_ERROR_TYPE_INFO, | ||
1167 | _("Disabling IPv6 support for service `%s', failed to create IPv6 socket: %s\n"), | ||
1168 | service_name, | ||
1169 | STRERROR (errno)); | ||
1170 | disablev6 = GNUNET_YES; | ||
1171 | } | ||
1172 | else | ||
1173 | { | ||
1174 | GNUNET_break (GNUNET_OK == | ||
1175 | GNUNET_NETWORK_socket_close (desc)); | ||
1176 | desc = NULL; | ||
1177 | } | ||
1178 | } | ||
1179 | 1143 | ||
1180 | port = 0; | 1144 | port = 0; |
1181 | if (GNUNET_CONFIGURATION_have_value (cfg, | 1145 | if (GNUNET_CONFIGURATION_have_value (cfg, |