From 70bc807fea30be5f4907e3eafc6a54381b7ee0d6 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Sat, 26 Jul 2025 10:16:18 -0400 Subject: [PATCH] Better answer about black listed --- data-feed/feed05.tst | 4 ++-- lib/lvleml.c | 16 +++++++++++----- lib/unieml.h | 3 ++- sql/mailleur.sql | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/data-feed/feed05.tst b/data-feed/feed05.tst index 35372c4..a56acdc 100644 --- a/data-feed/feed05.tst +++ b/data-feed/feed05.tst @@ -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: -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 #------------------------------------------------------------------------- diff --git a/lib/lvleml.c b/lib/lvleml.c index 947af13..a9ddf2c 100644 --- a/lib/lvleml.c +++ b/lib/lvleml.c @@ -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) diff --git a/lib/unieml.h b/lib/unieml.h index d7f51b3..2197374 100644 --- a/lib/unieml.h +++ b/lib/unieml.h @@ -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 diff --git a/sql/mailleur.sql b/sql/mailleur.sql index 3ba9215..cc5b8bf 100644 --- a/sql/mailleur.sql +++ b/sql/mailleur.sql @@ -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 -- 2.47.3