-/* Copyright (C) 2007-2010 Open Information Security Foundation
+/* Copyright (C) 2007-2020 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 as published by the Free
*
* RespondReject is a threaded wrapper for sending Rejects
*
- * \todo RespondRejectFunc returns 1 on error, 0 on ok... why? For now it should
- * just return 0 always, error handling is a TODO in the threading model (VJ)
*/
#include "suricata-common.h"
static TmEcode RespondRejectFunc(ThreadVars *tv, Packet *p, void *data)
{
- int ret = 0;
-
/* ACTION_REJECT defaults to rejecting the SRC */
if (!(PACKET_TEST_ACTION(p, ACTION_REJECT)) &&
!(PACKET_TEST_ACTION(p, ACTION_REJECT_DST)) &&
if (PKT_IS_IPV4(p)) {
if (PKT_IS_TCP(p)) {
- ret = RejectSendIPv4TCP(tv, p, data);
+ (void)RejectSendIPv4TCP(tv, p, data);
} else {
- ret = RejectSendIPv4ICMP(tv, p, data);
+ (void)RejectSendIPv4ICMP(tv, p, data);
}
} else if (PKT_IS_IPV6(p)) {
if (PKT_IS_TCP(p)) {
- ret = RejectSendIPv6TCP(tv, p, data);
+ (void)RejectSendIPv6TCP(tv, p, data);
} else {
- ret = RejectSendIPv6ICMP(tv, p, data);
+ (void)RejectSendIPv6ICMP(tv, p, data);
}
- } else {
- /* we're only supporting IPv4 and IPv6 */
- return TM_ECODE_OK;
}
- if (ret)
- return TM_ECODE_FAILED;
- else
- return TM_ECODE_OK;
+ return TM_ECODE_OK;
}
int RejectSendIPv4TCP(ThreadVars *tv, Packet *p, void *data)
{
SCEnter();
- int r = 0;
if (PACKET_TEST_ACTION(p, ACTION_REJECT)) {
- r = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC);
SCReturnInt(r);
} else if (PACKET_TEST_ACTION(p, ACTION_REJECT_DST)) {
- r = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST);
+ int r = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST);
SCReturnInt(r);
} else if(PACKET_TEST_ACTION(p, ACTION_REJECT_BOTH)) {
- int ret;
- ret = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC);
if (RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST) == 0) {
SCReturnInt(0);
} else {
- SCReturnInt(ret);
+ SCReturnInt(r);
}
}
SCReturnInt(0);
int RejectSendIPv4ICMP(ThreadVars *tv, Packet *p, void *data)
{
SCEnter();
- int r = 0;
if (PACKET_TEST_ACTION(p, ACTION_REJECT)) {
- r = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_SRC);
SCReturnInt(r);
} else if (PACKET_TEST_ACTION(p, ACTION_REJECT_DST)) {
- r = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_DST);
+ int r = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_DST);
SCReturnInt(r);
} else if(PACKET_TEST_ACTION(p, ACTION_REJECT_BOTH)) {
- int ret;
- ret = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_SRC);
+ int r;
+ r = RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_SRC);
if (RejectSendLibnet11L3IPv4ICMP(tv, p, data, REJECT_DIR_DST) == 0) {
SCReturnInt(0);
} else {
- SCReturnInt(ret);
+ SCReturnInt(r);
}
}
SCReturnInt(0);
int RejectSendIPv6TCP(ThreadVars *tv, Packet *p, void *data)
{
SCEnter();
- int r = 0;
if (PACKET_TEST_ACTION(p, ACTION_REJECT)) {
- r = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_SRC);
SCReturnInt(r);
} else if (PACKET_TEST_ACTION(p, ACTION_REJECT_DST)) {
- r = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_DST);
+ int r = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_DST);
SCReturnInt(r);
} else if(PACKET_TEST_ACTION(p, ACTION_REJECT_BOTH)) {
- int ret;
- ret = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_SRC);
if (RejectSendLibnet11L3IPv6TCP(tv, p, data, REJECT_DIR_DST) == 0) {
SCReturnInt(0);
} else {
- SCReturnInt(ret);
+ SCReturnInt(r);
}
}
SCReturnInt(0);
int RejectSendIPv6ICMP(ThreadVars *tv, Packet *p, void *data)
{
SCEnter();
- int r = 0;
if (PACKET_TEST_ACTION(p, ACTION_REJECT)) {
- r = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_SRC);
SCReturnInt(r);
} else if (PACKET_TEST_ACTION(p, ACTION_REJECT_DST)) {
- r = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_DST);
+ int r = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_DST);
SCReturnInt(r);
} else if(PACKET_TEST_ACTION(p, ACTION_REJECT_BOTH)) {
- int ret;
- ret = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_SRC);
+ int r = RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_SRC);
if (RejectSendLibnet11L3IPv6ICMP(tv, p, data, REJECT_DIR_DST) == 0) {
SCReturnInt(0);
} else {
- SCReturnInt(ret);
+ SCReturnInt(r);
}
}
SCReturnInt(0);
}
-