]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Adding password field to email
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 10 Jul 2025 01:18:49 +0000 (21:18 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Thu, 10 Jul 2025 01:18:49 +0000 (21:18 -0400)
sql/datatest.sql
sql/mailleur.sql

index b13427228ecde557db9b82c06d3972623c87f1b1..8912612da2eb9ceaa915cc8c139cf4f863ea910f 100644 (file)
@@ -5,24 +5,24 @@
 DELETE FROM emails;
 //password is generated via command line:
 //openssl password
-//present password is crypted as a hash 
+//present password is crypted as a hash and in password too
 //adding a list of local email
 
-INSERT INTO emails (email,hash)                                \
+INSERT INTO emails (email,password)                            \
         values ('postmaster@example.com','postmaster');
-INSERT INTO emails (email,hash)                                \
+INSERT INTO emails (email,password)                            \
         values ('webmaster@example.com','webmaster');
-INSERT INTO emails (email,hash)                                \
+INSERT INTO emails (email,password)                            \
         values ('utf8-áö_üñ@example.com','utf8-áö_üñ');
 
 //Set for Postgresql database
-INSERT INTO emails (email,hash)                        \
+INSERT INTO emails (email,password)                            \
          values ('user1@posdb.example.com','user1');
-INSERT INTO emails (email,hash)                        \
+INSERT INTO emails (email,password)                            \
          values ('user2@posdb.example.com','user2');
 
 //Set for MySQL database
-INSERT INTO emails (email,hash)                        \
+INSERT INTO emails (email,password)                            \
          values ('user1@mardb.example.com','user1');
-INSERT INTO emails (email,hash)                        \
+INSERT INTO emails (email,password)                            \
          values ('user2@mardb.example.com','user2');
index 8cb8e488584eb1df6df097b49a13c10b0dbc1205..9a0dccf40c84265a0b9a0291af2ab6f7105598c4 100644 (file)
@@ -53,6 +53,8 @@ CREATE TABLE emails   (
        creation        DBTIMESTAMP     //record creation
                        DFLT NOW(),
        email           TEXTUNIQUE,     //User email
+       password        TEXT            //user (encrypted) password
+                       DFLT '!',
        hash            TEXT,           //'email:realm:password' MD5
        space           INTEGER         //space used by user email      
                        DFLT 0,
@@ -100,7 +102,7 @@ GRANT SELECT                                ON sessions TO mailapache;
 //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)
+#define        HASHING concat(NEW.email,':',REALM,':',NEW.password)
 
 
 #ifdef POSTGRESQL
@@ -108,6 +110,7 @@ CREATE FUNCTION updpass()
   RETURNS trigger AS $$
        BEGIN
        NEW.hash = md5(HASHING);
+       new.password = crypt (NEW.password,gen_salt('md5'));
        RETURN NEW;
        END
   $$ LANGUAGE 'plpgsql';
@@ -119,12 +122,20 @@ CREATE TRIGGER keephash
 
 #if defined(MYSQL) || defined(MYSQLI)
 
+DELIMITER $$
 CREATE TRIGGER sethash 
   BEFORE UPDATE ON emails FOR EACH ROW
+    BEGIN
     set NEW.hash=MD5(HASHING);
+    set NEW.password=encrypt(NEW.password,'$1$abcdef');
+    END$$
+    
   
 CREATE TRIGGER updhash
   BEFORE INSERT ON emails FOR EACH ROW
+    BEGIN
     set NEW.hash=MD5(HASHING);
+    set NEW.password=encrypt(NEW.password,'$1$abcdef');
+    END$$
 
 #endif