Make feedback available regarding whether adding a child analyzer fails
because one of the same type already exists (so one can avoid invalid
pointer access of a delete'd analyzer).
An unsized array already parses indefinitely. &until($element <= 0)
just causes nonsense code to be generated. I.e. checking a pointer that
can never even be null against <= 0. And the compare would happen after
delete'ing the pointer, making it even odder (though still benign).
Coverity claimed a mismatched iterator here. Don't think it was, but
this might make it either go away or make its insane template output
understandable. Else at least it makes the code more readable.
Now that functions get unref'd in the val dtor in order to free mem of
unserialized functions, it's important to ref a function when creating a
val from a pre-existing function so it's not prematurely free'd.
A symptom of this is a "can't issue DNS request" warning in
reporter.log. (Doesn't look like this should be a typical thing
that happens in most environments).
Signals are generally blocked within threads in Bro so that the main
thread does all signal handling, however, signal masks are inherited
over fork() and exec(), so they should be unblocked before exec() so
that process can respond to signals normally.
This fixes the raw reader from leaving behind processes that didn't
respond to SIGTERM at shutdown because it was blocked before exec().
This cleans up most of the warnings from sphinx (broken :doc: links,
broxygen role misuses, etc.). The remaining ones should be harmless,
but not quick to silence.
I found that the README for each component was a copy from the actual
repo, so I turned those in to symlinks so they don't get out of date.
I'm merging in the documentation branch to avoid that it keeps getting
out of sync. We still need to work on this a bit more, I'll summarize
in a mail.
* origin/topic/documentation: (68 commits)
Going over initial parts of the scripting overview.
Adding lines in scripting/index.txt. No other change.
Updating submodule.
Pass over the Using Bro section.
Applying doc updates from BIT-1063. (Anthony Verez)
Breaking lines in using/*.
More doc reorg, and a light pass over the first 3 sections.
Starting to put a new structure in place.
Updating submodule(s).
Updating submodule(s).
Adding some temporary testing/demonstration to front page.
Switching btest to topic/robin/parts branch.
Basic cross-referencing UIDs between files, btests, and baselines.
A truly embarassing number of spelling corrections.
Using redirection with bro-cut. Include initial btests for this document.
Corrected a mis-typed RST include.
Initial start for "Using Bro".
Spelling corrections.
Include Notice Policy shortcuts in the Scripting User Manual.
Notice::policy hooks and tests.
...
Conflicts:
src/3rdparty
They conflict with the "char" version, so that other classes would now
pick the wrong one. Added a bit of casting to HLL to use the "char"
versions instead.