Re: Bug in SLP template formation.

Venkateswara R Puvvada <[email protected]>
Newsgroups gmane.network.open-pegasus.general
Message-ID <OFA30D496D.CC208F61-ON652576C0.003C811E-652576C0.003E772C@in.ibm.com>
Biswapratap,

From DSP0206 :

FunctionalProfilesSupported=string L M
# ProfilesSupported defines the CIM Operation profiles supported by the
# CIM Object Manager. This attribute MUST be the
# CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported 
# property value.
"Unknown", "Other", "Basic Read", "Basic Write",
"Schema Manipulation", "Instance Manipulation",
"Association Traversal", "Query Execution",
"Qualifier Declaration", "Indications"

From the above description, although 
CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported is 
uint16 array, it seems SLP Template requires them in string form.


FunctionalProfileDescriptions=string L O M
# Other profile description if the "other" value is set in the 
ProfilesSupported
# attribute.  This attribute is optional because it is returned only if 
the "other"
# value is set in the ProfilesSupported attribute. If provided it MUST
# be equal to the 
CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions
# property value.


From the above description FunctionalProfileDescriptions is only required 
if  1 (other) is specified in 
CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported array. 
However it seems confusing specifying that FunctionalProfileDescriptions 
of SLP template is equal to 
CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions in 
DSP0206.

Venkat




<[email protected]> 
03/02/2010 16:07

To
<[email protected]>
cc
<[email protected]>, <[email protected]>, <[email protected]>
Subject
Bug in SLP template formation.






Hi all,
 
While debugging open-pegasus's inbuilt SLP Provider implementation, I 
found out the following issue - 
 
File Name : $PEGASUS_HOME/src/Providers/slp/SLPProvider.cpp
Method Name : Boolean SLPProvider::populateRegistrationData( ... )
Code Fragment :
 
else if (propertyName.equal("FunctionalProfileDescriptions"))
        {
            Array<String> descriptions;
            v1.get(descriptions);
 
            String desList = _arrayToString(descriptions);
            populateTemplateField(
                templateInstance,
                functionalProfilesSupportedAttribute,
                desList);
 
            if (String::equalNoCase(v1.toString(),"Other"))
            {
                Uint32 pos = instance_ObjMgrComm.findProperty(
 CIMName(otherProfileDescriptionAttribute));
                CIMConstProperty temppr = 
instance_ObjMgrComm.getProperty(pos);
                String tmp = _getPropertyValueString(
                                  instance_ObjMgrComm, 
 CIMName(otherProfileDescriptionAttribute),
                                  String::EMPTY);
                populateTemplateField(
                    templateInstance,
                    otherProfileDescriptionAttribute,
                    tmp);
            }
        }
 
Bug : 
functionalProfilesSupportedAttribute - AttributeFieldName, used to 
populate the template field of the slp registration maps to 
"FunctionalProfilesSupported" property of the 
CIM_ObjectManagerCommunicationMechanism class as found in the following 
initial code framgment of SLPProvider.cpp.
 
const char functionalProfilesSupportedAttribute[] =
               "FunctionalProfilesSupported";
 
But as seen from the first code fragment the propertyName equals "
FunctionalProfileDescriptions" i.e. an optional (non-mandatory) property 
of the CIM_ObjectManagerCommunicationMechanism class. Hence, the 
propertyName fetched and the SLP template attribute propertyname are not 
in sync. There is an appropriate mandatory property - uint16 
FunctionalProfilesSupported[] in CIM_ObjectManagerCommunicationMechanism 
class which should be used, I think.
 
Effect :
Since this property in the template attribute list is filled as "nothing" 
hence, CTP test for SMIS complaint providers is failing for recipes in 
Profile Registration Profile and Server Profile, while parsing the 
attribute list.
 
Regards,
Biswapratap,
Wipro Technologies.
 
Please do not print this email unless it is absolutely necessary. 
The information contained in this electronic message and any attachments 
to this message are intended for the exclusive use of the addressee(s) and 
may contain proprietary, confidential or privileged information. If you 
are not the intended recipient, you should not disseminate, distribute or 
copy this e-mail. Please notify the sender immediately and destroy all 
copies of this message and any attachments. 
WARNING: Computer viruses can be transmitted via email. The recipient 
should check this email and any attachments for the presence of viruses. 
The company accepts no liability for any damage caused by any virus 
transmitted by this email. 
www.wipro.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.