[IRC-DEV] BUG muy conocido y sin arreglar del IRCD

Toni García zoltan at teleline.es
Mon Apr 7 18:30:51 CEST 2003


> > Esto me causa fustraciones por no poder meter ban, ya se 
> que alguno de
> > vosotros me dirá que lo haga a la ip o al nick y ESTO NO ES 
> PLAN, hay
> 
> ¿Según tú cual sería la solución?.
> 

Veamos:

<<<< partes del RFC1413 que define el uso de IDENT

   <user-id> ::= <octet-string>

   <octet-string> ::= 1*512<octet-characters>

   <octet-characters> ::=
                  <any octet from  00 to 377 (octal) except for
                   ASCII NUL (000), CR (015) and LF (012)>
>>>>


<<<<< Parche de mascara invalida del ban
	    for (p = *parv; *p; p++)
	    {
	      if ((*p != 33) && (*p != 42) && (*p != 45) && (*p != 46)
&&
		  !((*p > 62) && (*p < 127)) && !((*p > 47) && (*p <
58)))
	      {
		sendto_one(cptr, err_str(ERR_INVALIDBANMASK), me.name,
		    cptr->name, chptr->chname, *parv);
		invalid_banmask = 1;
		break;
	    }
>>>>>>>

Tenemos 3 opciones:

A) Modificar el parche de máscara inválida del ban de tal forma que se
pueda poner todos los caracteres del 00 al 377 (en base8, en decimal
seria 0 a 255) exceptuando las excepciones definidas en el RFC1413. 

B) Quitar el parche.

C) Violar el RFC1413, haciendo que no se pueda poner en el username
caracteres inválidos por el chequeo de mascara invalida.


Un saludo

zoltan




More information about the IRC-Dev mailing list