]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/ExtUser.cc
2 * Copyright (C) 1996-2017 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"
20 #include "http/Stream.h"
22 ACLExtUser::~ACLExtUser()
27 ACLExtUser::ACLExtUser(ACLData
<char const *> *newData
, char const *newType
) : data (newData
), type_ (newType
) {}
29 ACLExtUser::ACLExtUser (ACLExtUser
const &old
) : data (old
.data
->clone()), type_ (old
.type_
)
33 ACLExtUser::operator= (ACLExtUser
const &rhs
)
35 data
= rhs
.data
->clone();
41 ACLExtUser::typeString() const
47 ACLExtUser::parseFlags()
49 ParseFlags(Acl::NoOptions(), data
->supportedFlags());
59 ACLExtUser::match(ACLChecklist
*cl
)
61 ACLFilledChecklist
*checklist
= Filled(cl
);
62 if (checklist
->request
->extacl_user
.size()) {
63 return data
->match(checklist
->request
->extacl_user
.termedBuf());
70 ACLExtUser::dump() const
76 ACLExtUser::empty () const
82 ACLExtUser::clone() const
84 return new ACLExtUser(*this);