-
-
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
Add feature to handle field references, resolves #75 #370
Conversation
I added the screenshots directly to your post. |
Travis gui-tests are failing
|
Can someone provide some insight into how I can test a QDialog box? |
Generally, you use QTest::keyClick() for that. |
For example in DatabaseWidget.cpp if I have the following and I run the tests I do not even see the popup window show up as far as I can tell.
However if I still try adding the key click after the triggerAction in the unit test it still fails.
My guess there is it is due to me sending the key press to the main window and not the dialog box which pops up. That lead me to trying it with an exec rather then a show for the cloneDialog. That seems to show the popup however it just freezes waiting for input. |
@mrrsm I've made a little patch for you (since I've nothing to do 😄 ) based on your last commit in this PR.
|
@TheZ3ro Thanks, I will give this another go tonight and hopefully get the tests working again |
@mrrsm with that patch tests sould be good. Since there are conflict with DatabaseWidget,cpp can you rebase your changes on the current develop? Thanks |
- Create popup for clone options - Add ability to resolve references for autotype/http/copying
Thanks for the patch @TheZ3ro |
Great work @mrrsm |
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.
Reference is not resolved after cloning an entry.
Problem: source entry has a lower-case UUID, while the reference uses an upper-case UUID.
} | ||
|
||
if (flags & ClonePassAsRef) { | ||
QString password = "{REF:P@I:" + m_uuid.toHex() + "}"; |
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.
Problem: toHex()
seems to give upper case UUID. If the UUID of the source entry is lowercase, resolvePlaceholder
will fail.
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.
QString username = "{REF:U@I:" + m_uuid.toHex() + "}";
+ entry->m_attributes->set(EntryAttributes::UserNameKey, username.toUpper(), m_attributes->isProtected(EntryAttributes::UserNameKey));
Am i misinterpreting that, or do u simply uppercase the username
at line 501? Just remove it? Or is the problem that different locations have different behaviours?
EDIT:// I mean, username.toUpper()
must do something like that..^^
- 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]
Where is the option to add a reference to an existing entry? I can't seem to find it anywhere |
@JetUni There currently isn't a way via the UI to copy the reference of another entry from the entry you want the reference on. You can get the uuid from the properties section on the entry you want to reference and then manually create the reference link on the new entry. The other option is to clone an existing entry and check the "Replace username and password with references" option. |
Description
Motivation and Context
Allows references to be used across all fields for autotype, http, and copying
Resolves #75
How Has This Been Tested?
Created multiple clones of different entries
Tested http by removing the url from the original and having chromeIPass fill the appropriate data
Tested inline copy/paste by manually editing all supported fields and using the context menu to copy the values
Tested autotype similar to http by cloning a working entry and removing the association from the original
Screenshots (if appropriate):
May/or may not be helpful but this shows the different states of the clone process
Types of changes
Checklist: