}
}
-static inline void SetupTCP(Packet *p, Libnet11Packet *lpacket, int dir)
+static inline void SetupTCP(Packet *p, Libnet11Packet *lpacket, enum RejectDirection dir)
{
switch (dir) {
case REJECT_DIR_SRC:
lpacket->dp = TCP_GET_SRC_PORT(p);
break;
case REJECT_DIR_DST:
+ default:
SCLogDebug("sending a tcp reset to dst");
lpacket->seq = TCP_GET_SEQ(p);
lpacket->ack = TCP_GET_ACK(p);
lpacket->sp = TCP_GET_SRC_PORT(p);
lpacket->dp = TCP_GET_DST_PORT(p);
break;
- default:
- abort();
}
lpacket->window = TCP_GET_WINDOW(p);
//lpacket.seq += lpacket.dsize;
return 0;
}
-static inline void SetupEthernet(Packet *p, Libnet11Packet *lpacket, int dir)
+static inline void SetupEthernet(Packet *p, Libnet11Packet *lpacket, enum RejectDirection dir)
{
switch (dir) {
case REJECT_DIR_SRC:
lpacket->dmac = p->ethh->eth_src;
break;
case REJECT_DIR_DST:
+ default:
lpacket->smac = p->ethh->eth_src;
lpacket->dmac = p->ethh->eth_dst;
break;
- default:
- abort();
}
}
return 0;
}
-int RejectSendLibnet11IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv4TCP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
Libnet11Packet lpacket;
int result;
lpacket.dst4 = GET_IPV4_SRC_ADDR_U32(p);
break;
case REJECT_DIR_DST:
+ default:
lpacket.src4 = GET_IPV4_SRC_ADDR_U32(p);
lpacket.dst4 = GET_IPV4_DST_ADDR_U32(p);
break;
return 0;
}
-int RejectSendLibnet11IPv4ICMP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv4ICMP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
Libnet11Packet lpacket;
int result;
lpacket.dst4 = GET_IPV4_SRC_ADDR_U32(p);
break;
case REJECT_DIR_DST:
+ default:
lpacket.src4 = GET_IPV4_SRC_ADDR_U32(p);
lpacket.dst4 = GET_IPV4_DST_ADDR_U32(p);
break;
- default:
- SCLogError(SC_ERR_LIBNET_INVALID_DIR,
- "reset not src or dst returning");
- return 1;
}
/* TODO come up with ttl calc function */
return 0;
}
-int RejectSendLibnet11IPv6TCP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv6TCP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
Libnet11Packet lpacket;
int result;
memcpy(lpacket.dst6.libnet_s6_addr, GET_IPV6_SRC_ADDR(p), 16);
break;
case REJECT_DIR_DST:
+ default:
memcpy(lpacket.src6.libnet_s6_addr, GET_IPV6_SRC_ADDR(p), 16);
memcpy(lpacket.dst6.libnet_s6_addr, GET_IPV6_DST_ADDR(p), 16);
break;
}
#ifdef HAVE_LIBNET_ICMPV6_UNREACH
-int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
Libnet11Packet lpacket;
int result;
memcpy(lpacket.dst6.libnet_s6_addr, GET_IPV6_SRC_ADDR(p), 16);
break;
case REJECT_DIR_DST:
+ default:
memcpy(lpacket.src6.libnet_s6_addr, GET_IPV6_SRC_ADDR(p), 16);
memcpy(lpacket.dst6.libnet_s6_addr, GET_IPV6_DST_ADDR(p), 16);
break;
- default:
- SCLogError(SC_ERR_LIBNET_INVALID_DIR,
- "reset not src or dst returning");
- return 1;
}
/* TODO come up with ttl calc function */
#else /* HAVE_LIBNET_ICMPV6_UNREACH */
-int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
SCLogError(SC_ERR_LIBNET_NOT_ENABLED, "Libnet ICMPv6 based rejects are disabled."
"Usually this means that you don't have a patched libnet installed,"
#else
-int RejectSendLibnet11IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv4TCP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
SCLogError(SC_ERR_LIBNET_NOT_ENABLED, "Libnet based rejects are disabled."
"Usually this means that you don't have libnet installed,"
return 0;
}
-int RejectSendLibnet11IPv4ICMP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv4ICMP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
SCLogError(SC_ERR_LIBNET_NOT_ENABLED, "Libnet based rejects are disabled."
"Usually this means that you don't have libnet installed,"
return 0;
}
-int RejectSendLibnet11IPv6TCP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv6TCP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
SCLogError(SC_ERR_LIBNET_NOT_ENABLED, "Libnet based rejects are disabled."
"Usually this means that you don't have libnet installed,"
return 0;
}
-int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, int dir)
+int RejectSendLibnet11IPv6ICMP(ThreadVars *tv, Packet *p, void *data, enum RejectDirection dir)
{
SCLogError(SC_ERR_LIBNET_NOT_ENABLED, "Libnet based rejects are disabled."
"Usually this means that you don't have libnet installed,"
#ifndef __RESPOND_REJECT_LIBNET11_H__
#define __RESPOND_REJECT_LIBNET11_H__
-int RejectSendLibnet11IPv4TCP(ThreadVars *, Packet *, void *,int);
-int RejectSendLibnet11IPv4ICMP(ThreadVars *, Packet *, void *,int);
+int RejectSendLibnet11IPv4TCP(ThreadVars *, Packet *, void *, enum RejectDirection);
+int RejectSendLibnet11IPv4ICMP(ThreadVars *, Packet *, void *, enum RejectDirection);
-int RejectSendLibnet11IPv6TCP(ThreadVars *, Packet *, void *,int);
-int RejectSendLibnet11IPv6ICMP(ThreadVars *, Packet *, void *,int);
+int RejectSendLibnet11IPv6TCP(ThreadVars *, Packet *, void *, enum RejectDirection);
+int RejectSendLibnet11IPv6ICMP(ThreadVars *, Packet *, void *, enum RejectDirection);
void FreeCachedCtx(void);