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
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;