Update compatibility section and move article

Jérémy JAMET
2023-01-14 10:20:42 +01:00
parent a2611e663b
commit f9eba31228

@@ -40,7 +40,49 @@ In addition to the commands described above, it is possible to use more advanced
- **Merge from...** : Performs a merge with the same characteristics as the **Merge data** command but with a different URI file. The main credentials of the database to be merged will always be requested. It is possible to merge databases of different versions with this command. (For example: possible to merge a .kdb v1 database into a .kdbx v4 database)
- **Save a copy to...** : Saves current data to another specified file (URI). The data of the current URI are not modified.
## Synchronization application
# Compatibility
KeePassDX communicates with a separate file manager, or cloud clients that can be online or offline, the goal is to encapsulate the components, in the philosophy of Open Source software with the best security possible.
**Important note: in many third-party applications, you have to select your database files from the desired app and not from KeePassDX because does not offer integration with the pre-installed file manager. Ask the developer of your favorite cloud application if you want this feature.**
## File access revocation
Unfortunately, several file managers offer links with a limited duration or with break conditions. In this case, the URI link can be broken , the URI delivered by the third app that accesses the file does not provide a stream anymore or changes the metadata of this URI, and KeePassDX shows the error `Access to the file revoked by the file manager` or `Could not find file. Try reopening it from you file browser`. You must therefore reselect the database file from it's location in your file manager app. (KeePassDX cannot change this internally, You can ask the developers of your file manager app to modify this behavior.)
_For a better understanding : it is like if an URL internet address changed (because the server changed its configuration [here the file manager]), you may have a bookmark on your browser [here the history link in KeePassDX], if the address pointed to is no longer the same, the content is simply not accessible anymore._
### Solution and workaround
Moving the database .kdbx file to a new location would cause a revocation, simply reselect the file from its new location.
If the link is broken for another reason, re-open the file manager first, then select the .kdbx file from it.
KeePassDX will then launch automatically with the right configuration if the URI provided is the same.
If the URI is not the same, the biometric recognition will have to be reconfigured, as it is linked to only one URI.
You can display the list of broken links by deactivating the setting : `Settings -> App settings -> Hide broken database links`
It is also possible that the file manager used does not have permanent access rights to the file. Try giving all files permission to the application called "external storage" with package name _com.android.externalstorage_. To do this :
* Open the settings
* Scroll down and press the "Apps" button
* Press the three dots located at the top right
* A few fields should pop up, press "special access"
* Press "All File Access". It should be at the top of the list
* Make sure you toggle blue the app called "External Storage". You may have to scroll down to find the app.
Instructions could be different in some devices but the app package name should be the same. (Tested on Samsung devices)
## Database not updated
Many cloud file managers have an internal cache and the file may end up in error or out of sync, resulting in un-updated data. To solve the problem, you just need to clear cache the cloud application where the file is stored (for example Google Drive).
**KeePassDX does not have a cache at this level and is not responsible if the data sent by the manager is not up to date, so there is no point in making a bug resolution request on KeePassDX. Keep in mind that the basic problem is not with KeePassDX and that it is up to the file managers apps to solve their caching and revocation issues.**
In order to have the most complete visibility of the file services that work with KeePass, you can leave comments to indicate whether your file app or your cloud client is fully working or not.
***
# Synchronization application
In addition, there are applications that synchronize files on a continuous basis. This allows you to retrieve and send files transparently in the background when a file is updated. Very useful if your file manager does not have this feature.
@@ -48,14 +90,8 @@ In addition, there are applications that synchronize files on a continuous basis
| --- | --- | --- | --- |
| [Syncthing](https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid) | Widely used open source application that allows decentralized synchronization. <br/><br/> _**Warning**: some users have noticed corruptions when Syncthing was synchronized at the same time as a data save because the URI stream is cuts by the sync. Please make sure that the two actions are not done at the same time, you can disable the automatic save and remember to make regular manual backups._ <br/><br/> Tutorials : <br/> [Peter Babič](https://peterbabic.dev/blog/sync-keepass-passwords-between-computer-phone/) <br/> [TroubleChute (video)](https://www.youtube.com/watch?v=DyDEIavz0X4) | - | No
# Compatibility
KeePassDX communicates with a separate file manager, or cloud clients that can be online or offline, the goal is to encapsulate the components, in the philosophy of Open Source software with the best security possible.
**Important note: in many third-party applications, you have to select your database files from the desired app and not from KeePassDX because does not offer integration with the pre-installed file manager. Ask the developer of your favorite cloud application if you want this feature.**
In order to have the most complete visibility of the file services that work with KeePass, you can leave comments to indicate whether your file app or your cloud client is fully working or not.
***
# File Manager application
| File manager / cloud client app | Works | Pros | Cons | Officially tested
| - | - | - | - | - |
@@ -74,7 +110,7 @@ In order to have the most complete visibility of the file services that work wit
Related issues : [#342](https://github.com/Kunzisoft/KeePassDX/issues/342), [#897](https://github.com/Kunzisoft/KeePassDX/issues/897)
# Explanation
# How it works
It is not planned to integrate the cloud APIs directly in KeePassDX, because it would be necessary to integrate each client one-by-one (incidentally this could cause security breaches and is not necessarily compatible with the libre licensed code-base).
@@ -85,16 +121,6 @@ This mode of operation allows interoperability with all properly designed file p
_For a better understanding : it's like looking at a website, you have a URL that displays a page and you can only access the files on the page through that URL, you don't see the file tree on the server._
_Here it is the same with URIs, and the advantage is that the file manager can be a gateway to retrieve the database file with any protocol (WebDav, FTP, direct path, whatever..)_
Unfortunately, several file managers offer links with a limited duration or with break conditions. In this case, the URI link can be broken , the URI delivered by the third app that accesses the file does not provide a stream anymore or changes the metadata of this URI, and KeePassDX shows the error `Access to the file revoked by the file manager` or `Could not find file. Try reopening it from you file browser`. You must therefore reselect the database file from it's location in your file manager app. (KeePassDX cannot change this internally, You can ask the developers of your file manager app to modify this behavior.)
_For a better understanding : it is like if an URL internet address changed (because the server changed its configuration [here the file manager]), you may have a bookmark on your browser [here the history link in KeePassDX], if the address pointed to is no longer the same, the content is simply not accessible anymore._
*If the link is broken, re-open the file manager first, then select the .kdbx file from it.
KeePassDX will then launch automatically with the right configuration if the URI provided is the same.
If the URI is not the same, the biometric recognition will have to be reconfigured, as it is linked to only one URI.*
You can display the list of broken links by deactivating the setting : `Settings -> App settings -> Hide broken database links`
## Why disparate compatibility?
File managers content providers must keep the links active with the flag [FLAG_GRANT_PERSISTABLE_URI_PERMISSION](https://developer.android.com/reference/android/content/Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION) to be fully functional.