]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Convert to SBufList some missing acl dump methods
authorFrancesco Chemolli <kinkie@squid-cache.org>
Sat, 12 Apr 2014 17:32:34 +0000 (19:32 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Sat, 12 Apr 2014 17:32:34 +0000 (19:32 +0200)
14 files changed:
src/acl/CertificateData.cc
src/acl/CertificateData.h
src/acl/DomainData.h
src/acl/HierCodeData.h
src/acl/HttpStatus.cc
src/acl/HttpStatus.h
src/acl/MethodData.h
src/acl/ProtocolData.h
src/acl/SslErrorData.cc
src/acl/SslErrorData.h
src/acl/StringData.h
src/acl/TimeData.h
src/acl/UserData.h
src/cache_cf.cc

index 16c027d0d366b14540a8c1938e23469ec331e72c..d64bbf4e5f3346818b23aebf0eead7cdc7c9f05c 100644 (file)
@@ -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<SBufList *>(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
index 9ca261eb7d49177c3797ab389b02e5fbebe80110..8b1c10f68507a0b5f223fb8a9489af8ef1c9f9b7 100644 (file)
@@ -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<X509 *> *clone() const;
index abc98467df3539912c8e39b70fd89b891d1a1282..35926e9796dbb66d1c9125c3be0204b693da2e94 100644 (file)
@@ -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<char const *> *clone() const;
index a5d97f8734830855c17fc884178113068b5cc5b4..8194d5b3985eca731281ce66e6eaaab8693d4b90 100644 (file)
@@ -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<hier_code> *clone() const;
index df39dedfc022f8c472a4577e0874843817157919..d125221d4c7d1a83711dd95b8cb01c41e4d06ca2 100644 (file)
@@ -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<SBufList *>(state)->push_back(node->repr());
+    static_cast<SBufList *>(state)->push_back(node->toStr());
 }
 
 SBufList
index c28f2d12b14e20b787454cc072e0c818f7add917..a3846af8edc840981846c0d26be219a86e272254 100644 (file)
@@ -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);
 };
index 30a1604df8cfe1dd9aebeced9699376dfa691763..916fac9474795e353c14946c5ef1257111eb3028 100644 (file)
@@ -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<HttpRequestMethod> *clone() const;
index f7819c7f4b06ec326c99140e7f06a66f718da4fe..56f1538e106519fee51e69149d6637a23d1565c0 100644 (file)
@@ -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<AnyP::ProtocolType> *clone() const;
index e71ffb157a9397981d9b41609caabfbf61c3012f..85c90646178b154da8bfb143cc850426736353a7 100644 (file)
@@ -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
index 5104b308edbbaf100ddb8104a9f3f6b5cf15a6af..957b2f94bf18dfb65748f32089f2f0fe1cb3d998 100644 (file)
@@ -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;
index a23c942a0b62f921a248886d01b54d62ebc138de..031358a623b84215d72a974ceeb48c4a1c716110 100644 (file)
@@ -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<char const *> *clone() const;
index c7c5337521266d67e8c17e26d8e33aa61d31d845..d3a32c9f15f97890e27f268c7ecdacf738aa1c4f 100644 (file)
@@ -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<time_t> *clone() const;
index 30453bc0da26d18b81c9d85d44727b6c39b36a77..5dab1dcb18820d6c26466670f7d141be189e10b7 100644 (file)
@@ -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<char const *> *clone() const;
index 0971784a49cd5e0d7c1a6050996064d2f9ad7ac9..3c21bacbc80bc727769193db19e51dfc8a53db0b 100644 (file)
@@ -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)