From the monthly archives:

October 2008

Juegos para el Día de Muertos (2008)

by Jorge Machin on October 28, 2008 · 0 comments

in Personal, Videojuegos

Creo que jugar videojuegos en el día muertos se ha vuelto una tradición porque no hay nada más escalofriante que pasar la noche de ese día con las luces apagadas, el reflejo de las velas del altar en las escaleras, el sonido a mis espaldas de pasos invisibles del edificio vecino y los gritos grotescos de zombies y otras criaturas infernales producidos por los altavoces de mi computadora. Eso sin contar la impresión del año pasado de ver a la niña paliducha con el pelo lacio y vestido rojo que caminaba desafiante por el techo.

Para este año, el terror me espera con estos juegos:

Dracula - Quien sabe porque en el screenshot la nieva salió azul
Dracula - Quien sabe porque en el screenshot la nieva salió azulDraculaDraculaDraculaDraculaHouse of the Dead 2Zombie Panic - ¡Imagínate que seas tú el zombie!Zombie Panic - ¡Este no se me va!Blood Rayne 2 - Eso es a lo que llamo una mordida con estiloBlood Rayne 2 - Nuestra heroína mostrando su poderVigilVigilSuffering

Espero que sigan mi ejemplo y al igual que yo preserven las tradiciones :)

{ 0 comments }

POP before SMTP con Sendmail y Qpopper

by Jorge Machin on October 26, 2008 · 0 comments

in Fedora, Linux

Ls solución de POP before SMTP que utilizaba en mis años mozos en Interalia estaba basada enpoprelay, qpopper como servidor pop y sendmail como mi servidor SMTP.

Aunque es cierto que la utilizaba hace mucho tiempo (2001?) y actualmente hay muchas otras opciones, se puede comprobar que sigue siendo una opción válida y efectiva.

Instalación de qpopper

Los fuentes se compilan de la siguiente forma:

./configure --enable-specialauth
make
cp popper/popper /usr/local/bin

Finalmente declaramos el servicio en xinetd, creando el archivo /etc/xinetd.d/qpopper :

service pop3
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/bin/popper
server_args = qpopper –s
port = 110
}

Y reiniciamos xinetd:

/etc/rc.d/init.d/xinetd restart

Poprelay

El código fuente de Poprelay se pueden encontrar en Sourceforge.

Una vez instalado, para hacerlo funcionar con sendmail, se debe integrar el siguiente código al archivo de configuración /etc/sendmail.mc:

# We probably want the access_db feature enabled.

FEATURE(access_db)dnl

# List of IP addresses we allow relaying from.

Klocalip hash -a<MATCH> /etc/mail/localip
Kpopip hash  -a<MATCH> /etc/mail/popip

LOCAL_RULESETS

SLocal_check_rcpt

# Put the address into cannonical form (even if it doesn't resolve to an MX).

R$*   $: $>Parse0 $>3 $1
R$* <$*> $*  $: $1 <$2 .> $3      Pretend it's canonical.
R$* <$* . .> $*  $1 <$2 .> $3   Remove extra dots.

# Allow relaying if the connected host is a local IP address.

R$*   $: <$&{client_addr}>  Get client IP address.
R<>   $#OK    Local is ok.
R<$* . $-> $*      $(localip $1.$2 $: <$1> . $2 $)    Check last three octets.
R$* <MATCH>  $#OK
R<$-> $*        $: $(localip $1 $: <> $1 $2 $)    Check first octet.
R$* <MATCH>  $#OK

# Allow relaying if the connected host has recently POP3 authenticated.

R$*   $: <$&{client_addr}>  Get client IP address.
R<$*>       $(popip $1 $)   Check full address.
R$* <MATCH>  $#OK

# IP address didn't match.

Recreamos el archivo /etc/sendmail.cf con:

m4 /etc/sendmail.mc> /etc/sendmail.cf

Crear el archivo /etc/mail/localip el cual contiene una lista de todas las direcciones IP y redes que se les va a permitir hacer relay sin autentificacion.

touch /etc/mail/localip

Crear el archivo /etc/mail/popip:

makemap hash /etc/mail/popip </dev/null

Modificar la función scanaddr del archivo /sbin/poprelayd según la versión del servidor de correo POP:

qpoper 2.5X

sub scanaddr ($) {
   local $s, $i, @adressen;
   $s = $_[0];
   $i = index ($s,'popper');
   undef @adressen;
   if ($i>=0){
   ($s =~  /.*?popper.*?POP login.*?(d{1,3}.d{1,3}.d{1,3}.d{1,3})/) && (push (@adressen,$1));     
   }
   return @adressen;
}

qpoper 3.X o posterior:

sub scanaddr ($) {
   local $s, $i, @adressen;
   $s = $_[0];
   $i = index ($s,'popper');
   undef @adressen;
   if ($i>=0){
   ($s =~  /.*?popper.*?(d{1,3}.d{1,3}.d{1,3}.d{1,3})/) && (push (@adressen,$1));     
   }
   return @adressen;
}

En la versión 4 de qpopper se debe agregar esta función:

sub log_parse_qpopper_new ($) {
   local $s,$i,@adressen;
   $s = $_[0];
   $i = index($s,'popper');
   undef @adressen;
   if ($i>=0){
   ($s =~ /.*?popper.*?(d{1,3}.d{1,3}.d{1,3}.d{1,3})/) && (push (@adressen,$1));
   }
   return @adressen;
}

Levantar el demonio y colocarlo en /etc/rc.d/rc.local:

poprelay -d

o bien hacer un archivo de inicialización:

#!/bin/bash
#
# Init file for poprelay server daemon
#
# chkconfig: 2345 55 25
# description: pop/imap client relay deamon
#
# processname: poprelayd
# pidfile: /var/run/poprelayd.pid

# source function library
. /etc/rc.d/init.d/functions

# pull in sysconfig settings

RETVAL=0
POPRD="/sbin/poprelayd";
prog="poprelayd"

start()
{
        echo -n $"Starting $prog:"
        initlog -c "$POPRD -d" && success || failure
        RETVAL=$?
        [ "$RETVAL" = 0 ] && touch /var/lock/subsys/poprelayd
        echo
}

stop()
{
        echo -n $"Stopping $prog:"
        killproc $POPRD -TERM
        RETVAL=$?
        [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/poprelayd
        echo
}

reload()
{
        echo -n $"Reloading $prog:"
        killproc $POPRD -HUP
        RETVAL=$?
        echo
}

check()
{
        PROCS=`ps -ef | grep "poprelayd -d" | grep -v grep | wc -l`
        if [ $PROCS -ne 1 ]; then
        echo "Restarting dead poprelayd: $PROCS running";
                stop;
                start;
        fi
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        reload)
                reload
                ;;
        check)
                check
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
                RETVAL=1
esac
exit $RETVAL

{ 0 comments }

En la línea de comandos, ejecutamos el comando telnet con la dirección o nombre del servidor que queremos probar seguido de su puerto. Por lo general es el 80, pero puede variar según la configuración del servidor que queremos conectar. Algunos que se utilizan para aplicaciones en JAVA utilizan el 8080, por citar un ejemplo.

$ telnet www.machin.com.mx 80

Después de presionar enter, se nos deslpliega algo similar a esto:

Trying 209.213.123.158...
Connected to www.machin.com.mx.
Escape character is '^]'.

Ahora tecleamos el comando GET seguido de algún archivo en nuestro servidor con el que queramos probar; o bien simplemente llamando el home con la ruta de raíz (En terminales sin eco no se ve lo que escribimos, por lo que se recomienda usar "copy and paste"):

GET /

Lo cual nos regresa la página que nos interesa además de algún mensaje http asociado si es el caso.

Para saber mas...

Los comandos HTTP están definidos en el RFC 2616, el cual podemos checar en el sitio de w3.

{ 0 comments }

Easy ride

by Jorge Machin on October 19, 2008 · 0 comments

in Canciones

Es una omisión muy grande, el no incluir aquí la letra de alguna canción de Madonna. Así que aquí esta:

I want the good life,
but I don't want an easy ride.
What I want is to work for it,
feel the blood and sweat on my fingertips.
That's what I want for me.

I want to know everything,
Maybe someday I will.
What I want is to find my place,
Breathe the air and feel the sun on my childrens face.
That's what I want.

Coro:

I go round and round just like a circle
I can see a clearer picture
When I touch the ground I come full circle
To my place and I am home...
I am home

I want to let go of all disappointment that's waiting for me.
What I want is to live forever
not defined by time and space.
It's a lonely place.
That's what I want.

La verdad, es tan díficil decidirse por alguna, que sólo puse la que tocó aleariamente el player.

{ 0 comments }

Salsa verde mexicana

by Jorge Machin on October 4, 2008 · 0 comments

in Gastronomía, Personal, Recetas

La salsa verde mexicana es un aditamento indispensable para acompañar varios platillos mexicanos. Sirve para taquitos, parrilladas o acompañar un rico plato de arroz. Es fácil de hacer en casa y su sabor nunca podrá ser igualada por las compradas en latas o frascos.

Ingredientes

- 4 tomates verdes.

- 1/4 de cebolla.

- 1 o 2 chiles serranos dependiendo de que tan picante se quiera.

- 1 diente de ajo.

- 2 ramas de cilantro.

- 1/4 de cucharadita de sal.

 


Salsa verde

Elaboración

1. Lavar y desinfectar los chiles y el cilantro.

2. Quitar la cáscara a los tomates y lavarlos con abundante agua y desinfectarlos.

3. Poner a hervir una taza de agua. Cuando suelte el hervor, meter los tomates en el agua y dejarlos cocer durante 5 minutos.

4. Hechar en la licuadora 1/4 de taza del agua que se utilizó para cocer los tomates.

5. Agregar todos los ingredientes menos los tomates y molerlos en la licuadora.

6. Agregar los tomates y moler ligeramente porque la salsa debe tener consistencia (originalmente se preparaba en molcajete).

7. Freír en aceite hasta que cambie de color.

8. Vertir en tazón o salsera.

Nota:

- Si no se quiere picante, se desvenan los chiles.

- También se puede hacer la versión "cruda" omitiendo el paso 7.

{ 0 comments }