From 622d13022d8a25e94a7a880663bba65ac059bfd0 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Thu, 19 Jun 2025 07:46:34 -0400 Subject: [PATCH] Adding dummy certificate creation at starting time --- Makefile.dbg | 4 ++-- conf/mailleur.conf.dvl | 2 +- mailleur.spec.in | 1 + support/dummy-cert.sh | 38 ++++++++++++++++++++++++++++++++++++++ support/starting.sh | 17 +++++++++++++++++ 5 files changed, 59 insertions(+), 3 deletions(-) create mode 100755 support/dummy-cert.sh diff --git a/Makefile.dbg b/Makefile.dbg index bd540f2..f629d1e 100644 --- a/Makefile.dbg +++ b/Makefile.dbg @@ -15,7 +15,7 @@ EXTPORT = 25 TESTITER= 1 #specific test file to use will "feeding" the receiver. -ONEFEED=feed03.tst +ONEFEED=feed02.tst EMLPAR = \ -r $(TESTDIR) \ @@ -52,7 +52,7 @@ onesendr: debug `basename -a $(TESTDIR)/var/spool/$(APPNAME)/queue/*.todo | \ tr '\\n' ' ' ` -onesortr: debug +onesortr: @ \ bin/sorter \ -f \ diff --git a/conf/mailleur.conf.dvl b/conf/mailleur.conf.dvl index dda4243..2af37e6 100644 --- a/conf/mailleur.conf.dvl +++ b/conf/mailleur.conf.dvl @@ -30,7 +30,7 @@ CA_KEY_CLT = "./certs/localhost-key.pem" CA_VERIFY_CLT = 0 #to check PEER/server remote certificate #------------------------------------------------ #Configured for Postgresql database -DB_TYPE = POSTGRES +DB_TYPE = POSTGRESQL DB_NAME = mailleur DB_HOST = localhost DB_PORT = 5432 diff --git a/mailleur.spec.in b/mailleur.spec.in index d7175fa..f369942 100644 --- a/mailleur.spec.in +++ b/mailleur.spec.in @@ -40,6 +40,7 @@ search about email exchange within time and transaction context. %attr(0754,root,root) %{_libdir}/%{name}/shell/*.sh %attr(0754,root,root) %{_libdir}/%{name}/support/addconfig.sh %attr(0754,root,root) %{_libdir}/%{name}/support/crdb.sh +%attr(0754,root,root) %{_libdir}/%{name}/support/dummy-cert.sh %attr(0754,root,root) %{_libdir}/%{name}/support/starting.sh %attr(0755,%{name},mail) %dir %{spooldir}/%{name}/{queue,in-logs,out-logs} #----------------------------------------------------------------------------- diff --git a/support/dummy-cert.sh b/support/dummy-cert.sh new file mode 100755 index 0000000..3e6a80f --- /dev/null +++ b/support/dummy-cert.sh @@ -0,0 +1,38 @@ +#! /usr/bin/bash +#--------------------------------------------------- +#shell script to create a dummy Certificat. +#--------------------------------------------------- +umask 077 + +answers() { + echo -- + echo "SomeState" + echo "SomeCity" + echo "" + echo "$APPNAME E-mail filtering" + echo `hostname` + echo "$APPNAME@"`hostname` +} + +if [ $# -eq 0 ] ; then + echo $"Usage: `basename $0` filename [...]" + exit 0 +fi + +for target in $@ + do + PEM1=`mktemp /tmp/openssl.XXXXXX` + PEM2=`mktemp /tmp/openssl.XXXXXX` + trap "rm -f $PEM1 $PEM2" SIGINT + answers | \ + /usr/bin/openssl req \ + -newkey rsa:4096 \ + -keyout $PEM1 \ + -nodes \ + -x509 \ + -days 3650 \ + -out $PEM2 2 > /dev/null + cp $PEM1 ${target}-key.pem + cp $PEM2 ${target}-cert.pem + rm -f $PEM1 $PEM2 + done diff --git a/support/starting.sh b/support/starting.sh index 2583a83..dd5bd88 100755 --- a/support/starting.sh +++ b/support/starting.sh @@ -41,6 +41,7 @@ if [ -z "$DB_TYPE" -o "$DB_TYPE" = "DB_TO_BE_DEFINED" ] ; then echo -e "\tAborting start, Exiting at once" exit -1; fi +} #---------------------------------------------------------------------- #building application data-base #---------------------------------------------------------------------- @@ -68,6 +69,21 @@ case "$DB_TYPE" in ;; esac } +#---------------------------------------------------------------------- +#creating mailleur local certificat +#---------------------------------------------------------------------- +do_mkcert() + +{ +mkdir -p /etc/pki/$APPNAME +if [ ! -f /etc/pki/$APPNAME/$APPNAME-cert.pem ] ; then + echo -n $"Preparing $APPNAME certificate: " + /usr/lib/$APPNAME/support/dummy-cert /etc/pki/$APPNAME/$APPNAME + chown $APPNAME:mail \ + /etc/pki/$APPNAME/$APPNAME-cert.pem \ + /etc/pki/$APPNAME/$APPNAME-key.pem + sh_success $"certs generation" + fi } #---------------------------------------------------------------------- #setting local mailleur configuration @@ -102,6 +118,7 @@ fi [ -f /etc/sysconfig/$APPNAME ] && . /etc/sysconfig/$APPNAME chk_config $1; +do_mkcert; do_mkconf $1; exit 0; #--------------------------------------------------------------- -- 2.47.3