tunnel.cc File Reference
#include "squid.h"
#include "acl/FilledChecklist.h"
#include "base/CbcPointer.h"
#include "base/JobWait.h"
#include "CachePeer.h"
#include "cbdata.h"
#include "client_side.h"
#include "client_side_request.h"
#include "clients/HttpTunneler.h"
#include "comm.h"
#include "comm/Connection.h"
#include "comm/ConnOpener.h"
#include "comm/Read.h"
#include "comm/Write.h"
#include "errorpage.h"
#include "fd.h"
#include "fde.h"
#include "FwdState.h"
#include "globals.h"
#include "HappyConnOpener.h"
#include "http.h"
#include "http/Stream.h"
#include "HttpRequest.h"
#include "icmp/net_db.h"
#include "ip/QosConfig.h"
#include "LogTags.h"
#include "MemBuf.h"
#include "neighbors.h"
#include "PeerSelectState.h"
#include "ResolvedPeers.h"
#include "sbuf/SBuf.h"
#include "security/BlindPeerConnector.h"
#include "SquidConfig.h"
#include "SquidTime.h"
#include "StatCounters.h"
#include "ssl/bio.h"
#include "ssl/ServerBump.h"
#include "tools.h"
#include "tunnel.h"
#include "DelayId.h"
#include <climits>
#include <cerrno>
Include dependency graph for tunnel.cc:

Go to the source code of this file.

Classes

class  TunnelStateData
 
class  TunnelStateData::Connection
 
class  TunnelStateData::MyAnswerDialer
 Gives Security::PeerConnector access to Answer in the TunnelStateData callback dialer. More...
 

Functions

static void tunnelServerClosed (const CommCloseCbParams &params)
 TunnelStateData::serverClosed() wrapper. More...
 
static void tunnelClientClosed (const CommCloseCbParams &params)
 TunnelStateData::clientClosed() wrapper. More...
 
static void tunnelTimeout (const CommTimeoutCbParams &io)
 
static void tunnelDelayedClientRead (void *data)
 
static void tunnelDelayedServerRead (void *data)
 
static void tunnelStartShoveling (TunnelStateData *tunnelState)
 
static void tunnelConnectedWriteDone (const Comm::ConnectionPointer &conn, char *, size_t len, Comm::Flag flag, int, void *data)
 
static void tunnelErrorComplete (int fd, void *data, size_t)
 
void tunnelStart (ClientHttpRequest *http)
 
void switchToTunnel (HttpRequest *request, const Comm::ConnectionPointer &clientConn, const Comm::ConnectionPointer &srvConn, const SBuf &preReadServerData)
 

Variables

static ERCB tunnelErrorComplete
 
static CLCB tunnelServerClosed
 
static CLCB tunnelClientClosed
 
static CTCB tunnelTimeout
 
static EVH tunnelDelayedClientRead
 
static EVH tunnelDelayedServerRead
 

Function Documentation

◆ switchToTunnel()

void switchToTunnel ( HttpRequest request,
const Comm::ConnectionPointer clientConn,
const Comm::ConnectionPointer srvConn,
const SBuf preReadServerData 
)

◆ tunnelClientClosed()

static void tunnelClientClosed ( const CommCloseCbParams params)
static

Definition at line 325 of file tunnel.cc.

References TunnelStateData::clientClosed(), and CommCommonCbParams::data.

◆ tunnelConnectedWriteDone()

static void tunnelConnectedWriteDone ( const Comm::ConnectionPointer conn,
char *  ,
size_t  len,
Comm::Flag  flag,
int  ,
void *  data 
)
static

◆ tunnelDelayedClientRead()

◆ tunnelDelayedServerRead()

◆ tunnelErrorComplete()

static void tunnelErrorComplete ( int  fd,
void *  data,
size_t   
)
static

◆ tunnelServerClosed()

static void tunnelServerClosed ( const CommCloseCbParams params)
static

Definition at line 311 of file tunnel.cc.

References CommCommonCbParams::data, and TunnelStateData::serverClosed().

◆ tunnelStart()

◆ tunnelStartShoveling()

◆ tunnelTimeout()

static void tunnelTimeout ( const CommTimeoutCbParams io)
static

Variable Documentation

◆ tunnelClientClosed

CLCB tunnelClientClosed
static

Definition at line 304 of file tunnel.cc.

Referenced by TunnelStateData::TunnelStateData().

◆ tunnelDelayedClientRead

EVH tunnelDelayedClientRead
static

Definition at line 306 of file tunnel.cc.

Referenced by TunnelStateData::TunnelStateData().

◆ tunnelDelayedServerRead

EVH tunnelDelayedServerRead
static

Definition at line 307 of file tunnel.cc.

Referenced by TunnelStateData::TunnelStateData().

◆ tunnelErrorComplete

ERCB tunnelErrorComplete
static

Definition at line 302 of file tunnel.cc.

Referenced by TunnelStateData::sendError(), and tunnelConnectedWriteDone().

◆ tunnelServerClosed

CLCB tunnelServerClosed
static

Definition at line 303 of file tunnel.cc.

Referenced by TunnelStateData::notePeerReadyToShovel(), and switchToTunnel().

◆ tunnelTimeout

CTCB tunnelTimeout
static

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors