ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/server.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/s_serv.c (file contents):
Revision 2181 by michael, Fri May 31 20:53:11 2013 UTC vs.
Revision 2182 by michael, Tue Jun 4 12:19:04 2013 UTC

# Line 186 | Line 186 | hunt_server(struct Client *client_p, str
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
# Line 391 | Line 391 | check_server(const char *name, struct Cl
391    }
392  
393    if (server_conf == NULL)
394 <    return(error);
394 >    return error;
395  
396    attach_conf(client_p, server_conf);
397  
# Line 421 | Line 421 | check_server(const char *name, struct Cl
421      }
422    }
423  
424 <  return(0);
424 >  return 0;
425   }
426  
427   /* add_capability()
# Line 1184 | Line 1184 | serv_connect(struct MaskItem *conf, stru
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

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)