Outline app needs to keep the LKG configuration in the app
### Application
Outline Client
### Describe the bug
1. Keep the LKG dynamic key configuration
2. Keep the LKG static key domain IP
# Details:
An Outline key has several pieces each of which can be an additional single point of failure. For example, the server that hosts the information of a dynamic key can fail and the user cannot connect to the VPN server using that dynamic key although the VPN server is working property just because the key server/service has failed.
Outline needs to keep the last known good (LKG) configuration locally in the app and use it in case the dynamic key fetch fails.
A similar scenario can happen for static keys. If the key is domain based and domain resolution fails, then connection to the VPN server fails, although the VPN server might be working correctly and you would be able to connect to it using the IP. In this case, the Outline app needs to keep the LKG IP of the static key and use it in case the domain resolution fails.
### Steps to reproduce
# Dynamic key fetch failure
1. Create a dynamic key for a server that works and connect to it.
2. Change the `endpoint` value of the dynamic key to something else.
3. Try connecting to the VPN server using that dynamic key. It fails!
If Outline had kept the LKG for this dynamic key, it could use that for connecting to the server when this failure happens.
# Static key domain resolution failure
1. Create a domain based static key and connect to it.
2. In the domain management portal, point the domain to another IP.
3. Try connection to the VPN server using that domain based static key. It fails.
If Outline had kept the LKG IP for this dynamic key, it could use that for connecting to the server when this failure happens.
### What did you expect to happen?
The expectation was more resiliency of the Outline app in case of failure and using the LKG to connect.
### What actually happened?
Connection failed.
### Outline Version
1.17.0
### What operation system are you using?
Android
### Operating System Version
16
### Screenshots and Videos
_No response_
3 条评论