Changeset 119
- Timestamp:
- 11.12.2005 14:41:27 (3 years ago)
- Location:
- trunk/source
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/init.c
r118 r119 68 68 extern FILE *yyin; 69 69 extern int yyfailed; 70 extern time_t NextDumpGlobal; 70 71 71 72 struct OptionsType Options; … … 346 347 struct AllLogsType *pNextLog; 347 348 349 /* NextDumpGlobal check will at least be done within next 350 DEFAULT_OPTIONS_DUMPINTERVAL */ 351 NextDumpGlobal = time(NULL) + DEFAULT_OPTIONS_DUMPINTERVAL; 352 348 353 pPrevLog = NULL; 349 for (pTempLog = pAllLogs; NULL != pTempLog; pTempLog = pNextLog) 350 { 354 for (pTempLog = pAllLogs; NULL != pTempLog; pTempLog = pNextLog) { 351 355 pNextLog = pTempLog->Next; 352 if (NULL == pTempLog->Filter) 356 if (NULL == pTempLog->Filter) { 353 357 /* wipe this entry out*/ 354 {355 358 if (pTempLog->LogFile) { 356 359 xfree (pTempLog->LogFile); … … 364 367 365 368 xfree (pTempLog); 369 366 370 } else { 367 /* this entry is kept, adjust NextClear */ 371 /* this entry is kept */ 372 pPrevLog = pTempLog; 373 374 /* make latest initialisations */ 368 375 pTempLog->NextClear = pTempLog->NextDump + pTempLog->DumpInterval * (pTempLog->ClearCounter - 1); 369 376 370 pPrevLog = pTempLog; 377 if (NextDumpGlobal > pTempLog->NextDump) { 378 NextDumpGlobal = pTempLog->NextDump; 379 } 371 380 } 372 381 } -
trunk/source/ipfm.c
r118 r119 60 60 extern int run_as_daemon; 61 61 extern struct OptionsType Options; 62 time_t NextDumpGlobal=0; 62 63 63 64 int main(int argc, char *argv[]) { … … 121 122 122 123 /* Well that's an approximation. I should perhaps use an alarm() */ 123 for (pTempLog = pAllLogs; NULL != pTempLog; pTempLog = pTempLog->Next) { 124 /* DEBUG_MSG("time %d nextdump %d delta %d\n", time(NULL), pTempLog->NextDump, pTempLog->NextDump - time(NULL));*/ 125 if (time(NULL) > pTempLog->NextDump) { 126 data_dump(pTempLog); 127 /* Check if we have to clear the logs as well */ 128 if (0 != pTempLog->ClearInterval) { 129 pTempLog->ClearCounter--; 130 if (0 >= pTempLog->ClearCounter) { 131 data_clear(pTempLog); 132 pTempLog->PrevClear = pTempLog->NextDump; 133 pTempLog->NextClear = pTempLog->NextDump + pTempLog->ClearInterval * pTempLog->DumpInterval; 134 pTempLog->ClearCounter = pTempLog->ClearInterval; 124 if (NextDumpGlobal < time(NULL)) { 125 /* NextDumpGlobal check will at least be done within next 126 DEFAULT_OPTIONS_DUMPINTERVAL */ 127 NextDumpGlobal = time(NULL) + DEFAULT_OPTIONS_DUMPINTERVAL; 128 for (pTempLog = pAllLogs; NULL != pTempLog; pTempLog = pTempLog->Next) { 129 DEBUG_MSG("time %d nextdump %d delta %d\n", time(NULL), pTempLog->NextDump, pTempLog->NextDump - time(NULL)); 130 if (time(NULL) > pTempLog->NextDump) { 131 data_dump(pTempLog); 132 /* Check if we have to clear the logs as well */ 133 if (0 != pTempLog->ClearInterval) { 134 pTempLog->ClearCounter--; 135 if (0 >= pTempLog->ClearCounter) { 136 data_clear(pTempLog); 137 pTempLog->PrevClear = pTempLog->NextDump; 138 pTempLog->NextClear = pTempLog->NextDump + 139 pTempLog->ClearInterval * pTempLog->DumpInterval; 140 pTempLog->ClearCounter = pTempLog->ClearInterval; 141 } 142 } 143 pTempLog->PrevDump = pTempLog->NextDump; 144 pTempLog->NextDump += pTempLog->DumpInterval; 145 /* Set NextDumpGlobal to the right time */ 146 if (NextDumpGlobal > pTempLog->NextDump) { 147 NextDumpGlobal = pTempLog->NextDump; 135 148 } 136 149 } 137 pTempLog->PrevDump = pTempLog->NextDump;138 pTempLog->NextDump += pTempLog->DumpInterval;139 150 } 140 151 } -
trunk/source/pcap.c
r118 r119 241 241 } 242 242 243 u_char *getnextippkt() 244 { 243 u_char *getnextippkt() { 245 244 /* these are allocated by pcap (I think they are saved in pcap_global_descriptor allocated by me...) */ 246 245 struct pcap_pkthdr *header; … … 256 255 for (;;) { 257 256 pcap_result = pcap_next_ex(pcap_global_descriptor, &header, (const u_char **) &packet); 258 /* DEBUG_MSG("pcap_next_ex returned %i\n", pcap_result); */257 DEBUG_MSG("pcap_next_ex returned %i\n", pcap_result); 259 258 switch (pcap_result) { 260 259 case 1: 261 260 /* A packet was received, nothing to do! */ 262 /* DEBUG_MSG("packet time/length/size %i %i %i\n", header->ts, header->caplen, header->len); */261 DEBUG_MSG("packet time/length/size %i %i %i\n", header->ts, header->caplen, header->len); 263 262 break; 264 263 case 0: 265 264 /* pcap_next_ex reached a time out, check if there is someting to dump and if not, continue */ 266 /* FIXME: u ngly code duplication here! */265 /* FIXME: ugly code duplication here! */ 267 266 /* handle HUP signal */ 268 267 if (SigHup) {
