From: Jean-Marc Pigeon (Delson) Date: Wed, 2 Jul 2025 23:52:15 +0000 (-0400) Subject: Starting to implement CRAM-MD5 exchange X-Git-Tag: tag-0.12~47 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=8eae3fea3c5efa0a9f77f929196efa1d9d97f034;p=jmp%2Fmailleur Starting to implement CRAM-MD5 exchange --- diff --git a/lib/lvleml.c b/lib/lvleml.c index 8cdfc4b..8509517 100644 --- a/lib/lvleml.c +++ b/lib/lvleml.c @@ -349,10 +349,50 @@ return decoded; static char *get_auth_md5(CONTYP *contact,int delay) { +#define OPEP "lvleml.c:get_auth_md5," + char *decoded; +char *seq; +char *b64; +char *line; +int got; +int phase; +_Bool proceed; decoded=(char *)0; +(void) rou_asprintf(&seq,"<%s@%s>",contact->session->sessid,contact->locname); +b64=cnv_setb64(seq); +line=(char *)0; +got=0; +phase=0; +proceed=true; +while (proceed==true) { + switch (phase) { + case 0 : //preparing a string an sending it + (void) transmit(contact,true,"%d %s",SENDB64,b64); + got=tcp_getline(contact->socptr,delay,&line); + break; + case 1 : //extracting B64 + if (got>0) { + char *code; + + code=cnv_getb64(line); + (void) rou_alert(0,"%s JMPDBG md5 Got <%s>",OPEP,code); + code=rou_freestr(code); + line=rou_freestr(line); + } + break; + default : //SAFE Guard + proceed=false; + break; + } + phase++; + } +b64=rou_freestr(b64); +seq=rou_freestr(seq); return decoded; + +#undef OPEP } /* ^L