From 9e684e5cb0f7d806a4227170ac66c91066bf1b0d Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Fri, 15 Aug 2025 14:00:51 -0400 Subject: [PATCH] Adding 0 credit when credit is too low --- Makefile.dbg | 3 ++- data-feed/feed010.tst | 9 --------- data-feed/feedx10.tst | 5 +++++ lib/geseml.c | 2 +- lib/lvleml.c | 6 ++++-- lib/modrec.c | 1 + sql/datatest.sql | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 data-feed/feed010.tst create mode 100644 data-feed/feedx10.tst diff --git a/Makefile.dbg b/Makefile.dbg index 88be5dd..d1842d4 100644 --- a/Makefile.dbg +++ b/Makefile.dbg @@ -87,7 +87,8 @@ onefeed : debug onesendr: debug @ \ - ./bin/sender -f \ + ./bin/sender \ + -f \ -d 2 \ -c ./conf/mailleur.conf.dvl \ -r $(TESTDIR) \ diff --git a/data-feed/feed010.tst b/data-feed/feed010.tst deleted file mode 100644 index 5d46aca..0000000 --- a/data-feed/feed010.tst +++ /dev/null @@ -1,9 +0,0 @@ -T:(feed010) Making sure we can reject a remote -C:CONNECT -#==================================================== -R:220 mailleur.example.com, ESMTP (cleartext) mailleur... -#take a "invalide" imp number as server remote IP -C:ORGN: 8.8.8.8. -R:250 3.5.3 Message accepted for delivery -S:QUIT -R:221 2.0.0 Bye, closing connection... diff --git a/data-feed/feedx10.tst b/data-feed/feedx10.tst new file mode 100644 index 0000000..9d0928f --- /dev/null +++ b/data-feed/feedx10.tst @@ -0,0 +1,5 @@ +T:(feedx10) Making sure we can reject a remote +C:CONNECT +#==================================================== +#take a "invalid" imp number as server remote IP +R:521 7.0.0 Remote server credit too low diff --git a/lib/geseml.c b/lib/geseml.c index 5a7c01f..82d1b47 100644 --- a/lib/geseml.c +++ b/lib/geseml.c @@ -769,7 +769,7 @@ return result; */ /********************************************************/ /* */ -/* Procedure to build a waring/reply about an */ +/* Procedure to build a warning/reply about an */ /* unsuccessfull email sending. The Email is sent */ /* back to the originator. */ /* */ diff --git a/lib/lvleml.c b/lib/lvleml.c index a328102..d433435 100644 --- a/lib/lvleml.c +++ b/lib/lvleml.c @@ -115,7 +115,10 @@ if (contact!=(CONTYP *)0) { fin=0; (void) freesessid(contact); contact->logptr=log_closelog(contact->logptr,&debut,&fin); - (void) sql_addevent(contact->sqlptr,contact->mainsesid,debut,fin); + if (contact->mainsesid!=(char *)0) { + (void) sql_addevent(contact->sqlptr,contact->mainsesid,debut,fin); + contact->mainsesid=rou_freestr(contact->mainsesid); + } contact->sqlptr=sql_closesql(contact->sqlptr); contact->termend=rou_freestr(contact->termend); contact->relayok=(AFNTYP **)rou_freelist((void **)contact->relayok, @@ -124,7 +127,6 @@ if (contact!=(CONTYP *)0) { (genfree_t)eml_freerecipient); contact->authname=rou_freestr(contact->authname); contact->mailfrom=rou_freestr(contact->mailfrom); - contact->mainsesid=rou_freestr(contact->mainsesid); contact->fqdn=rou_freestr(contact->fqdn); contact->peername=rou_freestr(contact->peername); contact->peerip=rou_freestr(contact->peerip); diff --git a/lib/modrec.c b/lib/modrec.c index 079f5d4..b8fc434 100644 --- a/lib/modrec.c +++ b/lib/modrec.c @@ -207,6 +207,7 @@ while (proceed==true) { if (srv->credit<=reject) { contact->termend=rou_freestr(contact->termend); contact->termend=strdup(cmt); + contact->credit=0; (void) eml_transmit(contact,true,"%d 7.0.0 %s",DATRJC,cmt); phase=999; //rejecting remote first hand } diff --git a/sql/datatest.sql b/sql/datatest.sql index e5ffa4d..ba678eb 100644 --- a/sql/datatest.sql +++ b/sql/datatest.sql @@ -59,4 +59,4 @@ INSERT INTO remotes (remoteip) \ //selected IP with low credit INSERT INTO remotes (remoteip,credit) \ - values ('8.8.8.8',-50); + values ('127.127.127.127',-50); -- 2.47.3