#!/bin/sh
#
# lvpn install-script tu-nodo subnet postqueue
# 
# Autor: Nicolás Reynolds <fauno@endefensadelsl.org>
# 
# Para usar con http://wiki.hackcoop.com.ar/Correo_local
#
# Cuando vuelve el enlace con el transporte, correr postqueue para
# enviarle todos los correos detenidos.  Instalar en el evento subnet.

case $1 in
  up)
    # Pinguear la IP antes de intentar mandarle mails (de paso se crea
    # el tunel)
    ping -c 5 ${SUBNET%/*} &>/dev/null &&
    # Buscar en la tabla de transportes la ip y el sitio del host que se
    # acaba de conectar, si es, flushear la cola de postfix
    #
    # Ignorar las líneas comentadas
    grep "^[^#]" /etc/postfix/transport |
      # Buscar la subnet actual en la lista de transportes habilitados
      grep ":\[${SUBNET%/*}\]:" |
      # Obtener el sitio y el host
      while read site host; do
        # Flushear la cola para este sitio
        postqueue -s "${site}"
      done
  ;;
  down) ;;
esac
