Add support for extended ASCII in password generator#538
Conversation
| m_ui->checkBoxUpper->setChecked(config()->get("generator/UpperCase", true).toBool()); | ||
| m_ui->checkBoxNumbers->setChecked(config()->get("generator/Numbers", true).toBool()); | ||
| m_ui->checkBoxSpecialChars->setChecked(config()->get("generator/SpecialChars", false).toBool()); | ||
| m_ui->checkBoxExtASCII->setChecked(config()->get("generator/EASCII", false).toBool()); |
There was a problem hiding this comment.
@TheZ3ro I think we could call this one checkBoxExtendedASCII or checkBoxEASCII
There was a problem hiding this comment.
@louib isn't Ext an abbreviation for Extended? I will change this to checkBoxExtendedASCII if Ext don't fit.
There was a problem hiding this comment.
@TheZ3ro I don't mind the extra characters to make it explicit, but maybe that's just me.
There was a problem hiding this comment.
I vote for the name as is. It's descriptive to me.
There was a problem hiding this comment.
I agree with @louib too. Less confusion that way.
|
@TheZ3ro I guess we could also blacklist those, yeah. |
|
@louib I was also wondering about what to do. I think we can add a new test file for them |
|
@TheZ3ro also, I searched for look-alike inside of the EASCII group, but I did not pay attention to possible look-alike across groups with EASCII enabled, which the other classes seem to be handling. So we should see if there's any more look-alikes to exclude. |
|
@louib this is the code for EASCII and SpecialChar from KeePass source: This is the only look alike |
| Numbers = 0x4, | ||
| SpecialCharacters = 0x8, | ||
| EASCII = 0x16 | ||
| EASCII = 0x10 |
|
@louib how do you think we should test the password generator? Generating random password and checking if they respect the char restriction from their groups? Generating one password doesn't really tell you if the generator is working properly (maybe the output password is valid only because it didn't selected an invalid char for this specific generation) And also, the restriction checking mechanism is based on the generator itself so it will pass the tests also in case where it should fail. Do we need tests for the generator itself? |
Pretty much what I was thinking, but I guess we can go ahead without testing this. |
- Added YubiKey 2FA integration for unlocking databases [#127] - Added TOTP support [#519] - Added CSV import tool [#146, #490] - Added KeePassXC CLI tool [#254] - Added diceware password generator [#373] - Added support for entry references [#370, #378] - Added support for Twofish encryption [#167] - Enabled DEP and ASLR for in-memory protection [#371] - Enabled single instance mode [#510] - Enabled portable mode [#645] - Enabled database lock on screensaver and session lock [#545] - Redesigned welcome screen with common features and recent databases [#292] - Multiple updates to search behavior [#168, #213, #374, #471, #603, #654] - Added auto-type fields {CLEARFIELD}, {SPACE}, {{}, {}} [#267, #427, #480] - Fixed auto-type errors on Linux [#550] - Prompt user prior to executing a cmd:// URL [#235] - Entry attributes can be protected (hidden) [#220] - Added extended ascii to password generator [#538] - Added new database icon to toolbar [#289] - Added context menu entry to empty recycle bin in databases [#520] - Added "apply" button to entry and group edit windows [#624] - Added macOS tray icon and enabled minimize on close [#583] - Fixed issues with unclean shutdowns [#170, #580] - Changed keyboard shortcut to create new database to CTRL+SHIFT+N [#515] - Compare window title to entry URLs [#556] - Implemented inline error messages [#162] - Ignore group expansion and other minor changes when making database "dirty" [#464] - Updated license and copyright information on souce files [#632] - Added contributors list to about dialog [#629]
Resolve #343
Description
This adds support for extended ASCII character in the password generator, like KeePass.
How has this been tested?
Manually and with Travis
Screenshots (if appropriate):
Types of changes
Checklist:
-DWITH_ASAN=ON. [REQUIRED]