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