]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/ExtUser.cc
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 /* DEBUG: section 28 Access Control */
15 #include "acl/ExtUser.h"
16 #include "acl/FilledChecklist.h"
17 #include "acl/RegexData.h"
18 #include "acl/UserData.h"
19 #include "client_side.h"
21 ACLExtUser::~ACLExtUser()
26 ACLExtUser::ACLExtUser(ACLData
<char const *> *newData
, char const *newType
) : data (newData
), type_ (newType
) {}
28 ACLExtUser::ACLExtUser (ACLExtUser
const &old
) : data (old
.data
->clone()), type_ (old
.type_
)
32 ACLExtUser::operator= (ACLExtUser
const &rhs
)
34 data
= rhs
.data
->clone();
40 ACLExtUser::typeString() const
48 debugs(28, 3, "aclParseUserList: current is null. Creating");
49 data
= new ACLUserData
;
54 ACLExtUser::match(ACLChecklist
*cl
)
56 ACLFilledChecklist
*checklist
= Filled(cl
);
57 if (checklist
->request
->extacl_user
.size()) {
58 return data
->match(checklist
->request
->extacl_user
.termedBuf());
65 ACLExtUser::dump() const
71 ACLExtUser::empty () const
77 ACLExtUser::clone() const
79 return new ACLExtUser(*this);