186 |
|
{ |
187 |
|
sendto_one(source_p, form_str(ERR_NOSUCHSERVER), |
188 |
|
me.name, source_p->name, parv[server]); |
189 |
< |
return(HUNTED_NOSUCH); |
189 |
> |
return HUNTED_NOSUCH; |
190 |
|
} |
191 |
|
} |
192 |
|
else |
391 |
|
} |
392 |
|
|
393 |
|
if (server_conf == NULL) |
394 |
< |
return(error); |
394 |
> |
return error; |
395 |
|
|
396 |
|
attach_conf(client_p, server_conf); |
397 |
|
|
421 |
|
} |
422 |
|
} |
423 |
|
|
424 |
< |
return(0); |
424 |
> |
return 0; |
425 |
|
} |
426 |
|
|
427 |
|
/* add_capability() |
1184 |
|
#ifdef IPV6 |
1185 |
|
case AF_INET6: |
1186 |
|
{ |
1187 |
< |
struct irc_ssaddr ipn; |
1188 |
< |
struct sockaddr_in6 *v6; |
1189 |
< |
struct sockaddr_in6 *v6conf; |
1190 |
< |
|
1191 |
< |
memset(&ipn, 0, sizeof(struct irc_ssaddr)); |
1192 |
< |
v6conf = (struct sockaddr_in6 *)&conf->bind; |
1193 |
< |
v6 = (struct sockaddr_in6 *)&ipn; |
1194 |
< |
|
1195 |
< |
if (memcmp(&v6conf->sin6_addr, &v6->sin6_addr, |
1196 |
< |
sizeof(struct in6_addr)) != 0) |
1197 |
< |
{ |
1198 |
< |
memcpy(&ipn, &conf->bind, sizeof(struct irc_ssaddr)); |
1199 |
< |
ipn.ss.ss_family = AF_INET6; |
1200 |
< |
ipn.ss_port = 0; |
1201 |
< |
comm_connect_tcp(&client_p->localClient->fd, |
1202 |
< |
conf->host, conf->port, |
1203 |
< |
(struct sockaddr *)&ipn, ipn.ss_len, |
1204 |
< |
serv_connect_callback, client_p, |
1205 |
< |
conf->aftype, CONNECTTIMEOUT); |
1206 |
< |
} |
1207 |
< |
else if (ServerInfo.specific_ipv6_vhost) |
1187 |
> |
struct irc_ssaddr ipn; |
1188 |
> |
struct sockaddr_in6 *v6; |
1189 |
> |
struct sockaddr_in6 *v6conf; |
1190 |
> |
|
1191 |
> |
memset(&ipn, 0, sizeof(struct irc_ssaddr)); |
1192 |
> |
v6conf = (struct sockaddr_in6 *)&conf->bind; |
1193 |
> |
v6 = (struct sockaddr_in6 *)&ipn; |
1194 |
> |
|
1195 |
> |
if (memcmp(&v6conf->sin6_addr, &v6->sin6_addr, sizeof(struct in6_addr)) != 0) |
1196 |
> |
{ |
1197 |
> |
memcpy(&ipn, &conf->bind, sizeof(struct irc_ssaddr)); |
1198 |
> |
ipn.ss.ss_family = AF_INET6; |
1199 |
> |
ipn.ss_port = 0; |
1200 |
> |
comm_connect_tcp(&client_p->localClient->fd, |
1201 |
> |
conf->host, conf->port, |
1202 |
> |
(struct sockaddr *)&ipn, ipn.ss_len, |
1203 |
> |
serv_connect_callback, client_p, |
1204 |
> |
conf->aftype, CONNECTTIMEOUT); |
1205 |
> |
} |
1206 |
> |
else if (ServerInfo.specific_ipv6_vhost) |
1207 |
|
{ |
1208 |
< |
memcpy(&ipn, &ServerInfo.ip6, sizeof(struct irc_ssaddr)); |
1209 |
< |
ipn.ss.ss_family = AF_INET6; |
1210 |
< |
ipn.ss_port = 0; |
1211 |
< |
comm_connect_tcp(&client_p->localClient->fd, |
1212 |
< |
conf->host, conf->port, |
1213 |
< |
(struct sockaddr *)&ipn, ipn.ss_len, |
1214 |
< |
serv_connect_callback, client_p, |
1215 |
< |
conf->aftype, CONNECTTIMEOUT); |
1216 |
< |
} |
1217 |
< |
else |
1218 |
< |
comm_connect_tcp(&client_p->localClient->fd, |
1219 |
< |
conf->host, conf->port, |
1220 |
< |
NULL, 0, serv_connect_callback, client_p, |
1221 |
< |
conf->aftype, CONNECTTIMEOUT); |
1208 |
> |
memcpy(&ipn, &ServerInfo.ip6, sizeof(struct irc_ssaddr)); |
1209 |
> |
ipn.ss.ss_family = AF_INET6; |
1210 |
> |
ipn.ss_port = 0; |
1211 |
> |
comm_connect_tcp(&client_p->localClient->fd, |
1212 |
> |
conf->host, conf->port, |
1213 |
> |
(struct sockaddr *)&ipn, ipn.ss_len, |
1214 |
> |
serv_connect_callback, client_p, |
1215 |
> |
conf->aftype, CONNECTTIMEOUT); |
1216 |
> |
} |
1217 |
> |
else |
1218 |
> |
comm_connect_tcp(&client_p->localClient->fd, |
1219 |
> |
conf->host, conf->port, |
1220 |
> |
NULL, 0, serv_connect_callback, client_p, |
1221 |
> |
conf->aftype, CONNECTTIMEOUT); |
1222 |
|
} |
1223 |
|
#endif |
1224 |
|
} |
1225 |
< |
return (1); |
1225 |
> |
return 1; |
1226 |
|
} |
1227 |
|
|
1228 |
|
#ifdef HAVE_LIBCRYPTO |