-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Hotfix/2657 prevent share overwrite #2746
Hotfix/2657 prevent share overwrite #2746
Conversation
Newly created/saved databases (or used with DatabaseWidget::saveAs) were not exported/imported correctly. Fixed the problem by reinitializing the ShareObserver on DatabaseWidget::saveAs.
Introduced several warnings and errors to indicate improper settings. Prevent export when a path is used multiple times (only the file path is checked - may ignore multiple similar ways to reference a share).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't looked at the rest, just caught some stuff
Moved initial KeeShare association to constructor. Introduced Q_UNUSED to indicate need for assignment statement.
EditGroupWidget passes a shared pointer to the database instead of a raw pointer.
Concerning the shared pointer used by the |
Yes that is possible. You could use a QWeakPointer in this case. |
I'd had a closer look at the source code. It seems, that there are a number of Since it is already used without negative effects, I would suggest to keep the shared pointer for now and check if the change to |
- New Database Wizard [#1952] - Advanced Search [#1797] - Automatic update checker [#2648] - KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739] - Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439] - Remove KeePassHttp support [#1752] - CLI: output info to stderr for easier scripting [#2558] - CLI: Add --quiet option [#2507] - CLI: Add create command [#2540] - CLI: Add recursive listing of entries [#2345] - CLI: Fix stdin/stdout encoding on Windows [#2425] - SSH Agent: Support OpenSSH for Windows [#1994] - macOS: TouchID Quick Unlock [#1851] - macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583] - Linux: Prevent Klipper from storing secrets in clipboard [#1969] - Linux: Use polling based file watching for NFS [#2171] - Linux: Enable use of browser plugin in Snap build [#2802] - TOTP QR Code Generator [#1167] - High-DPI Scaling for 4k screens [#2404] - Make keyboard shortcuts more consistent [#2431] - Warn user if deleting referenced entries [#1744] - Allow toolbar to be hidden and repositioned [#1819, #2357] - Increase max allowed database timeout to 12 hours [#2173] - Password generator uses existing password length by default [#2318] - Improve alert message box button labels [#2376] - Show message when a database merge makes no changes [#2551] - Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790] - Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
Added warnings and prevented export when exports are conflicting, added warning when imports are using the same source.
Fixed an additional bug which prevented the usage of exports when a database was newly created.
Addresses an issue discussed in #2657.
Type of change
Description and Context
Creation of a new database did not trigger the export even when needed references were defined.
In case of multiple usage of the same export/import container, there was no indication about that. Now the import/export and configuration gives warnings/errors about those cases.
Testing strategy
Manually tested.
Points to discuss
Currently the checking uses the entered paths. We may extend the checking to use canonical paths which may reduce (but not eliminate) the error rate.
An alternative (but does not prevent export!) would be to open and check the container for an export flag in the public data which indicates if the container was already written within the "transaction" and to abort the following exports for this container. I'm not sure if this would be a better solution to the problem since we do export data partially and (for now) there is no guarantee that the order of exports is deterministic.
Checklist:
-DWITH_ASAN=ON
. [REQUIRED]