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

Rewrite ItemEncrypted plugin to support modern versions of GPG #2463

Closed
realchrisolin opened this issue Sep 14, 2023 · 1 comment
Closed
Labels

Comments

@realchrisolin
Copy link

Related to #1208 and #2363, the ItemEncrypted plugin is incompatible with modern versions of GPG and the only workaround is to use an outdated version that is several years old.

This ticket exists to explicitly call out the ItemEncrypted plugin as the culprit and document/schedule/track progress on this front. The crux of this issue is that the modern GPG executable doesn't support all of the (legacy) arguments, exact details documented in my comment three years ago.

I would rewrite this, but my experience with C++ and Qt is limited. I understand enough to read the relevant code, but I'm not familiar enough with either to know where to start without a lot of hours of research first.

@realchrisolin
Copy link
Author

I asked ChatGPT for help and got this:

I can certainly provide an analysis of how the changes in GPG 2.1, particularly the introduction of "nosecring," might affect the ItemEncrypted plugin. To do so, I'll need to refer to the documentation you provided. Based on the information from the GPG 2.1 documentation, here are the key changes and how they might impact the plugin:

Changes in Keyring Names:

In GPG 2.1, keyrings are named differently than in previous versions. They no longer have the ".gpg" extension, and the paths have changed.
Impact: The ItemEncrypted plugin uses keyrings for managing keys. To adapt to this change, the plugin would need to update the paths and extension it uses when working with keyrings.
Changes in Key Generation:

GPG 2.1 introduces changes in the way keys are generated.
Impact: The plugin appears to generate keys during setup. It may need to update the key generation process to align with the changes in GPG 2.1.
Password Handling:

GPG 2.1 introduces password handling changes.
Impact: The plugin might need to update how it handles passwords when interacting with GPG.
Key Import/Export:

The process of importing and exporting keys may change with GPG 2.1.
Impact: The plugin uses key import and export processes. These would need to be updated to accommodate any changes in GPG 2.1.
Other Compatibility Issues:

GPG 2.1 introduces various other changes, such as changes in error messages, handling of batch mode, etc.
Impact: The plugin would need to review and adjust its code to ensure compatibility with these changes.
In summary, while the high-level functionality of the ItemEncrypted plugin should remain intact, it will likely need updates to its key management, password handling, and key import/export processes to align with the changes introduced in GPG 2.1. The specific code changes would depend on the details of how the plugin currently interacts with GPG, which may require a code review and modifications to ensure compatibility with GPG 2.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant