case 0 : //the forked process
char *execpath;
char *argv[10];
+ char dbgstr[10];
char buffer[300];
(void) memset(argv,'\000',sizeof(argv));
+ (void) snprintf(dbgstr,sizeof(dbgstr),"%d",debug);
(void) snprintf(buffer,sizeof(buffer),"%s%s",SBINDIR,SENDER);
execpath=rou_apppath(buffer);
(void) snprintf(buffer,sizeof(buffer),"%s.%s",todo,EXTODO);
argv[0]=SENDER;
argv[1]="-c";
argv[2]=config;
- argv[3]=buffer;
+ argv[3]="-d";
+ argv[4]=dbgstr;
+ argv[5]=buffer;
if (rootdir!=(char *)0) {
- argv[3]="-r";
- argv[4]=rootdir;
- argv[5]=buffer;
+ argv[5]="-r";
+ argv[6]=rootdir;
+ argv[7]=buffer;
}
(void) rou_alert(0,"%s JMPDBG starting sender=<%s> todo= <%s>",
OPEP,execpath,buffer);
static _Bool connect_to_mx(RMTTYP *rmt)
{
+#define OPEP "lvleml.c:connect_to_mx,"
+
_Bool done;
int phase;
int proceed;
srcip=(const char *)0;
while (*mxs!=(MXTYP *)0) {
rmt->curmx=*mxs;
+ (void) rou_alert(0,"%s JMPDBG trying connect to <%s>",
+ OPEP,rmt->curmx->mxname);
rmt->socptr=soc_openfeedsock(pro_smtp,srcip,rmt->curmx->mxname,EMLPORT);
if (rmt->socptr!=(SOCPTR *)0) {
char cmt[100];
phase++;
}
return done;
+
+#undef OPEP
}
/*
^L
(void) snprintf(cmt,sizeof(cmt),"Unable to contact ANY MX for domain <%s>",
dstdomain);
(void) log_fprintlog(rmt.logptr,false,cmt);
+ if (tra!=(TRATYP **)0) {
+ char note[150];
+
+ (void) snprintf(note,sizeof(note),"%d %s",NOANSWR,cmt);
+ while (*tra!=(TRATYP *)0) {
+ register char **resp;
+
+ resp=(char **)0;
+ (*tra)->resp=(char **)rou_addlist((void **)resp,(void *)strdup(note));
+ tra++;
+ }
+ }
phase=999; //No need to go further
}
break;
#define CMDOK 250 //Everything OK
#define DATAOK 354 //Ready to accept EMAIL data
#define ERRPROC 451 //local processing error
+#define NOANSWR 460 //no answer from remote
#define BADPAR 501 //error in parameters
#define CMDBAD 502 //command not implemented
#define DATRJC 521 //Data Rejected