mirror of
https://github.com/Cacti/spine.git
synced 2026-10-23 03:27:10 +09:00
## What Follow-up to #633 (already merged), from the code review findings on the equivalent 1.2.x change (#634): - **SOLAR_THREAD sleep budget**: `spine_reap_child_bounded()` has no `usleep()`-paced spin phase on `SOLAR_THREAD` builds - it sleeps a flat 1s per attempt. #633 raised the shared attempt budget (`NFT_PCLOSE_SPIN_ATTEMPTS`) to 100 for `nft_pclose()`'s brief allowance, which made it sleep up to **~100 seconds** on that platform instead of the intended ~20ms, reintroducing the exact poller stall #633 was fixing. `NFT_PCLOSE_SPIN_ATTEMPTS` is now platform-specific (100 elsewhere, 2 under `SOLAR_THREAD`). - **Unbounded EINTR retries**: bounded the `EINTR` retry loop in `spine_reap_child_bounded()` and in `nft_sweep_abandoned()` (which runs with `ListMutex` held), so a stream of caught signals can no longer spin either indefinitely. - **Kill before park on waitpid() error**: `nft_pclose()` now SIGKILLs the child before parking it when `waitpid()` itself errors (previously only done when the child was confirmed still running), so a still-running child isn't left outside the abandoned-pid sweep's reach. Preserves `waitpid()`'s errno across the call. - **Docs**: `nft_popen.h`'s `nft_pclose()` comment still described the old blocking-wait behavior and didn't mention `ETIMEDOUT` - #633 updated `nft_popen.c`'s comment but missed the header. Both now document the bounded-check/parked-child contract. ## Why These were flagged by review of #634 (the same fix ported to 1.2.x, where the affected code showed up as new rather than a diff against pre-existing lines). Fixing here too since develop has the identical code. ## What was tested - `./bootstrap && ./configure --enable-warnings && make` - clean build, no new warnings. - `make check` - all 11 suites pass. - `cppcheck --enable=all --std=c11` on `nft_popen.c` - no new errors. Closes #632. --------- Signed-off-by: TheWitness <thewitness@cacti.net>
723 lines
36 KiB
Plaintext
723 lines
36 KiB
Plaintext
The Cacti Group | spine
|
|
|
|
1.3.0
|
|
-feature#612: Prefer MariaDB Connector/C discovery while retaining MySQL Connector/C compatibility
|
|
-issue#60: Warn at startup when the spine and Cacti versions come from different release lines
|
|
-issue#263: Unify the debug message prefix so a single poll no longer logs two orders
|
|
-issue#360: If a Remote Data Collector has not devices, spine does not properly register itself
|
|
-issue#411: Replace deprecated MYSQL_OPT_RECONNECT with an explicit reconnect
|
|
-issue#412: Decode USM report errors instead of logging a generic Unknown error
|
|
-issue#414: Fix a double-free in poll_host(), an off-by-one in db_get_connection(), an unbounded vsprintf in die(), and a result set leak in host-range filtering
|
|
-issue#415: Plug resource leaks in SNMP session setup and the poll paths
|
|
-issue#416: Plug leaks in exec_poll() and php_cmd(), capture the mysql_init() handle, and bound the debug_devices tokenizer
|
|
-issue#422: Move count++ inside the valid-type branch in snmp_count()
|
|
-issue#423: Reinitialize fd_set before each select() call in ping_icmp() to prevent instant retry expiry after first timeout
|
|
-issue#424: Correct inverted spike_kill condition for PHP script server (IS_UNDEFINED -> !IS_UNDEFINED)
|
|
-issue#425: Mark all OIDs undefined when snmp_get_multi() receives errindex==0 from agent
|
|
-issue#426: Add NULL check after malloc in host_errors insert path to prevent UB on memory pressure
|
|
-issue#438: Resolve stale content in spine.c (--help search path), configure.ac (AC_PREREQ, obsolete macros), spine.conf.dist (missing settings), and Copilot instructions
|
|
-issue#441: Update copyright year to 2026 in 12 source files
|
|
-issue#445: Replace vfork/execv with posix_spawn in php_init; fix stack-local return in regex_replace
|
|
-issue#447: Correct off-by-one OOB write in strncopy() when src fills buffer; remove suppressing pragma
|
|
-issue#450: Correct codespell-detected spelling errors in the C sources
|
|
-issue#464: Tighten const usage and the pthread format specifier
|
|
-issue#499: Mechanical compiler warning cleanup
|
|
-issue#515: Resolve compilation failures on develop
|
|
-issue#516: Replace deprecated POSIX semaphores with a pthread wrapper
|
|
-issue#552: Terminate die() output so consecutive fatal messages no longer run together
|
|
-issue#561: Reserve room for the terminator in php_readpipe() so a full script server result cannot write past result_string
|
|
-issue#562: Escalate PHP script server shutdown to SIGKILL after a bounded grace period so a stuck child is not orphaned
|
|
-issue#564: Check the calloc() results in spine.c so an allocation failure dies instead of dereferencing NULL
|
|
-issue#565: Bound the newline appended by spine_log() so a full log line cannot write past flogmessage
|
|
-issue#566: Free the result set on the NULL-row branch of the util.c settings helpers
|
|
-issue#567: Build the log timestamp format once at config load instead of rebuilding it on every log line
|
|
-issue#588: Replace advancing snprintf pointers with a bounded append helper
|
|
-issue#590: Use the cross-vendor VALUES() upsert form for remote pushes until the main-server version is known
|
|
-issue: Convert delimited hexadecimal OctetStrings exactly, rejecting values wider than 64 bits instead of storing zero
|
|
-issue: Emit each file log message with one O_APPEND write so concurrent workers cannot splice stdio chunks
|
|
-issue#593: Release the ICMP packet and socket through one cleanup path, including the FD_SETSIZE exit
|
|
-issue#597: Pair one capability decision with each raw-socket lock/elevation block and release LOCK_SETEUID before retrying
|
|
-issue#597: Release Linux capability handles on every probe path and log an absent optional CAP_NET_RAW capability as a warning
|
|
-issue#611: Leave hostinfo untouched when getaddrinfo() fails in init_sockaddr()
|
|
-issue#610: Give nft_pclose exclusive ownership of subprocess registry entries
|
|
-issue#575: Probe for usmDESPrivProtocol instead of assuming the header's advertised default
|
|
-issue#583: Size escaped_result and db_escape()'s trim buffer to the caller's max_size instead of a fixed DBL_BUFSIZE
|
|
-issue#594: Call mysql_thread_end() on the device-row-missing exit path in poll_host()
|
|
-issue#597: Restore SNMPv3 noAuthNoPriv and authNoPriv sessions, validate privacy/authentication combinations, refuse passwords paired with blank protocol fields, and wipe local passphrase copies
|
|
-issue#605: Guard php_readpipe() against an FD_SET() write past FD_SETSIZE
|
|
-issue#607: Re-arm the signal handler for SIGPIPE so a second one does not kill the poller
|
|
-issue: Correct signed and unsigned printf format specifiers in poller.c, free session.localname on the unknown-version return in snmp.c, and quote shell variables in the build scripts
|
|
-issue: Escape the SNMP result and RRD name before the poller_output INSERT, bound the buffer_output_errors write to the space left in error_string, and validate the --hostlist argument before it reaches SQL
|
|
-issue: Restore the twelve headers and spine.conf.dist missing from the dist tarball so a release tarball can be compiled from
|
|
-feature#362: Report the number of data collection errors during data collection in host table
|
|
-feature#439: Add idiomatic RPM spec for cacti-spine (%autosetup, %config(noreplace), man1)
|
|
-feature#440: Add idiomatic Debian packaging
|
|
-feature#442: Add GitHub Actions CI: build matrix (gcc/clang), cppcheck, flawfinder, CodeQL
|
|
-feature#443: Add make targets for Docker build and verification (docker, docker-dev, verify, cppcheck)
|
|
-feature#444: Add multi-stage Dockerfile and Dockerfile.dev with ASan/cppcheck/scan-build
|
|
-feature#461: Add a top-level packaging overview README
|
|
-feature#3740: Ability to disable a site
|
|
-feature#5090: Enhance number recognition within Spine
|
|
-feature#6001: Extend SYSTEM STATS
|
|
-feature: Add Rocky Linux 9 build and test coverage to CI
|
|
-feature: Add the unit, fuzz and integration test suites
|
|
-feature: Make spine work with Stream feature
|
|
-feature: Seed spine.conf from spine.conf.dist on first install without overwriting an existing config
|
|
-issue#632: Reap nft_pclose() and php_terminate_and_reap() with a single bounded non-blocking check, killing and handing off to the abandoned-pid sweep instead of a blocking spin/SIGTERM/SIGKILL escalation that could pin a poller thread for seconds
|
|
-issue#632: Remove the USING_TPOPEN/--enable-popen native popen() fallback in exec_poll(), which could not track or kill a timed-out child
|
|
-issue#632: Stop spine_reap_child_bounded() from sleeping a flat second per attempt on SOLAR_THREAD builds, which could block nft_pclose() for seconds instead of its intended ~20ms brief allowance
|
|
-issue#632: Bound the EINTR retry loops in spine_reap_child_bounded() and nft_sweep_abandoned(), and SIGKILL a child before parking it when waitpid() itself errors
|
|
|
|
1.2.31
|
|
-issue#365: Removing Backtrace Support
|
|
-issue#366: Failing to actually a poll device that returns "NoSuchObject"
|
|
-issue#370: Errors experienced with very long OIDs
|
|
-issue#373: Spine SNMPv3 SHA-512 auth doesn't work
|
|
-issue#374: Error DES is no longer supported on this system
|
|
-issue#383: Spine returns Segmentation fault
|
|
-issue#384: ICMP Buffer overflows on Debian/Unbuntu related recvfrom() calls
|
|
-issue: Clear up a few very minor leaks in spine
|
|
|
|
1.2.29
|
|
-no changes
|
|
|
|
1.2.28
|
|
-issue#350: When using Ping or SNMP Uptime, host is not always detected properly
|
|
-issue#351: Add Ping Method where connection refused assumes host is up
|
|
|
|
1.2.27
|
|
-issue#349: Removal of AES Privacy Protocol was pre-mature
|
|
|
|
1.2.26
|
|
-issue#315: Errors cam be reported when uptime OID is not present
|
|
-issue#317: MySQL reconnect option is depreciated
|
|
-issue#321: Spine does not check a host with no poller items
|
|
-issue#323: Poller may report the wrong number of devices polled
|
|
-feature#329: Allow users to override the threads setting at the command line
|
|
-feature#331: Allow spine to run in ping-only mode
|
|
|
|
1.2.25
|
|
-issue#234: Spine should see if script to be executed is executable
|
|
-issue#291: Enhance number recognition
|
|
-issue#294: When polling devices, sort by larger number of items first
|
|
-issue#298: Log format may be corrupted when timeout occurs
|
|
-issue#303: Compile warning appears due to GCC flag on RHEL7/RHEL8
|
|
-issue#304: Downed device detection only checks one of the two uptime OIDs
|
|
-issue#305: Compile error appears due to execinfo.h on FreeBSD
|
|
-issue#306: Bootstrap shell script contains some PHP cruft
|
|
-issue#308: Padding is not always removed from the start of non-numeric strings
|
|
-issue#311: Improve SNMP result handling for non-numeric results
|
|
-issue#312: Further improve SNMP result handling for non-numeric results
|
|
-issue#313: Remove check for the max_oids column which has been present since Cacti v1.0
|
|
-issue#314: Minimize Sorting when fetching poller records for maximum performance
|
|
-feature#234: Spine should see if script to be executed is executable
|
|
|
|
1.2.24
|
|
-issue#296: When ignoring older OIDs, segmentation faults can be caused
|
|
|
|
1.2.23
|
|
-issue#287: Unexpected reindexing occurs when using uptime as the reindex method
|
|
-issue#279: spine does not compile with SQL TLS deactivated
|
|
-issue#298: Odd Cacti log format issue when script server timeout happened
|
|
-feature#277: Spine should prevent the script server from connecting to remote when offline
|
|
-feature#292: Improve Script Server Timeout Logging
|
|
-feature#293: Add SQL_NO_CACHE to Spine Queries
|
|
|
|
|
|
1.2.22
|
|
-issue#265: Periodically spine crashes with sigabort due to MariaDB API buffer overruns
|
|
-issue#267: FATAL: Spine Encountered a Segmentation Fault
|
|
-issue#269: When polling time is exceed, spine does not always exit as expected
|
|
-issue#270: Spine logging at `-V 5` includes an extra line feed
|
|
-issue#271: Incorrect SNMP responses can cause spine to crash
|
|
-issue#272: Properly handle devices that timeout responding to the Extended Uptime
|
|
-issue#274: MariaDB can cause spine to abort prematurely despite error handling
|
|
-feature#273: Spine should log the error time when exiting via signal
|
|
|
|
1.2.21
|
|
-issue#258: Disable DES if Net-SNMP doesn't have it
|
|
|
|
1.2.20
|
|
-issue#233: Add support for newer versions of MySQL/MariaDB
|
|
-issue#238: When checking for uptime of device, don't assume a non-responce is always fatal
|
|
-issue#240: When compiling, newer systems may complain about obsolete macros
|
|
-issue#241: When querying devices, long descriptions can become truncated
|
|
-issue#243: When compiling, FreeBSD may complain about missing backtrace functions
|
|
-issue#244: When building queries, commands may become truncated
|
|
-issue#247: When compiling with SNMPv3 support, SHA256 may incorrectly appear to be not supported
|
|
-feature#252: Improve spine performance when only one snmp agent port is in use
|
|
|
|
1.2.19
|
|
-issue#172: Issues with polling loop may skip some datasources
|
|
-issue#209: Ping no longer works due to hostname changes
|
|
-issue#216: RRD steps are not always calculated correctly
|
|
-issue#220: Unable to build when DES no longer supported
|
|
-issue#221: IPv6 devices are not properly parsed
|
|
-issue#226: Reduce a number of compiler warnings
|
|
-issue#227: Compiler warnings due to lack of return in thread_mutex_trylock
|
|
-issue#237: Spine will not look at non-timetics uptime when sysUpTimeInstance overflows
|
|
-feature#235: Improve performance of Cacti poller on heavily loaded systems
|
|
|
|
1.2.18
|
|
-issue#207: Missing time parameter on FROM_UNIXTIME function
|
|
|
|
1.2.17
|
|
-issue#178: When building spine, errors with Percona libraries may appear by tersmitten
|
|
-issue#184: When building spine, make process can report problems with backtrace
|
|
-issue#186: When opening the database, spine can unexpectedly crash
|
|
-issue#187: On large systems, too many connections can cause firewalls to assume a DDoS attack
|
|
-issue#192: Spine does not properly use the mysql reconnect option
|
|
-issue#193: When performing certain re-index operations, spine can unexpectedly crash
|
|
-issue#194: When logging to standard output, log messaging is inconsistent
|
|
-issue#195: When using newer gcc versions, spine is unable to compile properly
|
|
-issue#197: Remote data collectors push too much data to main when performing diagnostics
|
|
-issue#200: Make spine more responsive when remote connection is down
|
|
-issue#202: MySQL SSL Key capability check does not work
|
|
-issue#203: Backtracing support checks do not work
|
|
-issue#204: MySQL Retry Count capability check always fails
|
|
-feature: Make spine immune to DST changes
|
|
-feature#181: Parse hostnames from tcp[6]:hostname:port [not fully implemented]
|
|
-feature#188: On large systems, more concurrent script servers are needed
|
|
|
|
1.2.16
|
|
-issue: Some developer debug log messages falsely labeled as WARNINGS
|
|
-issue#164: Remove the need of the dos2unix program
|
|
-issue#171: Spine experiencing MySQL socket error 2002 under load
|
|
-issue#175: Under heavy load MySQL/MariaDB return 2006 and 2013 errors on query
|
|
-feature: Add backtrace output to stderr for signals
|
|
-feature#176: Add Data Source turnaround time to debug output
|
|
|
|
1.2.15
|
|
-issue#166: Special characters may not always be ignored properly
|
|
-issue#168: Correct issues with linking under OpenBSD
|
|
|
|
1.2.14
|
|
-issue#162: Spine not updating rrd_next_step
|
|
|
|
1.2.13
|
|
-issue#156: Compile on Cygwin is failing due to icmp6 headers missing
|
|
|
|
1.2.12
|
|
-issue#155: Failed host lookup causes spine to crash
|
|
|
|
1.2.11
|
|
-issue#122: Unable to compile spine on OpenBSD
|
|
-issue#129: Repeated warnings due to 'Recache Event Detected for Device'
|
|
-issue#134: No error is recorded to log file when database is incorrect
|
|
-issue#144: MySQL retry logic is not working as expected
|
|
-issue#149: When using IPv6 address, segmentation fault can occur due to incorrectly using IPv4 ping
|
|
-issue#150: When polling results are null, segmentation errors may occur
|
|
-issue#151: When collecting data, spine should be stripping alpha characters from output
|
|
|
|
1.2.10
|
|
-feature: release to match Cacti release
|
|
|
|
1.2.9
|
|
-issue#124: Improve logging of snmp multiple OID get function
|
|
-issue#129: PCOMMAND Device[XXXX] WARNING: Recache Event Detected for Device
|
|
-issue#130: Segmentation Fault triggered by a lot of errors
|
|
-issue#131: Replace function gethostbyname with thread safe getaddrinfo
|
|
-issue#139: removed strip_alpha for "Wrong-Type" SNMP-Answer
|
|
|
|
1.2.8
|
|
-issue#119: When calling bootstrap, an invalid error claiming config.h.in is missing can appear on first compile
|
|
|
|
1.2.7
|
|
-issue#113: When compiling under CentOS, 'm4' directory appears to be missing
|
|
-issue#115: Perform proper initialization and teardown of sockets under Windows
|
|
-issue#117: Spine configuration example shows remote database prefix for local database values
|
|
|
|
1.2.6
|
|
-issue#101: MySQL 8 has retired 'my_bool' type
|
|
-issue#104: Spine should report which threads are outstanding
|
|
-issue#105: Spine should include 'Process[<id>]' in standard logging
|
|
-issue#107: Log Buffer is too small to handle some output
|
|
-issue#108: Once an SNMP timeout is reached, snmp_get does not honor include_host
|
|
-issue#109: Initial declarations inside for loop cause compile errors
|
|
-issue#110: When compiling, 'directive output may be truncated' messages can appear
|
|
-issue#112: INSTALL instructions have typo in bootstrap command
|
|
|
|
1.2.5
|
|
-issue: Improve detection of MySQL vs. MariaDB client library requirement
|
|
-issue#98: Checking type in poller.c causes compiler error
|
|
|
|
1.2.4
|
|
-issue#92: Add Data Source ID to "Empty result' error messages
|
|
-issue#94: Increase default 'results_buffer' size to 2048 and MySQL max buffer to 131072 bytes
|
|
|
|
1.2.3
|
|
-issue#76: Spine unhandled exception signal
|
|
-issue: More recent versions of MariaDB require different client library
|
|
|
|
1.2.2
|
|
-feature: release to match Cacti release
|
|
|
|
1.2.1
|
|
-feature: release to match Cacti release
|
|
|
|
1.2.0
|
|
-feature: Allow threads to be set a Data Collector level
|
|
-issue#50: make fails on Debian 7 attempting to locate clock_gettime
|
|
-issue#53: Improved escaping when updating database records
|
|
-issue#54: Spine should always log if ICMP fails
|
|
-issue#58: When updating snmp_sysLocation, text can become truncated
|
|
-issue#63: Automatically reduce device threads when number of data sources does not require it
|
|
|
|
1.1.38
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.37
|
|
-issue: Extra long snmp_sysObjectID's generate SQL errors
|
|
|
|
1.1.36
|
|
-issue#49: Re-Index update query failed due to lack of escaping
|
|
|
|
1.1.35
|
|
-issue#48: Availability check none triggers snmp system check that causes device to be ignored
|
|
|
|
1.1.34
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.33
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.32
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.31
|
|
-issue#15: Spine cause CPU usage up to 100%
|
|
-issue#32: Support noAuthNoPriv in Spine
|
|
-issue#34: Re-introduce check for relocatable Net-SNMP and development files
|
|
-issue#35: SNMP OID range checks cause some snmpget's to fail
|
|
-issue#38: SNMP Ping timeouts not reported properly
|
|
-issue#39: Spine should use same logging format as Cacti
|
|
-issue#41: Spine cause CPU usage up to 100%
|
|
-issue#42: Boost table keeps populating with boost disabled
|
|
|
|
1.1.30
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.29
|
|
-issue#39: Have spine match cacti_log function
|
|
|
|
1.1.28
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.27
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.26
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.25
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.24
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.23
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.22
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.21
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.20
|
|
-issue#28: UDP and TCP ping issues
|
|
|
|
1.1.19
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.18
|
|
-issue: Sort devices by polling time to allow long running devices to go first
|
|
|
|
1.1.17
|
|
-issue: Increase logging level for POPEN timeouts
|
|
|
|
1.1.16
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.15
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.14
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.13
|
|
-issue: Script timeout should start after semaphore releases
|
|
-issue: Don't include line breaks in Syslog
|
|
|
|
1.1.12
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.11
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.10
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.9
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.8
|
|
-issue#21: Errors when snmp_sysLocation contains a single quote
|
|
|
|
1.1.7
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.6
|
|
-issue#15: Spine can cause high CPU utilization due to semaphore implementation
|
|
-issue#11: Spine reports SNMP timeouts in some cases when gathering multiple OID in one request
|
|
|
|
1.1.4
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.3
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.2
|
|
-issue#13: Spine does not compile with --enable-lcap
|
|
-issue#16: Spine not handling debug devices correctly
|
|
|
|
1.1.1
|
|
-feature: release to match Cacti release
|
|
|
|
1.1.0
|
|
-feature: release to match Cacti release
|
|
|
|
1.0.6
|
|
-feature: release to match Cacti release
|
|
|
|
1.0.5
|
|
-issue#7: remove database name not respected
|
|
|
|
1.0.4
|
|
-feature: release to match Cacti release
|
|
|
|
1.0.3
|
|
-issue#6: Spine accepts arbitrary polling modes
|
|
|
|
1.0.2
|
|
-feature: release to match Cacti release
|
|
|
|
1.0.1
|
|
-bug:With enough make jobs, help2man will fail if help2man is run before spine has been built
|
|
|
|
1.0.0
|
|
-feature: Track per host polling time
|
|
-feature: Collect System Mib Information
|
|
-feature: Place collection timing into host table
|
|
-feature: Support snmpContextEngineID
|
|
-feature: Change all references of Host to Device
|
|
-bug:0001415: spine does not handle log_perror
|
|
-bug#0002220: spine/cacti patch to allow SNMP_polling decices' hostnames like user@host:port
|
|
-bug#0002234: Wrong alphanumeric value got from Spine SNMP poller
|
|
-bug#0002651: False Positive Down status with snmpv3
|
|
-bug#0002674: Segmentation fault in Spine during polling host
|
|
|
|
0.8.8h
|
|
-bug:0002659: wrong information about spine setup for icmps
|
|
-bug: Removed requirement for building man page, deferred to 1.0
|
|
|
|
0.8.8g
|
|
-bug:0002380: please build man page for spine
|
|
-bug:0002610: Spine is trying to use mysql results after data being freed
|
|
-bug:0002639: Spine does not respect snmp_retries from the database
|
|
-bug:0002640: Spine crashes randomly while polling using multiple threads on one device
|
|
-bug:0002549: Spine: hasCaps() always returns FALSE
|
|
-bug:0002638: Spine: ping_udp() uses uninitialised socket timeout
|
|
-bug:0002654: On RHEL 6.5, spine ./configure builds Makefile without crypto support
|
|
|
|
0.8.8f
|
|
-bug:0002604: cacti-spine, configure script ignores LDFLAGS in certain situations
|
|
|
|
0.8.8e
|
|
-bug#0002185: Multiple memory leaks found in spine
|
|
-bug#0002398: Buffer overflow
|
|
-bug#0002447: Building spine on Debian Jessie (testing) fails
|
|
-bug#0002536: Spine segfaults when 18k+ hosts are to be pulled
|
|
-bug#0002576: Call to a non-existent column of the database in poller.c
|
|
-bug#0002578: spine doesn't compile on ubuntu 12.04
|
|
-bug#0002585: Spine: buffer overflow in logging when RESULTS_BUFFER>LOGSIZE can SEGV
|
|
-bug#0002588: Spine "is_numeric" incorrectly returns TRUE for some hexadecimal values
|
|
|
|
0.8.8d
|
|
-feature: add snmp system information gathering
|
|
|
|
0.8.8c
|
|
-bug: remove obsolete reference causing pre-compile issues
|
|
|
|
0.8.8b
|
|
-bug: set appropriate mysql 5.5+ timeouts
|
|
|
|
0.8.8a
|
|
-bug#0002204: spine corrupted double-linked list error
|
|
-bug#0002206: On multi-architecture Debian platforms spine fails to build
|
|
-bug#0002205: Typo, twice, in spine.c: absense -> absence
|
|
|
|
0.8.8
|
|
-bug#0002185: Multiple memory leaks found in spine
|
|
|
|
0.8.7i
|
|
-bug: Rework the way ping works, due to bad impact of changes in 0.8.7h
|
|
-bug: ICMP ping not working on windows due to cygwin change
|
|
-bug: Linux capabilities reported as on regardless of state
|
|
-feature: Add a reconnect capability when the mysql server goes away
|
|
|
|
0.8.7h
|
|
-bug#0001669: Problems with getting data from script using SPINE on Windows Server 2003 x32
|
|
-bug#0001829: Wrong string numerical value got from Spine SNMP poller
|
|
-bug#0001899: spine treats undef replies as 0
|
|
-bug#0001968: Spine Error with Cisco FWSM firewalls
|
|
-bug#0001974: PRIV_PROC_EXEC is required for Spine on Solaris 10
|
|
-bug#0002059: Spine doing too many (80+) connections when polling
|
|
-bug: Net-snmp API issues cause spine crashes with some SNMP agents
|
|
-bug: Host list not properly initialized
|
|
-bug: Mutex locking issues cause deadlocks in Windows
|
|
-bug: Escape windows type back slashes in scripts
|
|
-bug: Use safer Non Net-SNMP string parsing calls for snmpget and snmpgetnext
|
|
-bug: be smart for SNMP V3 and use AuthNoPriv when privacy passphrase is empty
|
|
-bug: Do not fail on insert for a duplicate record
|
|
-bug: Script server results with special characters can cause segfaults
|
|
-feature#0001852: Another 10% speedup in spine
|
|
-feature#0001878: Add Linux Capabilities to Spine
|
|
-feature: Add additional ping methods to allow more precise snmp pings
|
|
-feature: Clean up directory, update bootstrap
|
|
|
|
0.8.7g
|
|
-feature: Multi threaded host polling
|
|
|
|
0.8.7f
|
|
-bug#0001465: Don't check micro version when comparing installed net-snmp version to version used when building
|
|
-bug#0001497: Prevent constant reindexes if snmp agent continually returns uptime of 0
|
|
-bug#0001510: Speedup spine resorting hosts by estimated polling time
|
|
-bug#0001519: spine enhancement for parallel collection of data at host level
|
|
-bug#0001541: Spine snmp bulk get incorrect assumes that the server SNMP Agent returns variables in same order
|
|
-bug#0001551: Spine compile problem on AIX 5
|
|
-bug#0001563: Spine Compilation Problem on sql.c
|
|
-bug#0001604: HEX Counter values enclosed in quotes not recognized as HEX
|
|
-bug#0001657: Spine output shows drop of latest bit from hex value
|
|
-bug#0001653: Transient ICMP Socket create failures causing spine to die
|
|
-bug: When performing reindex checks, spine does not trim quotes from string values resulting in reindex faiures
|
|
-bug: Add new option to enable Net-SNMP library vs. header versions
|
|
-bug: ICMP fails on some platforms
|
|
-bug: MySQL client auto reconnect default in MySQL 5.0.71 causes spine to crash
|
|
-bug: Inconsistent behavior when the poller interval has not been set
|
|
-bug: Invalid use of FDSETSIZE can cause issue with Script Server
|
|
-bug: When performing reindex checks, spine does not trim quotes from string values resulting in reindex faiures
|
|
-feature#0001629: Implement the snmp clientaddr option to bind spine to a specific local ip address
|
|
|
|
0.8.7e
|
|
-bug: Not all configuration paths are searched for spine.conf
|
|
-bug: If host has MAX OID's set to 0, timeouts occur
|
|
-bug: Properly detect full Cygwin installs by finding sh.exe
|
|
-bug: Don't perform TCP Ping retries in Windows. You cannot set socket send timeouts in Windows
|
|
|
|
0.8.7d
|
|
-bug#0001310: Feature request for poller.php- single host polling
|
|
-bug#0001313: Spine takes an excessive amount of time timing out failed tcp pings
|
|
-bug#0001358: (cacti + spine) svn. Using snmp v3 constantly get "value: U", whereas snmpget returns correct value
|
|
-bug#0001379: Ping.c might send more then retry_count icmp packages
|
|
-bug#0001381: configure script distributed with cacti-spine-0.8.7c is broken
|
|
-bug#0001420: PCOMMAND: Poller[0] Host[80] WARNING: Recache Event Detected for Host
|
|
-bug: A host that for some reason can not initialize snmp can cause a segfault
|
|
-bug: When using nifty popen, when the script times out, attempt to kill it
|
|
-bug: Under some platforms tcp and udp ping unresponsive
|
|
-bug: Availability messaging incorrect for snmpv3 hosts
|
|
-bug: TCP Pings that receive a connection refused are good pings
|
|
-bug: Avoid segmentation faults when Reindex table issues are found
|
|
-bug: When performing snmp_get's, dont assume no error means non-null response
|
|
-bug: Some snmp agents don't getnext on '.1' and need another oid '.1.3'
|
|
-bug: Net-snmp versioning breaks snmpV3
|
|
-bug: Use system level snmp_retries variable instead of 3
|
|
-feature: Add one additional debug message to the poller code to track data sources polled
|
|
-feature: Add more config paths for packagers
|
|
-feature: Allow specification of an optional hostlist instead of first and last hostid's
|
|
-feature: Integrate more tightly with boost by allowing writing directly to the boost output table
|
|
-feature: Complete implementation poller_id field for people using a poller_id for polling.
|
|
|
|
0.8.7c
|
|
-bug#0001022: strip_quotes incorrectly parsing script output
|
|
-bug#0001097: Spine: Patch to allow unknown values including "Nan" and "U" without warnings
|
|
-bug#0001101: spine hangs and times out
|
|
-bug#0001130: ERROR: Spine Timed Out While Processing Hosts Internal
|
|
-bug#0001147: spine doesn't trim white space from data template OIDs
|
|
-bug#0001152: Running spine w/o setuid-root on Solaris
|
|
-bug#0001186: clarify INSTALL documentation.
|
|
-bug#0001231: Compiling Spine on Solaris 10
|
|
-bug#0001260: Deadlock in ping.c when resolving bad hostnames
|
|
-bug#0001271: hex string to decimal conversion
|
|
-bug#0001277: Spine reporting partial result or 'U' for SNMP value
|
|
-bug: Correct a buffer overrun issue in poller.c
|
|
-bug: If the script server goes away due to a syntax problem, it will not restart
|
|
-bug: If the snmp session is not created spine times out
|
|
-bug: If your snmp context changes between poller items, the context would not always change
|
|
-feature: Use threadsafe gethostbyname_r
|
|
-feature: Improve mysql logging
|
|
-feature: Allow overriding the default results buffer size
|
|
-feature: Allow overriding the default max mysql buffer (insert) size
|
|
-feature: Allow overriding the maximum simultaneous scripts setting
|
|
|
|
0.8.7a
|
|
-bug#0001054: Cactid/Spine installation instructions are missing dependencies
|
|
-bug#0001056: Spine/Cactid configure reports incorrect URL for bug reporting
|
|
-bug#0001071: When using Multiget OID's in Spine Errored OID's Cause Alignment Issues
|
|
-bug#0001072: When the Last OID of a group is 'U', the host is repored down and remainder of OID's not polled
|
|
-bug#0001097: Add patch to allow unknown values
|
|
-bug#0001101: Fix ICMP hang while in a timed out state
|
|
|
|
0.8.7
|
|
-bug: Fix configure issues with hybrid 64 bit OS'
|
|
-feature: Rename to spine
|
|
-feature: Update copyright
|
|
-feature: Add tab stops and autoindent to source code
|
|
-feature: Make spike detection more generic
|
|
-feature: Add snmpv3 support including contexts
|
|
|
|
0.8.6j
|
|
-bug#0000879/0000872: cactid doesn't always report error messages before dying
|
|
-bug#0000856: Slight documentation change
|
|
-bug#0000861: Downed Host Detection on non-SNMP devices wrong
|
|
-bug#0000886: SNMP Ping to Utilize The snmpgetnext instead of snmpget
|
|
-bug#0000889: Use configure script's sysconfdir variable for placement of cactid.conf
|
|
-bug#0000929: Spine with setuid root falls back to UDP after first host
|
|
-bug#0000939: cactid use custom hostname, snmp_community,snmp_username and snmp_password in datasource
|
|
-bug#0000940: Increasing BUFSIZE in cactid.h will still not allow longer output from scripts
|
|
-bug#0000951: Spine SNMP polling does not strip enum values
|
|
-bug#0000960: cactid truncating responses from scripts to 511 characters
|
|
-bug#0000987: cactid can't use a socket unix
|
|
-bug: By default, Cygwin can not handle large quantities of running scripts, therefore, limit to 20
|
|
-bug: Increase the number of file descriptors in Cygwin to 512, 64 does not work for large systems.
|
|
-bug: If the system is out of resources when trying to fork(), retry three more times
|
|
-bug: Use vfork instead of fork. It's more efficient with resources.
|
|
-bug: Spine Script Server would not work with cgi version of php. Now it does.
|
|
-bug: Changes in SNMP Community from poller item to poller item were not being considered.
|
|
-bug: Restore meaningful notices when running from command line
|
|
-feature: Allow users to use the traditional popen instead of nifty if required.
|
|
-feature: Properly support INNODB database engine in MySQL
|
|
|
|
0.8.6i
|
|
-bug: Only output as much as MySQL can handle in 1 insert
|
|
-bug: Faulty Script Server shutdown was causing race condition
|
|
-bug: Allow ICMP or UDP ping to work if host begins with either "TCP:" or "UDP:"
|
|
-bug: Change assert logging to HIGH to more closely match cmd.php
|
|
-bug: Allow Spine to make on 64bit x86 Platforms - thanks to Reuben Farrelly
|
|
-bug: Changing syntax from "insert into to replace into" for reindex inserts
|
|
-bug: Don't perform a reindex a check for a data query if you already have to reindex
|
|
-bug: Make sure to log FATAL to stderr
|
|
-bug: Do not re-index a host if the re-index value is a "No Such Instance" result.
|
|
-bug#0000682: Allow storing of each hosts polling start time
|
|
-bug#0000691: Spine fails with custom snmp port
|
|
-bug#0000699: Tick counts not being detected
|
|
-bug#0000706: Spine didn't start PHP scripts when host didn't answer SNMP (but icmp is ok)
|
|
-bug#0000710: cactid.conf doesn't allow for no mysql password
|
|
-bug#0000716: Don't attempt to save output for a host if there is none.
|
|
-bug#0000717: Allow numeric double results to start with '+', '-', '.'
|
|
-bug#0000724: cactid truncate script command when reindex
|
|
-bug#0000736: Solaris 8 : Alarm Clock message
|
|
-bug#0000745: cactid: search path for mysql and snmp does not include /usr/pkg
|
|
-bug#0000748: cactid doesn't handle special charectors
|
|
-bug#0000749: Spine 0.8.6g won't accept special characters from data template
|
|
-bug#0000750: poller doesn't check for snmp if udp ping fails
|
|
-bug#0000752: Problem with OID truncation with cactid
|
|
-bug: add kstat checking for Net-SNMP v5.3.x
|
|
-bug: get more intelegent. move cactid.conf.dist to /etc during install
|
|
-feature: add Net-SNMP Library vs. Header check prior to execution
|
|
-feature: enabled signal handling in cactid
|
|
|
|
0.8.6h
|
|
-feature: Not released. Syncing with Cacti distribution again.
|
|
|
|
0.8.6g
|
|
-bug#0000609: console "error" messages should go to stderr instead of stdout
|
|
-bug#0000618/0000613: correct invalid assignment of session.community in snmp.c
|
|
-bug#0000629: correct issues with invalid unknown reaults when reducing MAX OID get size
|
|
-bug: correct issue where spike prevention logic was not being activated properly
|
|
-bug: correct issue where host reindex was not operating for uptime goes backwards reindex method
|
|
-bug: if sysUptime is queried for a host, only do it once
|
|
-bug: certain SNMP string responses where not being handled properly due to net-snmp bug
|
|
-bug: increase the allowable size of the logfile entry
|
|
-bug: change behavior of availability so that if SNMP and ICMP/UDP are selected, only one has to succeed
|
|
-bug: cleaned up implementation of multi SNMP OID get error checking logic
|
|
-bug: don't attempt to allocate a zero item array when a host has no polling items
|
|
-bug: correct string values returning as blank in *nix environments
|
|
-bug: correct issue where invalid SNMP OID results would cascade to subseqent SNMP OID calls for a host
|
|
-optimization: change logging logic to cleanup code and add varadic formatting
|
|
-optimization: complete audit of code for portability complements of Steve @ http://www.unixwiz.net
|
|
-optimization: documentation, documentation, documentation...
|
|
-feature: added command line argument handling including database overrides complements of Steve @ http://www.unixwiz.net
|
|
-feature: added multiple script server process feature to current version
|
|
-feature: added support for MySQL 5.x
|
|
-feature: added more verbose MySQL DEBUG logic
|
|
|
|
0.8.6f-1
|
|
-bug: Two memory leak fixes in poller.c
|
|
-bug: Typo in the README-WINDOWS install file
|
|
|
|
0.8.6f
|
|
-bug: allow a host to have more than 1 SNMP port defined for those odd devices that have them
|
|
-bug: corrected an issue that caused infrequent segfaults when a host refused a ping request
|
|
-bug: increased max_threads from 30 to 100
|
|
-bug: delayed killing php script server process by .5 seconds to allow MySQL connections to close
|
|
-bug: place thread locks around unsafe functions to prevent possible segfaults
|
|
-feature: implemented snmpv3 AuthNoPriv to align with Cacti 0.8.6 user interface
|
|
-feature: improved performance of poller by the reduction of MySQL insert calls
|
|
-feature: improved poller performance by grouping snmp get requests in a single call
|
|
|
|
0.8.6e
|
|
-bug:#0000470: added -v, --version, -h, --help to command line options to make more GNU friendly
|
|
-bug:#0000425: added ability to specify a socket file in *nix environments
|
|
-bug: correct issues converting back slashes to forward slashes in arguments
|
|
-bug: stop cactid from segfaulting when the database contains orphaned data source records
|
|
-bug: re-implemented thread safe operations for non-linux systems
|
|
-bug: allow cactid to poll from non-standard snmp port
|
|
-bug: optimized some string handling routines
|
|
-bug: changed snmp availability check to sysUptime from sysDesc
|
|
-bug: limit the number of concurrent threads to 30
|
|
-bug: remove legacy cactid.conf file processing code
|
|
-bug: add fault detection logic to mysql query calls to prevent segfaults
|
|
-bug: cleaned up some unused variables
|
|
-bug: add ability to detect errors and gracefully shut down php script_server
|
|
-bug: remove trailing blanks and alpha characters from results
|
|
-bug: clean up some string handling on script server results
|
|
-bug: stop DEADLOCKS by not prematurely releasing mutex locks
|
|
-bug: changed licensing to LGPL to accomodate linked libraries such as OpenSSL
|
|
-bug: corrected issues where snprintf was taking 1 too many characters
|
|
-bug: remove unneccessary Windows MACRO's from net-snmp initialization
|
|
-feature: added seteuid functionality for unix and ICMP ping
|
|
-feature: restart the script server after a timeout to prevent unexpected results
|
|
-feature: only run the php script server if you have script server elements to process
|
|
-feature: disable MIB loading to speed the launch of the net-snmp api
|
|
-feature: change TREAD_SLEEP duration depending on number of processes to reduce CPU load
|
|
-feature: allow the user to specify a script and script server timeout value from the user interface
|
|
-feature: added polling for non-host specific data sources
|
|
-feature: added data source logging to provide easier problem resolution
|
|
-feature: added cmd.php like spike suppression
|
|
-feature: added support for experimental multiple poller interval handling
|
|
|
|
0.8.6d
|
|
-bug: increased timers for popen and script server to 20 seconds
|
|
-bug: corrected segfault when polling a device with a null community string
|
|
-bug: re-included ifdef for mysql thread protection for mysql 3.x
|
|
|
|
0.8.6c
|
|
-bug: fixed integer/float conversion problem.
|
|
-bug: increased the default script timeout from 5 to 10 seconds
|
|
-bug: changed stdout format to reduce clutter on screen
|
|
-bug: removed cygwin workaround that was causing SNMP instability
|
|
-bug: increased both BUFSIZE and LOGSIZE to allow for larger output corner cases
|
|
-bug: added mutex locking around MySQL calls and eliminated one unlock without a lock
|
|
-feature: added connection timeout and retry logic
|
|
-feature: added database port option in cactid.conf file. New parameter is DB_Port
|
|
-feature: added some compiler directives for better compatibility with cygwin
|
|
|
|
0.8.6b
|
|
-bug: fixed issue that prevented multi ds item RRD?s from updating
|
|
-bug: fixed invalid string length calculation that was truncating output over 4 characters
|
|
-bug: small log file reformatting
|
|
|
|
-----------------------------------------------
|
|
Copyright (c) 2004-2026 - The Cacti Group, Inc.
|