tos_t
aclMapTOS(acl_tos * head, ACLChecklist * ch)
{
- acl_tos *l;
-
- for (l = head; l; l = l->next) {
+ for (acl_tos *l = head; l; l = l->next) {
if (!l->aclList || ch->fastCheck(l->aclList) == ACCESS_ALLOWED)
return l->tos;
}
nfmark_t
aclMapNfmark(acl_nfmark * head, ACLChecklist * ch)
{
- acl_nfmark *l;
-
- for (l = head; l; l = l->next) {
+ for (acl_nfmark *l = head; l; l = l->next) {
if (!l->aclList || ch->fastCheck(l->aclList) == ACCESS_ALLOWED)
return l->nfmark;
}
*head = NULL;
}
-CBDATA_TYPE(acl_tos);
-
static void
dump_acl_tos(StoreEntry * entry, const char *name, acl_tos * head)
{
}
}
-static void
-freed_acl_tos(void *data)
-{
- acl_tos *l = static_cast<acl_tos *>(data);
- aclDestroyAclList(&l->aclList);
-}
-
static void
parse_acl_tos(acl_tos ** head)
{
- acl_tos *l;
- acl_tos **tail = head; /* sane name below */
unsigned int tos; /* Initially uint for strtoui. Casted to tos_t before return */
char *token = ConfigParser::NextToken();
tos = chTos;
}
- CBDATA_INIT_TYPE_FREECB(acl_tos, freed_acl_tos);
-
- l = cbdataAlloc(acl_tos);
+ acl_tos *l = new acl_tos;
l->tos = (tos_t)tos;
aclParseAclList(LegacyParser, &l->aclList, token);
+ acl_tos **tail = head; /* sane name below */
while (*tail)
tail = &(*tail)->next;
static void
free_acl_tos(acl_tos ** head)
{
- while (*head) {
- acl_tos *l = *head;
- *head = l->next;
- l->next = NULL;
- cbdataFree(l);
- }
+ delete *head;
+ head = NULL;
}
#if SO_MARK && USE_LIBCAP
-CBDATA_TYPE(acl_nfmark);
-
static void
dump_acl_nfmark(StoreEntry * entry, const char *name, acl_nfmark * head)
{
- acl_nfmark *l;
-
- for (l = head; l; l = l->next) {
+ for (acl_nfmark *l = head; l; l = l->next) {
if (l->nfmark > 0)
storeAppendPrintf(entry, "%s 0x%02X", name, l->nfmark);
else
}
}
-static void
-freed_acl_nfmark(void *data)
-{
- acl_nfmark *l = static_cast<acl_nfmark *>(data);
- aclDestroyAclList(&l->aclList);
-}
-
static void
parse_acl_nfmark(acl_nfmark ** head)
{
- acl_nfmark *l;
- acl_nfmark **tail = head; /* sane name below */
nfmark_t mark;
char *token = ConfigParser::NextToken();
return;
}
- CBDATA_INIT_TYPE_FREECB(acl_nfmark, freed_acl_nfmark);
-
- l = cbdataAlloc(acl_nfmark);
+ acl_nfmark *l = new acl_nfmark;
l->nfmark = mark;
aclParseAclList(LegacyParser, &l->aclList, token);
+ acl_nfmark **tail = head; /* sane name below */
while (*tail)
tail = &(*tail)->next;
static void
free_acl_nfmark(acl_nfmark ** head)
{
- while (*head) {
- acl_nfmark *l = *head;
- *head = l->next;
- l->next = NULL;
- cbdataFree(l);
- }
+ delete *head;
+ head = NULL;
}
#endif /* SO_MARK */
class fde;
// TODO: move to new ACL framework
-// not integrated in namespace, as this class uses a strange CBDATA definition
-// POD
class acl_tos
{
+ CBDATA_CLASS(acl_tos);
+
public:
+ acl_tos() : next(NULL), aclList(NULL) {}
+ ~acl_tos();
+
acl_tos *next;
ACLList *aclList;
tos_t tos;
};
+
// TODO: move to new ACL framework
-// not integrated in namespace, as this class uses a strange CBDATA definition
-// POD
class acl_nfmark
{
+ CBDATA_CLASS(acl_nfmark);
+
public:
+ acl_nfmark() : next(NULL), aclList(NULL) {}
+ ~acl_nfmark();
+
acl_nfmark *next;
ACLList *aclList;
nfmark_t nfmark;