Cleanup pcap output.

remotes/origin/master-1.0.x
Victor Julien 16 years ago
parent e0aacac4c6
commit 53c9276d51

@ -107,10 +107,15 @@ TmEcode ReceivePcapFile(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq)
ptv->in_p = p;
/// Right now we just support reading packets one at a time.
/* Right now we just support reading packets one at a time. */
int r = pcap_dispatch(pcap_g.pcap_handle, 1, (pcap_handler)PcapFileCallback, (u_char *)ptv);
if (r <= 0) {
printf("ReceivePcap: code %" PRId32 " error %s\n", r, pcap_geterr(pcap_g.pcap_handle));
if (r < 0) {
SCLogError(SC_ERR_PCAP_DISPATCH, "error code %" PRId32 " %s\n",
r, pcap_geterr(pcap_g.pcap_handle));
EngineStop();
return TM_ECODE_FAILED;
} else if (r == 0) {
SCLogDebug("error code %" PRId32 " %s\n", r, pcap_geterr(pcap_g.pcap_handle));
EngineStop();
return TM_ECODE_FAILED;
}
@ -175,7 +180,7 @@ TmEcode ReceivePcapFileThreadInit(ThreadVars *tv, void *initdata, void **data) {
break;
default:
printf("Error: datalink type %" PRId32 " not yet supported in module PcapFile.\n", pcap_g.datalink);
printf("Error: datalink type %" PRId32 " not (yet) supported in module PcapFile.\n", pcap_g.datalink);
free(ptv);
return TM_ECODE_FAILED;
}
@ -188,7 +193,7 @@ TmEcode ReceivePcapFileThreadInit(ThreadVars *tv, void *initdata, void **data) {
void ReceivePcapFileThreadExitStats(ThreadVars *tv, void *data) {
PcapFileThreadVars *ptv = (PcapFileThreadVars *)data;
printf(" - (%s) Packets %" PRIu32 ", bytes %" PRIu64 ".\n", tv->name, ptv->pkts, ptv->bytes);
SCLogInfo(" - (%s) Packets %" PRIu32 ", bytes %" PRIu64 ".", tv->name, ptv->pkts, ptv->bytes);
return;
}

@ -126,14 +126,13 @@ void PcapCallback(char *user, struct pcap_pkthdr *h, u_char *pkt) {
TmEcode ReceivePcap(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) {
PcapThreadVars *ptv = (PcapThreadVars *)data;
/// Just read one packet at a time for now.
/* Just read one packet at a time for now. */
int r = 0;
while (r == 0) {
//printf("ReceivePcap: call pcap_dispatch %" PRIu32 "\n", tv->flags);
r = pcap_dispatch(ptv->pcap_handle, 1, (pcap_handler)PcapCallback, (u_char *)ptv);
if (r < 0) {
printf("ReceivePcap: error %s\n", pcap_geterr(ptv->pcap_handle));
SCLogError(SC_ERR_PCAP_DISPATCH, "error code %"PRId32" %s",
r, pcap_geterr(ptv->pcap_handle));
break;
}

@ -87,6 +87,7 @@ const char * SCErrorToString(SCError err)
CASE_CODE (SC_WARN_IPFW_UNBIND);
CASE_CODE (SC_ERR_MULTIPLE_RUN_MODE);
CASE_CODE (SC_ERR_BPF);
CASE_CODE (SC_ERR_PCAP_DISPATCH);
default:
return "UNKNOWN_ERROR";
}

@ -108,6 +108,7 @@ typedef enum {
SC_ERR_UNKNOWN_RUN_MODE,
SC_ERR_MULTIPLE_RUN_MODE,
SC_ERR_BPF,
SC_ERR_PCAP_DISPATCH,
} SCError;
const char *SCErrorToString(SCError);

Loading…
Cancel
Save