From: Russ Combs Date: Wed, 20 Aug 2014 18:12:32 +0000 (-0400) Subject: FIXITs X-Git-Tag: 3.0.0-233~1419^2~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f13d6b4761b4ab5fddea2e2e689ba568da8d071f;p=thirdparty%2Fsnort3.git FIXITs --- diff --git a/ChangeLog b/ChangeLog index 7155e0eb5..5c98e6358 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +115 +-- remove share.h +-- misc FIXITs + 114 -- more FIXIT cleanup -- fixed flush bucket dumping diff --git a/doc/style.txt b/doc/style.txt index 947599273..61e89f123 100644 --- a/doc/style.txt +++ b/doc/style.txt @@ -25,7 +25,15 @@ yet firm so feedback is welcome to get something we can live with. * Function comment blocks are generally just noise that quickly becomes obsolete. If you absolutely must comment on parameters, put each on a separate line along with the comment. That way changing the signature - will cause a change to the comments too. + may prompt a change to the comments too. + +* Use FIXIT (not FIXTHIS or TODO or whatever) to mark things left for a + day or even in just a minute. That way we can find them easily and won't + lose track of them. + +* Presently using FIXIT-X where X = P | H | M | L, indicating perf, high, + med, or low priority. For now, H, M, or L can indicate alpha 1, 2, or 3. + Perf changes fall between alpha 1 and 2. ==== Types diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt index bd58d823c..4afab657c 100644 --- a/src/framework/CMakeLists.txt +++ b/src/framework/CMakeLists.txt @@ -13,7 +13,6 @@ set (FRAMEWORK_INCLUDES mpse.h parameter.h plug_data.h - share.h so_rule.h value.h ) diff --git a/src/framework/Makefile.am b/src/framework/Makefile.am index 1c2a5f9c9..13204d47e 100644 --- a/src/framework/Makefile.am +++ b/src/framework/Makefile.am @@ -17,7 +17,6 @@ module.h \ mpse.h \ parameter.h \ plug_data.h \ -share.h \ so_rule.h \ value.h diff --git a/src/framework/share.h b/src/framework/share.h deleted file mode 100644 index 88e4a236d..000000000 --- a/src/framework/share.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -** Copyright (C) 2014 Cisco and/or its affiliates. All rights reserved. -** -** 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. -*/ -// share.h author Russ Combs - -#ifndef SHARE_H -#define SHARE_H - -// FIXIT remove this dependency once stuff works -// need to move below to share.cc or -// move below data mgr calls to share.cc -// need to build dynamic plugins and on linux to verify -#include "managers/data_manager.h" - -class PlugData; - -class Share -{ -public: - static PlugData* acquire(const char* key) - { return DataManager::acquire(key); }; - - static void release(PlugData* p) - { return DataManager::release(p); }; -}; - -#endif - diff --git a/src/loggers/alert_test.cc b/src/loggers/alert_test.cc index 06be0603d..83da6a9d0 100644 --- a/src/loggers/alert_test.cc +++ b/src/loggers/alert_test.cc @@ -181,16 +181,24 @@ void TestLogger::alert(Packet *p, const char *msg, Event *event) if (flags & TEST_FLAG_SESSION) LogIpAddrs(test_file, p); -#if 0 - if (flags & TEST_FLAG_REBUILT) + if ( (flags & TEST_FLAG_REBUILT) && (p->packet_flags && PKT_PSEUDO) ) { - if (p->packet_flags & PKT_REBUILT_FRAG) - //TextLog_Print(test_file, "F:" STDu64 "\t", pc.rebuilt_frags); FIXIT count in f3 - // - else if (p->packet_flags & PKT_REBUILT_STREAM) - //TextLog_Print(test_file, "S:" STDu64 "\t", pc.rebuilt_tcp); FIXIT count in s5 + const char* s; + switch ( p->pseudo_type ) + { + case PSEUDO_PKT_IP: s = "ip-defrag"; break; + case PSEUDO_PKT_TCP: s = "tcp-deseg"; break; + case PSEUDO_PKT_DCE_RPKT: s = "dce-pkt"; break; + case PSEUDO_PKT_DCE_SEG: s = "dce-deseg"; break; + case PSEUDO_PKT_DCE_FRAG: s = "dec-defrag"; break; + case PSEUDO_PKT_SMB_SEG: s = "smb-deseg"; break; + case PSEUDO_PKT_SMB_TRANS: s = "smb-trans"; break; + case PSEUDO_PKT_PS: s = "port_scan"; break; + case PSEUDO_PKT_SDF: s = "sdf"; break; + default: s = "pseudo pkt"; break; + } + TextLog_Print(test_file, "%s", s); } -#endif TextLog_Print(test_file, "\n"); TextLog_Flush(test_file); } diff --git a/src/managers/data_manager.cc b/src/managers/data_manager.cc index d31e2e417..3cf30de48 100644 --- a/src/managers/data_manager.cc +++ b/src/managers/data_manager.cc @@ -92,7 +92,7 @@ void DataManager::instantiate( b->data = api->ctor(mod); } -PlugData* DataManager::acquire(const char* key) +PlugData* DataManager::acquire(const char* key, SnortConfig* sc) { DataBlock* b = get_data(key); assert(b); @@ -101,7 +101,7 @@ PlugData* DataManager::acquire(const char* key) { // create default instance Module* mod = ModuleManager::get_module(key); - mod->begin(key, 0, nullptr); // FIXIT really need sc? + mod->begin(key, 0, sc); mod->end(key, 0, nullptr); b->data = b->api->ctor(mod); } diff --git a/src/managers/data_manager.h b/src/managers/data_manager.h index 871eb1c95..4585051ef 100644 --- a/src/managers/data_manager.h +++ b/src/managers/data_manager.h @@ -34,7 +34,7 @@ public: static void instantiate(const DataApi*, Module*, SnortConfig*); - static PlugData* acquire(const char* key); + static PlugData* acquire(const char* key, SnortConfig*); static void release(PlugData*); }; diff --git a/src/network_inspectors/port_scan/port_scan.cc b/src/network_inspectors/port_scan/port_scan.cc index 6971dda6f..5e7a7f282 100644 --- a/src/network_inspectors/port_scan/port_scan.cc +++ b/src/network_inspectors/port_scan/port_scan.cc @@ -56,6 +56,7 @@ #include "main/analyzer.h" #include "protocols/packet.h" +#include "managers/data_manager.h" #include "managers/packet_manager.h" #include "event.h" #include "event_wrapper.h" @@ -66,7 +67,6 @@ #include "filters/sfthreshold.h" #include "sfsnprintfappend.h" #include "framework/inspector.h" -#include "framework/share.h" #include "framework/plug_data.h" #include "profiler.h" #include "detection/detect.h" @@ -849,15 +849,15 @@ PortScan::~PortScan() delete config; if ( global ) - Share::release(global); + DataManager::release(global); } -bool PortScan::configure(SnortConfig*) +bool PortScan::configure(SnortConfig* sc) { // FIXIT use fixed base file name config->logfile = SnortStrdup("portscan.log"); - global = (PsData*)Share::acquire(PS_GLOBAL); + global = (PsData*)DataManager::acquire(PS_GLOBAL, sc); config->common = global->data; return true; } diff --git a/src/protocols/packet.h b/src/protocols/packet.h index cc07e901c..fc63dc01b 100644 --- a/src/protocols/packet.h +++ b/src/protocols/packet.h @@ -114,9 +114,9 @@ enum PseudoPacketType{ PSEUDO_PKT_IP, PSEUDO_PKT_TCP, PSEUDO_PKT_DCE_RPKT, - PSEUDO_PKT_SMB_SEG, PSEUDO_PKT_DCE_SEG, PSEUDO_PKT_DCE_FRAG, + PSEUDO_PKT_SMB_SEG, PSEUDO_PKT_SMB_TRANS, PSEUDO_PKT_PS, PSEUDO_PKT_SDF, diff --git a/src/service_inspectors/ftp_telnet/ftp.cc b/src/service_inspectors/ftp_telnet/ftp.cc index c56217b33..54ab645cb 100644 --- a/src/service_inspectors/ftp_telnet/ftp.cc +++ b/src/service_inspectors/ftp_telnet/ftp.cc @@ -49,7 +49,7 @@ #include "parser.h" #include "framework/inspector.h" #include "framework/plug_data.h" -#include "framework/share.h" +#include "managers/data_manager.h" #include "detection/detection_util.h" int16_t ftp_data_app_id = SFTARGET_UNKNOWN_PROTOCOL; @@ -390,12 +390,12 @@ FtpServer::~FtpServer () if ( ftp_client ) // FIXIT make sure CleanupFTPClientConf() is called - Share::release(ftp_client); + DataManager::release(ftp_client); } bool FtpServer::configure (SnortConfig* sc) { - ftp_client = (ClientData*)Share::acquire(client_key); + ftp_client = (ClientData*)DataManager::acquire(client_key, sc); bind_server = ftp_server; bind_client = ftp_client->data; diff --git a/src/service_inspectors/ftp_telnet/ftp_data.cc b/src/service_inspectors/ftp_telnet/ftp_data.cc index f164d471e..2b158fc1a 100644 --- a/src/service_inspectors/ftp_telnet/ftp_data.cc +++ b/src/service_inspectors/ftp_telnet/ftp_data.cc @@ -49,7 +49,6 @@ #include "parser.h" #include "framework/inspector.h" #include "framework/plug_data.h" -#include "framework/share.h" #include "detection/detection_util.h" static const char* data_key = "ftp_data"; diff --git a/src/service_inspectors/http_inspect/http_inspect.cc b/src/service_inspectors/http_inspect/http_inspect.cc index 410221fc1..de24f11db 100644 --- a/src/service_inspectors/http_inspect/http_inspect.cc +++ b/src/service_inspectors/http_inspect/http_inspect.cc @@ -71,7 +71,7 @@ #include "file_api/file_api.h" #include "sf_email_attach_decode.h" #include "framework/inspector.h" -#include "framework/share.h" +#include "managers/data_manager.h" #define ERRSTRLEN 1000 @@ -264,7 +264,7 @@ HttpInspect::~HttpInspect () delete config; if ( global ) - Share::release(global); + DataManager::release(global); } bool HttpInspect::get_buf( @@ -301,7 +301,7 @@ bool HttpInspect::get_buf(unsigned id, Packet*, InspectionBuffer& b) bool HttpInspect::configure (SnortConfig* sc) { - global = (HttpData*)Share::acquire(GLOBAL_KEYWORD); + global = (HttpData*)DataManager::acquire(GLOBAL_KEYWORD, sc); config->global = global->data; HttpInspectInitializeGlobalConfig(config->global); diff --git a/src/stream/base/stream_base.cc b/src/stream/base/stream_base.cc index f6a7fd6e1..6f2fd5bad 100644 --- a/src/stream/base/stream_base.cc +++ b/src/stream/base/stream_base.cc @@ -32,7 +32,6 @@ #include "snort_debug.h" #include "framework/inspector.h" #include "framework/plug_data.h" -#include "framework/share.h" #include "managers/inspector_manager.h" #include "managers/module_manager.h" #include "flow/flow_control.h" diff --git a/src/stream/ip/ip_defrag.cc b/src/stream/ip/ip_defrag.cc index 76296f9a4..5d52df81c 100644 --- a/src/stream/ip/ip_defrag.cc +++ b/src/stream/ip/ip_defrag.cc @@ -101,7 +101,6 @@ #include "packet_io/active.h" #include "packet_io/sfdaq.h" #include "framework/inspector.h" -#include "framework/share.h" #include "flow/flow_control.h" /* D E F I N E S **************************************************/