[AGENT++] AgenPro 2 problems [Re: does Agenpro2 call correct OctetStr constructor?]
Frank Fock
fock at agentpp.com
Mon Sep 8 23:32:15 CEST 2003
Hi Dave,
The default value problem has now been fixed in v2.0.6c.
(You were right, the problem's root cause was an escaping clash
between Java and Velocity - not the missing IpAddress handling)
Best regards,
Frank
Dave Mason wrote:
> Hi Frank,
> I dont think we're out of the woods quite yet. I picked up AgenPro
> v2.0.6a but I have two problems and a question:
>
> 1. The IpAddress problem isnt fixed. Actually, because I have six
> bytes of data (host and port), I didnt use an IpAddress but rather an
> octet string. I saw where you changed cpp_code.vm, but since I didnt
> use IpAddress, I dont think it helped, although including IpAddress
> was probably necessary.
>
> 2. I see the new agentgen creates the code for tables when agent
> capabilities is turned on in the project file, but I found a problem
> with it. The first columnar object in one of my tables (after the
> not-accessible index object) is a DateAndTime, specified like this:
>
> almTime OBJECT-TYPE
> SYNTAX DateAndTime
> MAX-ACCESS read-only
> STATUS current
> DESCRIPTION
> "This attribute specifies the time when the notification was
> issued."
> ::= { almEntry 2 }
>
> AgenPro v1.8.6 created the constructor like this:
>
> almTime::almTime(const Oidx& id):
> MibLeaf(id, READONLY, new OctetStr())
> {
> }
>
> AgenPro v2.0.6a does this:
>
> almTime::almTime(const Oidx& id):
> DateAndTime(id, READONLY, VMODE_DEFAULT)
> {
> }
>
> You'll see that the "new OctetStr()" is not done, so the agent crashes
> later when I try to assign a value. This problem also occurs with
> scalar DateAndTime objects, but I didnt see this problem for any other
> syntax.
>
> 3. I'm not sure if this is a problem, but I thought I'd run it by
> you. The MIB module I'm working with is defined like this:
>
> ttiWsNotification MODULE-IDENTITY
> LAST-UPDATED "200206120000Z" -- Midnight June 12, 2002
> ORGANIZATION "Transat Technologies, Inc."
> CONTACT-INFO ".."
> DESCRIPTION "Notifications MIB."
> REVISION "200206120000Z" -- Midnight June 12, 2002
> DESCRIPTION "Initial version." ::= { ttiWs
> 11 }
>
> where ttiWs is "1.3.6.1.4.1.13448.3.1". AgenPro v1.8.6 created the
> MibGroup constructor like this:
>
> ttiwsnotificationmib::ttiwsnotificationmib():
> MibGroup("1.3.6.1.4.1.13448.3.1.11", "ttiWsNotification")
> {
> ...
> }
>
> AgenPro v2.0.6a does it like this:
>
> ttiwsnotificationmib::ttiwsnotificationmib():
> MibGroup("1.3.6.1.4.1.13448.3.1", "ttiwsnotificationmib")
> {
> ...
> }
>
> Shouldnt the OID end in .11 as before? Also, it would be nice if the
> persistent name stayed the same. Is there a reason for the switch?
> While I'm here, has the persistence data file format changed any since
> agent++v3.5.3a? I would like to be able to build an agent with the
> new agent++ and read old persistence files. On the other hand, any
> fixes or improvements are welcome.
>
> Regards,
> Dave
>
> Dave Mason wrote:
>
>> Hi,
>> I'm comparing the output of AgenPro v2 with v1.8.6 and noticed this
>> difference. I have a MIB object that is a 6 byte hex value, used for
>> IP address and port. The MIB definition looks like this:
>>
>> ipAddrPort OBJECT-TYPE
>> SYNTAX OCTET STRING (SIZE (6))
>> MAX-ACCESS read-write
>> STATUS current
>> DESCRIPTION
>> ""
>> DEFVAL { '7f00000100a2'H }
>> ::= { configObjects 1 }
>>
>> AgenPro v1.8.6 generated this constructor:
>>
>> ipAddrPort::ipAddrPort():
>> MibLeaf(oidIpAddrPort, READWRITE, new OctetStr((unsigned
>> char*)"\x7f\x00\x00\x01\x00\xa2", 6ul), VMODE_DEFAULT)
>> {
>> ...
>> }
>>
>> AgenPro v2.0.6 does this:
>>
>> ipAddrPort::ipAddrPort():
>> MibLeaf(oidIpAddrPort, READWRITE, new
>> OctetStr("\x7f\x00\x00\x01\x00\xa2"), VMODE_DEFAULT){
>> ...
>> }
>>
>> If we dont't have the second 6ul size argument, won't the OctetStr
>> constructor assume that the first \x00 is an end of string?
>>
>> Regards,
>> Dave
>>
>>
>> _______________________________________________
>> AGENTPP mailing list
>> AGENTPP at agentpp.org
>> http://agentpp.org/mailman/listinfo/agentpp
>>
>>
>
More information about the AGENTPP
mailing list