static void freesessid(CONTYP *contact)
{
-if ((contact->session!=(SESTYP *)0)&&(contact->mailfrom!=(char *)0)) {
- contact->session->sfrom=strdup(contact->mailfrom);
- (void) sql_mngses(contact->sqlptr,sql_update,&(contact->session));
+(void) rou_alert(0,"JMPDBG freesessid contact->session='%p'",contact->session);
+if (contact->session!=(SESTYP *)0) {
+ if (contact->mailfrom!=(char *)0) {
+ contact->session->sfrom=strdup(contact->mailfrom);
+ (void) sql_mngses(contact->sqlptr,sql_update,&(contact->session));
+ }
contact->session=sql_freeses(contact->session);
}
}
static void getsessid(CONTYP *contact)
{
+(void) rou_alert(0,"JMPDBG getsessid!");
if (contact!=(CONTYP *)0) {
char *newsid;
- contact->session=(SESTYP *)calloc(1,sizeof(SESTYP));
newsid=eml_getcursesid(contact->mainsesid,contact->numreset);
contact->session=(SESTYP *)calloc(1,sizeof(SESTYP));
contact->session->sessid=newsid;
break;
case 5 : //check password
(void) rou_alert(0,"JMPDBG decoded=<%s>",decoded);
+ break;
+ case 6 : //everything is fine
+ decoded=rou_freestr(decoded);
(void) transmit(contact,true,"%d 5.7.4 Authentication successful",IDOK);
break;
default : //SAFE Guard
phase=0;
proceed=true;
while (proceed==true) {
- //(void) rou_alert(0,"JMPDBG %s phase='%d'",OPEP,phase);
+ (void) rou_alert(0,"JMPDBG %s phase='%d'",OPEP,phase);
switch (phase){
case 0 : //check for binding
if (contact==(CONTYP *)0) {
(void) rou_alert(0,"Contact from peer <%s> to port <%s> terminated",
contact->peerip,contact->locserv);
contact->socptr=soc_release(contact->socptr);
- //(void) kill(getppid(),SIGCHLD);
- //(void) rou_alert(0,"%s JMPDBG signal SIGCHLD sent to='%d'",OPEP,getppid());
break;
case 2 : //freeing contact memory
contact=freecontact(contact);