#!/bin/sh

# Check auto-config status
AUTO_CONFIG=`grep "^auto_configure[[:space:]]*=[[:space:]]*yes" /etc/clearos/print_server.conf 2>/dev/null`

[ -n "$AUTO_CONFIG" ] || exit 0

# Update listen IPs
if [ -d /etc/cups ]; then
    echo "# Automatically generated by init script" > /etc/cups/cupsd.listen.conf.auto
    LANIPS=`/usr/sbin/network --get-lan-ips 2>/dev/null`

    for IP in $LANIPS 127.0.0.1; do
        echo "Listen $IP:631" >> /etc/cups/cupsd.listen.conf.auto
    done
fi

if diff /etc/cups/cupsd.listen.conf.auto /etc/cups/cupsd.listen.conf >/dev/null 2>&1; then
    rm -f /etc/cups/cupsd.listen.conf.auto
else
    logger -p local6.notice -t 'print-server' 'network change detected - updating configuration'
    mv /etc/cups/cupsd.listen.conf.auto /etc/cups/cupsd.listen.conf
    /sbin/service cups condrestart >/dev/null 2>&1
fi
