pull/437/merge
sunwoo-choi 3 years ago committed by GitHub
commit bab615f82a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -399,6 +399,8 @@ updateGenericTrackingObjectValues(MmsMapping* self, ControlObject* controlObject
if (trkInst->errorCode)
MmsValue_setInt32(trkInst->errorCode->mmsValue, errVal);
char objRef[129];
/* create object reference */
@ -418,6 +420,32 @@ updateGenericTrackingObjectValues(MmsMapping* self, ControlObject* controlObject
static void
unselectObject(ControlObject* self, SelectStateChangedReason reason, MmsMapping* mmsMapping);
static bool
convertIPv4AddressStringToByteArray(const char* clientAddressString, uint8_t ipV4Addr[])
{
int addrElementCount = 0;
char* separator = (char*) clientAddressString;
while (separator != NULL && addrElementCount < 4) {
int intVal = atoi(separator);
ipV4Addr[addrElementCount] = intVal;
separator = strchr(separator, '.');
if (separator != NULL)
separator++; /* skip '.' character */
addrElementCount ++;
}
if (addrElementCount == 4)
return true;
else
return false;
}
static void
updateNextControlTimeout(MmsMapping* self, uint64_t timeout)
{

@ -2375,6 +2375,20 @@ Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* eleme
goto exit_function;
}
}
else if (strcmp(elementName, "OptFlds") == 0) {
if (!rc->buffered) {
//RPT_OPT_BUFFER_OVERFLOW
if (MmsValue_getBitStringBit(value, 6)){
retVal = DATA_ACCESS_ERROR_OBJECT_VALUE_INVALID;
goto exit_function;
}
//RPT_OPT_ENTRY_ID
if (MmsValue_getBitStringBit(value, 7)) {
retVal = DATA_ACCESS_ERROR_OBJECT_VALUE_INVALID;
goto exit_function;
}
}
}
else if (strcmp(elementName, "ConfRev") == 0) {
retVal = DATA_ACCESS_ERROR_OBJECT_ACCESS_DENIED;

Loading…
Cancel
Save