]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Better answer about black listed
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 14:16:18 +0000 (10:16 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 14:16:18 +0000 (10:16 -0400)
data-feed/feed05.tst
lib/lvleml.c
lib/unieml.h
sql/mailleur.sql

index 35372c429d8b36a877d9a27fb8e30369fcb17481..a56acdcde4ef10dc061c46c7575425beac97cbf3 100644 (file)
@@ -7,7 +7,7 @@ R:220 mailleur.example.com, ESMTP (cleartext) mailleur...
 S:helo example.com
 R:250 mailleur.example.com, link (cleartext) ready, your IP/FQDN=[91.199.160.44/painsmille.shop]
 S:MAIL FROM: <trouble@mailref1.example.com>
-R:457-4.5.7 Your Credential need to be checked
-R:457 5.5.3 Closing connection
+R:556-4.5.7 Originator server IP [91.199.160.44] black listed...
+R:556 5.5.4 Closing connection
 R:Disconnected
 #-------------------------------------------------------------------------
index 947af136f72bde2d7ff1bc7f642c9c53857e71d3..a9ddf2cec67aec98dc85cfa92bd8d7568b6b84fb 100644 (file)
@@ -357,14 +357,19 @@ while (proceed==true) {
         }
       break;
     case 2      :       //freeing memory
-      if (srv->credit<-1) {
+      if (srv->credit<0) {
+        char *cmt;
+
+        cmt=srv->listing;
+        if (cmt==(char *)0)
+          cmt="credit too low";
         (void) log_fprintlog(contact->logptr,false,"(Remote %s[%s] credit='%d' %s)",
                                                     contact->peername,
                                                     contact->peerip,
                                                     srv->credit,"too low");
-        status=NEWSITE;
-        (void) transmit(contact,true,"%d-4.5.7 Your Credential need to be checked",
-                                      status);
+        status=BLCKLST;
+        (void) transmit(contact,true,"%d-4.5.7 Originator server IP [%s] black listed <%s>",
+                                      status,contact->peerip,cmt);
         phase=999;      //To many server connected
         }
       break;
@@ -1485,7 +1490,8 @@ while (proceed==true) {
       switch (contact->privilege) {
         case rel_authentic  :
           break;
-        case rel_isrelay    :
+        case rel_isrelay    :   //ne to force rel_plain
+          contact->privilege=rel_plain;
           //NO BREAK;
         case rel_plain      :
           if (afn_is_ip_relayable(contact->peerip,contact->relayok)==true)
index d7f51b3d6d5f4e9256a45489c43c7f2d766d0194..2197374d6eb69343df36ca19043367a595338882 100644 (file)
@@ -25,7 +25,7 @@
 #define        DATAOK  354             //Ready to accept EMAIL data
 #define        ERRPROC 451             //local processing error
 #define ALREADY 456             //remote server already connected
-#define NEWSITE 457             //Site credential need to be checked
+#define BADSITE 457             //Site credential is too low
 #define NOANSWR 460             //no answer from remote
 #define BADPAR  501             //error in parameters
 #define CMDBAD  502             //command not implemented
@@ -39,6 +39,7 @@
 #define NOTEML  553             //Not an email address
 #define FAILED  554             //transaction failed
 #define NORELAY 555             //we do not relay email
+#define BLCKLST 556             //remote site Black listed 
 #define MISSMX  563             //NO MX found for recipient
 
 //defining extensions
index 3ba921518818cdce3b0a356ee805adc04f632231..cc5b8bf8eb651fb89d4f09444551c5b02bed7f4a 100644 (file)
@@ -107,7 +107,7 @@ CREATE TABLE remotes        (
        lastupdate      DBTIMESTAMP     //record creation
                        DFLT NOW(),
        credit          INTEGER         //Remote IP current credit (-100..+100)
-                       DFLT -1,
+                       DFLT 5,
        reverse         TEXT            //Remote official revers address
                        DFLT NULL,
        listing         TEXT            //explaination about black listing