]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - extensions/m_webirc.c
SSL options added to configuration files
[irc/rqf/shadowircd.git] / extensions / m_webirc.c
index 1b420291f5d543d2d994eb41ddf5647609b9d009..36a83894319b3c6bf029542e5d7177b116a27463 100644 (file)
@@ -87,12 +87,13 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
        }
 
        aconf = find_address_conf(client_p->host, client_p->sockhost, 
+                               IsGotId(client_p) ? client_p->username : "webirc",
                                IsGotId(client_p) ? client_p->username : "webirc",
                                (struct sockaddr *) &client_p->localClient->ip,
                                client_p->localClient->ip.ss_family);
        if (aconf == NULL || !(aconf->status & CONF_CLIENT))
                return 0;
-       if (!IsConfDoSpoofIp(aconf) || irccmp(aconf->info.name, "webirc."))
+       if (!IsConfDoSpoofIp(aconf) || irccmp(aconf->name, "webirc."))
        {
                /* XXX */
                sendto_one(source_p, "NOTICE * :Not a CGI:IRC auth block");
@@ -117,16 +118,20 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
                return 0;
        }
 
+
        strlcpy(source_p->sockhost, parv[4], sizeof(source_p->sockhost));
+
        if(strlen(parv[3]) <= HOSTLEN)
                strlcpy(source_p->host, parv[3], sizeof(source_p->host));
        else
                strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host));
-
-       rb_inet_pton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
+       
+       del_unknown_ip(source_p);
+       inetpton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
 
        /* Check dlines now, k/glines will be checked on registration */
-       if((aconf = find_dline((struct sockaddr *)&source_p->localClient->ip)))
+       if((aconf = find_dline((struct sockaddr *)&source_p->localClient->ip, 
+                              source_p->localClient->ip.ss_family)))
        {
                if(!(aconf->status & CONF_EXEMPTDLINE))
                {