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

[securedrop-proxy] Drop PyYAML dependency somehow #1684

Closed
legoktm opened this issue Jan 31, 2023 · 2 comments · Fixed by #1718
Closed

[securedrop-proxy] Drop PyYAML dependency somehow #1684

legoktm opened this issue Jan 31, 2023 · 2 comments · Fixed by #1718
Assignees

Comments

@legoktm
Copy link
Member

legoktm commented Jan 31, 2023

PyYAML has a history of security issues, and is written in C/Cython, which comes with its own issues. It also adds extra maintenance work since it's two compiled dependencies that need to be rebuilt for newer Python versions.

Given that we only use it to parse the config file generated by us (in securedrop-workstation), I think we should consider TOML (in the standard library as of 3.11) or JSON.

@eaon also tells me that the long-term goal is to use QubesDB for this kind of configuration, which would also let us get rid of PyYAML.

@rocodes
Copy link
Contributor

rocodes commented Feb 1, 2023

For a "get it done this week" change, TOML; for a "get it done this quarter" change (guesstimate based on our other competing priorities, it's not that it's a ton of work), the key-value/qubesdb changes are definitely of interest to the rest of the project and it would be a great chance to use them here.

I'll take cues from you on how urgently you think this change should be made (and also curious if you think it warrants a bigger cross-project issue/epic since we use pyyaml lots of places).

@legoktm
Copy link
Member Author

legoktm commented Feb 1, 2023

Not urgent, we've lived with PyYAML for long enough that continuing to live with it is fine (in theory we've done all the work we need for bookworm support pending the other PR review, so it's not going to add work unless we need to bump versions). Getting rid of it via the QubesDB way sounds good to me. Definitely before we switch to bookworm, whenever that is.

(and also curious if you think it warrants a bigger cross-project issue/epic since we use pyyaml lots of places)

This is the only SDW component that uses it AFAICT, but in other places I think we're stuck with it because of stuff like ansible and salt, which use it. If there are places that are only using it for data/config controlled by us, then yeah, I would also like to clean that up :)

@zenmonkeykstop zenmonkeykstop changed the title Drop PyYAML dependency somehow [securedrop-proxy] Drop PyYAML dependency somehow Dec 13, 2023
@zenmonkeykstop zenmonkeykstop transferred this issue from freedomofpress/securedrop-proxy Dec 13, 2023
@legoktm legoktm moved this to In Progress in SecureDrop dev cycle May 2, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in SecureDrop dev cycle May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants