#include "s_newconf.h"
#include "s_stats.h"
#include "send.h"
-#include "s_auth.h"
+#include "authd.h"
#include "reject.h"
#include "s_conf.h"
#include "hostmask.h"
get_listener_port(const struct Listener *listener)
{
#ifdef RB_IPV6
- if(listener->addr.ss_family == AF_INET6)
+ if(GET_SS_FAMILY(&listener->addr) == AF_INET6)
return ntohs(((const struct sockaddr_in6 *)&listener->addr)->sin6_port);
else
#endif
F = rb_socket(GET_SS_FAMILY(&listener->addr), SOCK_STREAM, 0, "Listener socket");
#ifdef RB_IPV6
- if(listener->addr.ss_family == AF_INET6)
+ if(GET_SS_FAMILY(&listener->addr) == AF_INET6)
{
struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)&listener->addr;
if(!IN6_ARE_ADDR_EQUAL(&in6->sin6_addr, &in6addr_any))
/*
* XXX - we don't want to do all this crap for a listener
* set_sock_opts(listener);
+ *
+ * FIXME - doesn't this belong in librb? --Elizafox
*/
if(setsockopt(rb_get_fd(F), SOL_SOCKET, SO_REUSEADDR, (char *) &opt, sizeof(opt)))
{
return 0;
}
- /*
- * Bind a port to listen for new connections if port is non-null,
- * else assume it is already open and try get something from it.
- */
-
+ /* FIXME - doesn't this belong in librb? --Elizafox */
if(bind(rb_get_fd(F), (struct sockaddr *) &listener->addr, GET_SS_LEN(&listener->addr)))
{
errstr = strerror(rb_get_sockerr(F));
for (listener = ListenerPollList; listener; listener = listener->next)
{
- if(addr->ss_family != listener->addr.ss_family)
+ if(GET_SS_FAMILY(addr) != GET_SS_FAMILY(&listener->addr))
continue;
- switch(addr->ss_family)
+ switch(GET_SS_FAMILY(addr))
{
case AF_INET:
{
if(port == 0)
return;
memset(&vaddr, 0, sizeof(vaddr));
- vaddr.ss_family = family;
+ SET_SS_FAMILY(&vaddr, family);
if(vhost_ip != NULL)
{
free_client(new_client);
return;
}
- new_client->localClient->ssl_ctl = start_ssld_accept(F, xF[1], new_client->localClient->connid); /* this will close F for us */
+ new_client->localClient->ssl_ctl = start_ssld_accept(F, xF[1], connid_get(new_client)); /* this will close F for us */
if(new_client->localClient->ssl_ctl == NULL)
{
free_client(new_client);
++listener->ref_count;
- start_auth(new_client);
+ authd_initiate_client(new_client);
}
static const char *toofast = "ERROR :Reconnecting too fast, throttled.\r\n";