) | sudo mariadb
dbpostg : mailleur.postg
- @-( \
+ @ -( \
echo "CREATE ROLE apache WITH LOGIN;"; \
- echo "CREATE ROLE dovecot WITH LOGIN;"; \
- echo "CREATE DATABASE mailleur \
- ENCODING='UTF8';" \
+ echo "CREATE ROLE dovecot WITH LOGIN;"; \
+ echo "CREATE EXTENSION pgcrypto;"; \
+ echo "CREATE DATABASE mailleur "; \
+ echo " ENCODING='UTF8';"; \
) | psql -q -U postgres template1
- @ ( \
- echo "CREATE EXTENSION pgcrypto;" \
- ) | psql -q mailleur;
@ cat mailleur.postg | psql -q mailleur;
@ cpp -P -DPOSTGRESQL datatest.sql | psql -q mailleur;
@ echo "POSGRESQL database ready"
ndbpostg:
@-( \
echo "drop database mailleur;"; \
- echo "DROP EXTENSION pgcrypto;"; \
echo "DROP ROLE apache;"; \
echo "DROP ROLE dovecot;"; \
+ echo "DROP EXTENSION pgcrypto;"; \
) | psql -q -U postgres template1
#--------------------------------------------------------------------
GRANT SELECT,INSERT,UPDATE,DELETE ON emails TO mailapache;
GRANT SELECT ON emails TO maildove;
+//defining the password trigger according database type
+#ifdef POSTGRESQL
+CREATE FUNCTION updpass()
+ RETURNS trigger AS $$
+ BEGIN
+ NEW.hash = md5(concat (NEW.email,':',NEW.realm,':',new.password));
+ NEW.password = crypt(new.password, gen_salt('md5'));
+ RETURN NEW;
+ END
+ $$ LANGUAGE 'plpgsql';
+
+CREATE TRIGGER keephash
+ BEFORE INSERT OR UPDATE on emails
+ FOR EACH ROW EXECUTE PROCEDURE updpass();
+#endif
//table about session
CREATE TABLE sessions (
--- /dev/null
+
+#To encrypt a field with md5 keys
+select crypt( 'data', gen_salt('md5'));
+
+
+DROP TRIGGER IF EXISTS cool
+ ON emails CASCADE;
+
+CREATE OR REPLACE FUNCTION updpass()
+ RETURNS trigger AS
+$$
+BEGIN
+NEW.hash = md5(concat (NEW.email,':',NEW.realm,':',new.password));
+NEW.password = crypt(new.password, gen_salt('md5'));
+RETURN NEW;
+END;
+
+$$
+LANGUAGE 'plpgsql';
+
+CREATE TRIGGER cool
+ BEFORE INSERT OR UPDATE
+ ON emails
+ FOR EACH ROW
+ EXECUTE PROCEDURE updpass();
echo "CREATE ROLE $APPNAME WITH LOGIN CREATEDB SUPERUSER;"
echo "CREATE ROLE apache WITH LOGIN;"
echo "CREATE ROLE dovecot WITH LOGIN;"
- echo "CREATE EXTENSION pgcrypto;"
+ echo "DROP EXTENSION IF EXISTS pgcrypto;"
+ echo "CREATE EXTENSION IF NOT EXISTS pgcrypto;"
echo "CREATE DATABASE $APPNAME ENCODING='UTF8';"
) | /usr/bin/su - -m postgres -c "$SQL $SQLHOST $SQLPORT template1" >> $LOG
echo "data-base is now created" >> $LOG