5 de Enero, 2006

Actualización crítica de bogom

Llevaba ya bastante tiempo, unos cuantos meses, con la mosca detrás de la oreja, pero no daba con el problema. Es bastante frustrante saber que algo pasa, pero no dar con lo que es :S.

Además, ahora que lo he resuelto, llevo un cabreo enorme, todo porque resulta que no sé leer documentación:

xxfi_header is called zero or more times between xxfi_envrcpt and xxfi_eoh, once per message header.

Es un error importante, porque parte del diseño del programa. Como conté en mi charla, una de las consideraciones a tener en cuenta al trabajar con la librería Milter es que no hay concordancia 1:1 entre conexiones e hilos, así que la gestión de recursos debe hacerse por mensaje.

Hasta ahora, por cuestiones de eficiencia, retrasaba la petición de esos recursos hasta que se empezaban a procesar las cabeceras. Pues como bien dice la documentación, ese callback se llama cero o más veces, y ese cero es lo que hacía que el programa se fuera de paseo (cuando llegaba un mensaje sin cabeceras).

Bueno, no es nada frecuente, por eso me ha costado dar con el motivo por el cual el programa a veces terminaba silenciosamente y sin que nada en los logs me diera motivos para sospechar.

El fallo no se puede explotar, así que la cosa queda en una denegación de servicio si un usuario malintencionado manda mensajes si cabeceras (lo que efectivamente desactivaría el filtro anti-spam, pero sin más consecuencias).

En fin, ya está corregido, como se puede ver en el anuncio de la versión 1.8.2.

Anotación por Juan J. Martínez, clasificada en: antispam.

Hay 1 comentario

Gravatar

ahhh, lo que me queda por aprender.

Un saludo

por magin, en 2006-01-06 00:57:42

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: