/sbin/dhcpcd3 is in dhcpcd 1:3.2.3-9ubuntu1.
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 | #!/bin/bash
# dhcpcd doesn't support a config file, just command line options.
# ifup can set some options (-h -i -I -l) but no others.
# This wrapper adds any other options set in /etc/default/dhcpcd
# (and the hostname if not set by ifup or /etc/default/dhcpcd)
# and then calls the dhcpcd binary, named dhcpcd-bin.
#
# Note that this wrapper _requires_ the interface name: it doesn't support
# the eth0 default that dhcpcd proper does.
if [ "$1" = "--version" ]; then echo "3.2.3"; exit 0; fi
# get interface
eval INTERFACE=\${$#}
if [ $# = 0 ] ||
[ ${INTERFACE:0:1} = '-' ]
then
echo "Usage: dhcpcd [options] <interface>"
exit 1
fi
# determine if we will add the option to send the current hostname
sendhost=yes
sethost=no
setclid=yes
for o
do
if [ x"$o" = x"-h" ]; then
sendhost=no
fi
if [ x"$o" = x"-H" ]; then
sethost=yes
fi
if [ x"$o" = x"-I" ]; then
setclid=no
fi
done
# load configuration file
if [ -f /etc/default/dhcpcd ] ; then
. /etc/default/dhcpcd
fi
for o in ${OPTIONS[@]}
do
if [ "$o" = "-h" ]; then
sendhost=no
fi
if [ "$o" = "-H" ]; then
sethost=yes
fi
if [ x"$o" = x"-I" ]; then
setclid=no
fi
done
# Note that in the absence of /etc/default/dhcpcd we play safe and disallow
# changes to /etc/resolv.conf and friends.
if [ "$SET_DNS" != "yes" ]; then
OPTIONS=("-R" "${OPTIONS[@]}")
fi
#if [ "$SET_DOMAIN" = "yes" ]; then
# OPTIONS="-D $OPTIONS"
#fi
if [ "$SET_HOSTNAME" = "yes" ]; then
OPTIONS=("-H" "${OPTIONS[@]}")
sethost=yes
fi
if [ "$SET_NTP" != "yes" ]; then
OPTIONS=("-N" "${OPTIONS[@]}")
fi
if [ "$SET_YP" != "yes" ]; then
OPTIONS=("-Y" "${OPTIONS[@]}")
fi
# We tell dhcpcd to send the hostname iff the option is not
# already set by our caller, and the hostname will not be changed
# by dhcpcd
if [ $sendhost = yes ] &&
[ $sethost = no ] &&
[ -x /bin/hostname ]
then
name=`/bin/hostname`
if [ ${#name} != 0 ]; then
OPTIONS=("-h" "$name" "${OPTIONS[@]}")
fi
fi
# if we have been upgraded, /etc/dhcpc/inhibit-duid will exist,
# so for the client-id to be backwards compatible unless explicitly set
if [ $setclid = yes ] &&
[ -f /etc/dhcpc/inhibit-duid ]; then
exec /sbin/dhcpcd-bin -I '' "${OPTIONS[@]}" "$@"
else
exec /sbin/dhcpcd-bin "${OPTIONS[@]}" "$@"
fi
|