|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #23685 fake values returned when OID value is an empty string
Submitted: 2003-05-18 15:47 UTC Modified: 2003-07-18 04:24 UTC
From: s dot zagrodzki at net dot icm dot edu dot pl Assigned:
Status: Closed Package: SNMP related
PHP Version: 4.3.2RC4-dev OS: Linux 2.2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
32 + 38 = ?
Subscribe to this entry?

 [2003-05-18 15:47 UTC] s dot zagrodzki at net dot icm dot edu dot pl
PHP with snmp module. Sample piece of output from snmpwalk utility from ucd-snmp:
$ snmpwalk <router> <community> ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.3 = lacze do Obs. Astr.
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.4 =
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.5 = : lacze do Wydz. Zarzadzania
(value of ifAlias.4 is an empty string).
Sample script:
$ifAlias = snmprealwalk("<router>", "<community>", "ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias");

Output of sample script:
    [ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.3] => lacze do Obs. Astr.
    [ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.4] => lacze do Obs. Astr.
    [ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.5] => : lacze do Wydz. Zarzadz
(ifAlias.4 is now the same as ifAlias.3, not an empty string).

ucd-snmp 4.2.6
router is Cisco 2511 with IOS 11.1(5) (don't suppose it matters, but just in case...)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-07-13 00:11 UTC]
Please try using this CVS snapshot:
For Windows:

Some changes have been made lately.

 [2003-07-13 14:49 UTC]
I tried this with other variables (I do not have an 
SNMP agent implementing the ifXTable) and cannot 
reproduce it.

Therefore I am thinking that it maybe the SNMP agent
which returns these values and as a result they
show up in PHP. Could you confirm that this is not a
problem with the SNMP agent/router.
 [2003-07-14 02:35 UTC] s dot zagrodzki at net dot icm dot edu dot pl
this is a part of tcpdump of snmpwalk query:
GetResponse(50)  ."lacze do Obs. Astr."
GetNextRequest(31)  .
GetResponse(31)  .""
GetNextRequest(31)  .
GetResponse(59)  .": lacze do Wydz. Zarzadzania"
as you can see, snmp agent returns empty value, response length is also correct. And snmpwalk utility also gives
correct results.
 [2003-07-14 03:38 UTC] s dot zagrodzki at net dot icm dot edu dot pl
I tried using snmp module from 20030714 snapshot - didn't help.
 [2003-07-14 09:44 UTC] s dot zagrodzki at net dot icm dot edu dot pl
this issue was also mentioned by javierb at gmx dot net in user contributed notes to snmpget() function manual:
 [2003-07-14 15:15 UTC]
Attempted in various ways, but I cannot reproduce this.
Maybe it is a Linux problem, since I do PHP development
on a CYGWIN system.
Neither do I get the same results as the 'user 
contributed note' on snmpget.
 [2003-07-16 01:05 UTC]
Please try using this CVS snapshot:
For Windows:

Make sure the snapshot is build later than Jul 16, 2003 05:30!!

 [2003-07-16 02:53 UTC] s dot zagrodzki at net dot icm dot edu dot pl
tried 20030716-0530 version, didn't help.

I did some more tests:
when I tried snmpwalk()ing "." tree (which is the same as ifAlias, but resides in enterprises.*)
the results were correct. Even more, they had double-quotes
on both sides of the string. tcpdump showed that all responses are exactly the same - same length and value, but PHP displayed them in another way. My guess was that snmpwalk has problems when it _knows_ that the type of received OID value is DisplayString. Then it doesn't put quotes with value.

Simple test - I removed ifAlias definition from IF-MIB.txt
and voila - snmpwalk() returns correct values, but with quotes.

It seems like php-snmp has problem with empty values (and when OID type is unknown, the result is not an empty value, but string consisting of two quotes.
 [2003-07-16 03:58 UTC]
I said:

"Make sure the snapshot is build _later_ than Jul 16, 2003 05:30!!"

 [2003-07-18 04:24 UTC] s dot zagrodzki at net dot icm dot edu dot pl
oh yes. With php4-STABLE-200307180730 the problem is gone.
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Wed Mar 22 20:03:59 2023 UTC