ACL::Prototype Acl::ConnectionsEncrypted::RegistryProtoype(&Acl::ConnectionsEncrypted::RegistryEntry_, "connections_encrypted");
Acl::ConnectionsEncrypted Acl::ConnectionsEncrypted::RegistryEntry_("connections_encrypted");
+
BodyPipe::Pointer body_pipe; // optional pipeline to receive message body
- uint32_t sources; ///< The message sources
+ uint32_t sources; ///< The message sources
// returns true and sets hdr_sz on success
// returns false and sets *error to zero when needs more data
/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
/* DEBUG: section 28 Access Control */
#include "squid.h"
-#include "acl/FilledChecklist.h"
#include "acl/ConnectionsEncrypted.h"
+#include "acl/FilledChecklist.h"
#include "Debug.h"
-#include "HttpRequest.h"
#include "HttpReply.h"
+#include "HttpRequest.h"
#include "SquidConfig.h"
ACL *
}
ACLFilledChecklist *filled = Filled((ACLChecklist*)checklist);
-
+
const bool safeRequest =
!(filled->request->sources & HttpMsg::srcUnsafe);
const bool safeReply = !filled->reply ||
- !(filled->reply->sources & HttpMsg::srcUnsafe);
+ !(filled->reply->sources & HttpMsg::srcUnsafe);
return (safeRequest && safeReply) ? 1 : 0;
}
/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
#include "acl/Acl.h"
#include "acl/Checklist.h"
-namespace Acl
+namespace Acl
{
class ConnectionsEncrypted : public ACL
if (Config.onoff.client_dst_passthru && (checklist->request->flags.intercepted || checklist->request->flags.interceptTproxy)) {
const auto conn = checklist->conn();
return (conn && conn->clientConnection) ?
- ACLIP::match(conn->clientConnection->local) : -1;
+ ACLIP::match(conn->clientConnection->local) : -1;
}
if (flags.isSet(ACL_F_NO_LOOKUP)) {
SQUIDSTRINGPRINT(cfg.key),
cfg.methodStr(), cfg.vectPointStr(), cfg.bypass,
SQUIDSTRINGPRINT(cfg.uri),
-
+
optConnectionEncryption);
}
}
{
adapted->sources |= service().cfg().connectionEncryption ? HttpMsg::srcEcaps : HttpMsg::srcEcap;
}
+
if (state.sending == State::sendingVirgin)
echoMore();
else {
- // If we are not using the virgin HTTP object update the
+ // If we are not using the virgin HTTP object update the
// HttpMsg::sources flag.
// The state.sending may set to State::sendingVirgin in the case
// of 206 responses too, where we do not want to update HttpMsg::sources
- // flag. However even for 206 responses the state.sending is
- // not set yet to sendingVirgin. This is done in later step
+ // flag. However even for 206 responses the state.sending is
+ // not set yet to sendingVirgin. This is done in later step
// after the parseBody method called.
updateSources();
}
writeableCfg().connectionEncryption.configure(true);
} else if (!cfg().connectionEncryption.configured())
writeableCfg().connectionEncryption.configure(false);
-
theSessionFailures.configure(TheConfig.oldest_service_failure > 0 ?
TheConfig.oldest_service_failure : -1);
request->flags.noDirect = (request->flags.accelerated && !request->flags.sslBumped) ?
!conn->port->allow_direct : 0;
request->sources |= isFtp ? HttpMsg::srcFtp :
- ((request->flags.sslBumped || conn->port->transport.protocol == AnyP::PROTO_HTTPS) ? HttpMsg::srcHttps : HttpMsg::srcHttp);
+ ((request->flags.sslBumped || conn->port->transport.protocol == AnyP::PROTO_HTTPS) ? HttpMsg::srcHttps : HttpMsg::srcHttp);
#if USE_AUTH
if (request->flags.sslBumped) {
if (conn->getAuth() != NULL)