On Friday 14 March 2008 16:53:07 Andrés Ambrois wrote:
> Holas!
>
> Les cuento lo que he avanzado con OLSR.
>
> Ayer constaté que lo que dice el man del dnsmasq no es mentira, y que:
>
> "When it receives a SIGHUP, dnsmasq clears its cache and then re-loads
> /etc/hosts and /etc/ethers. If --no-poll is set SIGHUP also re-reads
> /etc/resolv.conf. SIGHUP does NOT re-read the configuration file."
>
> Esto nos convierte en personas altamente felices, ya que los nodos que
> quieran utilizar dnsmasq para servir a aquellos clientes que no corran
> OLSRd (y por lo tanto no puedan hacer uso de su plugin nameservice), sólo
> necesitan mandarle SIGHUP al dnsmasq cuando tengan una entrada nueva en
> /etc/hosts (o donde su plugin nameservice esté escribiendo).
>
> Para facilitar esto, estaría bueno que el mismo plugin nameservice le
> mande el SIGHUP cuando agrega alguna entrada. Por eso preparé un patch para
> nameservice.c que llama a un script (cuyo path se especifica como opción en
> olsrd.conf) que puede hacer cosas locas (como mandarle el SIGHUP a dnsmasq,
> actualizar una página en el wiki con los datos del nuevo nodo, formatear el
> disco, etc.). Hay maneras mucho mejores de hacerlo, pero ésta es simple y
> funciona. El patch va adjunto.
>
> Un ejemplo, entonces, de la configuración de mi plugin nameservice:
>
> LoadPlugin "olsrd_nameservice.so.0.3"
> {
> PlParam "change-script" "/home/blade/holasoyunscriptloco.sh"
> PlParam "name" "matrix.sirius"
> #PlParam "a.b.c.d" "xxx-eth"
> #PlParam "a.b.c.e" "xxx-bbb"
> #PlParam "a.b.c.f" "xxx-olsr"
> PlParam "suffix" ".mvdl"
> PlParam "hosts-file" "/etc/hosts"
> PlParam "add-hosts" "/etc/hosts"
> PlParam "resolv-file" "/etc/resolv.conf"
> PlParam "lat" "-34.893702"
> PlParam "lon" "-56.116397"
> PlParam "latlon-file" "/home/blade/latlon.js"
> }
>
> y un ejemplo de holasoyunscriptloco.sh:
>
> if [ -r "/var/run/dnsmasq.pid" ]
> then
> kill -HUP `cat /var/run/dnsmasq.pid`
> echo "dnsmasq successfuly updated. Happy times."
> else
> echo "Warning: dnsmasq not started."
> fi
>
> También he encontrado un bug en el plugin, y es que no borra las
> entradas de nodos que hicieron timeout (ver que en la función
> timeout_old_names() en nameservice.c, olsr_timed_out(&(*tmp)->timer)
> siempre es verdadero, aunque se desconecte el nodo). De todas maneras los
> nodos se pueden caer, pero no van a cambiar de IP, así que no es tan
> terrible.
>
> Salú!
>
> -AndrésLa primer línea del script debería ser: if [ -r "/var/run/dnsmasq.pid" ] && [ -r "/proc/`cat /var/run/dnsmasq.pid`" ] :) También me doy cuenta que esto tendría que estar dirigido a la lista de desarrollo. Las disculpas del caso.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ General mailing list [email protected] http://lists.montevideolibre.org/listinfo.cgi/general-montevideolibre.org
