]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Improved contact->credit handling
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 12:07:59 +0000 (08:07 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 12:07:59 +0000 (08:07 -0400)
lib/lvleml.c

index b57042128e45db1d1156bb7cdfe2bde85a94d1af..947af136f72bde2d7ff1bc7f642c9c53857e71d3 100644 (file)
@@ -1583,12 +1583,11 @@ while (proceed==true) {
       break;
     case 4      :       //check if contact authenticated
       switch (contact->privilege) {
+        case rel_isrelay        :       //Remote IP was already relaying
+          //NO BREAK;                     
         case rel_authentic      :       //User was authenticated
           break;
-        case rel_plain          :       //remote IP is Bplain
-          //NO BREAK;
-        case rel_isrelay        :       //Remote IP way already relay
-          contact->privilege=rel_plain;
+        case rel_plain          :       //remote IP is plain
           if ((status=checkcredit(contact))!=CMDOK) {
             (void) transmit(contact,true,"%d 5.5.4 Closing connection",status);
             phase=999;      //bad credit not need to go further
@@ -2421,9 +2420,9 @@ while (proceed==true) {
                                    CMDOK,contact->mainsesid);
       break;
     case c_quit         :       //QUIT SMTP protocol
-      (void) transmit(contact,true,"%d 2.0.0 Bye, closing connection CNT=%s",    
-                                    QUITOK,contact->mainsesid);
       contact->credits++;       //clean disconnect
+      (void) transmit(contact,true,"%d 2.0.0 Bye, closing connection CRD=%d,CNT=%s",
+                                    QUITOK,contact->credits,contact->mainsesid);
       status=1;                 //every thing fine
       proceed=false;
       break;