add_subdirectory ( alert_ex )
-add_subdirectory ( alert_json )
add_subdirectory ( alert_lua )
-add_subdirectory ( alert_unixsock )
add_subdirectory ( log_null )
+++ /dev/null
-cmake_minimum_required ( VERSION 3.4.3 )
-project ( alert_json CXX )
-
-set (CMAKE_CXX_STANDARD 11)
-set (CMAKE_CXX_STANDARD_REQUIRED ON)
-set (CMAKE_CXX_EXTENSIONS OFF)
-
-if ( APPLE )
- set ( CMAKE_MACOSX_RPATH OFF )
-endif ( APPLE )
-
-include ( FindPkgConfig )
-pkg_search_module ( SNORT3 REQUIRED snort>=3 )
-
-add_library (
- alert_json MODULE
- alert_json.cc
-)
-
-if ( APPLE )
- set_target_properties (
- alert_json
- PROPERTIES
- LINK_FLAGS "-undefined dynamic_lookup"
- )
-endif ( APPLE )
-
-set_target_properties (
- alert_json
- PROPERTIES
- PREFIX ""
-)
-
-target_include_directories (
- alert_json PUBLIC
- ${SNORT3_INCLUDE_DIRS}
-)
-
-install (
- TARGETS alert_json
- LIBRARY
- DESTINATION "${CMAKE_INSTALL_LIBDIR}/${CMAKE_PROJECT_NAME}/loggers"
-)
+++ /dev/null
-cmake_minimum_required ( VERSION 3.4.3 )
-project ( alert_unixsock CXX )
-
-set (CMAKE_CXX_STANDARD 11)
-set (CMAKE_CXX_STANDARD_REQUIRED ON)
-set (CMAKE_CXX_EXTENSIONS OFF)
-
-if ( APPLE )
- set ( CMAKE_MACOSX_RPATH OFF )
-endif ( APPLE )
-
-include ( FindPkgConfig )
-pkg_search_module ( SNORT3 REQUIRED snort>=3 )
-
-add_library (
- alert_unixsock MODULE
- alert_unixsock.cc
-)
-
-if ( APPLE )
- set_target_properties (
- alert_unixsock
- PROPERTIES
- LINK_FLAGS "-undefined dynamic_lookup"
- )
-endif ( APPLE )
-
-set_target_properties (
- alert_unixsock
- PROPERTIES
- PREFIX ""
-)
-
-target_include_directories (
- alert_unixsock PUBLIC
- ${SNORT3_INCLUDE_DIRS}
-)
-
-install (
- TARGETS alert_unixsock
- LIBRARY
- DESTINATION "${CMAKE_INSTALL_LIBDIR}/${CMAKE_PROJECT_NAME}/loggers"
-)
alert_csv.cc
alert_fast.cc
alert_full.cc
+ alert_json.cc
alert_syslog.cc
+ alert_unixsock.cc
log_hext.cc
log_pcap.cc
unified2.cc
add_dynamic_module(alert_csv loggers alert_csv.cc)
add_dynamic_module(alert_fast loggers alert_fast.cc)
add_dynamic_module(alert_full loggers alert_full.cc)
+ add_dynamic_module(alert_json loggers alert_json.cc)
add_dynamic_module(alert_syslog loggers alert_syslog.cc)
+ add_dynamic_module(alert_unixsock loggers alert_unixsock.cc)
add_dynamic_module(log_hext loggers log_hext.cc)
add_dynamic_module(log_pcap loggers log_pcap.cc)
add_dynamic_module(unified2 loggers unified2.cc)
json_dtor
};
+#ifdef BUILDING_SO
SO_PUBLIC const BaseApi* snort_plugins[] =
+#else
+const BaseApi* alert_json[] =
+#endif
{
&json_api.base,
nullptr
// with this program; if not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//--------------------------------------------------------------------------
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <sys/un.h>
if (p && p->pkt)
{
- memmove( (void*)&us.alert.pkth, (const void*)p->pkth, sizeof(us.alert.pkth));
+ us.alert.pkth.ts.tv_sec = (uint32_t)p->pkth->ts.tv_sec;
+ us.alert.pkth.ts.tv_usec = (uint32_t)p->pkth->ts.tv_usec;
+ us.alert.pkth.caplen = p->pkth->caplen;
+ us.alert.pkth.len = p->pkth->pktlen;
memmove(us.alert.pkt, (const void*)p->pkt, us.alert.pkth.caplen);
}
else
}
/* we don't log any headers besides eth yet */
- if (p->ptrs.ip_api.is_ip4() && p->pkt)
+ if (p->ptrs.ip_api.is_ip() && p->pkt)
{
- us.alert.nethdr=(const char*)p->ptrs.ip_api.get_ip4h()-(const char*)p->pkt;
+ if (p->ptrs.ip_api.is_ip4())
+ us.alert.nethdr=(const char*)p->ptrs.ip_api.get_ip4h()-(const char*)p->pkt;
+ else
+ us.alert.nethdr=(const char*)p->ptrs.ip_api.get_ip6h()-(const char*)p->pkt;
switch (p->type())
{
unix_sock_dtor
};
+#ifdef BUILDING_SO
SO_PUBLIC const BaseApi* snort_plugins[] =
+#else
+const BaseApi* alert_unixsock[] =
+#endif
{
&unix_sock_api.base,
nullptr
extern const BaseApi* alert_csv[];
extern const BaseApi* alert_fast[];
extern const BaseApi* alert_full[];
+extern const BaseApi* alert_json[];
extern const BaseApi* alert_syslog[];
+extern const BaseApi* alert_unixsock[];
extern const BaseApi* log_hext[];
extern const BaseApi* log_pcap[];
extern const BaseApi* eh_unified2[];
PluginManager::load_plugins(alert_csv);
PluginManager::load_plugins(alert_fast);
PluginManager::load_plugins(alert_full);
+ PluginManager::load_plugins(alert_json);
PluginManager::load_plugins(alert_syslog);
+ PluginManager::load_plugins(alert_unixsock);
// loggers
PluginManager::load_plugins(log_hext);