Merged revision(s) 3206 from branches/releases/bacnet-stack-0-8-0:
Removed case in MS/TP data expecting reply to not expect a ConfirmedRequest PDU reply. Bug #59. Thank you, Govind! ........
This commit is contained in:
@@ -290,14 +290,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -289,14 +289,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -331,14 +331,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -415,15 +415,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3) {
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
} else {
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -465,15 +465,6 @@ bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3) {
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
} else {
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -606,14 +606,6 @@ static bool mstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -293,14 +293,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -365,14 +365,6 @@ bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -353,14 +353,6 @@ static bool dlmstp_compare_data_expecting_reply(
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT3)
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
@@ -269,14 +269,6 @@ static bool dlmstp_compare_data_expecting_reply(uint8_t * request_pdu,
|
|||||||
confirmed, simple ack, abort, reject, error */
|
confirmed, simple ack, abort, reject, error */
|
||||||
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
reply.pdu_type = reply_pdu[offset] & 0xF0;
|
||||||
switch (reply.pdu_type) {
|
switch (reply.pdu_type) {
|
||||||
case PDU_TYPE_CONFIRMED_SERVICE_REQUEST:
|
|
||||||
reply.invoke_id = reply_pdu[offset + 2];
|
|
||||||
/* segmented message? */
|
|
||||||
if (reply_pdu[offset] & BIT(3))
|
|
||||||
reply.service_choice = reply_pdu[offset + 5];
|
|
||||||
else
|
|
||||||
reply.service_choice = reply_pdu[offset + 3];
|
|
||||||
break;
|
|
||||||
case PDU_TYPE_SIMPLE_ACK:
|
case PDU_TYPE_SIMPLE_ACK:
|
||||||
reply.invoke_id = reply_pdu[offset + 1];
|
reply.invoke_id = reply_pdu[offset + 1];
|
||||||
reply.service_choice = reply_pdu[offset + 2];
|
reply.service_choice = reply_pdu[offset + 2];
|
||||||
|
|||||||
Reference in New Issue
Block a user