Thanks for your help!
I agree with you. It is a big task to replace all the NUL-terminated
string with counted-string.
Now I have a patch that can fix this. Would you like to merge this patch
in master of net-snmp?
zhuyj
On 07/15/2013 09:29 PM, Bill Fenner wrote:
On Thu, Jul 11, 2013 at 6:39 AM, zhuyj <zyjzyj2...@gmail.com
<mailto:zyjzyj2...@gmail.com>> wrote:
Hi, Magnus && Niels
Thanks for your help! I am testing your patch. This patch can
solve the
most problems.
But Ihave a question, is this a bug? I mean that '0' in
snmpAdminString
is a bug, or not?
Would you like to discuss this with me?
I think it's worth exploring. I think the most relevant part of the
definition has already been quoted in this thread:
The use of control codes should be avoided.
So, even though the previous paragraph says
... implementations must be prepared to
encounter any code point from 0x00000000 ...
and you are finding that there is a problem with net-snmp's
implementation using code point 0x00000000, you are using a code point
that "should be avoided". In other words, net-snmp may be wrong, but
your use is also (very nearly) wrong.
Are you going to be using any systems other than net-snmp?
Implementing this string with a NUL-terminated C string, which causes
the bug that you're seeing, is pretty likely to be a common
implementation strategy inside SNMP servers, so you're reasonably
likely to run into this problem in other contexts, which you may not
be able to fix by submitting a patch.
Implementing counted-string support inside net-snmp is a fine thing to
do, but identifying and changing all of the places that it needs to be
used could be a pretty big task. Is it easier to change your usage
model and pick a different value (for this string that is supposed to
be "preferably in human-readable form"?)
Bill
zhuyj
On 07/10/2013 04:53 PM, Magnus Fromreide wrote:
> On Wed, 2013-07-10 at 10:34 +0800, zhuyj wrote:
>> Hi,
>>
>> Attempting to create a new entry with a zero index fails silently.
> Ok, You want to index your entry with the string <NUL><EM>.
>
> The mess up is, just as usual, that people believes that <NUL> is a
> string terminator. That is wrong.
>
> Your idea of using \xff as a string terminator is, while not
wrong (\xff
> is forbidden in utf-8 strings), confusing for a casual reader of the
> code.
>
> The correct solution is to store the length of the passed in octet
> sequence.
>
> A completely untested patch against master is attached.
>
> Does it help you?
>
> Note - the rename of name to nameData and get_addrForName to
> get_addrForName2 was to make it easier to find unconverted code.
>
> /MF
>
>> root@localhost:/root> snmpset -v 2c -c public 192.168.2.15
>> .1.3.6.1.6.3.12.1.2.1.9.0.25 i 5
>> SNMP-TARGET-MIB::snmpTargetAddrRowStatus.'..' = INTEGER:
createAndWait(5)
>> root@localhost:/root> snmpget -v 2c -c NETMAN 192.168.2.15
>> .1.3.6.1.6.3.12.1.2.1.9.0.25 i 5
>> snmp_build: unknown failuresnmpget: Error building ASN.1
representation
>> (Can't build OID for variable)
>>
>> Notice that there is no error when setting, only when trying to
get.
>>
>> The version:
>>
>> usr@ubuntu1004:~$ snmpset --version
>> NET-SNMP version: 5.7.2
>> usr@ubuntu1004:~$ snmpget --version
>> NET-SNMP version: 5.7.2
>> usr@ubuntu1004:~$ snmpd --version
>>
>> NET-SNMP version: 5.7.2
>> Web: http://www.net-snmp.org/
>> Email: net-snmp-coders@lists.sourceforge.net
<mailto:net-snmp-coders@lists.sourceforge.net>
>>
>> I want to support 0.25 in snmpAdminString. What should I pay
attention to?
>>
>> Best regards.
>>
>> zhuyj
>>
>>
------------------------------------------------------------------------------
>> See everything from the browser to the database with AppDynamics
>> Get end-to-end visibility with application monitoring from
AppDynamics
>> Isolate bottlenecks and diagnose root cause in seconds.
>> Start your free trial of AppDynamics Pro today!
>>
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Net-snmp-coders mailing list
>> Net-snmp-coders@lists.sourceforge.net
<mailto:Net-snmp-coders@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/net-snmp-coders
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
<mailto:Net-snmp-coders@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders