Cacti / plugin_mactrack

Mactrack Plugin for Cacti
GNU General Public License v2.0
12 stars 24 forks source link

strlen(): Passing null to parameter #1 ($string) of type string is deprecated #223

Closed jdcoats closed 2 weeks ago

jdcoats commented 3 weeks ago

This started this morning after grabbing the pull req's from @xxconn

2024/06/13 17:12:37 - ERROR PHP DEPRECATED in Plugin 'mactrack': strlen(): Passing null to parameter #1 ($string) of type string is deprecated in file: /var/www/localhost/htdocs/cacti/plugins/mactrack/lib/mactrack_cisco.php on line: 347
2024/06/13 17:12:37 - CMDPHP PHP ERROR Backtrace: (/plugins/mactrack/mactrack_scanner.php[164]:get_IOS_dot1dTpFdbEntry_ports(), /plugins/mactrack/lib/mactrack_cisco.php[359]:CactiErrorHandler())
2024/06/13 17:12:37 - ERROR PHP DEPRECATED in Plugin 'mactrack': strlen(): Passing null to parameter #1 ($string) of type string is deprecated in file: /var/www/localhost/htdocs/cacti/plugins/mactrack/lib/mactrack_cisco.php on line: 359
2024/06/13 17:12:37 - CMDPHP PHP ERROR Backtrace: (/plugins/mactrack/mactrack_scanner.php[164]:get_IOS_dot1dTpFdbEntry_ports(), /plugins/mactrack/lib/mactrack_cisco.php[353]:CactiErrorHandler())
2024/06/13 17:12:37 - ERROR PHP DEPRECATED in Plugin 'mactrack': strlen(): Passing null to parameter #1 ($string) of type string is deprecated in file: /var/www/localhost/htdocs/cacti/plugins/mactrack/lib/mactrack_cisco.php on line: 353
2024/06/13 17:12:37 - CMDPHP PHP ERROR Backtrace: (/plugins/mactrack/mactrack_scanner.php[164]:get_IOS_dot1dTpFdbEntry_ports(), /plugins/mactrack/lib/mactrack_cisco.php[347]:CactiErrorHandler())
2024/06/13 17:12:37 - ERROR PHP DEPRECATED in Plugin 'mactrack': strlen(): Passing null to parameter #1 ($string) of type string is deprecated in file: /var/www/localhost/htdocs/cacti/plugins/mactrack/lib/mactrack_cisco.php on line: 347
2024/06/13 17:12:31 - CMDPHP PHP ERROR Backtrace: (/plugins/mactrack/mactrack_scanner.php[164]:get_IOS_dot1dTpFdbEntry_ports(), /plugins/mactrack/lib/mactrack_cisco.php[359]:CactiErrorHandler())

a bunch of dup entry messages for device types

2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[652]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*CAT9K_LITE_IOSXE*--1' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[648]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*n5000*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[644]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*n7000*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[640]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*nxos*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[636]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*ISR Software*--3' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[632]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*CAT9K_IOSXE*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[628]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*VG3X0*--3' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[624]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*C2960-LANBASEK9-M*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[620]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*C2960-LANLITEK9-M*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[616]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*C2960X*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[612]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*IBM Flex System Fabric*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[608]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*CAT3K_CAA-UNIVERSALK9-M*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[604]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*ProCurve Switch*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[600]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*C3560*--2' for key 'snmp_info'
2024/06/13 17:40:59 - CMDPHP SQL Backtrace: (/plugins.php[25]:include(), /include/auth.php[27]:require_once(), /include/global.php[550]:include_once(), /include/global_settings.php[2912]:api_plugin_hook(), /lib/plugins.php[95]:api_plugin_run_plugin_hook(), /lib/plugins.php[237]:mactrack_config_settings(), /plugins/mactrack/setup.php[559]:mactrack_check_upgrade(), /plugins/mactrack/setup.php[99]:mactrack_database_upgrade(), /plugins/mactrack/includes/database.php[596]:db_execute(), /lib/database.php[385]:db_execute_prepared())
2024/06/13 17:40:59 - CMDPHP ERROR: A DB Exec Failed!, Error: Duplicate entry '*cat4500*--2' for key 'snmp_info'
xxconn commented 3 weeks ago

Are you using PHP 8.1? I found the function strlen() will not accept null parameter in PHP 8.1. So please run the following sql statement in mysqladmin to fix the columns's default value with null, and then I will propose the PR to the current development repo.

update mac_track_sites set skip_vlans=''; update mac_track_sites set scan_vlans=''; update mac_track_devices set scan_trunk_port='';

The second issue looks like when run upgrade process, does it continue to show the log?

jdcoats commented 3 weeks ago

yes php 8.1, im out today for a while but will check back in with status later. Thanks!

jdcoats commented 3 weeks ago

okay so just the upgrade backtraces remain.

TheWitness commented 3 weeks ago

Might want to make the defaults on those columns "" as well.

TheWitness commented 3 weeks ago

I stopped using strlen() a long time ago, but it's use is still out there everywhere. I now use $blah != "". If it's a request variable isset_request_var().

xxconn commented 2 weeks ago

@jdcoats

I tried the second issue in my lab, it will appear the same log once time when upgrade plugin because setup.php will run mactrack_setup_database and mactrack_upgrade_database. These two functions will insert the same data into device type table.

jdcoats commented 2 weeks ago

thanks! It did only happen the 1st run.