Space Packet Size Check #644

Closed
meierj wants to merge 4 commits from meier/upstream-pus-distributor-bugfix into development
Owner
  • PUS distributor run into segmentation fault when PUS packet is too short
  • Now an acceptance failure report will be send in case the packet contains not enough data to represent a valid PUS packet
  • However an invalid PUS packet does not reveal the information about the TC Service ID and the sequence control number. Thus this fields will be set to zero in the acceptance failure report.
* PUS distributor run into segmentation fault when PUS packet is too short * Now an acceptance failure report will be send in case the packet contains not enough data to represent a valid PUS packet * However an invalid PUS packet does not reveal the information about the TC Service ID and the sequence control number. Thus this fields will be set to zero in the acceptance failure report.
meierj added 1 commit 2022-06-22 18:32:39 +02:00
fsfw/fsfw/pipeline/head There was a failure building this commit Details
fsfw/fsfw/pipeline/pr-development There was a failure building this commit Details
2e76250209
faulty handling of size check in pus distributor
meierj changed title from Space Packet Size Check to WIP: Space Packet Size Check 2022-06-22 18:33:01 +02:00
meierj added 1 commit 2022-06-22 19:11:44 +02:00
fsfw/fsfw/pipeline/head Build started... Details
fsfw/fsfw/pipeline/pr-development This commit looks good Details
298f764298
return value of setStoreSddress
meierj requested review from muellerr 2022-06-22 19:14:39 +02:00
meierj changed title from WIP: Space Packet Size Check to Space Packet Size Check 2022-06-22 19:14:48 +02:00
Owner

I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC.

I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC.
meierj closed this pull request 2022-07-14 09:21:48 +02:00
meierj reopened this pull request 2022-07-14 09:23:12 +02:00
Author
Owner

I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC.

I agree that sending a PUS service 1 answer might be the wrong way to handle an invalid PUS packet but in my opinion the length check should still be part of the application layer because the CCSDS distributor does not know the packet structure of upper layers (e.g. the size of the PUS header). Maybe it would be better to just print a warning and discard the data. This would be enough to prevent the OBSW from running into a segmentation fault when an invalid PUS packet arrives at the PUS distributor.

> I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC. I agree that sending a PUS service 1 answer might be the wrong way to handle an invalid PUS packet but in my opinion the length check should still be part of the application layer because the CCSDS distributor does not know the packet structure of upper layers (e.g. the size of the PUS header). Maybe it would be better to just print a warning and discard the data. This would be enough to prevent the OBSW from running into a segmentation fault when an invalid PUS packet arrives at the PUS distributor.
Owner

I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC.

I agree that sending a PUS service 1 answer might be the wrong way to handle an invalid PUS packet but in my opinion the length check should still be part of the application layer because the CCSDS distributor does not know the packet structure of upper layers (e.g. the size of the PUS header). Maybe it would be better to just print a warning and discard the data. This would be enough to prevent the OBSW from running into a segmentation fault when an invalid PUS packet arrives at the PUS distributor.

I agree, this should never run into a segmentation fault. We could trigger an event in addition to the print of a warning if we expect this to happen only in rare circumstances.

> > I think sending a PUS Service 1 Answer is not the correct way here. This is not an application layer problem. A package being too short (from a valid frame?) is an issue of the layers beneath. Additionally, Service 1 Answers without an SSC and Packet ID can not be attributed to a TC. > > I agree that sending a PUS service 1 answer might be the wrong way to handle an invalid PUS packet but in my opinion the length check should still be part of the application layer because the CCSDS distributor does not know the packet structure of upper layers (e.g. the size of the PUS header). Maybe it would be better to just print a warning and discard the data. This would be enough to prevent the OBSW from running into a segmentation fault when an invalid PUS packet arrives at the PUS distributor. I agree, this should never run into a segmentation fault. We could trigger an event in addition to the print of a warning if we expect this to happen only in rare circumstances.
muellerr added 1 commit 2022-07-15 10:16:41 +02:00
fsfw/fsfw/pipeline/pr-development There was a failure building this commit Details
ec8e5cc123
Merge branch 'development' into meier/upstream-pus-distributor-bugfix
muellerr added 1 commit 2022-07-18 15:12:33 +02:00
fsfw/fsfw/pipeline/pr-development There was a failure building this commit Details
fsfw/fsfw/pipeline/head This commit looks good Details
b96f5a2552
Merge branch 'development' into meier/upstream-pus-distributor-bugfix
Owner

I am working on a complete overhaul of the TMTC packet stack which comes with a complete test suite. I will look into ensuring this case is covered as well.

I am working on a complete overhaul of the TMTC packet stack which comes with a complete test suite. I will look into ensuring this case is covered as well.
gaisser added this to the v6.0.0 milestone 2022-07-25 15:24:08 +02:00
Owner

resolved by #655

resolved by #655
mohr closed this pull request 2022-09-13 14:25:24 +02:00
mohr removed this from the v6.0.0 milestone 2023-02-09 16:06:41 +01:00
Some checks failed
fsfw/fsfw/pipeline/pr-development There was a failure building this commit
fsfw/fsfw/pipeline/head This commit looks good

Pull request closed

Sign in to join this conversation.
No description provided.