]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
rpc: Separate out socket code into another static lib
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 8 Dec 2021 11:25:30 +0000 (12:25 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 15 Dec 2021 11:12:43 +0000 (12:12 +0100)
There's nothing RPC specific about virnettlscontext.c or
virnetsocket.c. We use TLS for other things than just RPC
encryption (e.g. for generating random numbers) and sockets can
be used even without RPC.

Move these two sources into a static library (virt_socket) so
that other areas can use it even when RPC is disabled.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/libvirt_remote.syms
src/libvirt_socket.syms [new file with mode: 0644]
src/rpc/meson.build

index 07d22e368b83deb88417a2455ae3086e71e329e0..2fa46e5e0cd625628b9a00beda20c034ef823a45 100644 (file)
@@ -226,62 +226,6 @@ virNetServerServiceTimerActive;
 virNetServerServiceToggle;
 
 
-# rpc/virnetsocket.h
-virNetSocketAccept;
-virNetSocketAddIOCallback;
-virNetSocketCheckProtocols;
-virNetSocketClose;
-virNetSocketDupFD;
-virNetSocketGetFD;
-virNetSocketGetPath;
-virNetSocketGetPort;
-virNetSocketGetSELinuxContext;
-virNetSocketGetUNIXIdentity;
-virNetSocketHasCachedData;
-virNetSocketHasPassFD;
-virNetSocketHasPendingData;
-virNetSocketIsLocal;
-virNetSocketListen;
-virNetSocketLocalAddrStringSASL;
-virNetSocketNewConnectCommand;
-virNetSocketNewConnectExternal;
-virNetSocketNewConnectLibSSH2;
-virNetSocketNewConnectSockFD;
-virNetSocketNewConnectSSH;
-virNetSocketNewConnectTCP;
-virNetSocketNewConnectUNIX;
-virNetSocketNewListenFD;
-virNetSocketNewListenTCP;
-virNetSocketNewListenUNIX;
-virNetSocketNewPostExecRestart;
-virNetSocketPreExecRestart;
-virNetSocketRead;
-virNetSocketRecvFD;
-virNetSocketRemoteAddrStringSASL;
-virNetSocketRemoteAddrStringURI;
-virNetSocketRemoveIOCallback;
-virNetSocketSendFD;
-virNetSocketSetBlocking;
-virNetSocketSetTLSSession;
-virNetSocketUpdateIOCallback;
-virNetSocketWrite;
-
-
-# rpc/virnettlscontext.h
-virNetTLSContextCheckCertificate;
-virNetTLSContextNewClient;
-virNetTLSContextNewClientPath;
-virNetTLSContextNewServer;
-virNetTLSContextNewServerPath;
-virNetTLSInit;
-virNetTLSSessionGetHandshakeStatus;
-virNetTLSSessionGetKeySize;
-virNetTLSSessionGetX509DName;
-virNetTLSSessionHandshake;
-virNetTLSSessionNew;
-virNetTLSSessionRead;
-virNetTLSSessionSetIOCallbacks;
-virNetTLSSessionWrite;
 
 
 # Let emacs know we want case-insensitive sorting
diff --git a/src/libvirt_socket.syms b/src/libvirt_socket.syms
new file mode 100644 (file)
index 0000000..3669166
--- /dev/null
@@ -0,0 +1,65 @@
+#
+# TLS and socket specific symbols
+#
+
+# rpc/virnetsocket.h
+virNetSocketAccept;
+virNetSocketAddIOCallback;
+virNetSocketCheckProtocols;
+virNetSocketClose;
+virNetSocketDupFD;
+virNetSocketGetFD;
+virNetSocketGetPath;
+virNetSocketGetPort;
+virNetSocketGetSELinuxContext;
+virNetSocketGetUNIXIdentity;
+virNetSocketHasCachedData;
+virNetSocketHasPassFD;
+virNetSocketHasPendingData;
+virNetSocketIsLocal;
+virNetSocketListen;
+virNetSocketLocalAddrStringSASL;
+virNetSocketNewConnectCommand;
+virNetSocketNewConnectExternal;
+virNetSocketNewConnectLibSSH2;
+virNetSocketNewConnectSockFD;
+virNetSocketNewConnectSSH;
+virNetSocketNewConnectTCP;
+virNetSocketNewConnectUNIX;
+virNetSocketNewListenFD;
+virNetSocketNewListenTCP;
+virNetSocketNewListenUNIX;
+virNetSocketNewPostExecRestart;
+virNetSocketPreExecRestart;
+virNetSocketRead;
+virNetSocketRecvFD;
+virNetSocketRemoteAddrStringSASL;
+virNetSocketRemoteAddrStringURI;
+virNetSocketRemoveIOCallback;
+virNetSocketSendFD;
+virNetSocketSetBlocking;
+virNetSocketSetTLSSession;
+virNetSocketUpdateIOCallback;
+virNetSocketWrite;
+
+
+# rpc/virnettlscontext.h
+virNetTLSContextCheckCertificate;
+virNetTLSContextNewClient;
+virNetTLSContextNewClientPath;
+virNetTLSContextNewServer;
+virNetTLSContextNewServerPath;
+virNetTLSInit;
+virNetTLSSessionGetHandshakeStatus;
+virNetTLSSessionGetKeySize;
+virNetTLSSessionGetX509DName;
+virNetTLSSessionHandshake;
+virNetTLSSessionNew;
+virNetTLSSessionRead;
+virNetTLSSessionSetIOCallbacks;
+virNetTLSSessionWrite;
+
+# Let emacs know we want case-insensitive sorting
+# Local Variables:
+# sort-fold-case: t
+# End:
index cc1424140a1a85cd6150a4653980231d911552ad..6c32610d290c9d6b9693d07c235465f0c58bad23 100644 (file)
@@ -1,10 +1,30 @@
 genprotocol_prog = find_program('genprotocol.pl')
 gendispatch_prog = find_program('gendispatch.pl')
 
-rpc_sources = [
-  'virnetmessage.c',
+socket_sources = [
   'virnettlscontext.c',
   'virnetsocket.c',
+]
+
+virt_socket_lib = static_library(
+  'virt_socket',
+  [
+    socket_sources,
+  ],
+  dependencies: [
+    gnutls_dep,
+    src_dep,
+  ],
+)
+
+libvirt_libs += [
+  virt_socket_lib
+]
+
+used_sym_files += 'libvirt_socket.syms'
+
+rpc_sources = [
+  'virnetmessage.c',
   'virkeepalive.c',
 ]