From cc88fa55871a66b1c3e211e1977ba0eef754a09b Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Tue, 11 Mar 2025 09:54:46 -0400 Subject: [PATCH] Able to scan emlrcvr parameters (prto:ipnum:port:iteration) --- lib/modrec.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/modrec.c b/lib/modrec.c index 5ed2c04..43a8057 100644 --- a/lib/modrec.c +++ b/lib/modrec.c @@ -45,20 +45,51 @@ static _Bool modopen; //boolean module open/close static int prepbinding(SOCPTR ***bindings,int argc,char *argv[]) { +#define OPEP "moderec.c:prepbinding" + *bindings=(SOCPTR **)0; for (int i=0;i",i,ptr); + for (int j=0;j<3;j++) { + char *sofar; + + if ((sofar=strchr(ptr,':'))==(char *)0) + break; + *sofar='\000'; + sofar++; + switch (j) { + case 0 : + break; + case 1 : + ipnum=ptr; + break; + case 2 : + if (strlen(ptr)>0) + port=ptr; + if (strlen(sofar)>0) + iteration=atoi(sofar); + break; + default : + (void) rou_alert(0,"%s, Code fault, '%d' unexpected value",OPEP,j); + break; + } + ptr=sofar; + } *bindings=soc_mkbindinf(*bindings,proto,ipnum,port,iteration); } return rou_nbrlist(*bindings); +#undef OPEP } /* @@ -269,9 +300,9 @@ while (proceed==true) { (void) rou_alert(0,"%s, No listening IP found (config?)",OPEP); phase=999; } + childs=(pid_t *)calloc(nbrbind,sizeof(pid_t)); break; case 1 : //Opening ALL channels - childs=(pid_t *)calloc(nbrbind,sizeof(pid_t)); for (int i=0;i