Style cleanups for resets.

remotes/origin/master-1.0.x
Victor Julien 18 years ago
parent 45f83f7636
commit 3446566e44

@ -1,5 +1,9 @@
/* Copyright (c) 2008 Victor Julien <victor@inliniac.net> */
/* Authors: William Metcalf and Victor Julien
*
*/
/* RespondRejectLibnet11 used to send out libnet based
* TCP resets and ICMP unreachables.
*/
@ -36,7 +40,7 @@ typedef struct _Libnet11Packet
u_int16_t sp, dp;
} Libnet11Packet;
int RejectSendLibnet11L3IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir){
int RejectSendLibnet11L3IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir) {
Libnet11Packet lpacket;
@ -67,7 +71,7 @@ int RejectSendLibnet11L3IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir){
/* save payload len */
lpacket.dsize = p->tcp_payload_len;
if(dir == REJECT_DIR_SRC){
if (dir == REJECT_DIR_SRC) {
printf ("sending a tcp reset to src\n");
lpacket.seq = TCP_GET_ACK(p);
lpacket.ack = TCP_GET_SEQ(p) + lpacket.dsize;
@ -78,7 +82,7 @@ int RejectSendLibnet11L3IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir){
lpacket.src4 = GET_IPV4_DST_ADDR_U32(p);
lpacket.dst4 = GET_IPV4_SRC_ADDR_U32(p);
}
else if(dir == REJECT_DIR_DST){
else if (dir == REJECT_DIR_DST) {
printf ("sending a tcp reset to dst\n");
lpacket.seq = TCP_GET_SEQ(p);
lpacket.ack = TCP_GET_ACK(p);
@ -144,7 +148,8 @@ int RejectSendLibnet11L3IPv4TCP(ThreadVars *tv, Packet *p, void *data, int dir){
goto cleanup;
}
cleanup:
cleanup:
libnet_destroy (c);
return 0;
}

@ -1,7 +1,14 @@
/* Copyright (c) 2008 Victor Julien <victor@inliniac.net> */
/* Author: William Metcalf
*
*/
/* 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 <pthread.h>
@ -16,6 +23,7 @@
#include "tm-queuehandlers.h"
#include "tm-modules.h"
#include "action-globals.h"
#include "respond-reject.h"
#include "respond-reject-libnet11.h"
@ -36,41 +44,41 @@ void TmModuleRespondRejectRegister (void) {
int RespondRejectFunc(ThreadVars *tv, Packet *p, void *data) {
/* ACTION_REJECT defaults to rejecting the SRC */
if(p->action != ACTION_REJECT && p->action != ACTION_REJECT_DST &&
if (p->action != ACTION_REJECT && p->action != ACTION_REJECT_DST &&
p->action != ACTION_REJECT_BOTH) {
return 0;
}
if(PKT_IS_IPV4(p)){
if(PKT_IS_TCP(p)){
if (PKT_IS_IPV4(p)) {
if (PKT_IS_TCP(p)) {
return RejectSendIPv4TCP(tv, p, data);
} else if(PKT_IS_UDP(p)){
} else if(PKT_IS_UDP(p)) {
return RejectSendIPv4ICMP(tv, p, data);
} else{
} else {
return 0;
}
} else if (PKT_IS_IPV6(p)) {
if(PKT_IS_TCP(p)){
if (PKT_IS_TCP(p)) {
return RejectSendIPv6TCP(tv, p, data);
} else if(PKT_IS_UDP(p)){
return RejectSendIPv6ICMP(tv, p, data);
} else{
} else {
return 0;
}
} else{
printf ("wtf? packet is not ipv4 or ipv6 returning\n");
} else {
/* we're only supporting IPv4 and IPv6 */
return 0;
}
}
int RejectSendIPv4TCP(ThreadVars *tv, Packet *p, void *data){
if(p->action == ACTION_REJECT){
int RejectSendIPv4TCP(ThreadVars *tv, Packet *p, void *data) {
if (p->action == ACTION_REJECT) {
return RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC);
} else if(p->action == ACTION_REJECT_DST){
} else if (p->action == ACTION_REJECT_DST) {
return RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST);
} else if(p->action == ACTION_REJECT_BOTH){
if(RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC) == 0 &&
RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST) == 0){
} else if(p->action == ACTION_REJECT_BOTH) {
if (RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_SRC) == 0 &&
RejectSendLibnet11L3IPv4TCP(tv, p, data, REJECT_DIR_DST) == 0) {
return 0;
} else {
return 1;
@ -78,15 +86,19 @@ int RejectSendIPv4TCP(ThreadVars *tv, Packet *p, void *data){
}
return 0;
}
int RejectSendIPv4ICMP(ThreadVars *tv, Packet *p, void *data){
/* XXX VJ implement this when we have UDP decoding implemented */
int RejectSendIPv4ICMP(ThreadVars *tv, Packet *p, void *data) {
printf ("we would send a ipv4 icmp reset here\n");
return 1;
}
int RejectSendIPv6TCP(ThreadVars *tv, Packet *p, void *data){
int RejectSendIPv6TCP(ThreadVars *tv, Packet *p, void *data) {
printf ("we would send a ipv6 tcp reset here\n");
return 1;
}
int RejectSendIPv6ICMP(ThreadVars *tv, Packet *p, void *data){
int RejectSendIPv6ICMP(ThreadVars *tv, Packet *p, void *data) {
printf ("we would send a ipv6 icmp reset here\n");
return 1;
}

Loading…
Cancel
Save