Menu

[r2009]: / trunk / etc / rc.d / inadyn  Maximize  Restore  History

Download this file

58 lines (48 with data), 1.5 kB

#!/bin/sh
# Copyright (c) 2007 Volker Theile (votdev@gmx.de)
# All rights reserved.

# PROVIDE: inadyn
# REQUIRE: DAEMON
# KEYWORD: shutdown
# XQUERY: -i "count(//dynamicdns/enable) > 0" -o "0" -b
# RCVAR: inadyn

. /etc/rc.subr
. /etc/configxml.subr

name="inadyn"
rcvar=`set_rcvar`

# Custom commands
start_precmd="create_conf"

# Defaults
inadyn_enable=${inadyn_enable:-"NO"}
inadyn_config=${inadyn_config:-"/var/etc/${name}.conf"}
command="/usr/local/bin/${name}"
command_args="--input_file ${inadyn_config}"

create_conf()
{
	local _servicetype

	# Get the service type.
	case `configxml_get "//dynamicdns/provider"` in
		dyndns.org)
			_servicetype="dyndns@dyndns.org";;
		freedns.afraid.org)
			_servicetype="default@freedns.afraid.org";;
		zoneedit.com)
			_servicetype="default@zoneedit.com";;
		no-ip.com)
			_servicetype="default@no-ip.com";;
		*)
			_servicetype="";;		
	esac

	/usr/local/bin/xml sel -t -m "//dynamicdns" \
		-o "--background" -n \
		-o "--syslog" -n \
		-o "--dyndns_system ${_servicetype}" -n \
		-v "concat('--alias ',domainname)" -n \
		-v "concat('--username ',username)" -n \
		-v "concat('--password ',password)" -n \
		-i "string-length(updateperiod) > 0" -v "concat('--update_period_sec ',updateperiod)" -n -b \
		-i "string-length(forcedupdateperiod) > 0" -v "concat('--forced_update_period ',forcedupdateperiod)" -n -b \
		${configxml_file} | /usr/local/bin/xml unesc > ${inadyn_config}
}

load_rc_config ${name}
run_rc_command "$1"
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.