From fc6bdccee2cbd65ab18e8b8ec091fdba9a5878fd Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Wed, 10 Jul 2024 23:45:39 -0400 Subject: [PATCH] interaction between maild and emlrec is working fine --- app/Makefile | 3 ++- app/emlrec.c | 33 --------------------------------- app/maild.c | 5 ----- lib/modrec.c | 35 +++++++++++++++++++++-------------- lib/modrec.h | 2 +- lib/subrou.c | 2 +- 6 files changed, 25 insertions(+), 55 deletions(-) diff --git a/app/Makefile b/app/Makefile index 7f6fcf5..2dc36db 100644 --- a/app/Makefile +++ b/app/Makefile @@ -47,13 +47,14 @@ emlrec : toremake emlrec.o emlrec.o: emlrec.c \ ../lib/modrec.h \ + ../lib/unisig.h \ ../lib/uniprc.h \ ../lib/unipar.h \ ../lib/subrou.h \ maild.o : maild.c \ - ../lib/modrec.h \ ../lib/uniprc.h \ + ../lib/unisig.h \ ../lib/unipar.h \ ../lib/subrou.h \ diff --git a/app/emlrec.c b/app/emlrec.c index e0e14de..8e82be9 100644 --- a/app/emlrec.c +++ b/app/emlrec.c @@ -23,39 +23,6 @@ */ /********************************************************/ -/* */ -/* Waiting and handling smtp request */ -/* */ -/********************************************************/ -static void rec_handlesmtp() - -{ -int phase; -_Bool proceed; - -phase=0; -proceed=true; -while (proceed==true) { - switch (phase) { - case 0 : //looping forever email receiving processes - (void) prc_settitle("emlrec with pid='%06d'",getpid()); - break; - case 1 : //Terminating all remaining process - (void) sleep(1); - if (hangup==false) - phase--; //looping forever - break; - default : //SAFE Guard - proceed=false; - break; - } - phase++; - } -} -/* - -*/ -/********************************************************/ /* */ /* Main routine */ /* Start multiple SMTP daemon and make */ diff --git a/app/maild.c b/app/maild.c index 4f46f9f..f8ada53 100644 --- a/app/maild.c +++ b/app/maild.c @@ -15,10 +15,7 @@ #include "unipar.h" #include "uniprc.h" #include "unisig.h" -#include "modrec.h" -//port listening format is "IP:PORT NUMBER:num iteration" -#define PORTREC "192.168.0.1:25:2" /* */ @@ -145,7 +142,6 @@ while (proceed==true) { (void) par_modeunipar(true); (void) prc_modeuniprc(true); (void) sig_modeunisig(true); - (void) rec_modemodrec(true); (void) sig_trapsignal(true,sig_alrm); break; case 3 : //doing main tash @@ -158,7 +154,6 @@ while (proceed==true) { (void) prc_cleantitle(); params=par_freeparams(params); (void) sig_trapsignal(false,sig_alrm); - (void) rec_modemodrec(false); (void) sig_modeunisig(false); (void) prc_modeuniprc(false); (void) par_modeunipar(false); diff --git a/lib/modrec.c b/lib/modrec.c index 223429f..9b68d17 100644 --- a/lib/modrec.c +++ b/lib/modrec.c @@ -13,31 +13,38 @@ #include "modrec.h" static _Bool modopen; //boolean module open/close - /* */ /********************************************************/ /* */ +/* Waiting and handling smtp request */ /* */ /********************************************************/ -//procedure to receive email form outside -void rec_getemail(int attend) +PUBLIC void rec_handlesmtp() { -(void) rou_alert(0,"JMPDBG getemail with pid='%06d' (wait for '%0d')", - getpid(),attend); -(void) prc_settitle("JMPDBG getemail with pid='%06d' (wait for '%0d')", - getpid(),attend); -while (attend>0) { - (void) sleep(1); - if (hangup==true) { - (void) rou_alert(0,"JMPDBG got hangup signal"); - break; +int phase; +_Bool proceed; + +phase=0; +proceed=true; +while (proceed==true) { + switch (phase) { + case 0 : //looping forever email receiving processes + (void) prc_settitle("emlrec with pid='%06d'",getpid()); + break; + case 1 : //Terminating all remaining process + (void) sleep(1); + if (hangup==false) + phase--; //looping forever + break; + default : //SAFE Guard + proceed=false; + break; } - attend--; + phase++; } -(void) rou_alert(0,"JMPDBG exiting from pid='%06d'",getpid()); } /* ^L diff --git a/lib/modrec.h b/lib/modrec.h index 0b0a29d..1c2e4bb 100644 --- a/lib/modrec.h +++ b/lib/modrec.h @@ -10,7 +10,7 @@ #include //procedure to receive email form outside -extern void rec_getemail(int attend); +extern void rec_handlesmtp(); //homework to be done before starting/stoping module. extern int rec_modemodrec(_Bool mode); diff --git a/lib/subrou.c b/lib/subrou.c index 1c79901..c3b48e8 100644 --- a/lib/subrou.c +++ b/lib/subrou.c @@ -18,7 +18,7 @@ //version definition #define VERSION "0.2" -#define RELEASE "2" +#define RELEASE "3" //Public variables PUBLIC int debug=0; //debug level -- 2.47.3