Proto commits in mickem/nscp

These 55 commits are when the Protocol Buffers files have changed:

Commit:1bdd9db
Author:Michael Medin
Committer:Michael Medin

feature: Added support for storing passwords in credential manager * Improves error handling in installer * Fixes some settings issues * deprecated settings --generate in favor of settings --update (does the same but is a better name) * Adds embry of a guide to secure NSClient++

The documentation is generated from this commit.

Commit:7b3061f
Author:Michael Medin
Committer:GitHub

Updated all dependencies and added pipelines * Massive update with changes updates to all libraries and third party dependencies * Updated to python 3 * Automated build pipelines (Github Actions) * Currently Disabled: * DotNet modules * Lua scripting * Web interface (server still works, just no UI) * Fixed more build issues * Fixed performance data parsing when > 1Tb * Added option to disable TLS1.1, TLS1.2 and TLS1.3

Commit:b23153d
Author:Michael Medin

Fixed syntax issues protobuf files Added metrics dimension support

Commit:b7859e8
Author:Michael Medin
Committer:Michael Medin

BREAKING CHANGE: Protobuf 3 upgrade including reworking internal messages

Commit:34a56dc
Author:Michael Medin
Committer:Michael Medin

New API and rewritten web page to use angular 2

Commit:c4d2c3d
Author:Michael Medin

Added storeage API

Commit:c3c3e7d
Author:Michael Medin
Committer:Michael Medin

Removed query from settings protobuf api as it was never used

Commit:919d742
Author:Michael Medin

Improved the markdown docs for the plugin API

Commit:835635e
Author:Michael Medin

Major overhaul of the documentation making the generated bits easier to read...

Commit:71050f8
Author:Michael Medin
Committer:Michael Medin

return values should be optional

Commit:55cbccd
Author:Michael Medin

Fixed typo

Commit:1d943a6
Author:Michael Medin
Committer:Michael Medin

Added som comments to the protobuf file

Commit:ec0aded
Author:Michael Medin
Committer:Michael Medin

Core: Added events

Commit:880edaf
Author:Michael Medin

Removed attachments (as they are never used)

Commit:4317ff2
Author:Michael Medin

Changed cr/lf on all files locally

Commit:7a87a8d
Author:Michael Medin

removed unused ipc

Commit:dded848
Author:Michael Medin

Added support for config templates

Commit:056e922
Author:Michael Medin
Committer:Michael Medin

Started to implement trace logging

Commit:7ded24e
Author:Michael Medin
Committer:Michael Medin

Fixed issues with module names and plugins (to make grouping queries possible)

Commit:4131eda
Author:Michael Medin

more regressions fixes for targets and other objects Added new "bundle command" to headers to allow executing entire sets

Commit:2b504cb
Author:Michael Medin

* Added metrics message implementation * New dashboard with based on metrics message implementation * bumped version of web ui components

Commit:176e69a
Author:Michael Medin
Committer:Michael Medin

rather big and messy change where i have reworked all the clients

Commit:a579c48
Author:Michael Medin

TODO

Commit:8662578
Author:Michael Medin

Adde documentation to protobuf file

Commit:de2abae
Author:Pall Sigurdsson
Committer:Pall Sigurdsson

Fix typo CRITCAL > CRITICAL I noticed a probelm in CheckNSCP.cpp and CheckHelpers that sometimes CRITCAL was being returned as a status. Not sure if it was intentional or not, but I replaced all occurances. It looks like some of the source files have old DOS file endings (^M) instead of unix-friendly linebreaks. My search replace stripped some of them and I hope that does not cause any damage. Please check it out and let me know if this was the right thing to do.

Commit:12d16e0
Author:Michael Medin

* Major refactoring of json handling * now uses exact same messages as protobuf (compiled from protobuf) * Added json-protobuf (library to compile protobuf to json spirit) * Added help-pb to get help as protobuf from commands * Removed help-csv since help-pb is better (and built-in to inventory) * Clenaedup protobuf file and removed some unesseceary fields. * migrated "test" client into a separate moduile (CommandClient) * greatly extended the client interfaces (both web and console) to have new and improved commands

Commit:b9e22fd
Author:Michael Medin

* Extensive additions to the WEB UI * Console can be used much like nscp tesat * Log view is enhaned * Modules view added

Commit:ba996b1
Author:Michael Medin

removed some unnessecary shared dependencies

Commit:5e0420f
Author:Michael Medin

Added settings and log view to web ui as well as login and other tweaks. Tweaked some in the settings subsystem to better provide for the WEB ui. Made console log asynch to improve speed a bit.

Commit:8cedc33
Author:Michael Medin

Essentially a brand new check subsystem as well as internal refactoring

Commit:b217851
Author:Michael Medin

documentation updates as well as backend support for generating documentation

Commit:f542694
Author:Michael Medin

Yet another massive update with mainly internal stuff The most interesting thing is I guess the new documentation toolkit which is now "working" (not much content yet, but it will come)

Commit:94bb8cc
Author:Michael Medin
Committer:Michael Medin

Fixed issue with commands escaping Changed a lot of the utf16 into utf8 as well as major API refactoring

Commit:c77838e
Author:Michael Medin

Massive refactoring effort. All(most) commands now support help for interactive help as well as built-in documentation for all(most) commands and configuration.

Commit:b029214
Author:Michael Medin
Committer:Michael Medin

* Created json module information blocks

Commit:a90ef7c
Author:Michael Medin

* Initial merge of 0.4.1 into 0.4.2

Commit:77c0100
Author:Michael Medin

Merge branch '0.4.1' into 0.4.2 Conflicts: CMakeLists.txt changelog helpers/settings_manager/settings_handler_impl.hpp include/nscapi/nscapi_plugin_impl.cpp include/nscapi/nscapi_plugin_impl.hpp include/settings/impl/settings_http.hpp include/settings/impl/settings_old.hpp libs/protobuf/plugin.proto modules/CheckExternalScripts/CheckExternalScripts.cpp modules/CheckSystem/CMakeLists.txt modules/CheckSystem/CheckSystem.cpp modules/CheckSystem/CheckSystem.h modules/CheckSystem/PDHCollector.cpp modules/LUAScript/LUAScript.cpp modules/LUAScript/script_wrapper.hpp service/cli_parser.hpp version.txt

Commit:53be5c8
Author:Michael Medin

* LUAScript: Improved lua scripting module a lot * LUAScript: Added protocol buffer support to lua scripts * tests: Rewrote (halfway there) test_nrpe python script as a lua script. * CheckEventLog: Fixed command name when submitting real-time "no action checks"

Commit:393a00f
Author:Michael Medin

* Improved settings API with new protocolbuffers command (available from python) * Improved registration API with new protocolbuffers command (available from python) * Created new python documentation module docs.py * Improved command line syntax so executable commands now take an optional module prefix

Commit:8d89d7a
Author:Michael Medin

* Fixed issue with default port for NSCA/NRPE/* clients * Removed FileLogger * Rewritten log implementation from ground up without using crappy boost library which requires DNS :( * Removed some annoying "error" messages * Tweaked FileLogger a bit to be more "modern" * Changed so file-name expansion is more efficient * Changed so modules are defaulted to 0 in config. * Log levels are case sensitive * Fixed so log level is not read from ini file * improved plugin processing from ini files

Commit:c74d7b6
Author:Michael Medin

* Added new module CauseCrash which has a single command CrashClient to allow the service to be crashed remotly *WARNING* Dont use this command, it is for debugging and testing purpouses only * Fixed issue with BreakPad which was disabled * Fixed some unix issues (sorry but hudson's stopped emailing me again:( ) * Fixed service --install (now sets correct options) * Fixed service --install (now sets description correctly) * Fixed log level defined in protobuf (now same as rest of the system) * Fixed some issues with the check_nscp command

Commit:9b9be81
Author:Michael Medin

* Fixed many many issues all over the place as I tried to make things working for my pressention at nwc.

Commit:a629015
Author:Michael Medin

* Started on NSCA unit-tests in python * Refactored channel API a bit to better suite NSCA (and how it actually works) * Changed how headers are created (nothice this might have broken NSCP stuff, havent checked) * Created helper lib for Python Unittests * Renamed NSCAAgent to NSCAClient (to be consistant) * Created a NSCAServer module (again for consistancy) This will be the defenition of the new "channels" so keep a lookout in the next few weeks

Commit:2b2e9b8
Author:Michael Medin

Another massive commit with a single comment, but essentially this is the first version with a proper distributed message queue this will be the foundation of some pretty cool stuff in the next few weeks/months... * Implemented first version of DistributedClient and DistributedSServer which work so now we have a proper message based transport. Still a lot of rough edges such as cookie and authentication support is hard coded. We also need a proper two way distributed server as well as implement "all" payload types.

Commit:7515d00
Author:Michael Medin

* Massive overhaul here and there * Added new helper for handling "targets" (so they are the same) * Extracted "command line handling" so all clients will work the same * Extracted command processor to a common class to make all clients work the same * Added initial zeromq stuff (nothing usable) * Added an implementation layer for NSCP protocol parsing (so zeromq stuff can reuse it)

Commit:81e420c
Author:Michael Medin

* Added support for loading same plugin twice (in different sessions) * Added preliminary support for routing passive checks

Commit:b38e845
Author:Michael Medin

* Sever refactoring of the new API (there is now two pb files ipc for NSCP protocol and plugin for plugin communication) * Cleaned up API helper functions

Commit:438998b
Author:Michael Medin

Initial version of the NSCP protocol (very crude) also might not build on *nix as I haven't verified that yet... Will improve this this week and hopefully have something better in a bit... But this works so thought Id commit it anyways if I break something :)

Commit:2c95d22
Author:Michael Medin

2011-08-14 MickeM * Rename Function to Registry in PythonScript API as well as some other function renames * Started to clean up the helpers around the API * Added support for execute to PythonScripts to execute commands * BUG: just realised that static plugin instances prevent multiple instances :) Will fix but not now as it is not important (for me)... * Added initial support for channels to PythonScript Core still lacks support for subscribing to arbitrary channel

Commit:39c73cd
Author:Michael Medin

2011-08-13 MickeM * Added support for command line execution to PythonScript module * Readded support for specifying module on command line with --client mode * Fixed some issues with the NRPEClient module 2011-08-12 MickeM * Finnished (rough) adding back command line exec (with modern API) * Fixed so installer uses correct name for dll:s (now Server not Listsener)

Commit:c391984
Author:Michael Medin

0.4.x: * tweaks to the build environment to make the installer work * fixed Unicode issue * fixed performance data * improved so alias doesn't re-process the data so much

Commit:58ee653
Author:Michael Medin

Commit:8988f9e
Author:Michael Medin

Added in performance e data for NRPE and NSCA as well as added in debug build for the protocol buffer library lookup thingy

Commit:40970de
Author:Michael Medin

Preliminary NSCA support (much is hard coded right now so only a PoC not a finished concept)

Commit:2018659
Author:Michael Medin

Added protocol buffers for internal channels (only command as of now) this means this builds lacks "performance data" (as it has yet to be re-added) as well as requires changes to plugins as the API is NEW!