#define CRYPTED MEDIUMBLOB
#endif
-//defining the password trigger according database type
-//Caution this REALM value MUST be the same as defined
-//in mailleur.conf
-#define REALM 'mailleur-email'
-
/********************************************************/
/********************************************************/
/* */
/* User available email definition table */
/* */
/********************************************************/
-//table to define LOCAL user
+//table to define LOCAL USER
CREATE TABLE emails (
creation DBTIMESTAMP //record creation
DFLT NOW(),
GRANT SELECT ON emails TO maildove;
-#ifdef POSTGRESQL
-CREATE FUNCTION updpass()
- RETURNS trigger AS $$
- BEGIN
- NEW.hash = md5(concat (NEW.email,':',REALM,':',NEW.hash));
- 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 (
creation DBTIMESTAMP //record creation
info TEXT //line info
);
GRANT SELECT ON sessions TO mailapache;
+
+
+//--------------------------------------------------------------
+//Defining TRIGGER fonctions according database type
+//--------------------------------------------------------------
+//Caution this REALM value MUST be the same as defined
+//in mailleur.conf
+#define REALM 'mailleur-email'
+#define HASHING concat(NEW.email,':',REALM,':',NEW.hash)
+
+
+#ifdef POSTGRESQL
+CREATE FUNCTION updpass()
+ RETURNS trigger AS $$
+ BEGIN
+ NEW.hash = md5(HASHING);
+ RETURN NEW;
+ END
+ $$ LANGUAGE 'plpgsql';
+
+CREATE TRIGGER keephash
+ BEFORE INSERT OR UPDATE on emails
+ FOR EACH ROW EXECUTE PROCEDURE updpass();
+#endif
+
+#if defined(MYSQL) || defined(MYSQLI)
+
+CREATE TRIGGER sethash
+ BEFORE UPDATE ON emails FOR EACH ROW
+ set NEW.hash=MD5(HASHING);
+
+CREATE TRIGGER updhash
+ BEFORE INSERT ON emails FOR EACH ROW
+ set NEW.hash=MD5(HASHING);
+
+#endif