Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Dev v3 beta01 (NagiosEnterprises#955) (NagiosEnterprises#956)
Overview - Updated the version of Python to 3.11.3 - Updated to bundle OpenSSL v3.0.8 in all packages (Windows currently at v1.1.1t, but will use v3+ soon.) - Updated to bundle zLib v1.2.13 in all packages - Simplified building - building on CentOS 7 provides packages that will run on almost all Linux distributions - The listener and passive services/daemons are now combined into one service/daemon called ncpa - Can optionally run only Listener or Passive - Improved logging and installation output - Systems with systemd now use a service definition instead of init.d script - Listener web UI Admin section now accurately reflects current configuration - Updated jQuery to 3.6.4 Edit commits * Replaced obsolete unicode() with equivalent for py v3 ,str() * Added remaining config terms to config defaults array. * Multiple logs for the processes implemented. * Handle closing of websockets properly. Make logging output more readable * Update github build to create git hash file. TODO: change code to work in workflows * update jquery * Fixed some Mac uninstaller issues * fix misc errors in build for windows * Removed patch that was resolved in setup.py * Add code needed for NSI in Windows * Moved NSI setup code again to bottom of file with if nt condition * In Windows, can't inject logging object into subprocess. So, create loggers in subprocesses. * Refactored logging in listener and passive class set * Changed to use program files vs 32 bit program files. Updated copy right date. * update spec and service files to use systemctl * changed service start mode to -n * updated linux packaging to retain .rpm when building on ubuntu, so we can use one server for all builds * fixed issue with copying cx-freeze libs * remove python executable from pkg. It used to need this to work, but doesn't any longer. * made it so py and ssl version are printed at info level of logging * added full path to libssletc. in setup * another update centos 7 epel install * added openssl version check for deb distros * skip openSSL install, fix epel repos for CentOS 7 * adjust epel processing * Fixed cx lib link conditional * Minor improvements to source install functions. Moved some functions from setup.sh * Consolidated literals (version numbers), modified package installatoins, add OpenSSL source installation. * add scripts for openSSL install * Numerous updates to OpenSSL and Python installers. Still does not work correctly * Source installers work on cent8 and ubuntu 20. For testing running as standalone, install some of ffi, sqlite reprequisites normally installed by setup script. * Updated ncpa to print OpenSSL version in debug logging mode * Updated installers to use either passed params or globals. Updated Py installer to configure source without flag pointing to custom OpenSSL, if none is installed. * bug: openssl version sed - OS compatibility * Print Py version in debug mode * Print out OpenSSL path after install, allow passsing new SSL path to python as arg for runing as stand-alone * Bring OpenSSL install build into ncpa build folder * install openssl to generic folder name in build/resources. Update setup.py to try to include libssl etc. * updated to put py and ssl version in log * added bin paths to setup.py * Added code for copying _ssl if needed * updated python version in agent/setup.py * fixed nsi copying * added dynamic python launcher to handle different windows python launcher commands for build_windows.py * fixed language issue in ncpa.nsi * added build dir when not existing for windows * sym-linked cx_freeze lib-dynload directory to instealled Python. Can't seem to find it by itself. TODO-Ph: see if there s a way to make cx-freeze copy from this dir * setup.sh - skip openssl pkg install if we are going to build from source. * update to find original libssl.so on ubuntu 16 * reverted windows executable to be a service * updated build_windows.py to use the right build command for cx_Freeze to build a windows process * add --allow-unauthenticated flag to linux set up apt commands so they will work on older distros * removed unecessary sudo cmmands that cause trouble on debian 8. You nned to be root to run the script anyway. * added apt-get update - helps install complete on old distros. * Update installer to support some more distros * fixed opensuse zypper options * updated setup.sh so suse distros take openssl building into account * suppressed install of epel on non-centos because it fails on rhel8, and isn't needed. * cleaning up and upgrading log to show process name instead of being ambiguous * added freeze support to multiprocessing so that it will work while frozen * set it to create an executable instead of a service * Rewrote WinService to handle creating of Windows service -- cx_Freeze should now create an exe (NOT a service) and NSIS should use sc create NCPA binPath= "path/to/ncpa.exe" * altered cx_Freeze setup to create exe (not a service) and include necessary pywin32 packages * reverted cx_Freeze launch to use build_exe instead of build (we are no longer trying to make a service through cx_Freeze) * updated pypiwin32(deprecated) to pywin32 to allow windows service mangement * updated NSIS script for new install/management process * added empty logs to repo * updated default python launcher to py (python3 is usually py on windows) * fixing BUILDING.rst directory slash orientation * updating to use parameters on windows * added message about not using setup_config.py anymore (cx_Freeze service config file) * Minor bash changes to make Solaris compatible * Update so cx_freeze libs that aren't included in python are moved into python lib-dynload, before linking to it. * Only load windows only modules on Windows * simplified lib-dynload udpate * simplified cx dynlib so it no longer uses linking * wrap WinService class definition in conditional, so it doesn't break linux * fixing some errors with passive and NRDP code * updated NSIS script to ask user if they want to save their configuration files when deleting NCPA * organizing pywin32 imports * chown installed passive log file before daemon runs to avoid permission error * Add .deb creation when building on CentOS 7. * fixing kafka * update service shutdown for older distros during upgrade * updated linux install service handling to unload v2.4.1 services * updated build_windows.py to write git hash (also added some coloration to the build and a build-complete message * adding logging to debug plugins on linux * got kafka working on linux * updated NSIS script to set NCPA service startup to auto instead of delayed-auto * updated install script to remove NCPA 2 services * updated NSIS installer to install into the Program Files folder since the binary is a 64-bit program. This may break 32-bit compatibility, but nothing is 32-bit anymore so it shouldn't be a problem. * Added Python and OpenSSL version to listener UI dashboard * Refactored Listener UI Admin section to pull values from actual configuration rather than making new assignments with a separeate set of defaults to maintain. Also, updated to match current configuration options. * Brought changes.rst into sync with v2.4.1, and added v3 info * Add'l changes to CHANGES * added git hash to ship with build * Set passive process loop dlay back to 1 sec * Updated changes.rst * Update README.rst for v3.0.0 * Updated BUILDING.rst for v3 * Removed bash color changes - they conflict with non-black backgrounds. * Updates to incorporate ms vc runtime. * Updated Windows installer to reflect current config * Changed nrpd default hostname from NCPA 2 to NCPA. This shouldn't have version info in it. * Fix grammar ran -> run * Further clean up of config to match v3, and make some stuff more clear. * Removed change log section and replaced with link to change log. No need to duplicate this info here, and it is very difficult to maintain. * Update Listener UI Help section to match current release. * added .vscode folder to git ignore --------- Co-authored-by: Dylan Anderson <[email protected]> Co-authored-by: bb <[email protected]> Co-authored-by: bbahner <[email protected]> Co-authored-by: ne-bbahn <[email protected]>
- Loading branch information