Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: path traversal prevention auto-failure on windows#1016

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
codejedi365 merged 13 commits intomasterfromfix/windows-path-traversal-prevention
Sep 1, 2024

Conversation

@codejedi365
Copy link
Contributor

@codejedi365codejedi365 commentedSep 1, 2024
edited
Loading

Purpose

Rationale

See#1014, and I did have to adjust the testing to accomidate windows for some weird compatibility bugs that caused tests to fail. (1) GitPython under the hood usesgetpass.getuser() which will fail on windows unless theUSERNAME variable is set in the environment. (2) The use ofNamedTemporaryFile() for testingnetrc was not compatible with Windows because it restricts the file to one reader at a time and we were leaving the file open (a second read is allowed on linux). (3) Some expected filepaths were hardcoded strings that represented linux only which were passed throughPath() to auto-convert path separators.

Lastly, since the testing on windows takes around 10-15 minutes to complete, it was infeasible to integrate windows testing directly into the matrix testing as part of the PR. Instead, I have it testing the oldest version of python on windows and then matrix testing across all the versions before release. Trying to get the best of both worlds with a little bit of increased rigor.

How did you test?

I ran a bunch of pipelines on the windows platform. Then went through each error of the tests to evaluate why it was failing. Ultimately, I did not add any new tests but I did ensure that all test cases run on both windows and maintained compatibility on linux. This is demonstrated by the pipeline below.

How to Verify

Review the pipeline results below since we test both windows and linux now in the PR pipeline. This can still be replicated if you check out this pr and then runpytest locally.

codejedi365and others added13 commitsAugust 31, 2024 15:52
This is more just for standardization. Ruff also recommends all capital variablenames for Windows even though Windows is case-insensitive.
…1014)  The original implementation of the path traversal detection expected that `resolve()`  works the same on windows as it does with Linux/Mac. Windows requires the folder paths  to exist to be resolved and that is not the case when the `template_dir` is not being  used.Resolves:#994
@codejedi365codejedi365 merged commit16e6daa intomasterSep 1, 2024
@codejedi365codejedi365 deleted the fix/windows-path-traversal-prevention branchSeptember 1, 2024 17:23
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Getting "Template directory must be inside of the repository directory." error when not specifying template_dir option.

2 participants

@codejedi365

[8]ページ先頭

©2009-2025 Movatter.jp