/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
#include "acl/Eui64.h"
#include "acl/FilledChecklist.h"
#include "cache_cf.h"
-#include "Debug.h"
+#include "debug/Stream.h"
#include "eui/Eui64.h"
#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
{
return eui64Data.empty();
}
-Eui::Eui64 *
+static Eui::Eui64 *
aclParseEuiData(const char *t)
{
char buf[256];
debugs(28, 5, "aclParseEuiData: " << t);
if (sscanf(t, "%[0-9a-fA-F:]", buf) != 1) {
- debugs(28, DBG_CRITICAL, "aclParseEuiData: Bad EUI-64 address: '" << t << "'");
- safe_free(q);
- return NULL;
+ debugs(28, DBG_CRITICAL, "ERROR: aclParseEuiData: Bad EUI-64 address: '" << t << "'");
+ delete q;
+ return nullptr;
}
if (!q->decode(buf)) {
debugs(28, DBG_CRITICAL, "" << cfg_filename << " line " << config_lineno << ": " << config_input_line);
- debugs(28, DBG_CRITICAL, "aclParseEuiData: Ignoring invalid EUI-64 acl entry: can't parse '" << buf << "'");
- safe_free(q);
- return NULL;
+ debugs(28, DBG_CRITICAL, "ERROR: aclParseEuiData: Ignoring invalid EUI-64 acl entry: cannot parse '" << buf << "'");
+ delete q;
+ return nullptr;
}
return q;
void
ACLEui64::parse()
{
- while (const char * t = strtokFile()) {
+ while (const char * t = ConfigParser::strtokFile()) {
if (Eui::Eui64 * q = aclParseEuiData(t)) {
eui64Data.insert(*q);
- safe_free(q);
+ delete q;
}
}
}
ACLEui64::dump() const
{
SBufList sl;
- for (auto i = eui64Data.cbegin(); i != eui64Data.end(); ++i) {
+ for (auto i = eui64Data.begin(); i != eui64Data.end(); ++i) {
static char buf[48];
i->encode(buf,48);
sl.push_back(SBuf(buf));