got m_webirc.c from ratbox3 contrib/

This commit is contained in:
Valery Yatsko 2008-04-02 15:30:49 +04:00
parent d1cf8afebd
commit c0e8f348f8
1 changed files with 4 additions and 9 deletions

View File

@ -87,13 +87,12 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
} }
aconf = find_address_conf(client_p->host, client_p->sockhost, aconf = find_address_conf(client_p->host, client_p->sockhost,
IsGotId(client_p) ? client_p->username : "webirc",
IsGotId(client_p) ? client_p->username : "webirc", IsGotId(client_p) ? client_p->username : "webirc",
(struct sockaddr *) &client_p->localClient->ip, (struct sockaddr *) &client_p->localClient->ip,
client_p->localClient->ip.ss_family); client_p->localClient->ip.ss_family);
if (aconf == NULL || !(aconf->status & CONF_CLIENT)) if (aconf == NULL || !(aconf->status & CONF_CLIENT))
return 0; return 0;
if (!IsConfDoSpoofIp(aconf) || irccmp(aconf->name, "webirc.")) if (!IsConfDoSpoofIp(aconf) || irccmp(aconf->info.name, "webirc."))
{ {
/* XXX */ /* XXX */
sendto_one(source_p, "NOTICE * :Not a CGI:IRC auth block"); sendto_one(source_p, "NOTICE * :Not a CGI:IRC auth block");
@ -118,20 +117,16 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
return 0; return 0;
} }
strlcpy(source_p->sockhost, parv[4], sizeof(source_p->sockhost)); strlcpy(source_p->sockhost, parv[4], sizeof(source_p->sockhost));
if(strlen(parv[3]) <= HOSTLEN) if(strlen(parv[3]) <= HOSTLEN)
strlcpy(source_p->host, parv[3], sizeof(source_p->host)); strlcpy(source_p->host, parv[3], sizeof(source_p->host));
else else
strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host)); strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host));
del_unknown_ip(source_p); rb_inet_pton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
inetpton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
/* Check dlines now, k/glines will be checked on registration */ /* 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)) if(!(aconf->status & CONF_EXEMPTDLINE))
{ {