[ircd-ratbox] ChanServ UNBAN bug

Lee H lee at leeh.co.uk
Tue Jan 29 20:21:45 UTC 2008


On Mon, Jan 28, 2008 at 11:16:15AM +0200, Latchezar Tzvetkoff wrote:
> Well, actually ratbox IRCd supports ban stacking, but services doen't, 
> and ban masks like 1.2.3.4/5 will not get found by ChanServ, neither in 
> the find_exempt(...) function. However, there's another problem with IP 
> bans, too. If I put a ban to an IP that has a PTR (host), the client 
> will got banned, and he/she won't can unban through ChanServ, because it 
> doesn't resolve the hostnames in client_p->mask (client_p->host, i 
> saw...). I've decided to write a patch, and it is available at  
> http://sci-fi.co.cc/ratbox-services-1.1.2-polizei.diff.gz.
> The code is pretty ugly, imho :)
> I hope you find a better way doing it...

I will look into this, but I'm unlikely to port it back to the 1.1 tree so
if you want it there (1.2 is a while off yet) I will give you a few 
pointers:

- The users IP address (if the network is TS6) is already stored
  in client_p->user->ip.  This is the only trustable source for the IP
  address, and DNS lookups really shouldn't be used.  If you really do need
  this on a TS5 network, then my recommendation is to do the DNS lookup
  when the user connects in c_nick() instead.

- The cidr.c I have added into trunk should give you the IP matching code in
  an elegant and tested form.  match_ips() will match the cidr mask against
  the IP, match_cidr() isn't really suitable in this situation.

  See: http://ircd.ratbox.org/cgi-bin/index.cgi?rev=25052&view=rev


Any questions, let me know.

Cheers,

-- 
-                 Lee H // anfl
-        I code, therefore I break things.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.ratbox.org/pipermail/ircd-ratbox/attachments/20080129/f55b5520/attachment.pgp 


More information about the ircd-ratbox mailing list