diff --git a/configure.ac b/configure.ac index a8679338666937d25ebc7a0cfdd3fa0a9e6ba416..76977aa61de926a2ffba5e3f9e2eebb37e7e8799 100644 --- a/configure.ac +++ b/configure.ac @@ -198,8 +198,22 @@ fi AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"]) AM_CONDITIONAL([WITH_FREEBSD], [test "$with_freebsd" = "yes"]) +# The daemon requires remote support. Likewise, if we are not using +# RPC, we don't need several libraries. +if test "$with_remote" = "no" ; then + with_libvirtd=no + with_gnutls=no + with_ssh2=no + with_sasl=no +fi +# Stateful drivers are useful only when building the daemon. if test "$with_libvirtd" = "no" ; then with_qemu=no + with_xen=no + with_lxc=no + with_libxl=no + with_uml=no + with_vbox=no fi # Check for compiler and library settings. @@ -1053,7 +1067,6 @@ dnl dnl check for kernel headers required by src/bridge.c dnl if test "$with_linux" = "yes"; then - if test "$with_qemu" = "yes" || test "$with_lxc" = "yes" ; then # Various kernel versions have headers that are not self-standing, but # yet are incompatible with the corresponding glibc headers. In order # to guarantee compilation across a wide range of versions (from RHEL 5 @@ -1087,7 +1100,6 @@ if test "$with_linux" = "yes"; then #endif #include ]]) - fi fi diff --git a/src/Makefile.am b/src/Makefile.am index 8632b18df042adfa29c474b45b0d038a3e67abf4..201c26816d7eafff72cf06d7d0995adff10ad677 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1756,6 +1756,12 @@ else ! WITH_LIBVIRTD SYM_FILES += $(srcdir)/libvirt_daemon.syms endif ! WITH_LIBVIRTD +if WITH_REMOTE +USED_SYM_FILES += $(srcdir)/libvirt_remote.syms +else ! WITH_REMOTE +SYM_FILES += $(srcdir)/libvirt_remote.syms +endif ! WITH_REMOTE + if WITH_OPENVZ USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms else ! WITH_OPENVZ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index bfc1d791c60eb6670cae96d1c22ae246275fed58..fe40834c0c5d0f9dc219b4753792f7cc2a62a342 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -832,205 +832,6 @@ nodeGetMemoryStats; nodeSetMemoryParameters; -# rpc/virnetclient.h -virNetClientAddProgram; -virNetClientAddStream; -virNetClientClose; -virNetClientDupFD; -virNetClientGetFD; -virNetClientHasPassFD; -virNetClientIsEncrypted; -virNetClientIsOpen; -virNetClientKeepAliveIsSupported; -virNetClientKeepAliveStart; -virNetClientKeepAliveStop; -virNetClientLocalAddrString; -virNetClientNewExternal; -virNetClientNewLibSSH2; -virNetClientNewSSH; -virNetClientNewTCP; -virNetClientNewUNIX; -virNetClientRegisterAsyncIO; -virNetClientRegisterKeepAlive; -virNetClientRemoteAddrString; -virNetClientRemoveStream; -virNetClientSendNonBlock; -virNetClientSendNoReply; -virNetClientSendWithReply; -virNetClientSendWithReplyStream; -virNetClientSetCloseCallback; - - -# rpc/virnetclientprogram.h -virNetClientProgramCall; -virNetClientProgramDispatch; -virNetClientProgramGetProgram; -virNetClientProgramGetVersion; -virNetClientProgramMatches; -virNetClientProgramNew; - - -# rpc/virnetclientstream.h -virNetClientStreamEOF; -virNetClientStreamEventAddCallback; -virNetClientStreamEventRemoveCallback; -virNetClientStreamEventUpdateCallback; -virNetClientStreamMatches; -virNetClientStreamNew; -virNetClientStreamQueuePacket; -virNetClientStreamRaiseError; -virNetClientStreamRecvPacket; -virNetClientStreamSendPacket; -virNetClientStreamSetError; - - -# rpc/virnetmessage.h -virNetMessageClear; -virNetMessageDecodeHeader; -virNetMessageDecodeLength; -virNetMessageDecodeNumFDs; -virNetMessageDecodePayload; -virNetMessageDupFD; -virNetMessageEncodeHeader; -virNetMessageEncodeNumFDs; -virNetMessageEncodePayload; -virNetMessageEncodePayloadRaw; -virNetMessageFree; -virNetMessageNew; -virNetMessageQueuePush; -virNetMessageQueueServe; -virNetMessageSaveError; -xdr_virNetMessageError; - - -# rpc/virnetserver.h -virNetServerAddProgram; -virNetServerAddService; -virNetServerAddShutdownInhibition; -virNetServerAddSignalHandler; -virNetServerAutoShutdown; -virNetServerClose; -virNetServerIsPrivileged; -virNetServerKeepAliveRequired; -virNetServerNew; -virNetServerNewPostExecRestart; -virNetServerPreExecRestart; -virNetServerQuit; -virNetServerRemoveShutdownInhibition; -virNetServerRun; -virNetServerUpdateServices; - - -# rpc/virnetserverclient.h -virNetServerClientAddFilter; -virNetServerClientClose; -virNetServerClientDelayedClose; -virNetServerClientGetAuth; -virNetServerClientGetFD; -virNetServerClientGetIdentity; -virNetServerClientGetPrivateData; -virNetServerClientGetReadonly; -virNetServerClientGetSELinuxContext; -virNetServerClientGetUNIXIdentity; -virNetServerClientImmediateClose; -virNetServerClientInit; -virNetServerClientInitKeepAlive; -virNetServerClientIsClosed; -virNetServerClientIsLocal; -virNetServerClientIsSecure; -virNetServerClientLocalAddrString; -virNetServerClientNeedAuth; -virNetServerClientNew; -virNetServerClientNewPostExecRestart; -virNetServerClientPreExecRestart; -virNetServerClientRemoteAddrString; -virNetServerClientRemoveFilter; -virNetServerClientSendMessage; -virNetServerClientSetAuth; -virNetServerClientSetCloseHook; -virNetServerClientSetDispatcher; -virNetServerClientStartKeepAlive; -virNetServerClientWantClose; - - -# rpc/virnetservermdns.h -virNetServerMDNSAddEntry; -virNetServerMDNSAddGroup; -virNetServerMDNSEntryFree; -virNetServerMDNSFree; -virNetServerMDNSGroupFree; -virNetServerMDNSNew; -virNetServerMDNSRemoveEntry; -virNetServerMDNSRemoveGroup; -virNetServerMDNSStart; -virNetServerMDNSStop; - - -# rpc/virnetserverprogram.h -virNetServerProgramDispatch; -virNetServerProgramGetID; -virNetServerProgramGetPriority; -virNetServerProgramGetVersion; -virNetServerProgramMatches; -virNetServerProgramNew; -virNetServerProgramSendReplyError; -virNetServerProgramSendStreamData; -virNetServerProgramSendStreamError; -virNetServerProgramUnknownError; - - -# rpc/virnetserverservice.h -virNetServerServiceClose; -virNetServerServiceGetAuth; -virNetServerServiceGetMaxRequests; -virNetServerServiceGetPort; -virNetServerServiceIsReadonly; -virNetServerServiceNewFD; -virNetServerServiceNewPostExecRestart; -virNetServerServiceNewTCP; -virNetServerServiceNewUNIX; -virNetServerServicePreExecRestart; -virNetServerServiceSetDispatcher; -virNetServerServiceToggle; - - -# rpc/virnetsocket.h -virNetSocketAccept; -virNetSocketAddIOCallback; -virNetSocketClose; -virNetSocketDupFD; -virNetSocketGetFD; -virNetSocketGetPort; -virNetSocketGetSELinuxContext; -virNetSocketGetUNIXIdentity; -virNetSocketHasCachedData; -virNetSocketHasPassFD; -virNetSocketHasPendingData; -virNetSocketIsLocal; -virNetSocketListen; -virNetSocketLocalAddrString; -virNetSocketNewConnectCommand; -virNetSocketNewConnectExternal; -virNetSocketNewConnectLibSSH2; -virNetSocketNewConnectSockFD; -virNetSocketNewConnectSSH; -virNetSocketNewConnectTCP; -virNetSocketNewConnectUNIX; -virNetSocketNewListenFD; -virNetSocketNewListenTCP; -virNetSocketNewListenUNIX; -virNetSocketNewPostExecRestart; -virNetSocketPreExecRestart; -virNetSocketRead; -virNetSocketRecvFD; -virNetSocketRemoteAddrString; -virNetSocketRemoveIOCallback; -virNetSocketSendFD; -virNetSocketSetBlocking; -virNetSocketUpdateIOCallback; -virNetSocketWrite; - - # security/security_driver.h virSecurityDriverLookup; diff --git a/src/libvirt_remote.syms b/src/libvirt_remote.syms new file mode 100644 index 0000000000000000000000000000000000000000..d482a55833ab23b3606d3a67b784a2c6d4184bd6 --- /dev/null +++ b/src/libvirt_remote.syms @@ -0,0 +1,210 @@ +# +# Private symbols used in RPC operations. Add symbols here, and see +# Makefile.am for more details. +# +# Keep this file sorted by header name, then by symbols with each header. +# + +# rpc/virnetclient.h +virNetClientAddProgram; +virNetClientAddStream; +virNetClientClose; +virNetClientDupFD; +virNetClientGetFD; +virNetClientHasPassFD; +virNetClientIsEncrypted; +virNetClientIsOpen; +virNetClientKeepAliveIsSupported; +virNetClientKeepAliveStart; +virNetClientKeepAliveStop; +virNetClientLocalAddrString; +virNetClientNewExternal; +virNetClientNewLibSSH2; +virNetClientNewSSH; +virNetClientNewTCP; +virNetClientNewUNIX; +virNetClientRegisterAsyncIO; +virNetClientRegisterKeepAlive; +virNetClientRemoteAddrString; +virNetClientRemoveStream; +virNetClientSendNonBlock; +virNetClientSendNoReply; +virNetClientSendWithReply; +virNetClientSendWithReplyStream; +virNetClientSetCloseCallback; + + +# rpc/virnetclientprogram.h +virNetClientProgramCall; +virNetClientProgramDispatch; +virNetClientProgramGetProgram; +virNetClientProgramGetVersion; +virNetClientProgramMatches; +virNetClientProgramNew; + + +# rpc/virnetclientstream.h +virNetClientStreamEOF; +virNetClientStreamEventAddCallback; +virNetClientStreamEventRemoveCallback; +virNetClientStreamEventUpdateCallback; +virNetClientStreamMatches; +virNetClientStreamNew; +virNetClientStreamQueuePacket; +virNetClientStreamRaiseError; +virNetClientStreamRecvPacket; +virNetClientStreamSendPacket; +virNetClientStreamSetError; + + +# rpc/virnetmessage.h +virNetMessageClear; +virNetMessageDecodeHeader; +virNetMessageDecodeLength; +virNetMessageDecodeNumFDs; +virNetMessageDecodePayload; +virNetMessageDupFD; +virNetMessageEncodeHeader; +virNetMessageEncodeNumFDs; +virNetMessageEncodePayload; +virNetMessageEncodePayloadRaw; +virNetMessageFree; +virNetMessageNew; +virNetMessageQueuePush; +virNetMessageQueueServe; +virNetMessageSaveError; +xdr_virNetMessageError; + + +# rpc/virnetserver.h +virNetServerAddProgram; +virNetServerAddService; +virNetServerAddShutdownInhibition; +virNetServerAddSignalHandler; +virNetServerAutoShutdown; +virNetServerClose; +virNetServerIsPrivileged; +virNetServerKeepAliveRequired; +virNetServerNew; +virNetServerNewPostExecRestart; +virNetServerPreExecRestart; +virNetServerQuit; +virNetServerRemoveShutdownInhibition; +virNetServerRun; +virNetServerUpdateServices; + + +# rpc/virnetserverclient.h +virNetServerClientAddFilter; +virNetServerClientClose; +virNetServerClientDelayedClose; +virNetServerClientGetAuth; +virNetServerClientGetFD; +virNetServerClientGetIdentity; +virNetServerClientGetPrivateData; +virNetServerClientGetReadonly; +virNetServerClientGetSELinuxContext; +virNetServerClientGetUNIXIdentity; +virNetServerClientImmediateClose; +virNetServerClientInit; +virNetServerClientInitKeepAlive; +virNetServerClientIsClosed; +virNetServerClientIsLocal; +virNetServerClientIsSecure; +virNetServerClientLocalAddrString; +virNetServerClientNeedAuth; +virNetServerClientNew; +virNetServerClientNewPostExecRestart; +virNetServerClientPreExecRestart; +virNetServerClientRemoteAddrString; +virNetServerClientRemoveFilter; +virNetServerClientSendMessage; +virNetServerClientSetAuth; +virNetServerClientSetCloseHook; +virNetServerClientSetDispatcher; +virNetServerClientStartKeepAlive; +virNetServerClientWantClose; + + +# rpc/virnetservermdns.h +virNetServerMDNSAddEntry; +virNetServerMDNSAddGroup; +virNetServerMDNSEntryFree; +virNetServerMDNSFree; +virNetServerMDNSGroupFree; +virNetServerMDNSNew; +virNetServerMDNSRemoveEntry; +virNetServerMDNSRemoveGroup; +virNetServerMDNSStart; +virNetServerMDNSStop; + + +# rpc/virnetserverprogram.h +virNetServerProgramDispatch; +virNetServerProgramGetID; +virNetServerProgramGetPriority; +virNetServerProgramGetVersion; +virNetServerProgramMatches; +virNetServerProgramNew; +virNetServerProgramSendReplyError; +virNetServerProgramSendStreamData; +virNetServerProgramSendStreamError; +virNetServerProgramUnknownError; + + +# rpc/virnetserverservice.h +virNetServerServiceClose; +virNetServerServiceGetAuth; +virNetServerServiceGetMaxRequests; +virNetServerServiceGetPort; +virNetServerServiceIsReadonly; +virNetServerServiceNewFD; +virNetServerServiceNewPostExecRestart; +virNetServerServiceNewTCP; +virNetServerServiceNewUNIX; +virNetServerServicePreExecRestart; +virNetServerServiceSetDispatcher; +virNetServerServiceToggle; + + +# rpc/virnetsocket.h +virNetSocketAccept; +virNetSocketAddIOCallback; +virNetSocketClose; +virNetSocketDupFD; +virNetSocketGetFD; +virNetSocketGetPort; +virNetSocketGetSELinuxContext; +virNetSocketGetUNIXIdentity; +virNetSocketHasCachedData; +virNetSocketHasPassFD; +virNetSocketHasPendingData; +virNetSocketIsLocal; +virNetSocketListen; +virNetSocketLocalAddrString; +virNetSocketNewConnectCommand; +virNetSocketNewConnectExternal; +virNetSocketNewConnectLibSSH2; +virNetSocketNewConnectSockFD; +virNetSocketNewConnectSSH; +virNetSocketNewConnectTCP; +virNetSocketNewConnectUNIX; +virNetSocketNewListenFD; +virNetSocketNewListenTCP; +virNetSocketNewListenUNIX; +virNetSocketNewPostExecRestart; +virNetSocketPreExecRestart; +virNetSocketRead; +virNetSocketRecvFD; +virNetSocketRemoteAddrString; +virNetSocketRemoveIOCallback; +virNetSocketSendFD; +virNetSocketSetBlocking; +virNetSocketUpdateIOCallback; +virNetSocketWrite; + + +# Let emacs know we want case-insensitive sorting +# Local Variables: +# sort-fold-case: t +# End: diff --git a/tests/Makefile.am b/tests/Makefile.am index a691f13eea89ad3b344bff728c78ec252c88664c..3eda522fc9c43279ccc83b2e5f31a429f79fbab5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -115,8 +115,8 @@ test_helpers = commandhelper ssh test_conf test_programs = virshtest sockettest \ nodeinfotest virbuftest \ commandtest seclabeltest \ - virhashtest virnetmessagetest virnetsockettest \ - viratomictest virnetserverclienttest \ + virhashtest \ + viratomictest \ utiltest shunloadtest \ virtimetest viruritest virkeyfiletest \ virauthconfigtest \ @@ -132,6 +132,17 @@ test_programs = virshtest sockettest \ virstoragetest \ $(NULL) +if WITH_REMOTE +test_programs += \ + virnetmessagetest \ + virnetsockettest \ + virnetserverclienttest \ + $(NULL) +if WITH_GNUTLS +test_programs += virnettlscontexttest virnettlssessiontest +endif WITH_GNUTLS +endif WITH_REMOTE + if WITH_LINUX test_programs += fchosttest endif WITH_LINUX @@ -145,10 +156,6 @@ test_programs += virdbustest \ virsystemdtest endif WITH_DBUS -if WITH_GNUTLS -test_programs += virnettlscontexttest virnettlssessiontest -endif WITH_GNUTLS - if WITH_SECDRIVER_SELINUX if WITH_ATTR test_programs += securityselinuxtest