From be38df6af7450d9ff6da5c70ae91f744291d0911 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Wed, 25 Jun 2025 20:59:01 -0400 Subject: [PATCH] Starting support file resetdb.sh --- Makefile | 4 ++++ conf/mailleur.conf | 2 ++ conf/mailleur.conf.dvl | 5 ++++- sql/datatest.mardb.sql | 11 ---------- sql/datatest.posdb.sql | 11 ---------- sql/datatest.sql | 13 +++++++++++ support/resetdb.sh | 49 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 72 insertions(+), 23 deletions(-) delete mode 100644 sql/datatest.mardb.sql delete mode 100644 sql/datatest.posdb.sql create mode 100755 support/resetdb.sh diff --git a/Makefile b/Makefile index bc45542..613bbb1 100644 --- a/Makefile +++ b/Makefile @@ -181,6 +181,7 @@ tstspf : clean debug #preparing a test area newtest : deltest @ mkdir -p $(TESTDIR)/var/run + @ mkdir -p $(TESTDIR)/usr/share/$(APPNAME) @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/{in,out}-logs @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/queue @ mkdir -p $(TESTDIR)/var/spool/$(APPNAME)/mails @@ -188,6 +189,9 @@ newtest : deltest @ cp -a \ bin \ $(TESTDIR)/$(SBINDIR) + @ cp -a \ + sql \ + $(TESTDIR)/usr/share/$(APPNAME)/ deltest : @ rm -fr $(TESTDIR) diff --git a/conf/mailleur.conf b/conf/mailleur.conf index fe38efd..62c55de 100644 --- a/conf/mailleur.conf +++ b/conf/mailleur.conf @@ -2,6 +2,8 @@ #------------------------------------------------ #Defining application name APPNAME=mailleur +#root working directoy definition for the whole application +ROOTBASE="/" #defining local default domain DFLTDOMAIN="localdomain" #------------------------------------------------ diff --git a/conf/mailleur.conf.dvl b/conf/mailleur.conf.dvl index a1a0f7a..a3ecf24 100644 --- a/conf/mailleur.conf.dvl +++ b/conf/mailleur.conf.dvl @@ -3,6 +3,8 @@ #------------------------------------------------ #Defining application name APPNAME=mailleur +#root working directoy definition for the whole application +ROOTBASE="/home/jmp/safe-mailleur/mailleur/test_area/" #defining local default domain DFLTDOMAIN="localtest.example.com" #------------------------------------------------ @@ -32,7 +34,8 @@ CA_KEY_CLT="./certs/localhost-key.pem" CA_VERIFY_CLT=0 #to check PEER/server remote certificate #------------------------------------------------ #Configured for Postgresql database -DB_TYPE=POSTGRESQL +#DB_TYPE can be either POSTGRESQL,MYSQL, default POSTGRESQL +DB_TYPE=MYSQL DB_NAME=mailleur DB_HOST=localhost DB_PORT=5432 diff --git a/sql/datatest.mardb.sql b/sql/datatest.mardb.sql deleted file mode 100644 index e76937c..0000000 --- a/sql/datatest.mardb.sql +++ /dev/null @@ -1,11 +0,0 @@ - -#include "datatest.def" - -//password is generated via command line: -//openssl password -//present password is crypte 'mailleur' -//adding a list of local email -INSERT INTO emails (email,passwd) \ - values ('user1@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); -INSERT INTO emails (email,passwd) \ - values ('user2@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); diff --git a/sql/datatest.posdb.sql b/sql/datatest.posdb.sql deleted file mode 100644 index eeeb165..0000000 --- a/sql/datatest.posdb.sql +++ /dev/null @@ -1,11 +0,0 @@ - -#include "datatest.def" - -//password is generated via command line: -//openssl password -//present password is crypte 'mailleur' -//adding a list of local email -INSERT INTO emails (email,passwd) \ - values ('user1@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); -INSERT INTO emails (email,passwd) \ - values ('user2@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); diff --git a/sql/datatest.sql b/sql/datatest.sql index 47c1bc4..317694e 100644 --- a/sql/datatest.sql +++ b/sql/datatest.sql @@ -5,7 +5,20 @@ //openssl password //present password is crypte 'mailleur' //adding a list of local email + INSERT INTO emails (email,passwd) \ values ('postmaster@example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); INSERT INTO emails (email,passwd) \ values ('webmaster@example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); + +//Set for Postgresql database +INSERT INTO emails (email,passwd) \ + values ('user1@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); +INSERT INTO emails (email,passwd) \ + values ('user2@posdb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); + +//Set for MySQL database +INSERT INTO emails (email,passwd) \ + values ('user1@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); +INSERT INTO emails (email,passwd) \ + values ('user2@mardb.example.com','$1$cBO23lDG$7l.Ooe7pF.gf8t6tD2mKp0'); diff --git a/support/resetdb.sh b/support/resetdb.sh new file mode 100755 index 0000000..edd88c7 --- /dev/null +++ b/support/resetdb.sh @@ -0,0 +1,49 @@ +#! /usr/bin/bash +#--------------------------------------------------------------- +#program to reset the database contents +#parameters ["doit"] "confdirectory +#--------------------------------------------------------------- +#start delay +DELAY=10 +DOIT=doit +#--------------------------------------------------------------- +if [ $# -ge 1 -a "$1" != "$DOIT" ] ; then + echo "" + echo "-----------" + echo "ATTENTION! you are requesting a FULL database RESET" + echo "Are you sure!" + echo "You have $DELAY seconds to cancel (CTRL-C)" + echo "-----------" + sleep $DELAY + fi +if [ $1 == $DOIT ] ; then + shift; + fi +if [ $# -gt 0 ] ; then + . $1 + fi + +#--------------------------------------------------------------- +#destroying the database +case "$DB_TYPE" in + "POSTGRESQL" ) + DB=$(psql -U postgres -tAc "SELECT 1 FROM pg_database WHERE datname='${APPNAME}'") + if [ "$DB" = "1" ] ; then + echo "drop database $APPNAME;" | psql -q -U postgres template1 + fi + echo "create database $APPNAME;" | psql -q -U postgres template1 + SQL="psql -q $APPNAME" + ;; + "MYSQL" ) + echo "Got Mysql" + exit 1 + ;; + * ) + echo $DB_TYPE is not expected!, check configuration file! + exit 1 + ;; + esac + +#loading database +cpp -P -D$DB_TYPE $ROOTBASE/usr/share/$APPNAME/sql/$APPNAME.sql | $SQL +cpp -P -D$DB_TYPE $ROOTBASE/usr/share/$APPNAME/sql/datatest.sql | $SQL -- 2.47.3