+16/06/10 - build 200
+
+-- continued porting of dce_rpc - smb transaction processing
+-- tweaked autotools build foo
+-- add / update unit tests
+-- fix additional memory leaks
+-- fix compiler warnings
+-- fix static analysis issues
+-- fix handling of bpf file failures
+
16/06/03 - build 199
-- add new http_inspect alerts abusive content-length and transfer-encodings
static void write_update_msg_content(Flow* flow, HAMessage* msg)
{
assert(s_client_map);
-
+
for ( int i=0; i<s_handle_counter; i++ )
if ( (i==SESSION_HA_CLIENT_INDEX) || flow->ha_state->check_pending(1<<i) )
write_update_msg_client((*s_client_map)[i],flow, msg);
{
if ( (bracket_index > pattern) && (*(bracket_index-1) == '\\') )
{
- // Ignore escaped brackets
+ // Ignore escaped brackets
bracket_index = strchr(bracket_index+1, '{');
continue;
}
while ( *buf_index < buflen && pattern[pattern_index] != '\0' && node_match )
{
- char const * const pc = &pattern[pattern_index];
+ char const * const pc = &pattern[pattern_index];
if ( pc[0] == '\\' && pc[1] != '\0' )
{
-match__rescan:
+match__rescan:
pattern_index++;
switch ( pattern[pattern_index] )
{
// \b : match a numeric boundary
case 'b':
node_match = !isdigit((int)buf[*buf_index]);
- if ( !node_match && *buf_index == 0
+ if ( !node_match && *buf_index == 0
&& pattern[pattern_index+1] != '\0'
&& pattern[pattern_index+2] != '\0' )
{
{
char const * const pc = &pattern[pattern_index];
- // '\b' can match EOM
+ // '\b' can match EOM
if ( !(pc[0] == '\\' && pc[1] == 'b') )
{
if( (pc[0] == '\0') )
return true;
-
+
else
return false;
}
// //
//-----------------------------------------------//
-#define BUILD "199"
+#define BUILD "200"
#endif
std::string read_infile(const char* key, const char* fname)
{
int fd = open(fname, O_RDONLY);
-
struct stat buf;
-
+
if (fstat(fd, &buf) < 0)
{
ParseError("can't stat %s: %s", fname, get_error(errno));
return "";
}
- //check that its a regular file and not a directory or special file
- if (!S_ISREG(buf.st_mode) )
+ //check that its a regular file and not a directory or special file
+ if (!S_ISREG(buf.st_mode) )
{
ParseError("not a regular file: %s", fname);
return "";
std::string line;
std::ifstream bpf_file(fname);
-
+
if (bpf_file.is_open())
{
std::stringstream file_content;
file_content << bpf_file.rdbuf();
line = file_content.str();
-
+
bpf_file.close();
}
else
return "";
}
- return(line);
+ return line;
}
/* Guaranteed to be '\0' terminated even if truncation occurs.