#! /usr/bin/cfengine -qf

control:
	OutputPrefix	= ("${cf_prefix}")
	actionsequence	= (
		editfiles
		shellcommands
		processes
	)
	AddInstallable = ( proftpd_reload )
	EditfileSize	= ( 10000 )

editfiles:
    any::
	{ /etc/proftpd.conf
		DefineClasses "proftpd_reload"
		AbortAtLineMatching "^[[:blank:]]*VirtualHost[[:blank:]]*.*$"
		#
		# ListOptions "-la"
		#
		WarnIfNoLineMatching "^[[:blank:]]*ListOptions[[:blank:]].*$"
		BeginGroupIfNoLineMatching "^[[:blank:]]*ListOptions[[:blank:]].*$"
			Append 'ListOptions		"-la" # Added by cfengine'
		EndGroup
		LocateLineMatching "^[[:blank:]]*ListOptions[[:blank:]].*$"
		BeginGroupIfNoLineMatching '^[[:blank:]]*ListOptions[[:blank:]]"-la"([[:blank:]]+(#.*)?)?$'
			ReplaceLineWith 'ListOptions		"-la" # Edited by cfengine'
		EndGroup
		#
		# DefaultRoot ~
		#
#		WarnIfNoLineMatching "^[[:blank:]]*DefaultRoot[[:blank:]].*$"
		BeginGroupIfNoLineMatching "^[[:blank:]]*DefaultRoot[[:blank:]].*$"
			Append 'DefaultRoot			~'
		EndGroup
		LocateLineMatching "^[[:blank:]]*DefaultRoot[[:blank:]].*$"
		BeginGroupIfNoLineMatching "^[[:blank:]]*DefaultRoot[[:blank:]]+~$"
			ReplaceLineWith 'DefaultRoot			~'
		EndGroup
		UnsetAbort "^[[:blank:]]*VirtualHost[[:blank:]]*.*$"
	}
processes:
	"proftpd"	restart "/etc/init.d/proftpd restart"
shellcommands:
    proftpd_reload::
	"/etc/init.d/proftpd force-reload"