This patch series fixes some locking issues, a memory leak, some other cosmetic changes, and it fixes a bug that led to a libvirtd which doesn't accept new connections. Changelog: v1->v2: + Added r-b's + Patch 2: Replaced the patch with a new fix for the memory leak + Patch 5: Introduce *Locked and simplified the function as John suggested + Patch 7: Fixed coding style issues, merged in the former patch 9, reworded commit message + Patch 9: (former patch 10) reworded the commit message and fixed coding style issues + Patch 10: (former patch 11) Fixed coding style issues, moved check to ExecRestart, reworded function description of virNetServerSetClientAuthCompletedLocked + New patch 14: Add locking around the critical section in remoteSASLFinish Marc Hartmayer (14): rpc: Remove duplicate declaration of virNetServerAddClient tests: virnetserverclienttest: Fix memory leak @client rpc: Use the enum value instead of a numerical value rpc: Add typedef for the anonymous enum used for authentication methods rpc: Be more precise in which cases the authentication is needed and introduce *Locked rpc: First test if authentication is required rpc: Refactor the condition whether a client needs authentication rpc: Correct locking and simplify the function rpc: Introduce virNetServerSetClientAuthenticated rpc: virnetserver: Fix race on srv->nclients_unauth tests: virnetdaemontest: Enable testing for 'auth_pending' rpc: Remove virNetServerClientNeedAuthLocked rpc: Replace virNetServerClientNeedAuth with virNetServerClientIsAuthenticated remote: add locking around the critical section in remoteSASLFinish daemon/remote.c | 33 +++--- src/libvirt_remote.syms | 14 +-- src/rpc/virnetserver.c | 82 +++++++++----- src/rpc/virnetserver.h | 6 +- src/rpc/virnetserverclient.c | 118 ++++++++++++++++----- src/rpc/virnetserverclient.h | 11 +- src/rpc/virnetserverprogram.c | 9 +- src/rpc/virnetserverservice.h | 4 +- .../input-data-client-auth-pending-failure.json | 44 ++++++++ .../input-data-client-auth-pending.json | 70 ++++++++++++ .../virnetdaemondata/output-data-admin-nomdns.json | 4 + .../output-data-admin-server-names.json | 4 + .../virnetdaemondata/output-data-anon-clients.json | 2 + ...s.json => output-data-client-auth-pending.json} | 4 +- tests/virnetdaemondata/output-data-client-ids.json | 2 + .../output-data-client-timestamp.json | 2 + .../output-data-initial-nomdns.json | 2 + tests/virnetdaemondata/output-data-initial.json | 2 + .../output-data-no-keepalive-required.json | 4 + tests/virnetdaemontest.c | 2 + tests/virnetserverclienttest.c | 1 + 21 files changed, 331 insertions(+), 89 deletions(-) create mode 100644 tests/virnetdaemondata/input-data-client-auth-pending-failure.json create mode 100644 tests/virnetdaemondata/input-data-client-auth-pending.json copy tests/virnetdaemondata/{output-data-client-ids.json => output-data-client-auth-pending.json} (94%) -- 2.13.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list