diff --git a/src/alert-unified2-alert.c b/src/alert-unified2-alert.c index 09bc9de922..93d144b1a8 100644 --- a/src/alert-unified2-alert.c +++ b/src/alert-unified2-alert.c @@ -21,7 +21,7 @@ #include "util-debug.h" /*prototypes*/ -TmEcode Unified2Alert (ThreadVars *, Packet *, void *, PacketQueue *); +int Unified2Alert (ThreadVars *, Packet *, void *, PacketQueue *); TmEcode Unified2AlertThreadInit(ThreadVars *, void *, void **); TmEcode Unified2AlertThreadDeinit(ThreadVars *, void *); int Unified2IPv4TypeAlert(ThreadVars *, Packet *, void *, PacketQueue *); @@ -156,7 +156,7 @@ int Unified2AlertRotateFile(ThreadVars *t, Unified2AlertThread *aun) { return 0; } -TmEcode Unified2Alert (ThreadVars *t, Packet *p, void *data, PacketQueue *pq) +int Unified2Alert (ThreadVars *t, Packet *p, void *data, PacketQueue *pq) { if(PKT_IS_IPV4(p)) { Unified2IPv4TypeAlert (t, p, data, pq); @@ -168,7 +168,7 @@ TmEcode Unified2Alert (ThreadVars *t, Packet *p, void *data, PacketQueue *pq) return TM_ECODE_OK; } - return TM_ECODE_FAILED; + return -1; } /** @@ -465,8 +465,8 @@ int Unified2IPv4TypeAlert (ThreadVars *tv, Packet *p, void *data, PacketQueue *p * \param t Thread Variable containing input/output queue, cpu affinity etc. * \param initdata Unified2 thread initial data. * \param data Unified2 thread data. - * \retval 0 on succces - * \retval -1 on failure + * \retval TM_ECODE_OK on succces + * \retval TM_ECODE_FAILED on failure */ TmEcode Unified2AlertThreadInit(ThreadVars *t, void *initdata, void **data) @@ -496,8 +496,8 @@ TmEcode Unified2AlertThreadInit(ThreadVars *t, void *initdata, void **data) * * \param t Thread Variable containing input/output queue, cpu affinity etc. * \param data Unified2 thread data. - * \retval 0 on succces - * \retval -1 on failure + * \retval TM_ECODE_OK on succces + * \retval TM_ECODE_FAILED on failure */ TmEcode Unified2AlertThreadDeinit(ThreadVars *t, void *data) diff --git a/src/detect.c b/src/detect.c index eeb735b06a..3e8694c4ce 100644 --- a/src/detect.c +++ b/src/detect.c @@ -514,8 +514,8 @@ int SigMatchSignatures(ThreadVars *th_v, DetectEngineCtx *de_ctx, DetectEngineTh * \param p packet to inspect * \param data thread specific data * \param pq packet queue - * \retval 1 error - * \retval 0 ok + * \retval TM_ECODE_FAILED error + * \retval TM_ECODE_OK ok */ TmEcode Detect(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) { diff --git a/src/respond-reject.c b/src/respond-reject.c index 288104f920..0c0807732a 100644 --- a/src/respond-reject.c +++ b/src/respond-reject.c @@ -49,10 +49,8 @@ TmEcode RespondRejectFunc(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq if (PKT_IS_IPV4(p)) { if (PKT_IS_TCP(p)) { ret = RejectSendIPv4TCP(tv, p, data); - goto end; } else if(PKT_IS_UDP(p)) { ret = RejectSendIPv4ICMP(tv, p, data); - goto end; } else { return TM_ECODE_OK; } @@ -68,7 +66,6 @@ TmEcode RespondRejectFunc(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq /* we're only supporting IPv4 and IPv6 */ return TM_ECODE_OK; } -end: if (ret) return TM_ECODE_FAILED; else diff --git a/src/source-nfq.c b/src/source-nfq.c index fa6e3ef795..90e895ff65 100644 --- a/src/source-nfq.c +++ b/src/source-nfq.c @@ -57,7 +57,7 @@ TmEcode NoNFQSupportExit(ThreadVars *tv, void *initdata, void **data) { printf("Error creating thread %s: you do not have support for nfqueue " "enabled please recompile with --enable-nfqueue\n", tv->name); - exit(TM_ECODE_FAILED); + exit(EXIT_FAILURE); } #else /* implied we do have NFQ support */ @@ -282,7 +282,7 @@ TmEcode ReceiveNFQThreadInit(ThreadVars *tv, void *initdata, void **data) { printf("NFQInitThread failed\n"); //return -1; mutex_unlock(&nfq_init_lock); - exit(TM_ECODE_FAILED); + exit(EXIT_FAILURE); } *data = (void *)ntv; diff --git a/src/source-pcap.c b/src/source-pcap.c index a0de87086e..22e5437746 100644 --- a/src/source-pcap.c +++ b/src/source-pcap.c @@ -117,6 +117,7 @@ void PcapCallback(char *user, struct pcap_pkthdr *h, u_char *pkt) { * \param tv pointer to ThreadVars * \param data pointer that gets cast into PcapThreadVars for ptv * \param pq pointer to the PacketQueue (not used here but part of the api) + * \retval TM_ECODE_FAILED on failure and TM_ECODE_OK on success */ TmEcode ReceivePcap(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) { PcapThreadVars *ptv = (PcapThreadVars *)data; diff --git a/src/source-pfring.c b/src/source-pfring.c index 40939b75b1..405f65b4d3 100644 --- a/src/source-pfring.c +++ b/src/source-pfring.c @@ -148,8 +148,8 @@ void PfringProcessPacket(void *user, struct pfring_pkthdr *h, u_char *pkt, Packe * \param tv pointer to ThreadVars * \param data pointer that gets cast into PfringThreadVars for ptv * \param pq pointer to the PacketQueue (not used here but part of the api) - * \retval 0 on success - * \retval -1 on failure + * \retval TM_ECODE_OK on success + * \retval TM_ECODE_FAILED on failure */ TmEcode ReceivePfring(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) { PfringThreadVars *ptv = (PfringThreadVars *)data; @@ -188,8 +188,8 @@ TmEcode ReceivePfring(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) { * \param data pointer gets populated with PfringThreadVars * \todo add a config option for setting cluster id * \todo Create a general pfring setup function. - * \retval 0 on success - * \retval -1 on error + * \retval TM_ECODE_OK on success + * \retval TM_ECODE_FAILED on error */ TmEcode ReceivePfringThreadInit(ThreadVars *tv, void *initdata, void **data) { int rc; @@ -258,7 +258,7 @@ void ReceivePfringThreadExitStats(ThreadVars *tv, void *data) { * \brief DeInit function closes pd at exit. * \param tv pointer to ThreadVars * \param data pointer that gets cast into PfringThreadVars for ptvi - * \retval 0 is always returned + * \retval TM_ECODE_OK is always returned */ TmEcode ReceivePfringThreadDeinit(ThreadVars *tv, void *data) { PfringThreadVars *ptv = (PfringThreadVars *)data; @@ -278,7 +278,7 @@ TmEcode ReceivePfringThreadDeinit(ThreadVars *tv, void *data) { * \param data pointer that gets cast into PfringThreadVars for ptv * \param pq pointer to the current PacketQueue * \todo Verify that PF_RING only deals with ethernet traffic - * \retval 0 is always returned + * \retval TM_ECODE_OK is always returned */ TmEcode DecodePfring(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) { @@ -301,8 +301,8 @@ TmEcode DecodePfring(ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) * \param tv pointer to ThreadVars * \param initdata pointer to initilization data. * \param data pointer that gets cast into PfringThreadVars for ptv - * \retval 0 is returned on success - * \retval -1 is returned on error + * \retval TM_ECODE_OK is returned on success + * \retval TM_ECODE_FAILED is returned on error */ TmEcode DecodePfringThreadInit(ThreadVars *tv, void *initdata, void **data) { diff --git a/src/stream-tcp.c b/src/stream-tcp.c index fb7f02d70f..65bfee0769 100644 --- a/src/stream-tcp.c +++ b/src/stream-tcp.c @@ -1478,8 +1478,8 @@ TmEcode StreamTcp (ThreadVars *tv, Packet *p, void *data, PacketQueue *pq) ret = StreamTcpPacket(tv, p, stt); mutex_unlock(&p->flow->m); - if (ret) - return TM_ECODE_FAILED; + //if (ret) + // return TM_ECODE_FAILED; stt->pkts++; return TM_ECODE_OK; diff --git a/src/tm-threads.c b/src/tm-threads.c index fcc8f4b182..ad5f084ca3 100644 --- a/src/tm-threads.c +++ b/src/tm-threads.c @@ -92,6 +92,7 @@ void *TmThreadsSlot1NoIn(void *td) { if (s->s.SlotThreadInit != NULL) { r = s->s.SlotThreadInit(tv, s->s.slot_initdata, &s->s.slot_data); + //printf("%s: TmThreadsSlot1NoIn: init r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { EngineKill(); @@ -107,7 +108,7 @@ void *TmThreadsSlot1NoIn(void *td) { TmThreadTestThreadUnPaused(tv); r = s->s.SlotFunc(tv, p, s->s.slot_data, &s->s.slot_pq); - + //printf("%s: TmThreadsSlot1NoIn: func r %" PRId32 "\n", tv->name, r); /* handle error */ if (r == TM_ECODE_FAILED) { TmqhReleasePacketsToPacketPool(&s->s.slot_pq); @@ -135,6 +136,7 @@ void *TmThreadsSlot1NoIn(void *td) { if (s->s.SlotThreadDeinit != NULL) { r = s->s.SlotThreadDeinit(tv, s->s.slot_data); + //printf("%s: TmThreadsSlot1NoIn: deinit r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { TmThreadsSetFlag(tv, THV_CLOSED); pthread_exit((void *) -1); @@ -157,6 +159,7 @@ void *TmThreadsSlot1NoOut(void *td) { if (s->s.SlotThreadInit != NULL) { r = s->s.SlotThreadInit(tv, s->s.slot_initdata, &s->s.slot_data); + //printf("%s: TmThreadsSlot1NoOut: init r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { EngineKill(); @@ -174,7 +177,7 @@ void *TmThreadsSlot1NoOut(void *td) { p = tv->tmqh_in(tv); r = s->s.SlotFunc(tv, p, s->s.slot_data, /* no outqh no pq */NULL); - + //printf("%s: TmThreadsSlot1NoOut: func r %" PRId32 "\n", tv->name, r); /* handle error */ if (r == TM_ECODE_FAILED) { TmqhOutputPacketpool(tv, p); @@ -194,6 +197,7 @@ void *TmThreadsSlot1NoOut(void *td) { if (s->s.SlotThreadDeinit != NULL) { r = s->s.SlotThreadDeinit(tv, s->s.slot_data); + //printf("%s: TmThreadsSlot1NoOut: r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { TmThreadsSetFlag(tv, THV_CLOSED); pthread_exit((void *) -1); @@ -217,6 +221,7 @@ void *TmThreadsSlot1NoInOut(void *td) { if (s->s.SlotThreadInit != NULL) { r = s->s.SlotThreadInit(tv, s->s.slot_initdata, &s->s.slot_data); + //printf("%s: TmThreadsSlot1NoInOut: init r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { EngineKill(); @@ -231,6 +236,7 @@ void *TmThreadsSlot1NoInOut(void *td) { TmThreadTestThreadUnPaused(tv); r = s->s.SlotFunc(tv, NULL, s->s.slot_data, /* no outqh, no pq */NULL); + //printf("%s: TmThreadsSlot1NoInOut: func r %" PRId32 "\n", tv->name, r); //printf("%s: TmThreadsSlot1NoInNoOut: r %" PRId32 "\n", tv->name, r); /* handle error */ @@ -252,6 +258,7 @@ void *TmThreadsSlot1NoInOut(void *td) { if (s->s.SlotThreadDeinit != NULL) { r = s->s.SlotThreadDeinit(tv, s->s.slot_data); + //printf("%s: TmThreadsSlot1NoInOut: deinit r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { TmThreadsSetFlag(tv, THV_CLOSED); pthread_exit((void *) -1); @@ -277,6 +284,7 @@ void *TmThreadsSlot1(void *td) { if (s->s.SlotThreadInit != NULL) { r = s->s.SlotThreadInit(tv, s->s.slot_initdata, &s->s.slot_data); + //printf("%s: TmThreadsSlot1: init r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { EngineKill(); @@ -297,7 +305,7 @@ void *TmThreadsSlot1(void *td) { //printf("%s: TmThreadsSlot1: p == NULL\n", tv->name); } else { r = s->s.SlotFunc(tv, p, s->s.slot_data, &s->s.slot_pq); - + printf("%s: TmThreadsSlot1: func r %" PRId32 "\n", tv->name, r); /* handle error */ if (r == TM_ECODE_FAILED) { TmqhReleasePacketsToPacketPool(&s->s.slot_pq); @@ -331,6 +339,7 @@ void *TmThreadsSlot1(void *td) { if (s->s.SlotThreadDeinit != NULL) { r = s->s.SlotThreadDeinit(tv, s->s.slot_data); + //printf("%s: TmThreadsSlot1: deinit r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { TmThreadsSetFlag(tv, THV_CLOSED); pthread_exit((void *) -1); @@ -349,6 +358,7 @@ static inline TmEcode TmThreadsSlotVarRun (ThreadVars *tv, Packet *p, TmSlot *sl for (s = slot; s != NULL; s = s->slot_next) { r = s->SlotFunc(tv, p, s->slot_data, &s->slot_pq); + //printf("TmThreadsSlotVarRun: s->SlotFunc %p returned r %" PRId32 "\n", s->SlotFunc, r); /* handle error */ if (r == TM_ECODE_FAILED) { //printf("TmThreadsSlotVarRun: s->SlotFunc %p returned 1\n", s->SlotFunc); @@ -365,6 +375,7 @@ static inline TmEcode TmThreadsSlotVarRun (ThreadVars *tv, Packet *p, TmSlot *sl /* see if we need to process the packet */ if (s->slot_next != NULL) { r = TmThreadsSlotVarRun(tv, extra_p, s->slot_next); + //printf("%s: TmThreadsSlotvarrun: run r %" PRId32 "\n", tv->name, r); /* XXX handle error */ if (r == TM_ECODE_FAILED) { //printf("TmThreadsSlotVarRun: recursive TmThreadsSlotVarRun returned 1\n"); @@ -397,6 +408,7 @@ void *TmThreadsSlotVar(void *td) { for (slot = s->s; slot != NULL; slot = slot->slot_next) { if (slot->SlotThreadInit != NULL) { r = slot->SlotThreadInit(tv, slot->slot_initdata, &slot->slot_data); + //printf("%s: TmThreadsSlotvar: init r %" PRId32 "\n", tv->name, r); if (r != TM_ECODE_OK) { EngineKill(); @@ -420,6 +432,7 @@ void *TmThreadsSlotVar(void *td) { //printf("%s: TmThreadsSlot1: p == NULL\n", tv->name); } else { r = TmThreadsSlotVarRun(tv, p, s->s); + //printf("%s: TmThreadsSlotvar: var run r %" PRId32 "\n", tv->name, r); /* XXX handle error */ if (r == TM_ECODE_FAILED) { //printf("TmThreadsSlotVar: TmThreadsSlotVarRun returned 1, breaking out of the loop.\n"); @@ -598,7 +611,7 @@ ThreadVars *TmThreadCreate(char *name, char *inq_name, char *inqh_name, Tmq *tmq = NULL; Tmqh *tmqh = NULL; - SCLogDebug("creating thread \"%s\"...", name); + printf("creating thread \"%s\"...\n", name); /* XXX create separate function for this: allocate a thread container */ tv = malloc(sizeof(ThreadVars)); @@ -776,7 +789,7 @@ void TmThreadKillThreads(void) { while (tv) { TmThreadsSetFlag(tv, THV_KILL); - SCLogDebug("told thread %s to stop", tv->name); + printf("told thread %s to stop\n", tv->name); /* XXX hack */ StreamMsgSignalQueueHack(); @@ -798,7 +811,7 @@ void TmThreadKillThreads(void) { int cnt = 0; while (1) { if (TmThreadsCheckFlag(tv, THV_CLOSED)) { - SCLogDebug("signalled the thread %" PRId32 " times", cnt); + printf("signalled the thread %" PRId32 " times\n", cnt); break; } @@ -810,14 +823,14 @@ void TmThreadKillThreads(void) { usleep(100); } - SCLogDebug("signalled tv->inq->id %" PRIu32 "", tv->inq->id); + printf("signalled tv->inq->id %" PRIu32 "\n", tv->inq->id); } if (tv->cond != NULL ) { int cnt = 0; while (1) { if (TmThreadsCheckFlag(tv, THV_CLOSED)) { - SCLogDebug("signalled the thread %" PRId32 " times", cnt); + printf("signalled the thread %" PRId32 " times\n", cnt); break; } @@ -831,7 +844,7 @@ void TmThreadKillThreads(void) { /* join it */ pthread_join(tv->t, NULL); - SCLogDebug("thread %s stopped", tv->name); + printf("thread %s stopped\n", tv->name); tv = tv->next; } @@ -1012,7 +1025,7 @@ static void TmThreadRestartThread(ThreadVars *tv) { if (tv->restarted >= THV_MAX_RESTARTS) { printf("Warning: thread restarts exceeded threshhold limit for thread" - "\"%s\"", tv->name); + "\"%s\"\n", tv->name); /* makes sense to reset the tv_aof to engine_exit?! */ // tv->aof = THV_ENGINE_EXIT; return; @@ -1027,7 +1040,7 @@ static void TmThreadRestartThread(ThreadVars *tv) } tv->restarted++; - SCLogInfo("thread \"%s\" restarted", tv->name); + printf("thread \"%s\" restarted\n", tv->name); return; }