diff --git a/src/Makefile.am b/src/Makefile.am index d8b1fe92f1..348a7dd6a8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ noinst_HEADERS = action-globals.h \ flow-private.h queue.h source-nfq-prototypes.h \ source-windivert-prototypes.h \ suricata-common.h threadvars.h tree.h \ - util-binsearch.h util-validate.h + util-validate.h bin_PROGRAMS = suricata suricata_SOURCES = \ diff --git a/src/detect-uricontent.c b/src/detect-uricontent.c index 8663387832..13080a5988 100644 --- a/src/detect-uricontent.c +++ b/src/detect-uricontent.c @@ -52,7 +52,6 @@ #include "util-debug.h" #include "util-unittest.h" #include "util-unittest-helper.h" -#include "util-binsearch.h" #include "util-spm.h" #include "conf.h" diff --git a/src/util-binsearch.c b/src/util-binsearch.c deleted file mode 100644 index 596277595f..0000000000 --- a/src/util-binsearch.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (C) 2007-2010 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 - * - * Binary search utility functions - * - * \todo replace this by a better algo - */ - -#include "suricata-common.h" -#include "suricata.h" - -void BinSearchInit (void) -{ - /* nothing no more */ -} - -/* Binary search. - * - * Returns: - * - ptr to start of the match - * - null if no match - */ -/* simple bin search modelled loosely after strstr */ -uint8_t * -BinSearch(const uint8_t *haystack, size_t haystack_len, - const uint8_t *needle, size_t needle_len) -{ - const uint8_t *h, *n; - const uint8_t *hmax = haystack + haystack_len; - const uint8_t *nmax = needle + (needle_len - 1); - - if (needle_len == 0) - return NULL; - - for (n = needle; haystack != hmax; haystack++) { - if (*haystack != *n) { - continue; - } - /* one byte needles */ - if (needle_len == 1) - return (uint8_t *)haystack; - - for (h = haystack+1, n++; h != hmax; h++, n++) { - //printf("h %c n %c\n", isprint(*h) ? *h : 'X', *n); - if (*h != *n) { - break; - } - /* if we run out of needle we fully matched */ - if (n == nmax) { - return (uint8_t *)haystack; - } - } - n = needle; - } - return NULL; -} - -/* Caseless binary search. More expensive that the one that - * respects case. - * - * Returns: - * - ptr to start of the match - * - null if no match - */ -uint8_t * -BinSearchNocase(const uint8_t *haystack, size_t haystack_len, - const uint8_t *needle, size_t needle_len) -{ - const uint8_t *h, *n; - const uint8_t *hmax = haystack + haystack_len; - const uint8_t *nmax = needle + (needle_len - 1); - - if (needle_len == 0) - return NULL; - - for (n = needle; haystack != hmax; haystack++) { - if (*haystack != *n && *haystack != u8_tolower(*n)) { - continue; - } - for (h = haystack+1, n++; h != hmax; h++, n++) { - if (*h != *n && *h != u8_tolower(*n)) { - break; - } - /* if we run out of needle we fully matched */ - if (n == nmax) { - return (uint8_t *)haystack; - } - } - n = needle; - } - return NULL; -} - diff --git a/src/util-binsearch.h b/src/util-binsearch.h deleted file mode 100644 index 857e08388b..0000000000 --- a/src/util-binsearch.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2007-2010 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 - */ - -#ifndef __UTIL_BINSEARCH_H__ -#define __UTIL_BINSEARCH_H__ - -void BinSearchInit (void); -uint8_t *BinSearch(const uint8_t *, size_t, const uint8_t *, size_t); -uint8_t *BinSearchNocase(const uint8_t *, size_t, const uint8_t *, size_t); - -#endif /* __UTIL_BINSEARCH_H__ */ -