bio.cc File Reference
#include "squid.h"
#include "ssl/support.h"
#include "comm.h"
#include "fd.h"
#include "fde.h"
#include "globals.h"
#include "ip/Address.h"
#include "parser/BinaryTokenizer.h"
#include "SquidTime.h"
#include "ssl/bio.h"
Include dependency graph for bio.cc:

Go to the source code of this file.

Functions

static int squid_bio_write (BIO *table, const char *buf, int size)
 wrapper for Bio::write() More...
 
static int squid_bio_read (BIO *table, char *buf, int size)
 wrapper for Bio::read() More...
 
static int squid_bio_puts (BIO *table, const char *str)
 implements puts() via write() More...
 
static long squid_bio_ctrl (BIO *table, int cmd, long arg1, void *arg2)
 other BIO manipulations (those without dedicated callbacks in BIO table) More...
 
static int squid_bio_create (BIO *bi)
 initializes BIO table after allocation More...
 
static int squid_bio_destroy (BIO *table)
 cleans BIO table before deallocation More...
 
static void squid_ssl_info (const SSL *ssl, int where, int ret)
 wrapper for Bio::stateChanged() More...
 
static bool adjustSSL (SSL *ssl, Security::TlsDetails::Pointer const &details, SBuf &helloMessage)
 
void applyTlsDetailsToSSL (SSL *ssl, Security::TlsDetails::Pointer const &details, Ssl::BumpMode bumpMode)
 

Variables

static BIO_METHOD SquidMethods
 

Function Documentation

static bool adjustSSL ( SSL *  ssl,
Security::TlsDetails::Pointer const &  details,
SBuf helloMessage 
)
static

Definition at line 372 of file bio.cc.

References assert, debugs, SBuf::length(), SBuf::rawContent(), and STACK_OF().

Referenced by Ssl::ServerBio::write().

void applyTlsDetailsToSSL ( SSL *  ssl,
Security::TlsDetails::Pointer const &  details,
Ssl::BumpMode  bumpMode 
)
static int squid_bio_create ( BIO *  h)
static

Definition at line 563 of file bio.cc.

References BIO_set_data(), and NULL.

Referenced by Ssl::Bio::Create().

static long squid_bio_ctrl ( BIO *  h,
int  cmd,
long  arg1,
void *  arg2 
)
static
static int squid_bio_destroy ( BIO *  data)
static

Definition at line 579 of file bio.cc.

References BIO_get_data(), BIO_set_data(), and NULL.

Referenced by Ssl::Bio::Create().

static int squid_bio_puts ( BIO *  h,
const char *  str 
)
static

Definition at line 606 of file bio.cc.

References assert, and squid_bio_write().

Referenced by Ssl::Bio::Create().

static int squid_bio_read ( BIO *  h,
char *  buf,
int  size 
)
static

Definition at line 597 of file bio.cc.

References assert, BIO_get_data(), and Ssl::Bio::read().

Referenced by Ssl::Bio::Create().

static int squid_bio_write ( BIO *  h,
const char *  buf,
int  num 
)
static

Definition at line 588 of file bio.cc.

References assert, BIO_get_data(), and Ssl::Bio::write().

Referenced by Ssl::Bio::Create(), and squid_bio_puts().

static void squid_ssl_info ( const SSL *  ssl,
int  where,
int  ret 
)
static

Definition at line 677 of file bio.cc.

References BIO_get_data().

Referenced by Ssl::Bio::Link().

Variable Documentation

BIO_METHOD SquidMethods
static
Initial value:
= {
BIO_TYPE_SOCKET,
"squid",
NULL,
NULL
}
static int squid_bio_puts(BIO *h, const char *str)
implements puts() via write()
Definition: bio.cc:606
static long squid_bio_ctrl(BIO *h, int cmd, long arg1, void *arg2)
other BIO manipulations (those without dedicated callbacks in BIO table)
Definition: bio.cc:614
static int squid_bio_write(BIO *h, const char *buf, int num)
wrapper for Bio::write()
Definition: bio.cc:588
static int squid_bio_create(BIO *h)
initializes BIO table after allocation
Definition: bio.cc:563
static int squid_bio_read(BIO *h, char *buf, int size)
wrapper for Bio::read()
Definition: bio.cc:597
static int squid_bio_destroy(BIO *data)
cleans BIO table before deallocation
Definition: bio.cc:579
#define NULL
Definition: types.h:166

Initialization structure for the BIO table with Squid-specific methods and BIO method wrappers.

Definition at line 51 of file bio.cc.

Referenced by Ssl::Bio::Create().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors