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