This file is indexed.

/etc/init.d/resolvconf is in resolvconf 1.79.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          resolvconf
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# X-Start-Before:    networking ifupdown
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Nameserver information manager
# Description:       This service manages the list of nameserver addresses
#                    used by the libc resolver and name service caches
### END INIT INFO
#
# This file is part of the resolvconf package.
#
# We really need "X-Stop-Before: networking ifupdown" too because
# terminal ifdowns shouldn't update resolv.conf;
# however there is unfortunately no such thing as "X-Stop-Before".
#
# This file is not used in Ubuntu.
#

# Don't use set -e; check return status instead.

[ -x /sbin/resolvconf ] || exit 0

PATH=/sbin:/bin
RUN_DIR=/etc/resolvconf/run
ENABLE_UPDATES_FLAGFILE="${RUN_DIR}/enable-updates"
POSTPONED_UPDATE_FLAGFILE="${RUN_DIR}/postponed-update"

. /lib/lsb/init-functions

# Abort if Upstart is in use, as per Policy ยง9.11.1.
case "$1" in
  start|restart|force-reload)
	init_is_upstart && exit 1
	;;
  stop)
	init_is_upstart && exit 0
	;;
esac

# $1 EXITSTATUS
# [$2 MESSAGE]
log_action_end_msg_and_exit()
{
	log_action_end_msg "$1" ${2:+"$2"}
	exit $1
}

create_runtime_directories()
{
	umask 022
	if [ ! -d "$RUN_DIR" ] ; then
		[ -L "$RUN_DIR" ] || log_action_end_msg_and_exit 1 "$RUN_DIR is neither a directory nor a symbolic link"
		# It's a symlink. Its target is not a dir.
		{ RUN_CANONICALDIR="$(readlink -f "$RUN_DIR")" && [ "$RUN_CANONICALDIR" ] ; } || log_action_end_msg_and_exit 1 "Canonical path of the run directory could not be determined"
		# Create directory at the target
		mkdir "$RUN_CANONICALDIR" || log_action_end_msg_and_exit 1 "Error creating directory $RUN_CANONICALDIR"
	fi
	# The resolvconf run directory now exists.
	if [ ! -d "${RUN_DIR}/interface" ] ; then
		mkdir "${RUN_DIR}/interface" || log_action_end_msg_and_exit 1 "Error creating directory ${RUN_DIR}/interface"
	fi
	# The interface directory now exists.  We are done.
	return
}

wipe_runtime_directories()
{
	# Delete files in the resolvconf run directory (target) but not the directory itself
	[ -d "$RUN_DIR" ] || return
	rm -f "$RUN_DIR"/resolv.conf
	rm -f "$ENABLE_UPDATES_FLAGFILE"
	rm -f "$POSTPONED_UPDATE_FLAGFILE"
	rm -rf "${RUN_DIR}/interface/*"
	return
}

case "$1" in
  start)
	# The "start" method should only be used at boot time.
	# Don't run this on package upgrade, for example.
	log_action_begin_msg "Setting up resolvconf"
	# Wipe runtime directories in case they aren't on a tmpfs
	wipe_runtime_directories
	# Create runtime directories in case they are on a tmpfs
	create_runtime_directories
	# Request a postponed update (needed in case the base file has content).
	:> "$POSTPONED_UPDATE_FLAGFILE" || log_action_end_msg_and_exit 1 "failed requesting update"
	# Enable updates and perform the postponed update.
	resolvconf --enable-updates || log_action_end_msg_and_exit 1 "failed to enable updates"
	log_action_end_msg_and_exit 0
	;;
  stop)
	# The "stop" method should only be used at shutdown time.
	log_action_begin_msg "Stopping resolvconf"
	resolvconf --disable-updates || log_action_end_msg_and_exit 1 "failed to disable updates"
	log_action_end_msg_and_exit 0
	;;
  restart)
	log_action_begin_msg "Restarting resolvconf"
	resolvconf --enable-updates || log_action_end_msg_and_exit 1 "failed to enable updates"
	log_action_end_msg_and_exit 0
	;;
  reload|force-reload)
	resolvconf -u || log_action_end_msg_and_exit 1 "failed to update"
	exit 0
	;;
  enable-updates)
	resolvconf --enable-updates || log_action_end_msg_and_exit 1 "failed to enable updates"
	exit 0
	;;
  disable-updates)
	resolvconf --disable-updates || log_action_end_msg_and_exit 1 "failed to disable updates"
	exit 0
	;;
  status)
	if resolvconf --updates-are-enabled ; then
		log_success_msg "resolvconf updates are enabled"
	else
		log_failure_msg "resolvconf updates are disabled"
	fi
	exit 0
	;;
  *)
	echo "Usage: /etc/init.d/resolvconf {start|stop|restart|reload|force-reload|enable-updates|disable-updates|status}" >&2
	exit 3
	;;
esac

# Don't reach here
exit 99