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

Implement KDBX 4.1 #7114

Merged
merged 10 commits into from Nov 22, 2021
Merged

Implement KDBX 4.1 #7114

merged 10 commits into from Nov 22, 2021

Conversation

phoerious
Copy link
Member

@phoerious phoerious commented Nov 10, 2021

Implements KDBX 4.1 as described in https://keepass.info/help/kb/kdbx_4.1.html and adds test cases.

Progress:

  • Group Tags
  • Optional Password Quality Estimation
  • Previous Parent Groups (including simple "Restore Entry" feature)
  • Custom Icons with Names and Last Modification/Deletion Times
  • Custom Data Items with Last Modification Times

Individual commits pass tests and don't need to be squashed.

Type of change

  • New feature (change that adds functionality)

@phoerious phoerious added this to the v2.7.0 milestone Nov 10, 2021
@phoerious phoerious marked this pull request as draft November 10, 2021 01:34
@droidmonkey
Copy link
Member

droidmonkey commented Nov 10, 2021

Just thinking we need to do this! We'll do this as a merge commit when the time comes.

@phoerious
Copy link
Member Author

Can't do 2.7 without.

@louib
Copy link
Member

louib commented Nov 10, 2021

@phoerious please keep in mind that we will remove QImage from core/ in #6280 🙏

@droidmonkey
Copy link
Member

We should merge that first

@phoerious phoerious force-pushed the feature/kdbx4.1 branch 2 times, most recently from 7dd943f to 81a20fd Compare November 10, 2021 19:43
@codecov-commenter
Copy link

codecov-commenter commented Nov 10, 2021

Codecov Report

Merging #7114 (c2d4dba) into develop (035757e) will increase coverage by 0.08%.
The diff coverage is 77.47%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #7114      +/-   ##
===========================================
+ Coverage    64.13%   64.21%   +0.08%     
===========================================
  Files          333      334       +1     
  Lines        42015    42221     +206     
===========================================
+ Hits         26944    27109     +165     
- Misses       15071    15112      +41     
Impacted Files Coverage Δ
src/core/Database.h 100.00% <ø> (ø)
src/format/KdbxReader.h 100.00% <ø> (ø)
src/format/KdbxWriter.h 100.00% <ø> (ø)
src/format/KeePass2.cpp 80.85% <ø> (ø)
src/gui/DatabaseWidget.cpp 61.35% <0.00%> (-0.57%) ⬇️
src/gui/EditWidgetIcons.cpp 48.17% <0.00%> (ø)
.../gui/dbsettings/DatabaseSettingsWidgetEncryption.h 100.00% <ø> (ø)
src/gui/group/GroupModel.cpp 82.18% <0.00%> (ø)
src/gui/DatabaseOpenWidget.cpp 53.31% <11.11%> (-2.82%) ⬇️
src/format/KdbxXmlReader.cpp 87.13% <68.75%> (-0.91%) ⬇️
... and 24 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 035757e...c2d4dba. Read the comment docs.

@phoerious phoerious marked this pull request as ready for review November 10, 2021 22:21
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 2 times, most recently from 625315c to 9ee8b55 Compare November 13, 2021 18:21
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/Entry.cpp Show resolved Hide resolved
src/format/KdbxXmlReader.cpp Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 3 times, most recently from 02cde7a to aa82c18 Compare November 20, 2021 01:17
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 3 times, most recently from 4dddda7 to cf716f8 Compare November 20, 2021 01:50
src/core/CustomData.cpp Show resolved Hide resolved
src/core/CustomData.cpp Show resolved Hide resolved
src/format/Kdbx3Writer.cpp Show resolved Hide resolved
src/core/Database.cpp Outdated Show resolved Hide resolved
src/format/KeePass2Writer.h Outdated Show resolved Hide resolved
src/gui/DatabaseOpenWidget.cpp Show resolved Hide resolved
Shows a warning when trying to open with a newer minor version than what is currently supported.

We always try to save with the lowest KDBX version possible for maximum compatibility.
@phoerious phoerious merged commit a3dc977 into develop Nov 22, 2021
7 checks passed
@phoerious phoerious deleted the feature/kdbx4.1 branch November 22, 2021 11:58
@giwrgosmant giwrgosmant mentioned this pull request Mar 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants