openSSL, Debian y la línea comentada de md_rand.c

Correción del fallo de la llamada al aleatorizador "bueno" de openSSL

El Error de openSSL en Debian subsanado dos años después

Menuda que se ha montado con el fallo detectado en el empaquetado del paquete openssl para distribuciones Debian y derivados, como Ubuntu. Al parecer tuvieron a bien comentar una inocente línea de código hace dos años que les daba unos errores molestos en código “no relacionado”, como bien comenta uno de los empaquetadores en el cambio en abril de 2006…

openssl (0.9.8a-9) unstable; urgency=low
[…]
* Don’t add uninitialised data to the random number generator. This stop
valgrind from giving error messages in unrelated code.
(Closes: #363516)

— Kurt Roeckx Thu, 6 Apr 2006 20:34:07 +0200

Esta cosa tan inocente consistía en comentar una llamada a una función de código que al parecer les daba un mensaje de error en alguna otra parte de código “no relacionado.” El caso es que justamente esta llamada es necesaria para que el proceso interno de generación de números aleatorios en la creación de claves asimétricas tipo RSA sea realmente aleatorio.

Continue reading

Windows Error Reporting is lost in translation

windows_error_reporting.JPG

Hoy se me ha reiniciado de golpe y sin aviso el ordenador en el curro. Bueno sin aviso no. El LED del disco duro se puso a parpadear como un descosido. El caso es que tras la recuperación el bonito Windows Xp y su flamante sistema de informe de errores me mandó a una de las páginas de soporte de Microsoft. Realmente descriptiva. Sobre todo esa mezcla de traductor automático de la original en inglés.

La explicación del reinicio es bien sencilla,

Este mensaje ha aparecido porque un controlador de dispositivo instalado en el equipo provocó que el sistema operativo Windows se detuviese inesperadamente. Este tipo de error se conoce como “error de detención”. Ante un error de detención es necesario reiniciar el equipo.

Si no se quedó “detenido”, se reinició de forma unilateral. Bendito Eclipse que lo tenía todo guardado. No me hizo falta seguir con el “es necesario reiniciar el equipo…”

Continue reading

Mi primer bug aceptado

Cuando estaba haciendo mi Proyecto Fin de Carrera tuve problemas con la implementación de PEAR para PHP del protocolo SOAP para llamadas remotas. Dentro de los paquetes disponibles para PEAR existe uno aún en fase beta pero muy avanzado que permite implementar un cliente y un servidor compatible con el estándar SOAP. El problema en cuestión era que cuando usabas el transporte HTTP bajo SSL, vamos, HTTPS, la implementación se olvidaba de incluir la mitad de las cabeceras HTTP, entre ellas, las cookies, y por tanto era imposible mantener el estado de sesión entre una petición y la siguiente, ya que PHP usa, entre otras, cookies temporales con el identificador único de sesión.

El caso es que tocó mirar los fuentes del paquete SOAP en buscar del problema hasta que dí con el fallo y les mandé el problema a su sistema de seguimiento de fallos. La solución era sencilla y se podía hacer mientras tanto sin necesidad de tocar el código fuente del paquete.

Hoy por fin, casi un año después de abrir la incidencia la han cerrado enviando a su sistema de control de versiones el parche corrigiendo el problema. Han sido un poco lentos, pero es lo que tiene el desarrollo de open source, que si no hay recursos, va lento.

Creo que he subido un par de puntos en mi nivel de frikiclorianos.

SELECT * FROM cake WHERE 1

Hoy un poquito de mash-up de posts. Concretamente, dos errores de programación cuyas consecuencias son algo más que un pantallazo azul o una página web en blanco.

El primero de ellos, un error del programa que gestiona la impresión de texto en el plástico de un envase. Exige un poco de agudeza visual, pero canta en seguida que algo no debería salir así:

SQL Chocolate

Una bonita query o petición SQL al final de la lista de ingredientes, SELECT * FROM [Equipment Table] WHERE [Equipment Id] = 4. Visto en The Daily WTF.
Continue reading

Ventanas modales, bloqueo de escritorio y Windows Xp

Esto es lo que me ha pasado hoy en el equipo de trabajo al bloquearlo mientras instalaba un certificado de seguridad. La ventana del asistente de instalación es modal “siempre encima” y nada, se lo ha tomado muy a pecho. Los botones de acción se podían pulsar y todo y el cuadro de diálogo se cerraba sin problemas. Tiene su gracia.

Ventana modal y bloqueo por contraseña en Windows Xp

No creo que sea más que un detalle anecdótico y no tendrá muchas implicaciones de seguridad. Y sí, me toca usar Windows…