Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDS shall inspect ZIP/TAR content and call launcher script only when necessary data available #1744

Closed
de-jcup opened this issue Nov 11, 2022 · 0 comments · Fixed by #1773
Closed
Assignees
Milestone

Comments

@de-jcup
Copy link
Member

de-jcup commented Nov 11, 2022

Situation

Currently with #32 we only check that there is no empty file upload. That's okay, we do not want to unpack the ZIP at SecHub side and at least empty zip files are handled. But ZIP files (or TAR files) being empty, but containing folder structures etc. is still an issue.

Also filtering at PDS side is an issue: For example: If a PDS solution has filtered the files while unzipping and there is no data after the unpacking

Wanted

The PDS shall only call the launcher script when necessary data is available.

Solution

With #1172 we will have the possibility to check by code, if there is a need for source code and/or binaries.
Having this meta information available at PDS side, we can simply check if the necessary parts are available by
checking the dedicated unzip/untar folders after filtration has been done.

If no content found inside the necessary folders, the launcher script will just not be called and we return OK, but with an empty result.

@de-jcup de-jcup self-assigned this Nov 11, 2022
@de-jcup de-jcup added this to the Server 0.36.0 milestone Nov 11, 2022
de-jcup added a commit that referenced this issue Nov 22, 2022
- separated parts from PDSWorkspaceService into own classes:
  more readable, better testable
- added unit tests
- added javadoc
- changed code, so PDS workspace service gathers information,
  download only necessary stuff and checks for extraction output
- Workspace preparation result calculator does the final step
  and provides information if script can be launched or not
de-jcup added a commit that referenced this issue Nov 22, 2022
- separated parts from PDSWorkspaceService into own classes:
  more readable, better testable
- added unit tests
- added javadoc
- changed code, so PDS workspace service gathers information,
  download only necessary stuff and checks for extraction output
- Workspace preparation result calculator does the final step
  and provides information if script can be launched or not
- adopted existing unit tests to work with the new dependencies
de-jcup added a commit that referenced this issue Nov 25, 2022
- separated parts from PDSWorkspaceService into own classes:
  more readable, better testable
- added unit tests
- added javadoc
- changed code, so PDS workspace service gathers information,
  download only necessary stuff and checks for extraction output
- Workspace preparation result calculator does the final step
  and provides information if script can be launched or not
- adopted existing unit tests to work with the new dependencies
- added integration tests
- enhanced test scenario 17
de-jcup added a commit that referenced this issue Nov 25, 2022
- many existing integration tests did fail, because the
  PDS standard code scan integration test setup did now
  insist on sources - removed this setup (so accepting
  binary,source and also none). This fixed the problem
- scenario 17 integration tests do still check the correct
  behavior for the supported data types
de-jcup added a commit that referenced this issue Nov 28, 2022
- added unit test for problem found in PR
- changed example configuration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants