Skip to content

Inconsistent bind state after policies changed #75

@duncan-simey

Description

@duncan-simey

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions