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

Multiple URLs #85

Open
2 of 3 tasks
ckotte opened this issue Jan 27, 2018 · 14 comments
Open
2 of 3 tasks

Multiple URLs #85

ckotte opened this issue Jan 27, 2018 · 14 comments

Comments

@ckotte
Copy link

ckotte commented Jan 27, 2018

This issue is a

  • bug
  • feature
  • question

Please describe how you think it should change.

I have some entries that require multiple URLs. For example, same (Active Directory) user account for multiple web sites. Is it possible to read an additional URL from a custom field?

I know that I can also clone the entry and use references for username and password, but I would like to avoid that.

@subdavis
Copy link
Owner

subdavis commented Jan 28, 2018

I'd accept a pull request, but this isn't something I'll probably work on myself.

This is more of a KeePass core function than a Tusk one - ChromeIPass for example wouldn't give you this feature unless it were implemented in KeePassXC.

What I will consider is taking into account information in the "Notes" field when making suggestions. So if you wanted to put "corporate.email.domain" in your notes, in lieu of an exact match, it could take this into consideration.

Thanks for the suggestion. I'll think about how/if this should be supported.

@ckotte
Copy link
Author

ckotte commented Jan 28, 2018

Looks like there's no such feature in KeePass core / KDBX / KeePassXC yet [1][5]. The only official procedure is to clone the entry and use references [2][3].

The add-on Kee uses a custom JSON object [1]. KeePassHttp/ChromeIPass can at least read custom attributes that start with KPH: [4], but I couldn't find any information if this works with additional URLs.

I think the only way to enable such a feature with Tusk without using references would be to create a custom solution with custom attributes like TUSK_URL1, TUSK_URL2, etc. and search all entries for matching URLs in those fields.

[1] keepassxreboot/keepassxc#398
[2] keepassxreboot/keepassxc#274
[3] keepassxreboot/keepassxc#75
[4] https://github.com/pfn/keepasshttp
[5] pfn/keepasshttp#340

@subdavis
Copy link
Owner

Your research is uncommon and appreciated. The implementation you're suggesting is completely reasonable

I'm in the middle of adding Yubikey HMAC-SHA1 Challenge Response to support the feature from KeePassXC. Once that work is done, I'll take a look at this.

@ckotte
Copy link
Author

ckotte commented Jan 28, 2018

Welcome.

Looks like it's a bit difficult to introduce enhancements like this to other implementations of KeePass if it's not included in the Windows version that looks like to be the "KeePass standard".

The good thing, however, is that the username and password referencing works with all implementations I'm using (KeePassXC, Tusk, Keepass2Android, and MacPass)...

[KeePassXC] keepassxreboot/keepassxc#863
[Keepass2Android] PhilippC/keepass2android#227

@subdavis
Copy link
Owner

@ckotte #87 submitted. I'll let you take a quick look to be sure that will satisfy your use case.

Thanks for the suggestion.

@ckotte
Copy link
Author

ckotte commented Jan 31, 2018

@subdavis

Sorry for the late response.

Looks good. However, I didn't check your code ;-)

I assume it uses the same matching logic,right? A tab with "#85" would match TUSK_URLS "https://github.com/login?return_to=%2Ffniephaus%2Falfred-homebrew, www.amazon.com,www.google.com"?

@subdavis
Copy link
Owner

subdavis commented Feb 1, 2018

On the web store now. Going to close this out.

@subdavis subdavis closed this as completed Feb 1, 2018
@subdavis subdavis mentioned this issue Feb 22, 2018
3 tasks
@zmilonas
Copy link
Collaborator

Now that we have working reference resolving in the extension is it possible to remove this TUSK_URLs - maybe with a warning to all users still using it in a future version.
My reasoning is that we should strive to make the client as cross-compatible as possible and not add extension specific fields if not necessary. Multiple entries with references seems to be more the Original KeePass way.

@subdavis
Copy link
Owner

Sorry, @zmilonas, I'm not totally sure how references help with this problem.

Could you give me an example of >1 entries with references would be helpful here? Is the idea to refer to them in the normal URL field? Wouldn't this break most other implementations, since those aren't expecting comma-separated urls?

I like the idea of full cross compatibility.

@ckotte
Copy link
Author

ckotte commented Sep 23, 2018

I like the idea of full cross compatibility.

I tried asked the developers of Keepass2Android and KeepassXC about a common solution. No luck. Everyone uses an own implementation. E.g. Keepass2Android uses KP2A_URL" or "KP2A_URL_[counter]"...

@zmilonas
Copy link
Collaborator

How about using this? https://superuser.com/a/434046

@ckotte
Copy link
Author

ckotte commented Sep 23, 2018

How about using this? https://superuser.com/a/434046

This doesn't work in KeepassXC as far as I remember.

@subdavis
Copy link
Owner

@zmilonas I didn't realize you meant having a standalone entry for each URL. That would definitely work for tusk under the right conditions, but in most cases I think it would result in duplicates in the URL list unless the new strict mode was on.

I think TUSK_URLS is easier for most folks to grasp, and it's less work for what is ultimately an edge case. I think another approach is to simply support other's standards. It wouldn't be much trouble to use KP2A_URL in addition to or instead of TUSK_URLS. That might be nice.

@zmilonas
Copy link
Collaborator

zmilonas commented Sep 24, 2018

How about using this? https://superuser.com/a/434046

This doesn't work in KeepassXC as far as I remember.

Looks like it does keepassxreboot/keepassxc#75

As you yourself @ckotte admitted:

The good thing, however, is that the username and password referencing works with all implementations I'm using (KeePassXC, Tusk, Keepass2Android, and MacPass)...

So my question is again why can't those who want to use multiple URLs for entries duplicate them with references to username na password and only update the url in the duplicate?

As stated in the original issue:

Looks like there's no such feature in KeePass core / KDBX / KeePassXC yet [1][5]. The only official procedure is to clone the entry and use references [2][3].

Which is kind of agains what @subdavis and I believe in:

I like the idea of full cross compatibility.

So creating properiaty fields whould distance us from this.

We can create another issue for supporting custom fields for other implementation/forks, as we already do for some with keeweb. I would oppose adding/keeping custom fields in Tusk

@subdavis should we create an issue for deprecation of TUSK_URL?

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

No branches or pull requests

3 participants