config_get path "$section" path
config_get pidfile "$section" pidfile
- if [ -z "$localport" ]; then
- echo "autossh: localport option is required"
+ if [ -n "$localport" ] && [ -n "$remoteport" ]; then
+ if [ -n "$remotehost" ]; then
+ forwarding="-L ${localport}:${remotehost}:${remoteport}"
+ else
+ forwarding="-R ${remoteport}:${localhost}:${localport}"
+ fi
+ elif [ -n "$localport" ] || [ -n "$remoteport" ]; then
+ echo "autossh: both localport and remoteport options are required"
return 1
fi
- if [ -n "$remotehost" ]; then
- forwarding="-L ${localport}:${remotehost}:${remoteport}"
- else
- forwarding="-R ${remoteport}:${localhost}:${localport}"
- fi
-
procd_open_instance "$section"
procd_set_param command /usr/sbin/autossh ${forwarding} ${ssh}
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}