From: Francesco Chemolli Date: Sat, 12 Apr 2014 17:32:34 +0000 (+0200) Subject: Convert to SBufList some missing acl dump methods X-Git-Tag: SQUID_3_5_0_1~295^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2cb8d37208753f51e7b45ab8a2f9fa1f4eb58c0d;p=thirdparty%2Fsquid.git Convert to SBufList some missing acl dump methods --- diff --git a/src/acl/CertificateData.cc b/src/acl/CertificateData.cc index 16c027d0d3..d64bbf4e5f 100644 --- a/src/acl/CertificateData.cc +++ b/src/acl/CertificateData.cc @@ -98,23 +98,23 @@ ACLCertificateData::match(X509 *cert) static void aclDumpAttributeListWalkee(char * const & node_data, void *outlist) { - /* outlist is really a wordlist ** */ - wordlistAdd((wordlist **)outlist, node_data); + /* outlist is really a SBufList * */ + static_cast(outlist)->push_back(SBuf(node_data)); } -wordlist * -ACLCertificateData::dump() +SBufList +ACLCertificateData::dump() const { - wordlist *wl = NULL; + SBufList sl; if (validAttributesStr) - wordlistAdd(&wl, attribute); + sl.push_back(SBuf(attribute)); /* damn this is VERY inefficient for long ACL lists... filling * a wordlist this way costs Sum(1,N) iterations. For instance * a 1000-elements list will be filled in 499500 iterations. */ /* XXX FIXME: don't break abstraction */ - values.values->walk(aclDumpAttributeListWalkee, &wl); - return wl; + values.values->walk(aclDumpAttributeListWalkee, &sl); + return sl; } void diff --git a/src/acl/CertificateData.h b/src/acl/CertificateData.h index 9ca261eb7d..8b1c10f685 100644 --- a/src/acl/CertificateData.h +++ b/src/acl/CertificateData.h @@ -53,7 +53,7 @@ public: ACLCertificateData &operator= (ACLCertificateData const &); virtual ~ACLCertificateData(); bool match(X509 *); - wordlist *dump(); + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/DomainData.h b/src/acl/DomainData.h index abc98467df..35926e9796 100644 --- a/src/acl/DomainData.h +++ b/src/acl/DomainData.h @@ -46,7 +46,7 @@ public: virtual ~ACLDomainData(); bool match(char const *); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/HierCodeData.h b/src/acl/HierCodeData.h index a5d97f8734..8194d5b398 100644 --- a/src/acl/HierCodeData.h +++ b/src/acl/HierCodeData.h @@ -18,7 +18,7 @@ public: ACLHierCodeData &operator= (ACLHierCodeData const &); virtual ~ACLHierCodeData(); bool match(hier_code); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/HttpStatus.cc b/src/acl/HttpStatus.cc index df39dedfc0..d125221d4c 100644 --- a/src/acl/HttpStatus.cc +++ b/src/acl/HttpStatus.cc @@ -50,7 +50,7 @@ acl_httpstatus_data::acl_httpstatus_data(int x) : status1(x), status2(x) { ; } acl_httpstatus_data::acl_httpstatus_data(int x, int y) : status1(x), status2(y) { ; } SBuf -acl_httpstatus_data::repr() const +acl_httpstatus_data::toStr() const { SBuf rv; if (status2 == INT_MAX) @@ -71,8 +71,8 @@ int acl_httpstatus_data::compare(acl_httpstatus_data* const& a, acl_httpstatus_d ret = aclHTTPStatusCompare(a, b); if (ret == 0) { - const SBuf sa = a->repr(); - const SBuf sb = b->repr(); + const SBuf sa = a->toStr(); + const SBuf sb = b->toStr(); debugs(28, DBG_CRITICAL, "WARNING: '" << sa << "' is a subrange of '" << sb << "'"); debugs(28, DBG_CRITICAL, "WARNING: because of this '" << sa << "' is ignored to keep splay tree searching predictable"); debugs(28, DBG_CRITICAL, "WARNING: You should probably remove '" << sb << "' from the ACL named '" << AclMatchedName << "'"); @@ -185,7 +185,7 @@ static void aclDumpHTTPStatusListWalkee(acl_httpstatus_data * const &node, void *state) { // state is a SBufList* - static_cast(state)->push_back(node->repr()); + static_cast(state)->push_back(node->toStr()); } SBufList diff --git a/src/acl/HttpStatus.h b/src/acl/HttpStatus.h index c28f2d12b1..a3846af8ed 100644 --- a/src/acl/HttpStatus.h +++ b/src/acl/HttpStatus.h @@ -42,7 +42,7 @@ struct acl_httpstatus_data { int status1, status2; acl_httpstatus_data(int); acl_httpstatus_data(int, int); - SBuf repr() const; // was toStr + SBuf toStr() const; // was toStr static int compare(acl_httpstatus_data* const& a, acl_httpstatus_data* const& b); }; diff --git a/src/acl/MethodData.h b/src/acl/MethodData.h index 30a1604df8..916fac9474 100644 --- a/src/acl/MethodData.h +++ b/src/acl/MethodData.h @@ -50,7 +50,7 @@ public: ACLMethodData &operator= (ACLMethodData const &); virtual ~ACLMethodData(); bool match(HttpRequestMethod); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/ProtocolData.h b/src/acl/ProtocolData.h index f7819c7f4b..56f1538e10 100644 --- a/src/acl/ProtocolData.h +++ b/src/acl/ProtocolData.h @@ -50,7 +50,7 @@ public: ACLProtocolData &operator= (ACLProtocolData const &); virtual ~ACLProtocolData(); bool match(AnyP::ProtocolType); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/SslErrorData.cc b/src/acl/SslErrorData.cc index e71ffb157a..85c9064617 100644 --- a/src/acl/SslErrorData.cc +++ b/src/acl/SslErrorData.cc @@ -67,18 +67,16 @@ ACLSslErrorData::match(const Ssl::CertErrors *toFind) // template cbdata_type Ssl::Errors::CBDATA_CbDataList; /** \endcond */ -wordlist * -ACLSslErrorData::dump() +SBufList +ACLSslErrorData::dump() const { - wordlist *W = NULL; + SBufList sl; Ssl::Errors *data = values; - while (data != NULL) { - wordlistAdd(&W, Ssl::GetErrorName(data->element)); + sl.push_back(SBuf(Ssl::GetErrorName(data->element))); data = data->next; } - - return W; + return sl; } void diff --git a/src/acl/SslErrorData.h b/src/acl/SslErrorData.h index 5104b308ed..957b2f94bf 100644 --- a/src/acl/SslErrorData.h +++ b/src/acl/SslErrorData.h @@ -18,7 +18,7 @@ public: ACLSslErrorData &operator= (ACLSslErrorData const &); virtual ~ACLSslErrorData(); bool match(const Ssl::CertErrors *); - wordlist *dump(); + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLSslErrorData *clone() const; diff --git a/src/acl/StringData.h b/src/acl/StringData.h index a23c942a0b..031358a623 100644 --- a/src/acl/StringData.h +++ b/src/acl/StringData.h @@ -48,7 +48,7 @@ public: ACLStringData &operator= (ACLStringData const &); virtual ~ACLStringData(); bool match(char const *); - SBufList dump() const; + virtual SBufList dump() const; virtual void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/TimeData.h b/src/acl/TimeData.h index c7c5337521..d3a32c9f15 100644 --- a/src/acl/TimeData.h +++ b/src/acl/TimeData.h @@ -48,7 +48,7 @@ public: ACLTimeData&operator=(ACLTimeData const &); virtual ~ACLTimeData(); bool match(time_t); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/acl/UserData.h b/src/acl/UserData.h index 30453bc0da..5dab1dcb18 100644 --- a/src/acl/UserData.h +++ b/src/acl/UserData.h @@ -45,7 +45,7 @@ public: virtual ~ACLUserData(); bool match(char const *user); - SBufList dump() const; + virtual SBufList dump() const; void parse(); bool empty() const; virtual ACLData *clone() const; diff --git a/src/cache_cf.cc b/src/cache_cf.cc index 0971784a49..3c21bacbc8 100644 --- a/src/cache_cf.cc +++ b/src/cache_cf.cc @@ -4717,11 +4717,8 @@ static void parse_sslproxy_ssl_bump(acl_access **ssl_bump) static void dump_sslproxy_ssl_bump(StoreEntry *entry, const char *name, acl_access *ssl_bump) { - if (ssl_bump) { - wordlist *lines = ssl_bump->treeDump(name, Ssl::BumpModeStr); - dump_wordlist(entry, lines); - wordlistDestroy(&lines); - } + if (ssl_bump) + dump_SBufList(entry, ssl_bump->treeDump(name, Ssl::BumpModeStr)); } static void free_sslproxy_ssl_bump(acl_access **ssl_bump)