This is a working part of the administration API with some usability helpers. We're still missing documentation and proper client (for which virsh needs to be split), but apart from the last three patches, this series is ready to go in if we decide that the documentation and client work can be done later on. Martin Kletzander (13): util: add virJSONValueCopy Move daemon-related parts of virNetServer to virNetDaemon Teach gendispatch how to handle admin dispatching files Add admin protocol Build client headers for admin protocol Add admin error domain Add libvirt-admin library Add XML files with admin API specification Add configuration options for permissions on daemon's admin socket Add support for admin API in libvirt daemon rpc: Add virNetServerGetNClients admin: Add virAdmHello function Example virt-admin .gitignore | 5 + Makefile.am | 4 +- cfg.mk | 9 +- configure.ac | 11 +- daemon/Makefile.am | 34 +- daemon/admin_server.c | 139 +++++++ daemon/admin_server.h | 36 ++ daemon/libvirtd-config.c | 5 +- daemon/libvirtd-config.h | 1 + daemon/libvirtd.aug | 1 + daemon/libvirtd.c | 205 +++++++--- daemon/libvirtd.conf | 8 + daemon/libvirtd.h | 14 +- daemon/test_libvirtd.aug.in | 1 + docs/Makefile.am | 23 +- docs/apibuild.py | 10 +- docs/internals.html.in | 4 +- docs/internals/rpc.html.in | 7 + include/libvirt/Makefile.am | 4 +- include/libvirt/libvirt-admin.h | 63 ++++ include/libvirt/virterror.h | 3 +- libvirt-admin.pc.in | 13 + libvirt.spec.in | 10 + po/POTFILES.in | 4 + src/Makefile.am | 127 ++++++- src/admin/admin_protocol.x | 78 ++++ src/admin_protocol-structs | 18 + src/datatypes.c | 30 ++ src/datatypes.h | 37 ++ src/internal.h | 1 + src/libvirt-admin.c | 412 ++++++++++++++++++++ src/libvirt_admin.syms | 19 + src/libvirt_private.syms | 1 + src/libvirt_remote.syms | 29 +- src/locking/lock_daemon.c | 63 ++-- src/locking/lock_daemon_config.c | 2 +- src/locking/lock_daemon_dispatch.c | 4 +- src/lxc/lxc_controller.c | 65 ++-- src/rpc/gendispatch.pl | 130 ++++--- src/rpc/virnetdaemon.c | 746 +++++++++++++++++++++++++++++++++++++ src/rpc/virnetdaemon.h | 82 ++++ src/rpc/virnetserver.c | 536 ++++---------------------- src/rpc/virnetserver.h | 46 +-- src/rpc/virnetserverprogram.h | 3 + src/util/virerror.c | 1 + src/util/virjson.c | 65 +++- src/util/virjson.h | 4 +- tests/confdata/libvirtd.conf | 6 + tests/confdata/libvirtd.out | 5 + tests/jsontest.c | 111 ++++++ tools/virt-admin/Makefile.am | 70 ++++ tools/virt-admin/virt-admin.c | 72 ++++ tools/virt-admin/virt-admin.pod | 43 +++ 53 files changed, 2735 insertions(+), 685 deletions(-) create mode 100644 daemon/admin_server.c create mode 100644 daemon/admin_server.h create mode 100644 include/libvirt/libvirt-admin.h create mode 100644 libvirt-admin.pc.in create mode 100644 src/admin/admin_protocol.x create mode 100644 src/admin_protocol-structs create mode 100644 src/libvirt-admin.c create mode 100644 src/libvirt_admin.syms create mode 100644 src/rpc/virnetdaemon.c create mode 100644 src/rpc/virnetdaemon.h create mode 100644 tools/virt-admin/Makefile.am create mode 100644 tools/virt-admin/virt-admin.c create mode 100644 tools/virt-admin/virt-admin.pod -- 2.4.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list