openssl.init 845 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/sh /etc/rc.common
  2. START=13
  3. ENGINES_CNF_D="/etc/ssl/engines.cnf.d"
  4. ENGINES_CNF="/var/etc/ssl/engines.cnf"
  5. ENGINES_DIR="%ENGINES_DIR%"
  6. config_engine() {
  7. local enabled force
  8. config_get_bool enabled "$1" enabled 1
  9. config_get_bool force "$1" force 0
  10. [ "$enabled" = 0 ] && return
  11. if [ "$force" = 0 ] && \
  12. [ ! -f "${ENGINES_CNF_D}/$1.cnf" ] && \
  13. [ ! -f "${ENGINES_DIR}/$1.so" ]; then
  14. echo Skipping engine "$1": not installed
  15. return
  16. fi
  17. echo Enabling engine "$1"
  18. echo "$1=$1" >> "${ENGINES_CNF}"
  19. }
  20. start() {
  21. mkdir -p "$(dirname "${ENGINES_CNF}")" || exit 1
  22. echo Generating engines.cnf
  23. echo "# This file is automatically generated from /etc/config/openssl." \
  24. > "${ENGINES_CNF}" || \
  25. { echo Error writing ${ENGINES_CNF} >&2; exit 1; }
  26. config_load openssl
  27. config_foreach config_engine engine
  28. }