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/service.c | |
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/service.c')
-rw-r--r-- | src/util/service.c | 52 |
1 files changed, 8 insertions, 44 deletions
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, |