#!/bin/sh # # $FreeBSD$ # # REQUIRE: DAEMON # PROVIDE: xrdp sesman # . /etc/rc.subr name="xrdp" rcvar=xrdp_enable xrdp_daemons="xrdp xrdpsesman" # Read settings and set default values. load_rc_config "$name" : ${xrdp_enable="NO"} # Commands. extra_commands="reload status" start_cmd="xrdp_cmd" stop_cmd="xrdp_cmd" status_cmd="xrdp_cmd" reload_cmd="xrdp_cmd" rcvar_cmd="xrdp_cmd" # Command wrapper to call each of them per daemon. xrdp_cmd() { local name rcvar command pidfile xrdp_daemons # Prevent recursive calling. unset "${rc_arg}_cmd" # Stop processes in the reverse to order. if [ "${rc_arg}" = "stop" ] ; then xrdp_daemons=$(reverse_list ${xrdp_daemons}) fi # Apply to all the daemons. for name in ${xrdp_daemons}; do rcvar=${name}_enable if [ "${name}" = "xrdpsesman" ]; then command="%%PREFIX%%/sbin/xrdp-sesman" pidfile="/var/run/xrdp-sesman.pid" else command="%%PREFIX%%/sbin/${name}" pidfile="/var/run/${name}.pid" fi run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} done } run_rc_command "$1"