aboutsummaryrefslogtreecommitdiff
path: root/src/util/service.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-03-02 11:27:11 +0100
committerChristian Grothoff <christian@grothoff.org>2019-03-02 11:27:11 +0100
commitbb3ff9584ea7ac92b742d2f435173dbd0d4f1589 (patch)
tree6f9d10238ed5bd8a79737315b5af31b8fa6abdb9 /src/util/service.c
parent1b1edf92c24f91c36747458e880e0d6a5e559e95 (diff)
downloadgnunet-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.c52
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,