HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //usr/lib/vz-tools/tools/scripts/debian-get_dhcp.sh
#!/bin/bash
# Copyright (c) 2015-2017, Parallels International GmbH
# Copyright (c) 2017-2019 Virtuozzo International GmbH. All rights reserved.
#
# This script detect is DHCP enabled for Debian like VMs.
#
# Arguments: <ADDR> <DEV> <PROTO>
#   ADDR       - hardware address of adapter
#   DEV        - name of device ( eth1 )
#   PROTO      - proto "4" or "6". If empty - 4.
#
# Return:
#   2 - can't detect or some error
#   0 - enabled
#   1 - disabled 
#

ETH_MAC=$1
ETH_DEV=$2
PROTO=$3
ETH_MAC_NW=`echo $ETH_MAC | sed "s,00,0,g"`

prog="$0"
path="${prog%/*}"
funcs="$path/functions"

if [ -f "$funcs" ] ; then
	. $funcs
else
	echo "Program $0"
	echo "File $funcs not found"
	exit 2
fi

nmscript=$path/nm-get_dhcp.sh

if is_netplan_controlled; then
	$path/$NETPLAN_CFG -a "get_dhcp" -d "$ETH_DEV" -p "$PROTO"
	exit $?
fi

is_nm_active
if [ $? -eq 0 -a -f $nmscript ]; then
	$nmscript "$@"
	exit $?
else

	if [ "x${PROTO}" == "x6" ] ; then
		CONFIGFILE="/etc/default/wide-dhcpv6-client"

		# config was not found
		[ -f "${CONFIGFILE}" ] || exit 1

		cat $CONFIGFILE | grep "^[[:space:]]*INTERFACES.*$ETH_DEV" >/dev/null 2>&1
	else
		# config was not found
		[ -f "${DEBIAN_CONFIGFILE}" ] || exit 2

		inet="inet"

		cat $DEBIAN_CONFIGFILE | grep "^[[:space:]]*iface $ETH_DEV $inet" | grep dhcp >/dev/null 2>&1
	fi

	[ $? -eq 0 ] && exit 0 || exit 1
fi