static void ExternalAclLookup(ACLChecklist * ch, ACLExternal *);
ACLExternal(char const *);
- ACLExternal(ACLExternal const &);
~ACLExternal();
- ACLExternal&operator=(ACLExternal const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
static ACL *FindByName(const char *name);
ACL();
+ ACL(ACL &&) = delete; // no copying of any kind
virtual ~ACL();
/// sets user-specified ACL name and squid.conf context
}
}
-ACLData<char const *> *
-ACLAdaptationServiceData::clone() const
-{
- return new ACLAdaptationServiceData(*this);
-}
-
{
public:
ACLAdaptationServiceData() : ACLStringData() {}
- ACLAdaptationServiceData(ACLAdaptationServiceData const &old) : ACLStringData(old) {};
- // Not implemented
- ACLAdaptationServiceData &operator= (ACLAdaptationServiceData const &);
virtual void parse();
- virtual ACLData<char const *> *clone() const;
};
#endif /* SQUID_ADAPTATIONSERVICEDATA_H */
return "all-of";
}
-ACL *
-Acl::AllOf::clone() const
-{
- return new AllOf;
-}
-
SBufList
Acl::AllOf::dump() const
{
public:
/* ACL API */
virtual char const *typeString() const;
- virtual ACL *clone() const;
virtual void parse();
virtual SBufList dump() const;
notes->updateNotePairs(pairs, delimiters, al);
}
-ACLData<NotePairs::Entry *> *
-ACLAnnotationData::clone() const
-{
- return new ACLAnnotationData;
-}
-
virtual SBufList dump() const;
virtual void parse();
virtual bool empty() const { return notes->empty(); }
- virtual ACLData<NotePairs::Entry *> *clone() const;
/// Stores annotations into pairs.
void annotate(NotePairs::Pointer pairs, const CharacterSet *delimiters, const AccessLogEntry::Pointer &al);
return "any-of";
}
-ACL *
-Acl::AnyOf::clone() const
-{
- return new AnyOf;
-}
-
// called once per "acl name any-of name1 name2 ...." line
// but since multiple lines are ORed, the line boundary does not matter,
// so we flatten the tree into one line/level here to minimize overheads
public:
/* ACL API */
virtual char const *typeString() const;
- virtual ACL *clone() const;
virtual void parse();
};
#include <algorithm>
-ACL *
-ACLARP::clone() const
-{
- return new ACLARP(*this);
-}
-
ACLARP::ACLARP (char const *theClass) : class_ (theClass)
{}
-ACLARP::ACLARP (ACLARP const & old) : class_ (old.class_), aclArpData(old.aclArpData)
-{
-}
-
char const *
ACLARP::typeString() const
{
public:
ACLARP(char const *);
- ACLARP(ACLARP const &);
~ACLARP() {}
- ACLARP&operator=(ACLARP const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
}
}
-ACLData<Ip::Address> *
-ACLASN::clone() const
-{
- if (data)
- fatal ("cloning of ACLASN not implemented");
-
- return new ACLASN(*this);
-}
-
/* explicit template instantiation required for some systems */
template class ACLStrategised<Ip::Address>;
virtual SBufList dump() const;
virtual void parse();
bool empty() const;
- virtual ACLData<Ip::Address> *clone() const;
virtual void prepareForUse();
private:
ACLAtStepData::ACLAtStepData()
{}
-ACLAtStepData::ACLAtStepData(ACLAtStepData const &old)
-{
- values.assign(old.values.begin(), old.values.end());
-}
-
ACLAtStepData::~ACLAtStepData()
{
}
return values.empty();
}
-ACLAtStepData *
-ACLAtStepData::clone() const
-{
- return new ACLAtStepData(*this);
-}
-
public:
ACLAtStepData();
- ACLAtStepData(ACLAtStepData const &);
- ACLAtStepData &operator= (ACLAtStepData const &);
virtual ~ACLAtStepData();
bool match(XactionStep);
virtual SBufList dump() const;
void parse();
bool empty() const;
- virtual ACLAtStepData *clone() const;
std::list<XactionStep> values;
};
return "!";
}
-ACL *
-Acl::NotNode::clone() const
-{
- // Not implemented: we are not a named ACL type in squid.conf so nobody
- // should try to create a NotNode instance by ACL type name (which is
- // what clone() API is for -- it does not really clone anything).
- assert(false);
- return NULL;
-}
-
SBufList
Acl::NotNode::dump() const
{
return "and";
}
-ACL *
-Acl::AndNode::clone() const
-{
- return new AndNode;
-}
-
int
Acl::AndNode::doMatch(ACLChecklist *checklist, Nodes::const_iterator start) const
{
return "any-of";
}
-ACL *
-Acl::OrNode::clone() const
-{
- return new OrNode;
-}
-
bool
Acl::OrNode::bannedAction(ACLChecklist *, Nodes::const_iterator) const
{
private:
/* ACL API */
virtual char const *typeString() const;
- virtual ACL *clone() const;
virtual void parse();
virtual SBufList dump() const;
public:
/* ACL API */
virtual char const *typeString() const;
- virtual ACL *clone() const;
virtual void parse();
private:
/* ACL API */
virtual char const *typeString() const;
- virtual ACL *clone() const;
virtual void parse();
protected:
}
}
-ACLCertificateData::ACLCertificateData(ACLCertificateData const &old) : attribute (NULL), values (old.values), sslAttributeCall (old.sslAttributeCall)
-{
- validAttributesStr = old.validAttributesStr;
- validAttributes.assign (old.validAttributes.begin(), old.validAttributes.end());
- attributeIsOptional = old.attributeIsOptional;
- if (old.attribute)
- attribute = xstrdup(old.attribute);
-}
-
template<class T>
inline void
xRefFree(T &thing)
return values.empty();
}
-ACLData<X509 *> *
-ACLCertificateData::clone() const
-{
- /* Splay trees don't clone yet. */
- return new ACLCertificateData(*this);
-}
-
public:
ACLCertificateData(Ssl::GETX509ATTRIBUTE *, const char *attributes, bool optionalAttr = false);
- ACLCertificateData(ACLCertificateData const &);
- ACLCertificateData &operator= (ACLCertificateData const &);
virtual ~ACLCertificateData();
bool match(X509 *);
virtual SBufList dump() const;
void parse();
bool empty() const;
- virtual ACLData<X509 *> *clone() const;
/// A '|'-delimited list of valid ACL attributes.
/// A "*" item means that any attribute is acceptable.
#include "HttpRequest.h"
#include "SquidConfig.h"
-ACL *
-Acl::ConnectionsEncrypted::clone() const
-{
- return new Acl::ConnectionsEncrypted(*this);
-}
-
Acl::ConnectionsEncrypted::ConnectionsEncrypted (char const *theClass) : class_ (theClass)
{}
-Acl::ConnectionsEncrypted::ConnectionsEncrypted (Acl::ConnectionsEncrypted const & old) :class_ (old.class_)
-{}
-
Acl::ConnectionsEncrypted::~ConnectionsEncrypted()
{}
public:
ConnectionsEncrypted(char const *);
- ConnectionsEncrypted(ConnectionsEncrypted const &);
virtual ~ConnectionsEncrypted();
- ConnectionsEncrypted &operator =(ConnectionsEncrypted const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
{
public:
-
+ ACLData() = default;
+ ACLData(ACLData<M> &&) = delete; // no copying of any kind
virtual ~ACLData() {}
/// \returns the flags supported by these ACL parameters (e.g., "-i")
virtual bool match(M) =0;
virtual SBufList dump() const =0;
virtual void parse() =0;
- virtual ACLData *clone() const =0;
virtual void prepareForUse() {}
virtual bool empty() const =0;
checklist->resumeNonBlockingCheck(DestinationIPLookup::Instance());
}
-ACL *
-ACLDestinationIP::clone() const
-{
- return new ACLDestinationIP(*this);
-}
-
virtual const Acl::Options &options();
virtual int match(ACLChecklist *checklist);
- virtual ACL *clone()const;
-
private:
Acl::BooleanOptionValue lookupBanned; ///< are DNS lookups allowed?
};
return domains->empty();
}
-ACLData<char const *> *
-ACLDomainData::clone() const
-{
- /* Splay trees don't clone yet. */
- assert (!domains);
- return new ACLDomainData;
-}
-
virtual SBufList dump() const;
void parse();
bool empty() const;
- virtual ACLData<char const *> *clone() const;
Splay<char *> *domains;
};
#include "globals.h"
#include "ip/Address.h"
-ACL *
-ACLEui64::clone() const
-{
- return new ACLEui64(*this);
-}
-
ACLEui64::ACLEui64 (char const *theClass) : class_ (theClass)
{}
-ACLEui64::ACLEui64 (ACLEui64 const & old) : eui64Data(old.eui64Data), class_ (old.class_)
-{
-}
-
char const *
ACLEui64::typeString() const
{
public:
ACLEui64(char const *);
- ACLEui64(ACLEui64 const &);
~ACLEui64() {}
- ACLEui64&operator=(ACLEui64 const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
ACLExtUser::ACLExtUser(ACLData<char const *> *newData, char const *newType) : data (newData), type_ (newType) {}
-ACLExtUser::ACLExtUser (ACLExtUser const &old) : data (old.data->clone()), type_ (old.type_)
-{}
-
-ACLExtUser &
-ACLExtUser::operator= (ACLExtUser const &rhs)
-{
- data = rhs.data->clone();
- type_ = rhs.type_;
- return *this;
-}
-
char const *
ACLExtUser::typeString() const
{
return data->empty();
}
-ACL *
-ACLExtUser::clone() const
-{
- return new ACLExtUser(*this);
-}
-
#endif /* USE_AUTH */
public:
ACLExtUser(ACLData<char const *> *newData, char const *);
- ACLExtUser (ACLExtUser const &old);
- ACLExtUser & operator= (ACLExtUser const &rhs);
~ACLExtUser();
/* ACL API */
virtual int match(ACLChecklist *checklist);
virtual SBufList dump() const;
virtual bool empty () const;
- virtual ACL *clone()const;
private:
ACLData<char const *> *data;
}
}
-ACLData<ACLChecklist *> *
-ACLHasComponentData::clone() const
-{
- return new ACLHasComponentData(*this);
-}
-
virtual SBufList dump() const override;
virtual void parse() override;
virtual bool empty() const override { return false; }
- virtual ACLData<ACLChecklist *> *clone() const override;
private:
enum ComponentKind { coRequest = 0, coResponse, coAle, coEnd };
memset(values, 0, sizeof(values));
}
-ACLHierCodeData::ACLHierCodeData(ACLHierCodeData const &old)
-{
- memcpy(values, old.values, sizeof(values) );
-}
-
ACLHierCodeData::~ACLHierCodeData()
{ }
return true;
}
-ACLData<hier_code> *
-ACLHierCodeData::clone() const
-{
- return new ACLHierCodeData(*this);
-}
-
public:
ACLHierCodeData();
- ACLHierCodeData(ACLHierCodeData const &);
- ACLHierCodeData &operator= (ACLHierCodeData const &);
virtual ~ACLHierCodeData();
bool match(hier_code);
virtual SBufList dump() const;
void parse();
bool empty() const;
- virtual ACLData<hier_code> *clone() const;
/// mask of codes this ACL might match.
bool values[HIER_MAX];
return (hdrId == Http::HdrType::BAD_HDR && hdrName.isEmpty()) || regex_rule->empty();
}
-ACLData<HttpHeader*> *
-ACLHTTPHeaderData::clone() const
-{
- /* Header's don't clone yet. */
- ACLHTTPHeaderData * result = new ACLHTTPHeaderData;
- result->regex_rule = regex_rule->clone();
- result->hdrId = hdrId;
- result->hdrName = hdrName;
- return result;
-}
-
virtual SBufList dump() const;
virtual void parse();
virtual bool empty() const;
- virtual ACLData<HttpHeader*> *clone() const;
private:
Http::HdrType hdrId; /**< set if header is known */
return ret;
}
-ACL *
-ACLHTTPStatus::clone() const
-{
- return new ACLHTTPStatus(*this);
-}
-
ACLHTTPStatus::ACLHTTPStatus (char const *theClass) : data(NULL), class_ (theClass)
{}
-ACLHTTPStatus::ACLHTTPStatus (ACLHTTPStatus const & old) : data(NULL), class_ (old.class_)
-{
- /* we don't have copy constructors for the data yet */
- assert(!old.data);
-}
-
ACLHTTPStatus::~ACLHTTPStatus()
{
if (data) {
public:
ACLHTTPStatus(char const *);
- ACLHTTPStatus(ACLHTTPStatus const &);
~ACLHTTPStatus();
- ACLHTTPStatus&operator=(ACLHTTPStatus const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
return false;
}
-ACLData<int> *
-ACLIntRange::clone() const
-{
- if (!ranges.empty())
- fatal("ACLIntRange::clone: attempt to clone used ACL");
-
- return new ACLIntRange(*this);
-}
-
ACLIntRange::~ACLIntRange()
{}
virtual SBufList dump() const;
virtual void parse();
virtual bool empty() const;
- virtual ACLData<int> *clone() const;
private:
typedef Range<int> RangeType;
return ACLIP::match (Filled(checklist)->my_addr);
}
-ACL *
-ACLLocalIP::clone() const
-{
- return new ACLLocalIP(*this);
-}
-
public:
virtual char const *typeString() const;
virtual int match(ACLChecklist *checklist);
- virtual ACL *clone()const;
};
#endif /* SQUID_ACLLOCALIP_H */
#include "Debug.h"
#include "SquidConfig.h"
-ACL *
-ACLMaxConnection::clone() const
-{
- return new ACLMaxConnection(*this);
-}
-
ACLMaxConnection::ACLMaxConnection (char const *theClass) : class_ (theClass), limit(-1)
{}
-ACLMaxConnection::ACLMaxConnection (ACLMaxConnection const & old) :class_ (old.class_), limit (old.limit)
-{}
-
ACLMaxConnection::~ACLMaxConnection()
{}
public:
ACLMaxConnection(char const *);
- ACLMaxConnection(ACLMaxConnection const &);
~ACLMaxConnection();
- ACLMaxConnection&operator=(ACLMaxConnection const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
int ACLMethodData::ThePurgeCount = 0;
-ACLMethodData::ACLMethodData(ACLMethodData const &old)
-{
- assert(old.values.empty());
-}
-
ACLMethodData::~ACLMethodData()
{
values.clear();
}
}
-ACLData<HttpRequestMethod> *
-ACLMethodData::clone() const
-{
- assert(values.empty());
- return new ACLMethodData(*this);
-}
-
public:
ACLMethodData() {}
- ACLMethodData(ACLMethodData const &);
- ACLMethodData &operator= (ACLMethodData const &);
virtual ~ACLMethodData();
bool match(HttpRequestMethod);
virtual SBufList dump() const;
void parse();
bool empty() const {return values.empty();}
- virtual ACLData<HttpRequestMethod> *clone() const;
std::list<HttpRequestMethod> values;
return name.isEmpty();
}
-ACLData<NotePairs::Entry *> *
-ACLNoteData::clone() const
-{
- ACLNoteData * result = new ACLNoteData;
- result->values = dynamic_cast<ACLStringData*>(values->clone());
- assert(result->values);
- result->name = name;
- return result;
-}
-
virtual SBufList dump() const;
virtual void parse();
virtual bool empty() const;
- virtual ACLData<NotePairs::Entry *> *clone() const;
private:
SBuf name; ///< Note name to check. It is always set
#include "Debug.h"
#include "wordlist.h"
-ACLProtocolData::ACLProtocolData(ACLProtocolData const &old)
-{
- assert(old.values.empty());
-}
-
ACLProtocolData::~ACLProtocolData()
{
values.clear();
}
}
-ACLData<AnyP::ProtocolType> *
-ACLProtocolData::clone() const
-{
- /* Splay trees don't clone yet. */
- assert(values.empty());
- return new ACLProtocolData(*this);
-}
-
public:
ACLProtocolData() {}
- ACLProtocolData(ACLProtocolData const &);
- ACLProtocolData &operator= (ACLProtocolData const &);
virtual ~ACLProtocolData();
bool match(AnyP::ProtocolType);
virtual SBufList dump() const;
void parse();
bool empty() const {return values.empty();}
- virtual ACLData<AnyP::ProtocolType> *clone() const;
std::list<AnyP::ProtocolType> values;
};
#include <random>
-ACL *
-ACLRandom::clone() const
-{
- return new ACLRandom(*this);
-}
-
ACLRandom::ACLRandom(char const *theClass) : data(0.0), class_(theClass)
{
memset(pattern, 0, sizeof(pattern));
}
-ACLRandom::ACLRandom(ACLRandom const & old) : data(old.data), class_(old.class_)
-{
- memcpy(pattern, old.pattern, sizeof(pattern));
-}
-
ACLRandom::~ACLRandom()
{ }
public:
ACLRandom(char const *);
- ACLRandom(ACLRandom const &);
~ACLRandom();
- ACLRandom&operator=(ACLRandom const &);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
return data.empty();
}
-ACLData<char const *> *
-ACLRegexData::clone() const
-{
- /* Regex's don't clone yet. */
- assert(data.empty());
- return new ACLRegexData;
-}
-
virtual void parse();
virtual const Acl::ParameterFlags &supportedFlags() const;
virtual bool empty() const;
- virtual ACLData<char const *> *clone() const;
private:
std::list<RegexPattern> data;
}
-ACLData<char const *> *
-ACLServerNameData::clone() const
-{
- /* Splay trees don't clone yet. */
- assert (!domains);
- return new ACLServerNameData;
-}
-
/// A helper function to be used with Ssl::matchX509CommonNames().
/// \retval 0 when the name (cn or an alternate name) matches acl data
/// \retval 1 when the name does not match
public:
ACLServerNameData() : ACLDomainData() {}
virtual bool match(const char *);
- virtual ACLData<char const *> *clone() const;
};
class ACLServerNameStrategy : public ACLStrategy<char const *>
return ACLIP::match(Filled(checklist)->src_addr);
}
-ACL *
-ACLSourceIP::clone() const
-{
- return new ACLSourceIP(*this);
-}
-
public:
virtual char const *typeString() const;
virtual int match(ACLChecklist *checklist);
- virtual ACL *clone()const;
};
#endif /* SQUID_ACLSOURCEIP_H */
return errors.empty();
}
-ACLData<err_type> *
-ACLSquidErrorData::clone() const
-{
- if (!errors.empty())
- fatal("ACLSquidError::clone: attempt to clone used ACL");
-
- return new ACLSquidErrorData (*this);
-}
-
virtual SBufList dump() const;
virtual void parse();
virtual bool empty() const;
- virtual ACLData<err_type> *clone() const;
private:
CbDataListContainer <err_type> errors;
#include "security/CertError.h"
#include "ssl/ErrorDetail.h"
-ACLSslErrorData::ACLSslErrorData(ACLSslErrorData const &o) :
- values(o.values)
-{}
-
bool
ACLSslErrorData::match(const Security::CertErrors *toFind)
{
}
}
-ACLSslErrorData *
-ACLSslErrorData::clone() const
-{
- return new ACLSslErrorData(*this);
-}
-
public:
ACLSslErrorData() = default;
- ACLSslErrorData(ACLSslErrorData const &);
- ACLSslErrorData &operator= (ACLSslErrorData const &);
virtual ~ACLSslErrorData() {}
bool match(const Security::CertErrors *);
virtual SBufList dump() const;
void parse();
bool empty() const { return values.empty(); }
- virtual ACLSslErrorData *clone() const;
Security::Errors values;
};
~ACLStrategised();
ACLStrategised(ACLData<MatchType> *, ACLStrategy<MatchType> *, char const *);
- ACLStrategised(ACLStrategised const &&) = delete;
virtual char const *typeString() const;
virtual void parseFlags();
#include "ConfigParser.h"
#include "Debug.h"
-ACLStringData::ACLStringData(ACLStringData const &old) : stringValues(old.stringValues)
-{
-}
-
void
ACLStringData::insert(const char *value)
{
return stringValues.empty();
}
-ACLData<char const *> *
-ACLStringData::clone() const
-{
- /* Splay trees don't clone yet. */
- return new ACLStringData(*this);
-}
-
public:
ACLStringData() {}
- ACLStringData(ACLStringData const &);
- ACLStringData &operator= (ACLStringData const &);
virtual ~ACLStringData() {}
/// \deprecated use match(SBuf&) instead.
bool match(char const *);
virtual SBufList dump() const;
virtual void parse();
bool empty() const;
- virtual ACLData<char const *> *clone() const;
+
/// Insert a string data value
void insert(const char *);
ACLTimeData::ACLTimeData () : weekbits (0), start (0), stop (0), next (NULL) {}
-ACLTimeData::ACLTimeData(ACLTimeData const &old) : weekbits(old.weekbits), start (old.start), stop (old.stop), next (NULL)
-{
- if (old.next)
- next = (ACLTimeData *)old.next->clone();
-}
-
-ACLTimeData&
-ACLTimeData::operator=(ACLTimeData const &old)
-{
- weekbits = old.weekbits;
- start = old.start;
- stop = old.stop;
- next = NULL;
-
- if (old.next)
- next = (ACLTimeData *)old.next->clone();
-
- return *this;
-}
-
ACLTimeData::~ACLTimeData()
{
if (next)
return false;
}
-ACLData<time_t> *
-ACLTimeData::clone() const
-{
- return new ACLTimeData(*this);
-}
-
public:
ACLTimeData();
- ACLTimeData(ACLTimeData const &);
- ACLTimeData&operator=(ACLTimeData const &);
virtual ~ACLTimeData();
bool match(time_t);
virtual SBufList dump() const;
void parse();
bool empty() const;
- virtual ACLData<time_t> *clone() const;
private:
int weekbits;
#include "MasterXaction.h"
#include "SquidConfig.h"
-ACL *
-Acl::TransactionInitiator::clone() const
-{
- return new Acl::TransactionInitiator(*this);
-}
-
Acl::TransactionInitiator::TransactionInitiator (const char *aClass) : class_ (aClass), initiators_(0)
{}
public:
TransactionInitiator(char const *);
- virtual ACL *clone()const;
virtual char const *typeString() const;
virtual void parse();
virtual int match(ACLChecklist *checklist);
return userDataNames.empty();
}
-ACLData<char const *> *
-ACLUserData::clone() const
-{
- return new ACLUserData;
-}
-
void parse();
virtual const Acl::ParameterFlags &supportedFlags() const;
bool empty() const;
- virtual ACLData<char const *> *clone() const;
private:
maximum(0)
{}
-ACL *
-ACLMaxUserIP::clone() const
-{
- return new ACLMaxUserIP(*this);
-}
-
char const *
ACLMaxUserIP::typeString() const
{
public:
explicit ACLMaxUserIP(char const *theClass);
- virtual ACL *clone() const;
virtual char const *typeString() const;
virtual const Acl::Options &options();
virtual void parse();
type_(theType)
{}
-ACLProxyAuth::ACLProxyAuth(ACLProxyAuth const &old) :
- data(old.data->clone()),
- type_(old.type_)
-{}
-
-ACLProxyAuth &
-ACLProxyAuth::operator=(ACLProxyAuth const &rhs)
-{
- data = rhs.data->clone();
- type_ = rhs.type_;
- return *this;
-}
-
char const *
ACLProxyAuth::typeString() const
{
checklist->resumeNonBlockingCheck(ProxyAuthLookup::Instance());
}
-ACL *
-ACLProxyAuth::clone() const
-{
- return new ACLProxyAuth(*this);
-}
-
int
ACLProxyAuth::matchForCache(ACLChecklist *cl)
{
public:
~ACLProxyAuth();
ACLProxyAuth(ACLData<char const *> *, char const *);
- ACLProxyAuth(ACLProxyAuth const &);
- ACLProxyAuth &operator =(ACLProxyAuth const &);
/* ACL API */
virtual char const *typeString() const;
virtual bool valid() const;
virtual bool empty() const;
virtual bool requiresRequest() const {return true;}
- virtual ACL *clone() const;
virtual int matchForCache(ACLChecklist *checklist);
private:
checklist->resumeNonBlockingCheck(ExternalACLLookup::Instance());
}
-ACL *
-ACLExternal::clone() const
-{
- return new ACLExternal(*this);
-}
-
ACLExternal::ACLExternal(char const *theClass) : data(NULL), class_(xstrdup(theClass))
{}
-ACLExternal::ACLExternal(ACLExternal const & old) : data(NULL), class_(old.class_ ? xstrdup(old.class_) : NULL)
-{
- /* we don't have copy constructors for the data yet */
- assert(!old.data);
-}
-
char const *
ACLExternal::typeString() const
{
ACLIdent::ACLIdent(ACLData<char const *> *newData, char const *newType) : data (newData), type_ (newType) {}
-ACLIdent::ACLIdent (ACLIdent const &old) : data (old.data->clone()), type_ (old.type_)
-{}
-
-ACLIdent &
-ACLIdent::operator= (ACLIdent const &rhs)
-{
- data = rhs.data->clone();
- type_ = rhs.type_;
- return *this;
-}
-
char const *
ACLIdent::typeString() const
{
return data->empty();
}
-ACL *
-ACLIdent::clone() const
-{
- return new ACLIdent(*this);
-}
-
IdentLookup IdentLookup::instance_;
IdentLookup *
public:
ACLIdent(ACLData<char const *> *newData, char const *);
- ACLIdent (ACLIdent const &old);
- ACLIdent & operator= (ACLIdent const &rhs);
~ACLIdent();
/* ACL API */
virtual int match(ACLChecklist *checklist);
virtual SBufList dump() const;
virtual bool empty () const;
- virtual ACL *clone()const;
private:
ACLData<char const *> *data;
Acl::Answer AuthenticateAcl(ACLChecklist *) STUB_RETVAL(ACCESS_DENIED)
#include "auth/AclMaxUserIp.h"
-ACL * ACLMaxUserIP::clone() const STUB_RETVAL(NULL)
ACLMaxUserIP::ACLMaxUserIP (char const *) STUB
char const * ACLMaxUserIP::typeString() const STUB_RETVAL(NULL)
bool ACLMaxUserIP::empty () const STUB_RETVAL(false)
#include "auth/AclProxyAuth.h"
ACLProxyAuth::~ACLProxyAuth() STUB
ACLProxyAuth::ACLProxyAuth(ACLData<char const *> *, char const *) STUB
-ACLProxyAuth::ACLProxyAuth (ACLProxyAuth const &) STUB
-ACLProxyAuth & ACLProxyAuth::operator= (ACLProxyAuth const & a) STUB_RETVAL(const_cast<ACLProxyAuth &>(a))
char const * ACLProxyAuth::typeString() const STUB_RETVAL(NULL)
void ACLProxyAuth::parse() STUB
int ACLProxyAuth::match(ACLChecklist *) STUB_RETVAL(0)
ProxyAuthLookup * ProxyAuthLookup::Instance() STUB_RETVAL(NULL)
void ProxyAuthLookup::checkForAsync(ACLChecklist *) const STUB
void ProxyAuthLookup::LookupDone(void *) STUB
-ACL * ACLProxyAuth::clone() const STUB_RETVAL(NULL)
int ACLProxyAuth::matchForCache(ACLChecklist *) STUB_RETVAL(0)
int ACLProxyAuth::matchProxyAuth(ACLChecklist *) STUB_RETVAL(0)
void ACLProxyAuth::parseFlags() STUB