#!/bin/sh /etc/rc.common

START=13
ENGINES_CNF_D="/etc/ssl/engines.cnf.d"
ENGINES_CNF="/var/etc/ssl/engines.cnf"
ENGINES_DIR="%ENGINES_DIR%"

config_engine() {
	local enabled force
	config_get_bool enabled "$1" enabled 1
	config_get_bool force "$1" force 0
	[ "$enabled" = 0 ] && return
	if [ "$force" = 0 ] && \
	   [ ! -f "${ENGINES_CNF_D}/$1.cnf" ] && \
	   [ ! -f "${ENGINES_DIR}/$1.so" ]; then
	    echo Skipping engine "$1": not installed
	    return
	fi
	echo Enabling engine "$1"
	echo "$1=$1" >> "${ENGINES_CNF}"
}

start() {
	mkdir -p "$(dirname "${ENGINES_CNF}")" || exit 1
	echo Generating engines.cnf
	echo "# This file is automatically generated from /etc/config/openssl." \
	      > "${ENGINES_CNF}" || \
	      { echo Error writing ${ENGINES_CNF} >&2; exit 1; }
        config_load openssl
	config_foreach config_engine engine
}