AC_C_BIGENDIAN
AC_C_INLINE
-# g++ 4.7 will pass the c++11 check but is not sufficient
-if test "x$CXX" = "xg++" ; then
- if `$CXX -dumpversion | awk '{exit $1<4.8?0:1}'` ; then
- echo
- echo " ERROR: g++ >= 4.8 is required"
- echo
- exit 1
- fi
-fi
-
CFLAGS="-std=gnu99 $CFLAGS"
AX_CXX_COMPILE_STDCXX_11([noext], [mandatory])
AC_CONFIG_MACRO_DIRS([m4])
AM_INIT_AUTOMAKE([foreign])
+AM_SILENT_RULES([yes])
AC_PROG_CC([clang gcc])
AC_PROG_CXX([clang++ g++])
DataLog(std::string s) { key = s; }
void show(SnortConfig*) override;
- void eval(Packet*) override { };
+ void eval(Packet*) override { }
bool configure(SnortConfig*) override
{
uint32_t FlowKey::hash(SFHASHFCN*, unsigned char* d, int)
{
uint32_t a,b,c;
- uint32_t offset = 0;
- uint32_t tmp = 0;
- uint32_t tmp2 = 0;
a = *(uint32_t*)d; /* IPv6 lo[0] */
b = *(uint32_t*)(d+4); /* IPv6 lo[1] */
mix(a,b,c);
- offset=36;
- a += *(uint32_t*)(d+offset); /* vlan, protocol, & version */
- tmp = *(uint32_t*)(d+offset+4);
- if ( tmp )
- {
- b += tmp; /* mpls label */
- }
- offset += 8; /* skip past vlan/proto/ipver & mpls label */
- tmp2 = *(uint32_t*)(d+offset); /* after offset that has been moved */
- c += tmp2; /* address space id and 16bits of zero'd pad */
+ a += *(uint32_t*)(d+36); /* vlan tag, packet type, & version */
+ b += *(uint32_t*)(d+40); /* mpls label */
+ c += *(uint32_t*)(d+44); /* address space id and 16bits of zero'd pad */
+
finalize(a,b,c);
return c;
}
// Temporary command function placeholder, until all of them are ported
-DCE2_Ret DCE2_SmbComFuncPlaceholder(DCE2_SmbSsnData*, const SmbNtHdr*,
+static DCE2_Ret DCE2_SmbComFuncPlaceholder(DCE2_SmbSsnData*, const SmbNtHdr*,
const DCE2_SmbComInfo*, const uint8_t*, uint32_t)
{
return DCE2_RET__SUCCESS;
return false;
}
-void DCE2_SmbDataFree(DCE2_SmbSsnData* ssd)
+static void DCE2_SmbDataFree(DCE2_SmbSsnData* ssd)
{
if (ssd == nullptr)
return;
* Returns: None
*
********************************************************************/
-void DCE2_SmbProcess(DCE2_SmbSsnData* ssd)
+static void DCE2_SmbProcess(DCE2_SmbSsnData* ssd)
{
DebugMessage(DEBUG_DCE_SMB, "Processing SMB packet.\n");
dce2_smb_stats.smb_pkts++;
* Returns: None
*
********************************************************************/
-void DCE2_SmbInitGlobals()
+static void DCE2_SmbInitGlobals()
{
memset(&smb_wcts, 0, sizeof(smb_wcts));
memset(&smb_bccs, 0, sizeof(smb_bccs));
// Smb commands processing
-#include "dce_smb.h"
-#include "dce_smb_utils.h"
+#include "dce_smb_commands.h"
+
#include "dce_smb_module.h"
+
#include "main/snort_debug.h"
#include "utils/util.h"
#include "detection/detect.h"
#ifndef DCE_SMB_COMMANDS_H
#define DCE_SMB_COMMANDS_H
-#include "dce_smb.h"
+#include "dce_smb_utils.h"
DCE2_Ret DCE2_SmbOpen(DCE2_SmbSsnData*, const SmbNtHdr*,
const DCE2_SmbComInfo*, const uint8_t*, uint32_t);
#include "config.h"
#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <errno.h>
-
#include "ftpp_return_codes.h"
-#include "ftpp_ui_config.h"
#include "ftp_cmd_lookup.h"
#include "ftp_bounce_lookup.h"
-#include "ftpp_si.h"
-#include "pp_telnet.h"
-#include "pp_ftp.h"
-
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
-#include "profiler/profiler.h"
-#include "detection/detection_util.h"
-#include "parser/parser.h"
-#include "utils/sfsnprintfappend.h"
+
+#include "detection/detect.h"
#include "framework/data_bus.h"
-#include "sfip/sf_ip.h"
+#include "log/messages.h"
+#include "utils/util.h"
void CleanupFTPCMDConf(void* ftpCmd)
{
#include "ftpp_ui_config.h"
#include "protocols/packet.h"
-#include "framework/bits.h"
#define BUF_SIZE 1024
#include "config.h"
#endif
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/types.h>
-
#include "ftp_module.h"
#include "ftpp_si.h"
-#include "ftpp_ui_config.h"
#include "ftpp_return_codes.h"
#include "ftp_cmd_lookup.h"
#include "ft_main.h"
#include "telnet.h"
#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
-#include "file_api/file_api.h"
-#include "parser/parser.h"
-#include "framework/inspector.h"
#include "managers/inspector_manager.h"
-#include "detection/detection_util.h"
-#include "target_based/snort_protocols.h"
#include "profiler/profiler.h"
+#include "target_based/snort_protocols.h"
+#include "utils/util.h"
int16_t ftp_data_app_id = SFTARGET_UNKNOWN_PROTOCOL;
#include "ftp_bounce_lookup.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "utils/kmap.h"
-#include "ftpp_ui_config.h"
#include "ftpp_return_codes.h"
#include "ft_main.h"
#ifndef FTP_BOUNCE_LOOKUP_H
#define FTP_BOUNCE_LOOKUP_H
-#include "ftpp_include.h"
#include "ftpp_ui_config.h"
int ftp_bounce_lookup_init(BOUNCE_LOOKUP** BounceLookup);
* to access client inspection.
*/
-#include <sys/types.h>
-#include "ftpp_include.h"
-
struct FTP_CLIENT_REQ
{
const char* cmd_line;
#include "ftp_cmd_lookup.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "utils/kmap.h"
-#include "ftpp_ui_config.h"
#include "ftpp_return_codes.h"
#include "ft_main.h"
#ifndef FTP_CMD_LOOKUP_H
#define FTP_CMD_LOOKUP_H
-#include "ftpp_include.h"
#include "ftpp_ui_config.h"
int ftp_cmd_lookup_init(CMD_LOOKUP** CmdLookup);
#include "config.h"
#endif
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/types.h>
-
#include "ftp_module.h"
#include "ftpp_si.h"
-#include "ftpp_ui_config.h"
-#include "ftpp_return_codes.h"
-#include "ftp_cmd_lookup.h"
-#include "ft_main.h"
-#include "ftp_parse.h"
-#include "ftp_print.h"
-#include "ftp_splitter.h"
-#include "pp_ftp.h"
-
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
-#include "file_api/file_api.h"
+
+#include "detection/detection_util.h"
#include "file_api/file_service.h"
#include "file_api/file_flows.h"
-#include "parser/parser.h"
-#include "framework/inspector.h"
-#include "detection/detection_util.h"
-#include "protocols/tcp.h"
#include "profiler/profiler.h"
+#include "utils/util.h"
#define s_name "ftp_data"
#include <sstream>
#include "log/messages.h"
-#include "parser/parser.h"
using namespace std;
#include "config.h"
#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <errno.h>
-
-#include "ftpp_return_codes.h"
-#include "ftpp_ui_config.h"
-#include "ftp_cmd_lookup.h"
#include "ftp_bounce_lookup.h"
-#include "ftpp_si.h"
-#include "pp_telnet.h"
-#include "pp_ftp.h"
-
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
-#include "profiler/profiler.h"
-#include "detection/detection_util.h"
-#include "parser/parser.h"
-#include "parser/mstring.h"
-#include "utils/sfsnprintfappend.h"
+#include "ftp_cmd_lookup.h"
+#include "ftpp_return_codes.h"
+
#include "sfip/sf_ip.h"
+#include "utils/util.h"
#define CONF_SEPARATORS " \n"
#include "config.h"
#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <errno.h>
-
-#include "ftpp_return_codes.h"
-#include "ftpp_ui_config.h"
+#include "ft_main.h"
#include "ftp_cmd_lookup.h"
#include "ftp_bounce_lookup.h"
-#include "ftpp_si.h"
-#include "pp_telnet.h"
-#include "pp_ftp.h"
-#include "ft_main.h"
#include "ftp_parse.h"
+#include "ftpp_return_codes.h"
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
-#include "profiler/profiler.h"
-#include "detection/detection_util.h"
-#include "parser/parser.h"
+#include "log/messages.h"
#include "utils/sfsnprintfappend.h"
-#include "sfip/sf_ip.h"
int PrintConfOpt(bool on, const char* Option)
{
* inspection.
*/
-#include "ftpp_include.h"
-
typedef struct s_FTP_SERVER_RSP
{
char* rsp_line;
// ftp_splitter.cc author Russ Combs <rucombs@cisco.com>
#include "ftp_splitter.h"
+
#include <string.h>
FtpSplitter::FtpSplitter(bool c2s) : StreamSplitter(c2s) { }
+++ /dev/null
-//--------------------------------------------------------------------------
-// Copyright (C) 2014-2016 Cisco and/or its affiliates. All rights reserved.
-// Copyright (C) 2004-2013 Sourcefire, Inc.
-//
-// This program is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License Version 2 as published
-// by the Free Software Foundation. You may not use, modify or distribute
-// this program under any other version of the GNU General Public License.
-//
-// 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 along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//--------------------------------------------------------------------------
-/*
- * Description:
- *
- * Global definitions for the FTPTelnet preprocessor.
- *
- * NOTES:
- * - 16.09.04: Initial Development. SAS
- *
- * Steven A. Sturges <ssturges@sourcefire.com>
- * Daniel J. Roelker <droelker@sourcefire.com>
- * Marc A. Norton <mnorton@sourcefire.com>
- */
-#ifndef FTPP_INCLUDE_H
-#define FTPP_INCLUDE_H
-
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
-#include "sfip/sf_ip.h"
-#include "protocols/packet.h"
-
-#define GENERATOR_SPP_FTPP_FTP 125
-#define GENERATOR_SPP_FTPP_TELNET 126
-
-#endif
-
#ifndef FTPP_RETURN_CODES_H
#define FTPP_RETURN_CODES_H
-#include "ftpp_include.h"
-
#define FTPP_BOOL_FALSE 0
#define FTPP_SUCCESS 0
*/
#include "ftpp_si.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-# include <ctype.h>
-
-#include "ftpp_return_codes.h"
-#include "ftpp_ui_config.h"
#include "ft_main.h"
-#include "stream/stream_api.h"
+#include "ftpp_return_codes.h"
+
+#include "sfip/sf_ip.h"
#include "utils/util.h"
unsigned FtpFlowData::flow_id = 0;
#include <stdint.h>
-#include "ftpp_include.h"
#include "ftpp_ui_config.h"
#include "ftp_client.h"
#include "ftp_server.h"
*/
#include "ftpp_ui_config.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-
-#include "utils/util.h"
-#include "ftpp_return_codes.h"
-#include "ftp_cmd_lookup.h"
#include "ftp_bounce_lookup.h"
+#include "ftp_cmd_lookup.h"
+#include "ftpp_return_codes.h"
+
+#include "utils/util.h"
FTP_CLIENT_PROTO_CONF::FTP_CLIENT_PROTO_CONF()
{
#ifndef FTPP_UI_CONFIG_H
#define FTPP_UI_CONFIG_H
-#include "ftpp_include.h"
#include "framework/bits.h"
#include "sfip/sfip_t.h"
#include "sfrt/sfrt.h"
#include "config.h"
#endif
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#include "pp_telnet.h"
-#include "ftp_module.h"
#include "ft_main.h"
-#include "ftpp_return_codes.h"
-#include "ftp_cmd_lookup.h"
#include "ftp_bounce_lookup.h"
+#include "ftp_cmd_lookup.h"
+#include "ftp_module.h"
+#include "ftpp_return_codes.h"
+#include "pp_telnet.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
#include "detection/detection_util.h"
-#include "sfip/sfip_t.h"
#include "file_api/file_service.h"
+#include "sfip/sf_ip.h"
#ifndef MAXHOSTNAMELEN /* Why doesn't Windows define this? */
#define MAXHOSTNAMELEN 256
#include "config.h"
#endif
-#include <sys/types.h>
-
-#include "telnet_module.h"
#include "ftpp_return_codes.h"
+#include "telnet_module.h"
-#include "main/snort_debug.h"
-#include "stream/stream_api.h"
#include "detection/detection_util.h"
#define NUL 0x00
#include "config.h"
#endif
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#include "pp_telnet.h"
-#include "ftpp_si.h"
-#include "ftpp_ui_config.h"
-#include "ftpp_return_codes.h"
#include "ft_main.h"
#include "ftp_print.h"
+#include "ftpp_return_codes.h"
+#include "ftpp_si.h"
+#include "ftpp_ui_config.h"
+#include "pp_telnet.h"
#include "telnet_module.h"
#include "log/messages.h"
-#include "main/snort_types.h"
-#include "main/snort_debug.h"
#include "profiler/profiler.h"
-#include "stream/stream_api.h"
-#include "file_api/file_api.h"
-#include "parser/parser.h"
-#include "framework/inspector.h"
-#include "utils/sfsnprintfappend.h"
THREAD_LOCAL ProfileStats telnetPerfStats;
THREAD_LOCAL SimpleStats tnstats;
// telnet_module.cc author Russ Combs <rucombs@cisco.com>
#include "telnet_module.h"
-#include <sstream>
using namespace std;