Audit and stabilize PortScanner project#2
Draft
nsergej wants to merge 7 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR audits and stabilizes the PortScanner Delphi/VCL project for safer publication on GitHub. It fixes confirmed scanner lifecycle, networking, export, build, UI, and repository documentation issues while preserving the current product scope: TCP scanning of one numeric IPv4 address.
Critical / High Issues Found
FreeOnTerminate=Truewhile the form still stored pointers to them.PortScanner.dprreferenced a missing generated.resfile.Source Code Fixes
getsockopt(..., SO_ERROR, ...)before reporting TCP ports as open.GetTickCount64.%USERPROFILE%\Documents\PortScanner Reportsinstead of the executable directory.AddressandOpen Ports.Performance Changes
Documentation Changes
.dprojstate and thePortScanner.rcresource source.Added Files
src/PortScanner.rcBUILDING.mdCONTRIBUTING.mdSECURITY.mdCODE_OF_CONDUCT.mdCHANGELOG.mddocs/USAGE.mddocs/ARCHITECTURE.mddocs/TEST_PLAN.md.github/PULL_REQUEST_TEMPLATE.md.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/feature_request.md.github/workflows/repository-checks.ymlRenamed Files
docs/sample_repor.csv->docs/sample_report.csvdocs/sample_repor.html->docs/sample_report.htmldocs/sample_repor.json->docs/sample_report.jsonValidation
dcc32.dcc64.git diff --check main..HEAD.docs/sample_report.*.Not Verified
docs/TEST_PLAN.mdbut not manually clicked through in this run..dprojwas generated, because a validated IDE-generated project file was not available.Risks
docs/ARCHITECTURE.mddocuments the current boundaries and a future split path.v1.0andV1.0tags. This PR documents current behavior but does not delete tags.Manual Delphi Test Plan
See
docs/TEST_PLAN.mdfor localhost, known-open-port, closed-port, full authorized range, stop, repeat run, close-during-scan, invalid input, export, write-permission, and external-IP-service scenarios.