From 0827939494adc1191d06c52cd58c50160d5b621c Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Tue, 11 Mar 2025 14:23:21 -0400 Subject: [PATCH] Able to reconnize protocol --- lib/devsoc.c | 32 ++++++++++++++++++++++++++++++++ lib/devsoc.h | 3 +++ lib/modrec.c | 11 +++++++++-- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/lib/devsoc.c b/lib/devsoc.c index 43abc82..888f915 100644 --- a/lib/devsoc.c +++ b/lib/devsoc.c @@ -455,6 +455,38 @@ return handle; */ /********************************************************/ /* */ +/* Procedure to parse an email protocol */ +/* */ +/********************************************************/ +PUBLIC PROTYP soc_getprotocol(const char *strproto) + +{ +static struct { + PROTYP proto; + const char *voca; + }prolist[]={ + {pro_smtp,""}, + {pro_smtp,"smtp"}, + {pro_smtps,"smtps"}, + {pro_unknwn,(char *)0} + }; +PROTYP proto; + + +proto=pro_unknwn; +for (int i=0;prolist[i].voca!=(char *)0;i++) { + if (strcasecmp(strproto,prolist[i].voca)==0) { + proto=prolist[i].proto; + break; + } + } +return proto; +} +/* + +*/ +/********************************************************/ +/* */ /* Procedure to free memory used by a bind */ /* definition. */ /* */ diff --git a/lib/devsoc.h b/lib/devsoc.h index 24b7679..c5c3118 100644 --- a/lib/devsoc.h +++ b/lib/devsoc.h @@ -26,6 +26,9 @@ typedef enum { //reference to a socket definition typedef void SOCPTR; +//procedure to parse an email protocol +extern PROTYP soc_getprotocol(const char *strproto); + //procedure to free all memory used by a TCP socket //definition (once closed) extern SOCPTR **soc_freebindinf(SOCPTR **socptr); diff --git a/lib/modrec.c b/lib/modrec.c index 43a8057..9803545 100644 --- a/lib/modrec.c +++ b/lib/modrec.c @@ -54,13 +54,15 @@ for (int i=0;i",i,ptr); + (void) rou_alert(0,"JMPDBG argv[%d]=<%s>",i,argv[i]); for (int j=0;j<3;j++) { char *sofar; @@ -70,6 +72,11 @@ for (int i=0;i", + OPEP,argv[i]); + proto=pro_smtp; + } break; case 1 : ipnum=ptr; -- 2.47.3