Package: dnsmasq
Version: 2.71-1
Followup-For: Bug #684965

Dear Maintainer,

the issue occurs irregularly but frequent. Some web-pages will show up
after some reloads, other immediately and many never. Removing the -r
option fixes the problem for me completely. The resolv.conf in run looks
exactly like the one in etc (before 127.0.0.1 gets written to it) and i
really wonder what could be wrong. I have not checked the if disabling
the ExecStart in the service makes a difference.

If you provide me instructions on how to debug this I am happy to help.
At the moment i have not the time to get into this myself. I have basic
knowledge of dns and the dig tool. But i never did any advanced things
like configuring bind.

Cheers!
Jan


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dnsmasq depends on:
ii  dnsmasq-base         2.71-1
ii  init-system-helpers  1.19
ii  netbase              5.2

dnsmasq recommends no packages.

Versions of packages dnsmasq suggests:
ii  resolvconf  1.75

-- Configuration Files:
/etc/dnsmasq.conf changed:
conf-dir=/etc/dnsmasq.d

/etc/init.d/dnsmasq changed:
set +e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/dnsmasq
NAME=dnsmasq
DESC="DNS forwarder and DHCP server"
ENABLED=1
if [ -r /etc/default/$NAME ]; then
        . /etc/default/$NAME
fi
if [ -r /etc/default/locale ]; then
        . /etc/default/locale
        export LANG
fi
test -e /etc/dnsmasq.d/README || exit 0
test -x $DAEMON || exit 0
if [ -f /lib/lsb/init-functions ]; then
         . /lib/lsb/init-functions
else
         log_warning_msg () {
            echo "${@}."
         }
         log_success_msg () {
            echo "${@}."
         }
         log_daemon_msg () {
            echo -n "${1}: $2"
         }
         log_end_msg () {
            if [ $1 -eq 0 ]; then
              echo "."
            elif [ $1 -eq 255 ]; then
              /bin/echo -e " (warning)."
            else
              /bin/echo -e " failed!"
            fi
         }
fi
if [ ! "$RESOLV_CONF" ] &&
   [ "$IGNORE_RESOLVCONF" != "yes" ] &&
   [ -x /sbin/resolvconf ]
then
        RESOLV_CONF=/var/run/dnsmasq/resolv.conf
fi
for INTERFACE in $DNSMASQ_INTERFACE; do
        DNSMASQ_INTERFACES="$DNSMASQ_INTERFACES -i $INTERFACE"
done
for INTERFACE in $DNSMASQ_EXCEPT; do
        DNSMASQ_INTERFACES="$DNSMASQ_INTERFACES -I $INTERFACE"
done
if [ ! "$DNSMASQ_USER" ]; then
   DNSMASQ_USER="dnsmasq"
fi
DNSMASQ_OPTS="$DNSMASQ_OPTS --local-service"
start()
{
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        # /var/run may be volatile, so we need to ensure that
        # /var/run/dnsmasq exists here as well as in postinst
        if [ ! -d /var/run/dnsmasq ]; then
           mkdir /var/run/dnsmasq || return 2
           chown dnsmasq:nogroup /var/run/dnsmasq || return 2
        fi
        start-stop-daemon --start --quiet --pidfile /var/run/dnsmasq/$NAME.pid 
--exec $DAEMON --test > /dev/null || return 1
        start-stop-daemon --start --quiet --pidfile /var/run/dnsmasq/$NAME.pid 
--exec $DAEMON -- \
                -x /var/run/dnsmasq/$NAME.pid \
                ${MAILHOSTNAME:+ -m $MAILHOSTNAME} \
                ${MAILTARGET:+ -t $MAILTARGET} \
                ${DNSMASQ_USER:+ -u $DNSMASQ_USER} \
                ${DNSMASQ_INTERFACES:+ $DNSMASQ_INTERFACES} \
                ${DHCP_LEASE:+ -l $DHCP_LEASE} \
                ${DOMAIN_SUFFIX:+ -s $DOMAIN_SUFFIX} \
                ${RESOLV_CONF:+ -r $RESOLV_CONF} \
                ${CACHESIZE:+ -c $CACHESIZE} \
                ${CONFIG_DIR:+ -7 $CONFIG_DIR} \
                ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS} \
                || return 2
}
start_resolvconf()
{
        for interface in $DNSMASQ_EXCEPT
        do
                [ $interface = lo ] && return
        done
        if [ -x /sbin/resolvconf ] ; then
                echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.$NAME
        fi
        return 0
}
stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
/var/run/dnsmasq/$NAME.pid --name $NAME
}
stop_resolvconf()
{
        if [ -x /sbin/resolvconf ] ; then
                /sbin/resolvconf -d lo.$NAME
        fi
        return 0
}
status()
{
        # Return
        #   0 if daemon is running
        #   1 if daemon is dead and pid file exists
        #   3 if daemon is not running
        #   4 if daemon status is unknown
        start-stop-daemon --start --quiet --pidfile /var/run/dnsmasq/$NAME.pid 
--exec $DAEMON --test > /dev/null
        case "$?" in
                0) [ -e "/var/run/dnsmasq/$NAME.pid" ] && return 1 ; return 3 ;;
                1) return 0 ;;
                *) return 4 ;;
        esac
}
case "$1" in
  start)
        test "$ENABLED" != "0" || exit 0
        log_daemon_msg "Starting $DESC" "$NAME"
        start
        case "$?" in
                0)
                        log_end_msg 0
                        start_resolvconf
                        exit 0
                        ;;
                1)
                        log_success_msg "(already running)"
                        exit 0
                        ;;
                *)
                        log_end_msg 1
                        exit 1
                        ;;
        esac
        ;;
  stop)
        stop_resolvconf
        if [ "$ENABLED" != "0" ]; then
             log_daemon_msg "Stopping $DESC" "$NAME"
        fi
        stop
        RETVAL="$?"
        if [ "$ENABLED" = "0" ]; then
            case "$RETVAL" in
               0) log_daemon_msg "Stopping $DESC" "$NAME"; log_end_msg 0 ;;
            esac
            exit 0
        fi
        case "$RETVAL" in
                0) log_end_msg 0 ; exit 0 ;;
                1) log_warning_msg "(not running)" ; exit 0 ;;
                *) log_end_msg 1; exit 1 ;;
        esac
        ;;
  restart|force-reload)
        test "$ENABLED" != "0" || exit 1
        $DAEMON --test ${CONFIG_DIR:+ -7 $CONFIG_DIR} ${DNSMASQ_OPTS:+ 
$DNSMASQ_OPTS} >/dev/null 2>&1
        if [ $? -ne 0 ]; then
            NAME="configuration syntax check"
            RETVAL="2"
        else
            stop_resolvconf
            stop
            RETVAL="$?"
        fi
        log_daemon_msg "Restarting $DESC" "$NAME"
        case "$RETVAL" in
                0|1)
                        sleep 2
                        start
                        case "$?" in
                                0)
                                        log_end_msg 0
                                        start_resolvconf
                                        exit 0
                                        ;;
                                *)
                                        log_end_msg 1
                                        exit 1
                                        ;;
                        esac
                        ;;
                *)
                        log_end_msg 1
                        exit 1
                        ;;
        esac
        ;;
  status)
        log_daemon_msg "Checking $DESC" "$NAME"
        status
        case "$?" in
                0) log_success_msg "(running)" ; exit 0 ;;
                1) log_success_msg "(dead, pid file exists)" ; exit 1 ;;
                3) log_success_msg "(not running)" ; exit 3 ;;
                *) log_success_msg "(unknown)" ; exit 4 ;;
        esac
        ;;
  dump-stats)
        kill -s USR1 `cat /var/run/dnsmasq/$NAME.pid`
        ;;
  systemd-start-resolvconf)
        #start_resolvconf
        ;;
  systemd-stop-resolvconf)
        #stop_resolvconf
        ;;
  systemd-exec)
        exec $DAEMON --keep-in-foreground --enable-dbus \
            ${MAILHOSTNAME:+ -m $MAILHOSTNAME} \
            ${MAILTARGET:+ -t $MAILTARGET} \
            ${DNSMASQ_USER:+ -u $DNSMASQ_USER} \
            ${DNSMASQ_INTERFACES:+ $DNSMASQ_INTERFACES} \
            ${DHCP_LEASE:+ -l $DHCP_LEASE} \
            ${DOMAIN_SUFFIX:+ -s $DOMAIN_SUFFIX} \
            ${CACHESIZE:+ -c $CACHESIZE} \
            ${CONFIG_DIR:+ -7 $CONFIG_DIR} \
            ${DNSMASQ_OPTS:+ $DNSMASQ_OPTS}
            #${RESOLV_CONF:+ -r $RESOLV_CONF} \
        ;;
  *)
        echo "Usage: /etc/init.d/$NAME 
{start|stop|restart|force-reload|dump-stats|status}" >&2
        exit 3
        ;;
esac
exit 0


-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to