Don't issue ns_client_endrequest on a NS_CLIENTSTATE_READY client.

Merged Witold Krecicki requested to merge 1623-assertion-failure-ns-client-endrequest-v9_16 into v9_16

Fix a potential assertion failure on shutdown in ns__client_endrequest. Scenario:

  1. We are shutting down, interface->clientmgr is gone.
  2. We receive a packet, it gets through ns__client_request
  3. mgr == NULL, return
  4. isc_nmhandle_detach calls ns_client_reset_cb
  5. ns_client_reset_cb calls ns_client_endrequest
  6. INSIST(client->state == NS_CLIENTSTATE_WORKING || client->state == NS_CLIENTSTATE_RECURSING) is not met
    • we haven't started processing this packet so client->state == NS_CLIENTSTATE_READY. As a solution - don't do anything in ns_client_reset_cb if the client is still in READY state.

(cherry picked from commit b0888ff0)

Closes #1623 (closed)

Merge request reports