mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.9 KiB
68 lines
1.9 KiB
/*
|
|
* Kamailio TLS module
|
|
*
|
|
* Copyright (C) 2010 iptelorg GmbH
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
/** openssl BIOs for reading/writing via a fixed memory buffer.
|
|
* @file modules/tls/tls_bio.h
|
|
* @ingroup tls
|
|
*/
|
|
|
|
#ifndef __tls_bio_h
|
|
#define __tls_bio_h
|
|
|
|
#include <openssl/bio.h>
|
|
|
|
/* memory buffer used for tls I/O */
|
|
struct tls_mbuf {
|
|
unsigned char* buf;
|
|
int pos; /**< current position in the buffer while reading or writing*/
|
|
int used; /**< how much it's used (read or write)*/
|
|
int size; /**< total buffer size (fixed) */
|
|
};
|
|
|
|
struct tls_bio_mbuf_data {
|
|
struct tls_mbuf* rd;
|
|
struct tls_mbuf* wr;
|
|
};
|
|
|
|
|
|
BIO_METHOD* tls_BIO_mbuf(void);
|
|
BIO* tls_BIO_new_mbuf(struct tls_mbuf* rd, struct tls_mbuf* wr);
|
|
int tls_BIO_mbuf_set(BIO* b, struct tls_mbuf* rd, struct tls_mbuf* wr);
|
|
|
|
|
|
|
|
/** intialize an mbuf structure.
|
|
* @param mb - struct tls_mbuf pointer that will be intialized.
|
|
* @param b - buffer (unsigned char*).
|
|
* @param sz - suze of the buffer (int).
|
|
* WARNING: the buffer will not be copied, but referenced.
|
|
*/
|
|
#define tls_mbuf_init(mb, b, sz) \
|
|
do { \
|
|
(mb)->buf = (b); \
|
|
(mb)->size = (sz); \
|
|
(mb)->pos = 0; \
|
|
(mb)->used = 0; \
|
|
} while(0)
|
|
|
|
|
|
|
|
#endif /*__tls_bio_h*/
|
|
|
|
/* vi: set ts=4 sw=4 tw=79:ai:cindent: */
|