aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/suricata/src/flow-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/suricata/src/flow-util.c')
-rw-r--r--framework/src/suricata/src/flow-util.c179
1 files changed, 0 insertions, 179 deletions
diff --git a/framework/src/suricata/src/flow-util.c b/framework/src/suricata/src/flow-util.c
deleted file mode 100644
index b4b54c18..00000000
--- a/framework/src/suricata/src/flow-util.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* Copyright (C) 2007-2013 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
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-/**
- * \file
- *
- * \author Victor Julien <victor@inliniac.net>
- *
- * Flow utility functions
- */
-
-#include "suricata-common.h"
-#include "threads.h"
-
-#include "flow.h"
-#include "flow-private.h"
-#include "flow-util.h"
-#include "flow-var.h"
-#include "app-layer.h"
-
-#include "util-var.h"
-#include "util-debug.h"
-#include "flow-storage.h"
-
-#include "detect.h"
-#include "detect-engine-state.h"
-
-/** \brief allocate a flow
- *
- * We check against the memuse counter. If it passes that check we increment
- * the counter first, then we try to alloc.
- *
- * \retval f the flow or NULL on out of memory
- */
-Flow *FlowAlloc(void)
-{
- Flow *f;
- size_t size = sizeof(Flow) + FlowStorageSize();
-
- if (!(FLOW_CHECK_MEMCAP(size))) {
- return NULL;
- }
-
- (void) SC_ATOMIC_ADD(flow_memuse, size);
-
- f = SCMalloc(size);
- if (unlikely(f == NULL)) {
- (void)SC_ATOMIC_SUB(flow_memuse, size);
- return NULL;
- }
- memset(f, 0, size);
-
- FLOW_INITIALIZE(f);
- return f;
-}
-
-
-/**
- * \brief cleanup & free the memory of a flow
- *
- * \param f flow to clear & destroy
- */
-void FlowFree(Flow *f)
-{
- FLOW_DESTROY(f);
- SCFree(f);
-
- size_t size = sizeof(Flow) + FlowStorageSize();
- (void) SC_ATOMIC_SUB(flow_memuse, size);
-}
-
-/**
- * \brief Function to map the protocol to the defined FLOW_PROTO_* enumeration.
- *
- * \param proto protocol which is needed to be mapped
- */
-
-uint8_t FlowGetProtoMapping(uint8_t proto)
-{
- switch (proto) {
- case IPPROTO_TCP:
- return FLOW_PROTO_TCP;
- case IPPROTO_UDP:
- return FLOW_PROTO_UDP;
- case IPPROTO_ICMP:
- return FLOW_PROTO_ICMP;
- case IPPROTO_SCTP:
- return FLOW_PROTO_SCTP;
- default:
- return FLOW_PROTO_DEFAULT;
- }
-}
-
-uint8_t FlowGetReverseProtoMapping(uint8_t rproto)
-{
- switch (rproto) {
- case FLOW_PROTO_TCP:
- return IPPROTO_TCP;
- case FLOW_PROTO_UDP:
- return IPPROTO_UDP;
- case FLOW_PROTO_ICMP:
- return IPPROTO_ICMP;
- case FLOW_PROTO_SCTP:
- return IPPROTO_SCTP;
- default:
- exit(EXIT_FAILURE);
- }
-}
-
-/* initialize the flow from the first packet
- * we see from it. */
-void FlowInit(Flow *f, const Packet *p)
-{
- SCEnter();
- SCLogDebug("flow %p", f);
-
- f->proto = p->proto;
- f->recursion_level = p->recursion_level;
- f->vlan_id[0] = p->vlan_id[0];
- f->vlan_id[1] = p->vlan_id[1];
-
- if (PKT_IS_IPV4(p)) {
- FLOW_SET_IPV4_SRC_ADDR_FROM_PACKET(p, &f->src);
- FLOW_SET_IPV4_DST_ADDR_FROM_PACKET(p, &f->dst);
- f->flags |= FLOW_IPV4;
- } else if (PKT_IS_IPV6(p)) {
- FLOW_SET_IPV6_SRC_ADDR_FROM_PACKET(p, &f->src);
- FLOW_SET_IPV6_DST_ADDR_FROM_PACKET(p, &f->dst);
- f->flags |= FLOW_IPV6;
- }
-#ifdef DEBUG
- /* XXX handle default */
- else {
- printf("FIXME: %s:%s:%" PRId32 "\n", __FILE__, __FUNCTION__, __LINE__);
- }
-#endif
-
- if (p->tcph != NULL) { /* XXX MACRO */
- SET_TCP_SRC_PORT(p,&f->sp);
- SET_TCP_DST_PORT(p,&f->dp);
- } else if (p->udph != NULL) { /* XXX MACRO */
- SET_UDP_SRC_PORT(p,&f->sp);
- SET_UDP_DST_PORT(p,&f->dp);
- } else if (p->icmpv4h != NULL) {
- f->type = p->type;
- f->code = p->code;
- } else if (p->icmpv6h != NULL) {
- f->type = p->type;
- f->code = p->code;
- } else if (p->sctph != NULL) { /* XXX MACRO */
- SET_SCTP_SRC_PORT(p,&f->sp);
- SET_SCTP_DST_PORT(p,&f->dp);
- } /* XXX handle default */
-#ifdef DEBUG
- else {
- printf("FIXME: %s:%s:%" PRId32 "\n", __FILE__, __FUNCTION__, __LINE__);
- }
-#endif
- COPY_TIMESTAMP(&p->ts, &f->startts);
-
- f->protomap = FlowGetProtoMapping(f->proto);
-
- SCReturn;
-}
-