[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 4/8] Introduce generic objects for building XDR RPC servers/clients



On 12/01/2010 10:26 AM, Daniel P. Berrange wrote:
> Introduces a set of generic objects which are to be used in
> building RPC servers/clients based on XDR.
> 
>  - virNetMessageHeader - standardize the XDR format for any
>    RPC program. Copied from remote protocol for back compat
> 
>  - virNetMessage - Provides a buffer for (de-)serializing
>    messages, and a copy of the decoded virNetMessageHeader.
>    Provides APIs for encoding/decoding message headers and
>    payloads, thus isolating all the XDR api calls in one
>    file. Callers no longer need to use XDR themselves.
> 
>  - virNetSocket - a wrapper around a socket file descriptor,
>    to simplify creation of new sockets, both for clients and
>    services. Encapsulates all the hairy getaddrinfo code
>    and sockaddr manipulation.  Will eventually include
>    transparent support for TLS and SASL encoding of data
> 
>  - virNetTLSContext - encapsulates the credentials required
>    to setup TLS sessions. eg the set of x509 certificates
>    and keys, optional DH parameters and x509 DName whitelist
>    Provides APIs for easily validating certificates from a
>    TLS session
> 
>  - virNetTLSSession - encapsulates the TLS session handling,
>    so that callers no longer have a direct dependancy on
>    gnutls. This will facilitate adding alternate TLS impls.
>    Makes the read/write TLS functions work with same
>    semantics as the native socket read/write functions. ie
>    they set errno, instead of a gnutls specific error code.

Is it worth introducing these in separate patches, instead of all in one
go?  At any rate, this is big enough that I haven't reviewed it in
detail yet, but the concept of factoring out the common code seems nice.

Let's make a deal :)  If you look at my virCommand series, I'll look at
this!

-- 
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]