if file CERTI-Source\libCERTI\ObjectClass.cc in №111 line:
// 2. Update message attribute list by removing child's attributes.
if ((ocbList->getMsg()->getMessageType() == NetworkMessage::REFLECT_ATTRIBUTE_VALUES) ||
(ocbList->getMsg()->getMessageType() == NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION)) {
for (uint32_t attr = 0; attr < (ocbList->getMsgRAV()->getAttributesSize());) {
// If the attribute is not in that class, remove it from the message.
if (hasAttribute(ocbList->getMsgRAV()->getAttributes(attr))) {
++attr;
}
else {
ocbList->getMsgRAV()->removeAttributes(attr);
}
}
}
solution:
// 2. Update message attribute list by removing child's attributes.
//if ((ocbList->getMsg()->getMessageType() == NetworkMessage::REFLECT_ATTRIBUTE_VALUES) ||
// (ocbList->getMsg()->getMessageType() == NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION)) {
if (ocbList->getMsg()->getMessageType() == NetworkMessage::REFLECT_ATTRIBUTE_VALUES) {
for (uint32_t attr = 0; attr < (ocbList->getMsgRAV()->getAttributesSize());) {
// If the attribute is not in that class, remove it from the message.
if (hasAttribute(ocbList->getMsgRAV()->getAttributes(attr))) {
++attr;
}
else {
ocbList->getMsgRAV()->removeAttributes(attr);
}
}
}
if (ocbList->getMsg()->getMessageType() == NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION) {
for (uint32_t attr = 0; attr < (ocbList->getMsgRAOA()->getAttributesSize());) {
// If the attribute is not in that class, remove it from the message.
if (hasAttribute(ocbList->getMsgRAOA()->getAttributes(attr))) {
++attr;
}
else {
ocbList->getMsgRAOA()->removeAttributes(attr);
}
}
}