I'm seeing 100+chr domain names and really long lists of ports, that
overflowed the 256 byte buffer, causing the LFs to fall off. This change
will throw an exception if the buffer is too short again. But I pushed
it up to 1024 (4x). Seriously long host names?
* Simplified Makefile.
* Rebased trafficmon's app class config on iptraffic's config so all
the trafficmon bits have access to the same data+MySQL login.
* Added ignore logic to badtrafficrpt
* Changed trafficctrl's Makefile to force C++11, since C++CMS needs it.
* Version bump in DPAK
A CNAME record can point to another name that is a CNAME, and so on.
This prepares the CNAME resolver to deal with this. It now properly
records clockworkpi.com, which is a CNAME -> WIX -> Fastly.
* *NEW* dnsblacklist to make "hosts" style block lists
* *NEW* domblacklist to make dnsmasq resolve entries to block entire
domains regardless of host or subdomain.
* Several fixes
* Refactor CLI apps for more code re-use.
* More helpful error messages.
* Add whole (aka wildcard) domain block handling.
* Improve CNAME reporting to use original (alias) names. This seems
the most normal and intuitive.
* CLI interface improvements (cli.*):
- help message
- gripe about invalid switches.
- return exit code 1 in iptraffic for invalid configuration.
* Expand Makefile
* Update DPAK
* Program to run as daemon and listen to SysLogD on a pipe.
* C++CMS web app to show accumulated domain names and set their status
* Sample configs to be used to set things up
In preparation for more tools with differing config data needs I pulled in
my "Mini INI" crackers and some additional string utilities. The Config
class has been refactored to use them and the individual group parsers
refactored onto appropriate MiniINIgroup based classes.
Added tests for testing address wild card matching and a test jig to put tests
in.
I moved the core of the log analyzer out of iptraffic and into data.o for use
in multiple tools.
* Wrapped in application object
* Getting config file name from CLI args
* Getting input and output filenams from CLI args
* Reading and writing from STDIN & STDOUT
* Send all non-data output to stderr
* Add README.md
* Reorder Makefile
* Remove remarks that don't have any baring outside of here.
* Add INI based conig file for defining local networks and ignores.
* Break out data classes into their own module (needed for config).
* Break out string utilities into their own module.
* Remove "us" & "ignore" definitions from source.