network_inspectors/normalize/libnormalize.a \
network_inspectors/perf_monitor/libperf_monitor.a \
service_inspectors/libservice_inspectors.a \
-service_inspectors/http_inspect/libhttp_inspect.a \
$(lib_list) \
stream/base/libstream_base.a \
stream/ip/libstream_ip.a \
stream/libstream.a \
file_api/libfile_api.a \
file_api/libs/libfile.a \
+service_inspectors/http_inspect/libhttp_inspect.a \
ips_options/libips_options.a \
parser/libparser.a \
search_engines/libsearch_engines.a \
return true;
}
-unsigned Inspector::get_buf_id(const char* key)
+SO_PUBLIC unsigned Inspector::get_buf_id(const char* key)
{
const char** p = api->buffers;
unsigned id = 0;
return p[id] ? id+1 : 0;
}
-bool Inspector::get_buf(const char* key, Packet* p, InspectionBuffer& b)
+SO_PUBLIC bool Inspector::get_buf(const char* key, Packet* p, InspectionBuffer& b)
{
unsigned id = get_buf_id(key);
return get_buf(id, p, b);
}
-StreamSplitter* Inspector::get_splitter(bool to_server)
+SO_PUBLIC StreamSplitter* Inspector::get_splitter(bool to_server)
{
if ( !api || api->type != IT_SERVICE )
return nullptr;
//-------------------------------------------------------------------------
-uint32_t IpsOption::hash() const
+SO_PUBLIC uint32_t IpsOption::hash() const
{
uint32_t a=0, b=0, c=0;
mix_str(a,b,c,get_name());
return c;
}
-bool IpsOption::operator==(const IpsOption& ips) const
+SO_PUBLIC bool IpsOption::operator==(const IpsOption& ips) const
{ return !strcmp(get_name(), ips.get_name()); }
num_counts = -1;
}
-Module::Module(const char* s)
+SO_PUBLIC Module::Module(const char* s)
{
init(s);
}
-Module::Module(const char* s, const Parameter* p, bool is_list)
+SO_PUBLIC Module::Module(const char* s, const Parameter* p, bool is_list)
{
init(s);
params = p;
list = is_list;
}
-void Module::sum_stats()
+SO_PUBLIC void Module::sum_stats()
{
if ( num_counts < 0 )
reset_stats();
}
}
-void Module::show_stats()
+SO_PUBLIC void Module::show_stats()
{
if ( num_counts > 0 )
::show_stats(&counts[0], get_pegs(), num_counts, get_name());
}
-void Module::reset_stats()
+SO_PUBLIC void Module::reset_stats()
{
num_counts = 0;
const char** pegs = get_pegs();
counts[i] = 0;
}
-const char* simple_pegs[] =
+SO_PUBLIC const char* simple_pegs[] =
{
"packets",
nullptr
hi_util_kmap.cc hi_util_kmap.h \
hi_util_xmalloc.cc hi_util_xmalloc.h
-if STATIC_INSPECTORS
+# can't be dynamic yet
+#if STATIC_INSPECTORS
noinst_LIBRARIES = libhttp_inspect.a
libhttp_inspect_a_SOURCES = $(file_list)
-else
-shlibdir = $(pkglibdir)/inspectors
-shlib_LTLIBRARIES = libhttp_inspect.la
-libhttp_inspect_la_CXXFLAGS = $(AM_CXXFLAGS) -DBUILDING_SO
-libhttp_inspect_la_LDFLAGS = -export-dynamic -shared
-libhttp_inspect_la_SOURCES = $(file_list)
-endif
+#else
+#shlibdir = $(pkglibdir)/inspectors
+#shlib_LTLIBRARIES = libhttp_inspect.la
+#libhttp_inspect_la_CXXFLAGS = $(AM_CXXFLAGS) -DBUILDING_SO
+#libhttp_inspect_la_LDFLAGS = -export-dynamic -shared
+#libhttp_inspect_la_SOURCES = $(file_list)
+#endif
AM_CXXFLAGS = @AM_CXXFLAGS@
static THREAD_LOCAL uint8_t pdu_buf[65536];
static THREAD_LOCAL StreamBuffer str_buf;
-uint32_t StreamSplitter::max()
+SO_PUBLIC uint32_t StreamSplitter::max()
{ return 16384; } // FIXIT-H make default configurable
-const StreamBuffer* StreamSplitter::reassemble(
+SO_PUBLIC const StreamBuffer* StreamSplitter::reassemble(
Flow*, unsigned, unsigned offset, const uint8_t* p,
unsigned n, uint32_t flags, unsigned& copied)
{