case 5 : //Setting file position
(void) fseek(fevent,(long)0,SEEK_END);
*debut=ftell(fevent); //First char position
- (void) rou_alert(0,"%s JMPDBG debut='%d'",OPEP,*debut);
break;
case 6 : { //merging file
char ch;
case 7 : //unlocking file
(void) flock(fileno(fevent),LOCK_UN);
*fin=ftell(fevent)-1; //Last char Position
- (void) rou_alert(0,"%s JMPDBG fin='%d'",OPEP,*fin);
(void) fclose(fevent);
(void) fclose(flog);
}
#define RMTTBL "remotes" //Table about remotes site
#define ACTTBL "actions" //action tables
#define SESTBL "sessions" //session tables
+#define EVTTBL "events" //events tables
//field available in table "remotes"
static const FLDTYP usrfield[]={
#undef OPEP
}
-
/*
\f
*/
#undef DATLIM
#undef OPEP
}
+/*
+\f
+*/
+/********************************************************/
+/* */
+/* Procedure to add an event reference within the */
+/* data-base event table. */
+/* */
+/********************************************************/
+PUBLIC int sql_addevent(SQLPTR *sqlptr,char *session,int debut,int fin)
+
+{
+static char *ins="INSERT INTO "EVTTBL" (sessid,start,stop) values(%s)";
+
+int done;
+
+done=-1;
+if (sqlptr!=(SQLPTR *)0) {
+ char *goodses;
+ char *values;
+
+ goodses=sql_gooddata(sqlptr,session);
+ (void) rou_asprintf(&values,"%s,%d,%d",goodses,debut,fin);
+ done=sql_request(sqlptr,ins,values);
+ values=rou_freestr(values);
+ goodses=rou_freestr(goodses);
+ }
+return done;
+}
//procedure to collect a list of "to be checked" remote IP
extern char **sql_getnewrmtip(SQLPTR *sqlptr,int frequency);
+
+//procedure to create a new event entry
+extern int sql_addevent(SQLPTR *sqlptr,char *session,int debut,int fin);
+
#endif
debut=0;
fin=0;
(void) freesessid(contact);
- contact->termend=rou_freestr(contact->termend);
contact->logptr=log_closelog(contact->logptr,&debut,&fin);
+ (void) sql_addevent(contact->sqlptr,contact->mainsesid,debut,fin);
contact->sqlptr=sql_closesql(contact->sqlptr);
+ contact->termend=rou_freestr(contact->termend);
contact->relayok=(AFNTYP **)rou_freelist((void **)contact->relayok,
(genfree_t)afn_freeipnum);
contact->recipients=(RCPTYP **)rou_freelist((void **)contact->recipients,