#!/bin/sh
# Dispatcher de NetworkManager: sincronizar en cuanto la maquina tenga red.
#
# Instalar en /etc/NetworkManager/dispatcher.d/90-vendingzets-sync
#   sudo install -m 755 -o root -g root \
#     systemd/90-vendingzets-sync /etc/NetworkManager/dispatcher.d/
#
# NetworkManager lo corre con:  $1 = interfaz, $2 = evento
#
# Sin esto, el tecnico conecta el hotspot del telefono y el agente no lo nota
# hasta su proximo reintento -- que en modo oportunista puede ser hasta
# offline_max_interval (5 minutos por defecto) despues, con la persona parada
# al lado de la maquina esperando. Con esto la cola empieza a subir en cuanto
# la interfaz queda arriba.
#
# NetworkManager exige que el archivo sea de root, no escribible por otros y
# ejecutable; si no, lo ignora en silencio (no avisa por ningun lado).

[ "$2" = "up" ] || [ "$2" = "vpn-up" ] || exit 0

# systemctl kill y no un `kill` con PID: el PID vive dentro de la unit y
# systemd ya sabe cual es. SIGUSR1 lo maneja el agente (ver
# service.py:_install_signal_handler).
systemctl kill -s SIGUSR1 vendingzets-agent.service 2>/dev/null || true

exit 0
