]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Starting to implement CRAM-MD5 exchange
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Wed, 2 Jul 2025 23:52:15 +0000 (19:52 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Wed, 2 Jul 2025 23:52:15 +0000 (19:52 -0400)
lib/lvleml.c

index 8cdfc4b95982d16f364ca4a704eaa4f5a0e09c54..850951714287009a71fa2747e7bc9fea18307755 100644 (file)
@@ -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