R:250-mailleur.example.com, link (cleartext) ready,...
S:MAIL FROM: <postmaster@example.com>
R:250 2.1.3 postmaster@example.com.. sender ok
+S:RCPT TO: <webmaster@example.com>
+R:250 2.6.4 Address accepted
S:RCPT TO: <dom1user1@subdom1.example.com>
R:250 2.6.4 Address accepted
S:RCPT TO: <dom2user1@subdom2.example.com>
*/
/********************************************************/
/* */
+/* Procedure to get the domain code */
+/* */
+/********************************************************/
+static _Bool setlocdom(CONTYP *contact,RCPTYP *rcpt)
+
+{
+#define OPEP "lvleml.c:setlocdom,"
+
+char done;
+int phase;
+_Bool proceed;
+
+done=true;
+phase=0;
+proceed=true;
+while (proceed==true) {
+ //(void) rou_alert(0,"JMPDBG %s phase='%d' parm=<%s>",OPEP,phase,parameter);
+ switch (phase) {
+ case 0 : //is RCPT ok;
+ if ((rcpt==(RCPTYP *)0)||(rcpt->domain==(char *)0)) {
+ (void) rou_alert(0,"%s Recipient is NULL (Bug!?)",OPEP);
+ done=false;
+ phase=999;
+ }
+ break;
+ case 1 : //check about local domain, TEMPORARY code
+ if (strcmp(rcpt->domain,"example.com")==0) {
+ rcpt->code='L'; //domain is local
+ phase=999; //No need to go further
+ }
+ break;
+ case 2 : //domain is a remote one
+ rcpt->code='R';
+ break;
+ default : //SAFE Guard
+ proceed=false;
+ break;
+ }
+ phase++;
+ }
+return done;
+#undef OPEP
+}
+/*
+^L
+*/
+/********************************************************/
+/* */
/* Procedure to transmit a string to the remot peer*/
/* */
/********************************************************/
}
break;
case 3 : //Do we have a domain MX
+ (void) setlocdom(contact,neu);
if (neu->domain!=(const char *)0) { //always
MXTYP **mx;