The default config file enables option syslog which caused addrwatch to crash. I found a solution by explicitly disabling syslog in /etc/config/addrwatch; syslog doesn't work when you don't have a syslog daemon running but only using OOB logging facilities. Leaving option syslog enabled causes addrwatch to crash. I configured a flat logfile instead:
config addrwatch
option disabled '0'
list interface 'lan'
option syslog '0'
option verbose '1'
option output '/var/log/addrwatch'
Also I applied this patch to /etc/init.d/addrwatch to correct some errors in the spelling or handling of comandline options:
40,47c40,47
< [ "$syslog" -eq 1 ] && procd_append_param command --syslog
< [ -n "$output" ] && procd_append_param command --output "$output"
< [ "$quiet" -eq 1 ] && procd_append_param command --quiet
< [ "$verbose" -eq 1 ] && procd_append_param command --verbose
< [ "$ipv4only" -eq 1 ] && procd_append_param command --ipv4only
< [ "$ipv6only" -eq 1 ] && procd_append_param command --ipv6only
< [ -n "$hashsize" ] && procd_append_param command --hashsize "$hashsize"
< [ -n "$ratelimit" ] && procd_append_param command --ratelimit "$ratelimit"
---
> [ "$syslog" -eq 1 ] && procd_append_param command "--syslog"
> [ -n "$output" ] && procd_append_param command "--output=$output"
> [ "$quiet" -eq 1 ] && procd_append_param command "--quiet"
> [ "$verbose" -eq 1 ] && procd_append_param command "--verbose"
> [ "$ipv4only" -eq 1 ] && procd_append_param command "--ipv4-only"
> [ "$ipv6only" -eq 1 ] && procd_append_param command "--ipv6-only"
> [ -n "$hashsize" ] && procd_append_param command "--hashsize=$hashsize"
> [ -n "$ratelimit" ] && procd_append_param command "--ratelimit=$ratelimit"