diff --git a/cmake/sample_defs/global_build_options.cmake b/cmake/sample_defs/global_build_options.cmake
index 642b00082..486dc2aa0 100644
--- a/cmake/sample_defs/global_build_options.cmake
+++ b/cmake/sample_defs/global_build_options.cmake
@@ -19,7 +19,7 @@
set(OMIT_DEPRECATED $ENV{OMIT_DEPRECATED} CACHE STRING "Omit deprecated elements")
if (OMIT_DEPRECATED)
message (STATUS "OMIT_DEPRECATED=true: Not including deprecated elements in build")
- add_definitions(-DCFE_OMIT_DEPRECATED_6_7 -DCFE_OMIT_DEPRECATED_6_6 -DOSAL_OMIT_DEPRECATED)
+ add_definitions(-DCFE_OMIT_DEPRECATED_6_8 -DCFE_OMIT_DEPRECATED_6_7 -DCFE_OMIT_DEPRECATED_6_6 -DOSAL_OMIT_DEPRECATED)
else()
message (STATUS "OMIT_DEPRECATED=false: Deprecated elements included in build")
endif (OMIT_DEPRECATED)
diff --git a/docs/cFE Application Developers Guide.md b/docs/cFE Application Developers Guide.md
index 329cff100..86e76a19c 100644
--- a/docs/cFE Application Developers Guide.md
+++ b/docs/cFE Application Developers Guide.md
@@ -1769,7 +1769,6 @@ for extracting that field from the header:
| Total Message Length | CFE_SB_GetTotalMsgLength | Command & Telemetry |
| User Data Message Length | CFE_SB_GetUserDataLength | Command & Telemetry |
| Command Code | CFE_SB_GetCmdCode | Command Only |
-| Sender ID | CFE_SB_GetLastSenderId | Command & Telemetry |
| Checksum | CFE_SB_GetChecksum | Command Only |
In addition to the function for reading the checksum field, there is
@@ -1778,15 +1777,6 @@ and compares it to the checksum in the header. The API is called
CFE_SB_ValidateChecksum() and it simply returns a success or failure
indication.
-It should be noted that the function, CFE_SB_GetLastSendId, is ideal
-for verifying that critical commands are arriving from a legitimate
-source. This function allows the Developer(s) to define a strict ICD
-between two or more Applications to ensure that an erroneous Application
-does not accidentally issue a critical command. However, its use for
-routine command verification is discouraged since it would increase the
-cross-coupling between Applications and require multiple Applications to
-be modified if a command's source changes.
-
If the Application's data structure definitions don't include the header
information, then the CFE_SB_GetUserData API could be used to obtain
the start address of the SB Message data.
diff --git a/fsw/cfe-core/src/inc/cfe_sb.h b/fsw/cfe-core/src/inc/cfe_sb.h
index 7f92c3794..6a0b4628b 100644
--- a/fsw/cfe-core/src/inc/cfe_sb.h
+++ b/fsw/cfe-core/src/inc/cfe_sb.h
@@ -208,7 +208,10 @@ typedef struct {
extern CFE_SB_Qos_t CFE_SB_Default_Qos;/**< \brief Defines a default priority and reliabilty for off-board routing */
-/** \brief Message Sender Identification Type Definition
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
+/** \brief DEPRECATED; Message Sender Identification Type Definition
+** \deprecated
**
** Parameter used in #CFE_SB_GetLastSenderId API which allows the receiver of a message
** to validate the sender of the message.
@@ -218,6 +221,8 @@ typedef struct {
char AppName[OS_MAX_API_NAME];/**< \brief Application that sent the message */
} CFE_SB_SenderId_t;
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
+
/****************** Function Prototypes **********************/
/** @defgroup CFEAPISBPipe cFE Pipe Management APIs
@@ -1173,9 +1178,12 @@ uint16 CFE_SB_GetCmdCode(CFE_SB_MsgPtr_t MsgPtr);
**/
CFE_TIME_SysTime_t CFE_SB_GetMsgTime(CFE_SB_MsgPtr_t MsgPtr);
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
/*****************************************************************************/
/**
-** \brief Retrieve the application Info of the sender for the last message.
+** \brief DEPRECATED; Retrieve the application Info of the sender for the last message.
+** \deprecated
**
** \par Description
** This routine can be used after a successful #CFE_SB_RcvMsg call
@@ -1204,6 +1212,8 @@ CFE_TIME_SysTime_t CFE_SB_GetMsgTime(CFE_SB_MsgPtr_t MsgPtr);
**/
uint32 CFE_SB_GetLastSenderId(CFE_SB_SenderId_t **Ptr,CFE_SB_PipeId_t PipeId);
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
+
/******************************************************************************/
/**
** \brief Copies a string out of a software bus message
diff --git a/fsw/cfe-core/src/inc/cfe_sb_events.h b/fsw/cfe-core/src/inc/cfe_sb_events.h
index 190df22dc..2f9dbda4b 100644
--- a/fsw/cfe-core/src/inc/cfe_sb_events.h
+++ b/fsw/cfe-core/src/inc/cfe_sb_events.h
@@ -568,6 +568,8 @@
#define CFE_SB_CMD1_RCVD_EID 29
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
/** \brief 'SB GetLastSender Err:Rcvd Null Ptr,Pipe=%d,App=%s'
** \event 'SB GetLastSender Err:Rcvd Null Ptr,Pipe=%d,App=%s'
**
@@ -592,6 +594,8 @@
**/
#define CFE_SB_LSTSNDER_ERR2_EID 31
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
+
/** \brief 'Software Bus Statistics packet sent'
** \event 'Software Bus Statistics packet sent'
@@ -712,6 +716,8 @@
#define CFE_SB_SND_RTG_ERR1_EID 40
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
/** \brief 'SB GetLastSender Err:Caller(\%s) is not the owner of pipe \%d'
** \event 'SB GetLastSender Err:Caller(\%s) is not the owner of pipe \%d'
**
@@ -724,6 +730,7 @@
**/
#define CFE_SB_GLS_INV_CALLER_EID 41
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
/** \brief 'Invalid Cmd, Unexpected Command Code \%d'
** \event 'Invalid Cmd, Unexpected Command Code \%d'
diff --git a/fsw/cfe-core/src/sb/cfe_sb_api.c b/fsw/cfe-core/src/sb/cfe_sb_api.c
index 7ae142532..3c446f106 100644
--- a/fsw/cfe-core/src/sb/cfe_sb_api.c
+++ b/fsw/cfe-core/src/sb/cfe_sb_api.c
@@ -1320,12 +1320,14 @@ int32 CFE_SB_SendMsgFull(CFE_SB_Msg_t *MsgPtr,
RtgTblPtr->SeqCnt);
}/* end if */
+ #ifndef CFE_OMIT_DEPRECATED_6_8
/* store the sender information */
if(CFE_SB.SenderReporting != 0)
{
BufDscPtr->Sender.ProcessorId = CFE_PSP_GetProcessorId();
strncpy(&BufDscPtr->Sender.AppName[0],CFE_SB_GetAppTskName(TskId,FullName),OS_MAX_API_NAME);
}
+ #endif /* CFE_OMIT_DEPRECATED_6_8 */
/* At this point there must be at least one destination for pkt */
@@ -1620,6 +1622,8 @@ int32 CFE_SB_RcvMsg(CFE_SB_MsgPtr_t *BufPtr,
}/* end CFE_SB_RcvMsg */
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
/*
* Function: CFE_SB_GetLastSenderId - See API and header file for details
*/
@@ -1685,6 +1689,8 @@ uint32 CFE_SB_GetLastSenderId(CFE_SB_SenderId_t **Ptr,CFE_SB_PipeId_t PipeId)
}/* end CFE_SB_GetLastSenderId */
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
+
/*
* Function: CFE_SB_ZeroCopyGetPtr - See API and header file for details
diff --git a/fsw/cfe-core/src/sb/cfe_sb_priv.h b/fsw/cfe-core/src/sb/cfe_sb_priv.h
index 3aca3f347..832618532 100644
--- a/fsw/cfe-core/src/sb/cfe_sb_priv.h
+++ b/fsw/cfe-core/src/sb/cfe_sb_priv.h
@@ -172,7 +172,9 @@ typedef struct {
uint16 UseCount;
uint32 Size;
void *Buffer;
+#ifndef CFE_OMIT_DEPRECATED_6_8
CFE_SB_SenderId_t Sender;
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
} CFE_SB_BufferD_t;
diff --git a/fsw/cfe-core/unit-test/sb_UT.c b/fsw/cfe-core/unit-test/sb_UT.c
index 2f2ffcf1a..16a4ed279 100644
--- a/fsw/cfe-core/unit-test/sb_UT.c
+++ b/fsw/cfe-core/unit-test/sb_UT.c
@@ -3332,11 +3332,6 @@ void Test_RcvMsg_API(void)
SB_UT_ADD_SUBTEST(Test_RcvMsg_InvalidPipeId);
SB_UT_ADD_SUBTEST(Test_RcvMsg_InvalidTimeout);
SB_UT_ADD_SUBTEST(Test_RcvMsg_Poll);
- SB_UT_ADD_SUBTEST(Test_RcvMsg_GetLastSenderNull);
- SB_UT_ADD_SUBTEST(Test_RcvMsg_GetLastSenderInvalidPipe);
- SB_UT_ADD_SUBTEST(Test_RcvMsg_GetLastSenderInvalidCaller);
- SB_UT_ADD_SUBTEST(Test_RcvMsg_GetLastSenderNoValidSender);
- SB_UT_ADD_SUBTEST(Test_RcvMsg_GetLastSenderSuccess);
SB_UT_ADD_SUBTEST(Test_RcvMsg_Timeout);
SB_UT_ADD_SUBTEST(Test_RcvMsg_PipeReadError);
SB_UT_ADD_SUBTEST(Test_RcvMsg_PendForever);
@@ -3405,117 +3400,6 @@ void Test_RcvMsg_Poll(void)
} /* end Test_RcvMsg_Poll */
-/*
-** Test receive last message response to a null sender ID
-*/
-void Test_RcvMsg_GetLastSenderNull(void)
-{
- CFE_SB_PipeId_t PipeId;
- uint32 PipeDepth = 10;
-
- SETUP(CFE_SB_CreatePipe(&PipeId, PipeDepth, "RcvMsgTestPipe"));
-
- ASSERT_EQ(CFE_SB_GetLastSenderId(NULL, PipeId), CFE_SB_BAD_ARGUMENT);
-
- EVTCNT(2);
-
- EVTSENT(CFE_SB_LSTSNDER_ERR1_EID);
-
- TEARDOWN(CFE_SB_DeletePipe(PipeId));
-
-} /* end Test_RcvMsg_GetLastSenderNull */
-
-/*
-** Test receive last message response to an invalid pipe ID
-*/
-void Test_RcvMsg_GetLastSenderInvalidPipe(void)
-{
- CFE_SB_PipeId_t PipeId;
- CFE_SB_PipeId_t InvalidPipeId = 250;
- CFE_SB_SenderId_t *GLSPtr;
- uint32 PipeDepth = 10;
-
- SETUP(CFE_SB_CreatePipe(&PipeId, PipeDepth, "RcvMsgTestPipe"));
-
- ASSERT_EQ(CFE_SB_GetLastSenderId(&GLSPtr, InvalidPipeId), CFE_SB_BAD_ARGUMENT);
-
- EVTCNT(2);
-
- EVTSENT(CFE_SB_LSTSNDER_ERR2_EID);
-
- TEARDOWN(CFE_SB_DeletePipe(PipeId));
-
-} /* end Test_RcvMsg_GetLastSenderInvalidPipe */
-
-/*
-** Test receive last message response to an invalid owner ID
-*/
-void Test_RcvMsg_GetLastSenderInvalidCaller(void)
-{
- CFE_SB_PipeId_t PipeId;
- CFE_SB_SenderId_t *GLSPtr;
- uint32 PipeDepth = 10;
- uint32 OrigPipeOwner;
-
- SETUP(CFE_SB_CreatePipe(&PipeId, PipeDepth, "RcvMsgTestPipe"));
-
- /* Change pipe owner ID to execute 'invalid caller' code */
- OrigPipeOwner = CFE_SB.PipeTbl[PipeId].AppId;
- CFE_SB.PipeTbl[PipeId].AppId = OrigPipeOwner + 1;
- ASSERT_EQ(CFE_SB_GetLastSenderId(&GLSPtr, PipeId), CFE_SB_BAD_ARGUMENT);
-
- EVTCNT(2);
-
- EVTSENT(CFE_SB_GLS_INV_CALLER_EID);
-
- /* Restore original pipe owner apid */
- CFE_SB.PipeTbl[PipeId].AppId = OrigPipeOwner;
- TEARDOWN(CFE_SB_DeletePipe(PipeId));
-
-} /* end Test_RcvMsg_GetLastSenderInvalidCaller */
-
-
-void Test_RcvMsg_GetLastSenderNoValidSender(void)
-{
- CFE_SB_PipeId_t PipeId;
- CFE_SB_SenderId_t *GLSPtr;
- uint32 PipeDepth = 10;
-
- SETUP(CFE_SB_CreatePipe(&PipeId, PipeDepth, "RcvMsgTestPipe"));
- ASSERT_EQ(CFE_SB_GetLastSenderId(&GLSPtr, PipeId), CFE_SB_NO_MSG_RECV);
-
- EVTCNT(1);
-
- TEARDOWN(CFE_SB_DeletePipe(PipeId));
-
-} /* end Test_RcvMsg_GetLastSenderNoValidSender */
-
-
-/*
-** Test successful receive last message request
-*/
-void Test_RcvMsg_GetLastSenderSuccess(void)
-{
- CFE_SB_PipeId_t PipeId;
- CFE_SB_SenderId_t *GLSPtr;
- SB_UT_Test_Tlm_t TlmPkt;
- CFE_SB_MsgPtr_t TlmPktPtr = (CFE_SB_MsgPtr_t) &TlmPkt;
- CFE_SB_MsgPtr_t PtrToMsg;
- uint32 PipeDepth = 10;
-
- SETUP(CFE_SB_CreatePipe(&PipeId, PipeDepth, "RcvMsgTestPipe"));
- CFE_SB_InitMsg(&TlmPkt, SB_UT_TLM_MID, sizeof(TlmPkt), true);
- SETUP(CFE_SB_Subscribe(SB_UT_TLM_MID, PipeId));
- SETUP(CFE_SB_SendMsg(TlmPktPtr));
- SETUP(CFE_SB_RcvMsg(&PtrToMsg, PipeId,CFE_SB_PEND_FOREVER));
- ASSERT(CFE_SB_GetLastSenderId(&GLSPtr, PipeId));
-
- EVTCNT(3);
-
- TEARDOWN(CFE_SB_DeletePipe(PipeId));
-
-} /* end Test_RcvMsg_GetLastSenderSuccess */
-
/*
** Test receiving a message response to a timeout
*/
diff --git a/fsw/cfe-core/unit-test/sb_UT.h b/fsw/cfe-core/unit-test/sb_UT.h
index 0ec5effef..b62fca00b 100644
--- a/fsw/cfe-core/unit-test/sb_UT.h
+++ b/fsw/cfe-core/unit-test/sb_UT.h
@@ -2825,10 +2825,7 @@ void Test_SendMsg_MaxMsgSizePlusOne_ZeroCopy(void);
** This function does not return a value.
**
** \sa #UT_Text, #Test_RcvMsg_InvalidPipeId, #Test_RcvMsg_InvalidTimeout,
-** \sa #Test_RcvMsg_Poll, #Test_RcvMsg_GetLastSenderNull,
-** \sa #Test_RcvMsg_GetLastSenderInvalidPipe,
-** \sa #Test_RcvMsg_GetLastSenderInvalidCaller,
-** \sa #Test_RcvMsg_GetLastSenderSuccess, #Test_RcvMsg_Timeout,
+** \sa #Test_RcvMsg_Poll, #Test_RcvMsg_Timeout,
** \sa #Test_RcvMsg_PipeReadError, #Test_RcvMsg_PendForever
**
******************************************************************************/
@@ -2898,110 +2895,6 @@ void Test_RcvMsg_InvalidTimeout(void);
******************************************************************************/
void Test_RcvMsg_Poll(void);
-/*****************************************************************************/
-/**
-** \brief Test receive last message response to a null sender ID
-**
-** \par Description
-** This function tests the receive last message response to a null
-** sender ID.
-**
-** \par Assumptions, External Events, and Notes:
-** None
-**
-** \returns
-** This function does not return a value.
-**
-** \sa #UT_Text, #SB_ResetUnitTest, #CFE_SB_CreatePipe,
-** \sa #CFE_SB_GetLastSenderId, #UT_GetNumEventsSent, #UT_EventIsInHistory,
-** \sa #CFE_SB_DeletePipe, #UT_Report
-**
-******************************************************************************/
-void Test_RcvMsg_GetLastSenderNull(void);
-
-/*****************************************************************************/
-/**
-** \brief Test receive last message response to an invalid pipe ID
-**
-** \par Description
-** This function tests the receive last message response to an invalid
-** pipe ID.
-**
-** \par Assumptions, External Events, and Notes:
-** None
-**
-** \returns
-** This function does not return a value.
-**
-** \sa #UT_Text, #SB_ResetUnitTest, #CFE_SB_CreatePipe,
-** \sa #CFE_SB_GetLastSenderId, #UT_GetNumEventsSent, #UT_EventIsInHistory,
-** \sa #CFE_SB_DeletePipe, #UT_Report
-**
-******************************************************************************/
-void Test_RcvMsg_GetLastSenderInvalidPipe(void);
-
-/*****************************************************************************/
-/**
-** \brief Test receive last message response to an invalid owner ID
-**
-** \par Description
-** This function tests the receive last message response to an invalid
-** owner ID.
-**
-** \par Assumptions, External Events, and Notes:
-** None
-**
-** \returns
-** This function does not return a value.
-**
-** \sa #UT_Text, #SB_ResetUnitTest, #CFE_SB_CreatePipe,
-** \sa #CFE_SB_GetLastSenderId, #UT_GetNumEventsSent, #UT_EventIsInHistory,
-** \sa #CFE_SB_DeletePipe, #UT_Report
-**
-******************************************************************************/
-void Test_RcvMsg_GetLastSenderInvalidCaller(void);
-
-/*****************************************************************************/
-/**
-** \brief Test receive last message response when there is no last sender
-**
-** \par Description
-** This function tests the receive last message response when no last
-** sender.
-**
-** \par Assumptions, External Events, and Notes:
-** None
-**
-** \returns
-** This function does not return a value.
-**
-** \sa #UT_Text, #SB_ResetUnitTest, #CFE_SB_CreatePipe,
-** \sa #CFE_SB_GetLastSenderId, #UT_GetNumEventsSent, #UT_EventIsInHistory,
-** \sa #CFE_SB_DeletePipe, #UT_Report
-**
-******************************************************************************/
-void Test_RcvMsg_GetLastSenderNoValidSender(void);
-
-/*****************************************************************************/
-/**
-** \brief Test successful receive last message request
-**
-** \par Description
-** This function tests the successful receive last message request.
-**
-** \par Assumptions, External Events, and Notes:
-** None
-**
-** \returns
-** This function does not return a value.
-**
-** \sa #UT_Text, #SB_ResetUnitTest, #CFE_SB_CreatePipe,
-** \sa #CFE_SB_GetLastSenderId, #UT_GetNumEventsSent, #CFE_SB_DeletePipe,
-** \sa #UT_Report
-**
-******************************************************************************/
-void Test_RcvMsg_GetLastSenderSuccess(void);
-
/*****************************************************************************/
/**
** \brief Test receiving a message response to a timeout
diff --git a/fsw/cfe-core/ut-stubs/ut_sb_stubs.c b/fsw/cfe-core/ut-stubs/ut_sb_stubs.c
index 304d835c8..1d6c7d33b 100644
--- a/fsw/cfe-core/ut-stubs/ut_sb_stubs.c
+++ b/fsw/cfe-core/ut-stubs/ut_sb_stubs.c
@@ -988,6 +988,8 @@ uint16 CFE_SB_GetChecksum(CFE_SB_MsgPtr_t MsgPtr)
return status;
}
+#ifndef CFE_OMIT_DEPRECATED_6_8
+
uint32 CFE_SB_GetLastSenderId(CFE_SB_SenderId_t **Ptr, CFE_SB_PipeId_t PipeId)
{
UT_Stub_RegisterContext(UT_KEY(CFE_SB_GetLastSenderId), Ptr);
@@ -1000,6 +1002,8 @@ uint32 CFE_SB_GetLastSenderId(CFE_SB_SenderId_t **Ptr, CFE_SB_PipeId_t PipeId)
return status;
}
+#endif /* CFE_OMIT_DEPRECATED_6_8 */
+
int32 CFE_SB_GetPipeOpts(CFE_SB_PipeId_t PipeId, uint8 *OptPtr)
{
UT_Stub_RegisterContextGenericArg(UT_KEY(CFE_SB_GetPipeOpts), PipeId);