#!/bin/sh -e #export DEBCONF_DEBUG=developer CONFIGFILE=/etc/dbmail/dbmail.conf DEBIANCONF=/etc/default/dbmail . /usr/share/debconf/confmodule read_config() { for line in `grep -E '^[^#$]' $CONFIGFILE|awk -F'#' '{print $1}'`; do NEWSECTION=`echo $line|grep '^\['|sed 's/\(\[\)\(.*\)\(\]\)/\2/'` if [ -n "$NEWSECTION" ]; then SECTION=`echo $NEWSECTION|tr '[A-Z]' '[a-z]'` else key=`echo $line|cut -f1 -d'='` val=`echo $line|cut -f2 -d'='` eval "db_set dbmail/$SECTION/$key \"$val\"" || true fi done } init_config() { if [ -e $CONFIGFILE ]; then read_config fi if [ -e $DEBIANCONF ]; then . $DEBIANCONF # setup some defaults db_set dbmail/start_imapd "false" db_set dbmail/start_pop3d "false" db_set dbmail/start_ssl "false" db_set dbmail/pem_file "dbmail.pem" # overwrite them with the values in the config file [ "$START_IMAPD" ] && db_set dbmail/start_imapd "$START_IMAPD" || true [ "$START_POP3D" ] && db_set dbmail/start_pop3d "$START_POP3D" || true [ "$START_SSL" ] && db_set dbmail/start_ssl "$START_SSL" || true [ "$PEM_FILE" ] && db_set dbmail/pem_file "$PEMFILE" || true fi } db_capb backup STATE=1 LASTSTATE=3 while [ 1 ]; do [ "$STATE" = "0" ] && break [ "$STATE" = "$LASTSTATE" ] && break case "$STATE" in 1) db_input medium dbmail/do_debconf || true ;; 2) db_get dbmail/do_debconf if [ "$RET" = "false" ]; then break fi init_config db_input medium dbmail/smtp/DBMAIL_FROM_ADDRESS || true db_input medium dbmail/smtp/POSTMASTER || true db_input medium dbmail/dbmail/host || true db_input medium dbmail/dbmail/db || true db_input medium dbmail/dbmail/user || true db_input medium dbmail/dbmail/pass || true db_input medium dbmail/start_imapd || true db_input medium dbmail/start_pop3d || true db_input medium dbmail/start_ssl || true ;; 3) db_get dbmail/start_ssl if [ "$RET" = "true" ]; then db_input medium dbmail/pem_file || true fi ;; esac if db_go; then STATE=$(($STATE+1)) else STATE=$(($STATE-1)) fi done exit 0