Edit report at https://bugs.php.net/bug.php?id=61197&edit=1

 ID:                 61197
 Updated by:         lytbo...@php.net
 Reported by:        markn at ieee dot org
 Summary:            SNMPv3 cannot connect after reboot
-Status:             Open
+Status:             Not a bug
 Type:               Bug
 Package:            SNMP related
-Operating System:   Linux
+Operating System:   Irrelevant
 PHP Version:        Irrelevant
-Assigned To:        
+Assigned To:        lytboris
 Block user comment: N
 Private report:     N

 New Comment:

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.

This is bug in Net-SNMP library: you can try this simple script as a proof that 
snmpwalk has the same flaw:
snmpwalk -v3 -l authNoPriv -a MD5 -u admin -A Password01 192.168.1.1 . >out 
&;sleep 0.2; /etc/init.d/snmpd restart

Basically this engine* stuff should be maintained in SNMP-library itself: 
php-snmp does not specify (and maintain) these variables at all.


Previous Comments:
------------------------------------------------------------------------
[2012-02-27 21:31:22] markn at ieee dot org

wrong email address. bad day at the keyboard.

------------------------------------------------------------------------
[2012-02-27 21:17:10] markn at ieee dot org

Description:
------------
Under certain conditions, it is not possible to reconnect to a device that has 
rebooted while using SNMPv3.

This happens if a PHP script is connecting with authNoPriv or authPriv.

After the device reboots, PHP's SNMPv3 routines do not take note of the 
modified 
msgAuthoritativeEngineReboots count and the modified msgAuthoritativeEngineTime 
values - they continue trying to use the old values, and as a result are never 
able to communicate after a reboot.

During device maintenance, it is often necessary to reboot a device - such as 
after a firmware upgrade. So this is actually something that is needed.

Basically, there needs to be a way to discard existing session information.

Test script:
---------------
<?php
for ( ; ; ) {
$result =
snmp3_get( "192.168.1.1",
           "admin",
           "authNoPriv",
           "MD5",
           "Password01",
           "DES",
           "ciscocisco",
           "1.3.6.1.2.1.47.1.1.1.1.2.1",
           500000,
           0 );
var_dump( $result );
sleep(30);
}
?>

Expected result:
----------------
Run this script, verify that it successfully reads the data. Reboot the device 
and 
see that it is unable to read the data after the device is back up. Use 
Wireshark 
to observe that the boot count and time values have changed, but the PHP SNMP 
routines ignore the new values.




------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=61197&edit=1

Reply via email to