Package: cacti Version: 0.8.8h+ds1-8 Severity: serious Justification: breaks usability in valid and supported use case Tags: pending patch
poller.php calls split() in two places, which is deprecated in PHP 7. The code in question isn't run by default, but it causes problems when the administrator configures cacti to poll data at a higher frequency than the cron job that runs the poller. As the highest cron frequency is once per minute, one will have to use this feature if higher resolution is required. -- System Information: Debian Release: 9.0 APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 'experimental'), (200, 'testing'), (50, 'experimental'), (50, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-2-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages cacti depends on: ii dbconfig-mysql 2.0.8 ii debconf [debconf-2.0] 1.5.60 ii javascript-common 11 ii libapache2-mod-php 1:7.0+49 ii libapache2-mod-php7.0 [libapache2-mod-php] 7.0.16-3 ii libjs-jquery 3.1.1-2 ii libjs-jquery-cookie 11-3 ii libjs-jquery-jstree 3.3.3+dfsg1-1 ii libjs-jquery-ui 1.12.1+dfsg-4 ii libjs-jquery-ui-theme-ui-lightness 1.12.1+dfsg-1 ii libphp-adodb 5.20.9-1 pn perl:any <none> ii php-cli 1:7.0+49 ii php-mbstring 1:7.0+49 ii php-mysql 1:7.0+49 ii php-snmp 1:7.0+49 ii php-xml 1:7.0+49 ii php7.0-cli [php-cli] 7.0.16-3 ii php7.0-mbstring [php-mbstring] 7.0.16-3 ii php7.0-mysql [php-mysqlnd] 7.0.16-3 ii php7.0-snmp [php-snmp] 7.0.16-3 ii php7.0-xml [php-xml] 7.0.16-3 ii rrdtool 1.6.0-1+b2 ii snmp 5.7.3+dfsg-1.7 ii ucf 3.0036 Versions of packages cacti recommends: ii apache2 [httpd] 2.4.25-3 ii iputils-ping 3:20161105-1 ii logrotate 3.11.0-0.1 ii mariadb-server-10.1 [virtual-mysql-server] 10.1.22-3 Versions of packages cacti suggests: ii moreutils 0.60-1 pn php-ldap <none> -- debconf information: cacti/db/dbname: cacti cacti/remove-error: abort cacti/install-error: abort cacti/db/app-user: cacti@localhost cacti/upgrade-error: abort cacti/database-type: mysql cacti/internal/skip-preseed: false * cacti/webserver: apache2 cacti/mysql/method: Unix socket * cacti/mysql/admin-user: root cacti/missing-db-package-error: abort cacti/dbconfig-reinstall: false cacti/internal/reconfiguring: false cacti/remote/port: * cacti/dbconfig-install: true cacti/dbconfig-remove: true cacti/upgrade-backup: true cacti/remote/host: localhost cacti/remote/newhost: cacti/passwords-do-not-match: cacti/dbconfig-upgrade: true cacti/purge: false
Description: split() is deprecated in PHP 7, causing the code to fail Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/cacti/+bug/1662027 Bug-Debian: https://bugs.debian.org/ Source: https://github.com/Cacti/cacti/commit/6b5931130770cdfa5baa68c43a913dcabf1c3970 Index: cacti/poller.php =================================================================== --- cacti.orig/poller.php +++ cacti/poller.php @@ -451,11 +451,9 @@ while ($poller_runs_completed < $poller_ /* sleep the appripriate amount of time */ if ($poller_runs_completed < $poller_runs) { - list($micro, $seconds) = split(' ', microtime()); - $plugin_start = $seconds + $micro; + $plugin_start = microtime(true); api_plugin_hook('poller_bottom'); - list($micro, $seconds) = split(' ', microtime()); - $plugin_end = $seconds + $micro; + $plugin_end = microtime(true); if (($sleep_time - ($plugin_end - $plugin_start)) > 0) { usleep(($sleep_time - ($plugin_end - $plugin_start)) * 1000000); }
signature.asc
Description: OpenPGP digital signature