-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Applying polices that change the state of a bound socket leaves the socket unusable. Resultant state varies from test to test.
I have a Python App that binds to a service.
Here's the steps to reproduce
- Test by dialing the service. All good.
- Use ZAC to remove the bind policy identity attribute
- Testing has produced several results in the Python application
- No console messages at all - socket remains connected
- Ziti console message indicating loss of connection - socket remains connected
- Python application aborts
- In most cases ZAC shows the terminator being removed, but I did see a case where the terminator continued to be listed
- Re-test dialing the service - in all cases it fails to connect (expected)
- Use ZAC to restore the bind policy identity attribute
- In all cases the new terminator in not created - this is because the Python application is unaware that the old server socket is invalid and does not attempt to bind
- Re-test dialing the service - in all cases it fails to dial as the application is unaware the previous bind was disconnected
- Restart the Python application
- Service is restored and usable
Python SDK (b'1.0.11', b'g92c7d63') running under Windows Linux Subsystem Ubuntu 22.04.5 LTS
Controller version v1.1.15 (Out of date because the latest version is not working for me, some problem with ALPN)
Note: I tried reproducing using ZDEW, but that behaved correctly. Hence I'm suspecting this is a problem in the Python SDK
Metadata
Metadata
Assignees
Labels
No labels