Parches para Nullhttpd y Mgetty 
Nullhttpd es un mini servidor web con multihilos, GPL y compilable tanto en Windows como en Linux. Soporta la interface CGI y lo estamos usando para un proyecto embebido en la oficina: compilado con la glibc6 ocupa tan solo 32 KBytes (un único ejecutable).

Debido a que sólo soporta CGIs Perl y PHP, he tenido que parchear el código para que pueda cargar y ejecutar scripts Bash (ficheros con extensión .sh).

En la sección soft puede bajarse el fichero cgi.c que sustituye al que incluye por defecto la versión 0.5.1. Además del soporte para scripts bash he añadido la variable de entorno CGI_ROOT que indica el directorio de ejecución de los scripts cgi en el servidor. Indispensable para poder hacer un

exec $CGI_ROOT/mi_programa

desde un script cgi.

mgetty es una utilidad similar al getty de consola pero diseñada específicamente para interactuar con módems. Soporta meta-usuarios como /AutoPPP/ y /FIDO/ que permiten utilizarlo en servidores telefónicos de PPP. El parche que hice permite utilizar un meta-usuario nuevo: /Empty/, que simboliza una conexión en la que el otro extremo no envía ningún dato durante, al menos 2 segundos. De esta forma mgetty no tiene por qué esperar siempre a que se envíen datos desde el otro extremo como hace la versión oficial.

Con este parche se puede añadir una línea como esta al fichero /etc/mgetty+sendfax/login.config:

/Empty/ - - /bin/mi_programa

/bin/mi_programa será landazo sin en 2 segundos después de descolgar, el extremo origen de la llamada no envía ningún dato. Como el resto de procesos arrancados por mgetty, los descriptores de fichero stdin y stdout de /bin/mi_programa son redireccionados como datos en el módem.

[ 1 comentario ] ( 450 visualizaciones )   |  [ 0 trackbacks ]   |  enlace permanente
  |    |    |    |   ( 3 / 1019 )

<< <Anterior | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | Siguiente> >>