From bdbe991f536f53008f0b289973bc011d1f9efdbf Mon Sep 17 00:00:00 2001 From: Valery Yatsko Date: Wed, 2 Apr 2008 15:32:01 +0400 Subject: [PATCH] m_webirc.c fixed --- extensions/m_webirc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/extensions/m_webirc.c b/extensions/m_webirc.c index 1b420291f..2f71fa12b 100644 --- a/extensions/m_webirc.c +++ b/extensions/m_webirc.c @@ -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,12 +118,14 @@ 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); /* Check dlines now, k/glines will be checked on registration */