char *code;
USRTYP *usr;
char *line;
+char *name; //extracted name
int got;
int phase;
_Bool proceed;
(void) rou_alert(0,"%s JMPDBG SEQ=<%s>",OPEP,seq);
code=(char *)0;
usr=(USRTYP *)0;
+name=(char *)0;
line=(char *)0;
got=0;
phase=0;
}
break;
case 1 : { //extracting code
- char *name; //extracted name
char *ptr;
code=cnv_getb64(line);
if (name!=(char *)0) {
(void) sql_mngusr(contact->sqlptr,sql_select,name,&usr);
(void) rou_alert(0,"%s JMPDBG md5 name=<%s>",OPEP,name);
- name=rou_freestr(name);
}
if (usr==(USRTYP *)0) {
code=rou_freestr(code);
+ (void) rou_asprintf(&decoded,"%s%s%s%s",
+ IOBNULL,name,IOBNULL,(char *)0);
phase=999;
}
line=rou_freestr(line);
char *hexa;
//local=cnv_hashmd5(usr->passwd,(unsigned char *)seq);
+ (void) rou_asprintf(&decoded,"%s%s%s%s",IOBNULL,name,IOBNULL,(char *)0);
local=cnv_hashmd5("mailleur",(unsigned char *)seq);
hexa=cnv_tohexa(local);
- (void) rou_alert(0,"JMPDBG local =<%s>",hexa);
- (void) rou_alert(0,"JMPDBG remote=<%s>",code);
+ (void) rou_alert(0,"%s code=<%s>",OPEP,code);
+ (void) rou_alert(0,"%s hexa=<%s>",OPEP,hexa);
+ if (strcmp(hexa,code)==0) {
+ (void) rou_asprintf(&decoded,"%s%s%s%s",
+ IOBNULL,usr->email,IOBNULL,"mailleur");
+ (void) rou_alert(0,"JMPDBG decoded=<%s>",decoded);
+ }
hexa=rou_freestr(hexa);
local=rou_freestr(local);
usr=sql_freeusr(usr);
}
phase++;
}
+name=rou_freestr(name);
seq=rou_freestr(seq);
+(void) rou_alert(0,"%s JMPDBG decoded=<%s>",OPEP,decoded);
return decoded;
#undef OPEP
{
#define OPEP "lvleml.c:getauth,"
-static char *vocloc[]={"PLAIN","LOGIN","CRAM-MD5",(char *)0};
+static char *vocloc[]={"PLAIN","LOGIN","CRAM-MD5","DIGEST-MD5",(char *)0};
_Bool isok;
int code;
if ((decoded=get_auth_login(contact,delay))==(char *)0)
phase=999;
break;
- case 2 : //AUTH DIGEST-MD5
+ case 2 : //AUTH CRAM-MD5
+ case 3 : //AUTH DIGEST-MD5
if ((decoded=get_auth_md5(contact,delay))==(char *)0)
phase=999;
break;