diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/include/io/channel-tls.h | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/include/io/channel-tls.h')
-rw-r--r-- | qemu/include/io/channel-tls.h | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/qemu/include/io/channel-tls.h b/qemu/include/io/channel-tls.h deleted file mode 100644 index 322eccbaa..000000000 --- a/qemu/include/io/channel-tls.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * QEMU I/O channels TLS driver - * - * Copyright (c) 2015 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see <http://www.gnu.org/licenses/>. - * - */ - -#ifndef QIO_CHANNEL_TLS_H__ -#define QIO_CHANNEL_TLS_H__ - -#include "io/channel.h" -#include "io/task.h" -#include "crypto/tlssession.h" - -#define TYPE_QIO_CHANNEL_TLS "qio-channel-tls" -#define QIO_CHANNEL_TLS(obj) \ - OBJECT_CHECK(QIOChannelTLS, (obj), TYPE_QIO_CHANNEL_TLS) - -typedef struct QIOChannelTLS QIOChannelTLS; - -/** - * QIOChannelTLS - * - * The QIOChannelTLS class provides a channel wrapper which - * can transparently run the TLS encryption protocol. It is - * usually used over a TCP socket, but there is actually no - * technical restriction on which type of master channel is - * used as the transport. - * - * This channel object is capable of running as either a - * TLS server or TLS client. - */ - -struct QIOChannelTLS { - QIOChannel parent; - QIOChannel *master; - QCryptoTLSSession *session; -}; - -/** - * qio_channel_tls_new_server: - * @master: the underlying channel object - * @creds: the credentials to use for TLS handshake - * @aclname: the access control list for validating clients - * @errp: pointer to a NULL-initialized error object - * - * Create a new TLS channel that runs the server side of - * a TLS session. The TLS session handshake will use the - * credentials provided in @creds. If the @aclname parameter - * is non-NULL, then the client will have to provide - * credentials (ie a x509 client certificate) which will - * then be validated against the ACL. - * - * After creating the channel, it is mandatory to call - * the qio_channel_tls_handshake() method before attempting - * todo any I/O on the channel. - * - * Once the handshake has completed, all I/O should be done - * via the new TLS channel object and not the original - * master channel - * - * Returns: the new TLS channel object, or NULL - */ -QIOChannelTLS * -qio_channel_tls_new_server(QIOChannel *master, - QCryptoTLSCreds *creds, - const char *aclname, - Error **errp); - -/** - * qio_channel_tls_new_client: - * @master: the underlying channel object - * @creds: the credentials to use for TLS handshake - * @hostname: the user specified server hostname - * @errp: pointer to a NULL-initialized error object - * - * Create a new TLS channel that runs the client side of - * a TLS session. The TLS session handshake will use the - * credentials provided in @creds. The @hostname parameter - * should provide the user specified hostname of the server - * and will be validated against the server's credentials - * (ie CommonName of the x509 certificate) - * - * After creating the channel, it is mandatory to call - * the qio_channel_tls_handshake() method before attempting - * todo any I/O on the channel. - * - * Once the handshake has completed, all I/O should be done - * via the new TLS channel object and not the original - * master channel - * - * Returns: the new TLS channel object, or NULL - */ -QIOChannelTLS * -qio_channel_tls_new_client(QIOChannel *master, - QCryptoTLSCreds *creds, - const char *hostname, - Error **errp); - -/** - * qio_channel_tls_handshake: - * @ioc: the TLS channel object - * @func: the callback to invoke when completed - * @opaque: opaque data to pass to @func - * @destroy: optional callback to free @opaque - * - * Perform the TLS session handshake. This method - * will return immediately and the handshake will - * continue in the background, provided the main - * loop is running. When the handshake is complete, - * or fails, the @func callback will be invoked. - */ -void qio_channel_tls_handshake(QIOChannelTLS *ioc, - QIOTaskFunc func, - gpointer opaque, - GDestroyNotify destroy); - -/** - * qio_channel_tls_get_session: - * @ioc: the TLS channel object - * - * Get the TLS session used by the channel. - * - * Returns: the TLS session - */ -QCryptoTLSSession * -qio_channel_tls_get_session(QIOChannelTLS *ioc); - -#endif /* QIO_CHANNEL_TLS_H__ */ |