* win32/pandora_windows_service.cc
win32/modules/pandora_module.cc
win32/modules/pandora_module.h
win32/modules/pandora_module_factory.cc
unix/pandora_agent: Allow the windows and unix agent to include preconditions on modules.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4474 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/modules/pandora_module_exec.cc,
win32/pandora_windows_service.cc: Fixed get module output part of over 4096 byte.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4305 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Fixed a typo in copyScpDataFile that made
it always return PANDORA_EXCEPTION.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3599 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* installer/pandora.mpi: Updated installation messages.
* pandora_windows_service.cc: startup_delay after the service is
started, not before. Read all secondary server parameters.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3543 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/bin/util/mibs: Added default mibs for the small snmpagent
* tool.
* win32/bin/util/getsnmp.bat,
win32/bin/util/snmpget.exe: Added tool to get snmp info from the
agent using tool from a module_exec.
* win32/installer/pandora.mpi: Updated installer to have snmpget and
mibs in the install process.
* win32/pandora_windows_service.cc: Fixed bug 3098165.
* win32/pandora.cc: Updated version
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3482 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_agent_conf.cc, pandora_agent_conf.h: Added logic to search
existing collections in config file, and checking for ".." substrings in
path for security reasons.
* win32/pandora_windows_service.h, pandora_windows_service.cc: Added logic
to remove incoherences between collections directory and collection list
of config file.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3045 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_agent_conf.cc, pandora_agent_conf.h: Added a variable to
control if the collection is added to the PATH.
* win32/pandora_windows_service.h, pandora_windows_service.cc: Added logic
to check if the collection is added to the PATH or not.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3043 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* misc/pandora_file.cc, pandora_file.h: Added function to remove directories
recursively
* win32/pandora_windows_service.cc, pandora_windows_service.h: Added
support for unzip collections and improved functionality to manage
collections.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3015 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_agent_conf.cc, pandora_agent_conf.h: Added functionality
to get collection from configuration file.
* win32/pandora_windows_service.cc, pandora_windows_service.h: Added
support for manage collections
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3007 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* modules/pandora_module.h, modules/pandora_module_factory.cc,
modules/pandora_module.cc, pandora_windows_service.cc: Added the
module_cron feature to schedule modules using a cron-like syntax and
some small fixes.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2993 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_windows_service.h: Added constant for default port for
ftp and ssh
* win32/pandora_windows_service.cc: Added support for change ssh and ftp
port
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2971 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Fixed the autotime feature. Was not
working since tinyXML was removed.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2964 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* modules/pandora_module.h, modules/pandora_module_factory.cc,
modules/pandora_module.cc, pandora_windows_service.cc: Added the
module_condition feature. See http://openideas.info/wiki/ for more
information.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2956 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* windows/pandora_wmi.cc: getDiskFreeSpacePercent should not return
any value if the drive does not exist. Fixed.
* modules/pandora_module.h, modules/pandora_module_factory.cc,
modules/pandora_module.cc, pandora_windows_service.cc: Added support
for saving the value of a module as an environment variable.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2935 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* installer/pandora.mpi: Updated version and silent install mode.
* pandora_windows_service.cc: Set the path from the agent to avoid
having to reboot. Fixed a typo.
* pandora.cc: Updated version.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2137 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* windows_service.cc: Enable service recovery by default.
* pandora_windows_service.cc: Added autotime, group and description
configuration options.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2024 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* main.cc: Fixed the agent interval when running in process mode.
* pandora_windows_service.cc: Moved the startup delay to the right
place.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@2001 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* modules/pandora_module_tcpcheck.cc: WSAStartup memory management
was leaking memory, so we will create and destroy in each loop the WSA
structure. Tested and leak-proof :-))
* modules/pandora_module_inventory.cc: Fixed typo with string label of
services inventory module.
* bin/PandoraAgent.exe: New binary (woah, compiled from linux!).
* pandora_windows_service.cc: Fixed problem in os XML Tag, was os_name
not os. Fixed problem with windows version, now is passwd full string to xml.
Tentacle call is passwd between quotes, because tentacle could be
in paths with blank spaces (by default \program files\pandora_agent).
* pandora.cc: Build updated.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1969 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* debug_new.h, fast_mutex.h,
debug_new.cpp, static_assert.h: Added to repository. Wu Yongwei's
memory leak detection tool (part of Nvwa). Only compiled when
debugging is enabled.
* bin/util/tentacle_client.exe: Added to repository. Tentacle client
needed to build the installer.
* installer/pandora_2.0.mpi: moved to installer/pandora.mpi. Updated.
The installer can now be built directly from the installer
subdirectory.
* configure.in, Makefile.am, autogen.sh: Created a proper
configure.in and Makefile.am. The agent can now be cross-compiled
from Linux :-D
* bin/pandora_agent.conf: Fixed. A local configuration had been
uploaded.
* pandora_windows_service.h,pandora_windows_service.cc,
udp_server/udp_server.cc, udp_server/udp_server.h: Properly shutdown
the UDP server.
* modules/pandora_module_regexp.cc,
modules/pandora_module_inventory.cc,
modules/pandora_module_factory.cc,
modules/pandora_module.cc, pandora_strutils.cc,
pandora.h, pandora.cc: Fixed a couple of memory leaks. Small changes
to avoid compile warnings when cross-compiling from Linux.
* windows_service.cc: Removed the interactive service flag to avoid
'black windows'.
* main.cc: Include the memory leak detection tool if debugging is
enabled.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1966 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* windows/pandora_wmi.cc, windows/pandora_wmi.h: Added functions for the
new modules. Removed old logevent functions.
* pandora_windows_service.h, pandora_windows_service.cc: Added support
for data file buffering and startup delay.
* modules/pandora_module_logevent.cc, modules/pandora_module_logevent.h:
Rewritten to retrieve event log data using the PDH interface instead
of WMI (was too slow).
* modules/pandora_module_tcpcheck.cc, modules/pandora_module_tcpcheck.h,
modules/pandora_module_regexp.cc, modules/pandora_module_regexp.h,
modules/pandora_module_perfcounter.cc,
modules/pandora_module_perfcounter.h,
modules/pandora_module_freedisk_percent.cc,
modules/pandora_module_freedisk_percent.h,
modules/pandora_module_freememory_percent.cc,
modules/pandora_module_freememory_percent.h: Added to repository.
New modules, see http://openideas.info/wiki/.
* modules/pandora_module.h, modules/pandora_module.cc,
modules/pandora_module_factory.cc, modules/pandora_module_list.cc:
Added support for the new modules.
* bin/pandora_agent.conf: Included configuration examples for the new
modules.
* PandoraAgent.dev: Updated to compile the new modules.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1707 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/ftp/pandora_ftp_client.cc,
win32/ftp/pandora_ftp_client.h,
win32/windows/pandora_wmi.cc,
win32/pandora_windows_service.h,
win32/pandora.h,
win32/udp_server/udp_server.cc,
win32/misc/pandora_file.cc,
win32/misc/pandora_file.h,
win32/ssh/pandora_ssh_client.cc,
win32/ssh/pandora_ssh_client.h,
win32/pandora_windows_service.cc: Removed some exceptions that made
the agent crash when the watchdog thread was running.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1371 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_windows_service.h,
win32/pandora_windows_service.cc: Added support for a secondary server
.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1288 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora.[cc,h]: Function is_enabled() was moved here to be
accesible.
* pandora_windows_service.cc: Removed is_enabled() private function.
* windows_service.cc: Service is now interactive, so it can open
interactive processes in the watchdog mode of proc modules.
* modules/pandora_module_factory.cc: Added "module_watchdog" and
"module_start_command" tokens to service and process modules. Style
correction.
* modules/pandora_module_proc.[cc,h]: Added watchdog mode to run
proccess when they die. It's done by setting a start command to
recover it.
* modules/pandora_module_service.[cc,h]: Added watchdog mode to start
a service when it's stopped.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1277 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Removed debug output. Release mutex on
sendXml()
* modules/pandora_module.[cc,h]: Save latest output in a new property.
It's used on generic_proc modules to check the value better.
* modules/pandora_module_proc.[cc,h]: Added support for asynchronous
mode. It checks process in a separeted thread and report the status
quicker. Added getProcessName()
* modules/pandora_module_service.cc: Style correction. Removed an
indentation level.
* windows/pandora_windows_info.[cc,h]: Added getProcessHandles() to
get a list of handles of a running process, giving the process name.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1270 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* modules/pandora_module.[cc,h]: Added an async property. Added
getLatestOutput() to get the latest output of a module.
* modules/pandora_module_factory.cc: Parse async token in modules.
* modules/pandora_module_list.[cc,h]: It can create empty lists now
and add modules using new addModule() function.
* modules/pandora_module_service.[cc,h]: Added an async thread to
watch services events and track services status changes quickly and
asynchronously.
* windows/pandora_wmi.cc: Style correction.
* pandora_windows_service.[cc,h]: Pandora Windows service object is
now single instance, so the instance to the running service can be
accessed anywhere (useful in async threads). The XML generation and
sending process has been moved to a new function called sendXml()
which is thread-safe.
* windows_service.h: Some properties are now protected instead of
public to make it easier the singleton pattern in child classes.
* main.cc: Adopted to singleton pattern in Pandora windows service.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1268 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_windows_service.cc: Small fixes.
* win32/modules/pandora_module.cc: time() and localtime() are used
instead of GetSystemTime().
* win32/pandora.h: Changed all instances of "Pandora" to
"Pandora FMS".
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@989 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_strutils.[cc,h]: Added strUnicodeToAnsi().
* modules/pandora_module_logevent.cc, pandora_windows_service.[cc,h],
windows/pandora_wmi.h: Tabs and blankspace style correction.
* windows/pandora_wmi.cc: Convert result in getEventList() to ANSI,
which was causing some BADXML errors on server. Tabs and blankspace
style correction.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@946 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc, modules/pandora_module_list.cc: Deleted
debug output.
* modules/pandora_module_exec.cc: Reindented the code. Add blank
output to the module if there were nothing to read (like when the
executions return nothing).
* bin/PandoraAgent.exe: Updated to commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@854 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* modules/pandora_data.[cc,h]: Added to repository. Implements a
Pandora_Data object, which holds a value and the timestamp when it
was created.
* modules/pandora_module.[cc,h]: It holds now a list of Pandora_Data
objects. The XML is generated based on the size of this list. Output
property has became obsolete and child modules must use setOutput().
* modules/pandora_module_cpuusage.cc,
modules/pandora_module_exec.cc,
modules/pandora_module_freedisk.cc,
modules/pandora_module_freememory.cc,
modules/pandora_module_odbc.cc, modules/pandora_module_proc.cc,
modules/pandora_module_service.cc: Updated to new Pandora_Module
parent class.
* modules/pandora_module_list.cc: Deleted debug output.
* pandora.cc: Now uses SYSTEMTIME instead of old time_t.
* pandora_windows_service.[cc,h]: Added Ramon Novoa to authors. Added
a new configuration token transfer_interval which sets the interval
where the data file will be sent to the server. If the current
interval token is lower than this transfer interval, the data will be
added into a data_list XML tag.
* PandoraAgent.dev: Added new files.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@803 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_agent_conf.[cc,h]: Object adapted to be a singleton so it
could be used in many parts of the code who can't access to it before.
* ftp/pandora_ftp_test.cc, ssh/pandora_ssh_test.cc: Adapted to
configuration object singleton.
* modules/pandora_module_odbc.[cc,h]: Added to repository. Implements
a ODBC interface to make SQL queries.
* modules/pandora_module.[cc,h], modules/pandora_module_list.cc,
modules/pandora_module_factory.cc: Added ODBC module support.
* bin/pandora_agent.conf: Added a ODBC module example.
* PandoraAgent.dev: Added new files to project.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@789 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* win32/pandora_windows_service.cc: Added support for Tentacle file transfers.
* win32/pandora_windows_service.h: Added support for Tentacle file transfers.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@750 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Date is now filled with zeros to the
left and two digits.
* bin/PandoraAgent.exe: Updated to last commmit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@645 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* windows/pandora_wmi.cc: Fixed a bug that return 0 in some cases of
free disk space.
* pandora.cc: Renamed debug file to pandora_debug.log
* pandora_windows_service.cc: Fixed a blank space.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@643 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Fixed a typo. Disconnect ftp client when
an error happened.
* ftp/pandora_ftp_client.cc: Set network timeout and ftp timeout.
Ignore error when executing moving operations, this is compatible
with FTP jails
* windows/pandora_wmi.cc: Improved WQL queries and fixed some leaks.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@630 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Reduced output log level in normal use.
* main.cc: Added a new line on help output.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@613 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora_windows_service.cc: Do not check debug flag if copying was
not successful.
* bin/README: Updated options.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@598 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
* pandora.cc: Updated agent version.
* pandora.h, modules/pandora_module_exec.cc: Redefine WINVER, so
CreateJobProject can be found without modifying windef.h.
* pandora_agent_conf.cc: Rewritten a loop.
* ftp/pandora_ftp_client.[cc,h]: Added to repository. Implemented FTP
transfer protocol using libcurl. It adds a library dependency.
* pandora_windows_service.cc: Added support for FTP transfers. Select
between SSH (default) or FTP. Improved file structure to be cleaner.
* pandora_windows_service.h: Added new private functions and removed
unneccessary private attribute.
* misc/pandora_file.[cc,h]: Added a function to get the filename of a
path.
* main.cc: Indentation fixed.
* bin/libcurl.dll: Added to repository. New dependency.
* bin/PandoraAgent.exe: Updated to last commit.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@594 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f