components/isc-dhcp/Solaris/isc-dhcp.sh
branchs11u3-sru
changeset 6436 6f99aa91162f
parent 6168 b3cd649419fe
equal deleted inserted replaced
6435:c1b087ff0a7e 6436:6f99aa91162f
    27 . /lib/svc/share/smf_include.sh
    27 . /lib/svc/share/smf_include.sh
    28 . /lib/svc/share/net_include.sh
    28 . /lib/svc/share/net_include.sh
    29 
    29 
    30 SVCPROP=/usr/bin/svcprop
    30 SVCPROP=/usr/bin/svcprop
    31 CHMOD=/usr/bin/chmod
    31 CHMOD=/usr/bin/chmod
       
    32 CHOWN=/usr/bin/chown
    32 TOUCH=/usr/bin/touch
    33 TOUCH=/usr/bin/touch
       
    34 ID=/usr/bin/id
    33 
    35 
    34 DHCPD_IPV4="svc:/network/dhcp/server:ipv4"
    36 DHCPD_IPV4="svc:/network/dhcp/server:ipv4"
    35 DHCPD_IPV6="svc:/network/dhcp/server:ipv6"
    37 DHCPD_IPV6="svc:/network/dhcp/server:ipv6"
    36 DHCPRELAY_IPV4="svc:/network/dhcp/relay:ipv4"
    38 DHCPRELAY_IPV4="svc:/network/dhcp/relay:ipv4"
    37 DHCPRELAY_IPV6="svc:/network/dhcp/relay:ipv6"
    39 DHCPRELAY_IPV6="svc:/network/dhcp/relay:ipv6"
   146 	LEASEFILE=`get_prop lease_file`
   148 	LEASEFILE=`get_prop lease_file`
   147 	if [ -z "$LEASEFILE" ]; then
   149 	if [ -z "$LEASEFILE" ]; then
   148 		errlog "No lease_file specified, exiting"
   150 		errlog "No lease_file specified, exiting"
   149 		return 1
   151 		return 1
   150 	fi
   152 	fi
       
   153 
       
   154 	LEASEFILE_PERMS="u=rw,go=r"
   151 	if [ ! -f "$LEASEFILE" ]; then
   155 	if [ ! -f "$LEASEFILE" ]; then
   152 		$TOUCH $LEASEFILE
   156 		$TOUCH $LEASEFILE
   153 		$CHMOD u=rw,go=r $LEASEFILE
   157 		$CHMOD $LEASEFILE_PERMS $LEASEFILE
       
   158 	fi
       
   159 	if [ ! -w "$LEASEFILE" ]; then
       
   160 		errlog "Lease file '$LEASEFILE' is not writable. You should:"
       
   161 		errlog "$CHOWN $($ID -u -n) '$LEASEFILE'"
       
   162 		errlog "$CHMOD $LEASEFILE_PERMS '$LEASEFILE'"
       
   163 		return 1
   154 	fi
   164 	fi
   155 
   165 
   156 	export OPTIONS="$OPTIONS -cf $CONFIGFILE -lf $LEASEFILE $LISTENIFNAMES"
   166 	export OPTIONS="$OPTIONS -cf $CONFIGFILE -lf $LEASEFILE $LISTENIFNAMES"
   157 	return 0
   167 	return 0
   158 }
   168 }