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

KeeShare should respect relative paths #2799

Closed
droidmonkey opened this issue Mar 18, 2019 · 7 comments
Closed

KeeShare should respect relative paths #2799

droidmonkey opened this issue Mar 18, 2019 · 7 comments

Comments

@droidmonkey
Copy link
Member

Expected Behavior

When a share path is relative (eg. ../../shared/db.kdbx) then it should resolve an absolute path from the currently open database's location.

Current Behavior

Relative paths are not honored and do not work.

@ckieschnick
Copy link
Contributor

I suggest to look at #2748 which may provide a more generic way to resolve this problem. To be honest, I'm not sure if it's what I would expect by giving relative paths - most applications use a relative path to the working directory - a path relative to the database location seems not that intuitive to me.

@droidmonkey
Copy link
Member Author

droidmonkey commented Mar 19, 2019

It would be consistent with the way auto open is implemented. Another option is to allow defining different paths for different operating systems. This is mainly a cross platform issue.

@ckieschnick
Copy link
Contributor

ckieschnick commented Mar 19, 2019

This is mainly a cross platform issue.

This is only true as long as the user doesn't share the source database itself (via dropbox, ... - sure, this may beat the original intention of keeshare, but it seems realistic to me).
Do you mean the open last used database(s) feature on startup as auto open? I'm not sure if this is comparable. It seems to me, that this is also some kind of client setting and not shared across instances (part of the local settings?). Or is auto open another feature I'm currently not aware of?

@droidmonkey
Copy link
Member Author

droidmonkey commented Mar 19, 2019

Auto open is another feature. You create a folder named "AutoOpen" and entries in that folder use their url to point to other database files. These are opened and unlocked when the parent database is unlocked. KeeShare largely obviates this feature.

The use case I am thinking of is if the KeeShare share is uploaded to a corporate dropbox and I want to use my single master database to access this share on Mac, Windows, and/or Linux. Each platform has a different way (and location) to point to the Dropbox shared database.

@droidmonkey droidmonkey modified the milestones: v2.4.1, v2.5.0 Apr 12, 2019
@ckieschnick
Copy link
Contributor

When I understand you correctly, you want to store a path for each platform and this path should be relative to the master database.

Maybe we need to combine the two approaches - use database relative paths (as default and as symbol) which each KeePassXC client may resolve to a different location. This way, the share definition in the master database can be "interpreted" individually. To resolve the path, we may store the path within the KeePassXC client instance (as already suggested) or we need to put them into a map within the custom data, where each client/os can resolve the path request the path by itself (using some kind of unique id?).

@droidmonkey
Copy link
Member Author

A path per platform that is stored in the custom data of the group would be perfectly fine!

@ckieschnick
Copy link
Contributor

I've provided a bugfix for this ticket in pr #3029.

I'll implement the platform switch the path to the share depending on the os as #2748 (but based on this bugfix).

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