return lhs->userKey() < rhs->userKey();
};
std::vector<Auth::User::Pointer> v1, v2, rv, u1, u2;
+#if HAVE_AUTH_MODULE_BASIC
if (Auth::Config::Find("basic") != nullptr)
u1 = Auth::Basic::User::Cache()->sortedUsersList();
+#endif
+#if HAVE_AUTH_MODULE_DIGEST
if (Auth::Config::Find("digest") != nullptr)
u2 = Auth::Digest::User::Cache()->sortedUsersList();
- v1.reserve(u1.size()+u2.size());
- std::merge(u1.begin(), u1.end(),u2.begin(), u2.end(),
- std::back_inserter(v1), aucp_compare);
- u1.clear();
- u2.clear();
+#endif
+ if (u1.size() > 0 || u2.size() > 0) {
+ v1.reserve(u1.size()+u2.size());
+ std::merge(u1.begin(), u1.end(),u2.begin(), u2.end(),
+ std::back_inserter(v1), aucp_compare);
+ u1.clear();
+ u2.clear();
+ }
+#if HAVE_AUTH_MODULE_NEGOTIATE
if (Auth::Config::Find("negotiate") != nullptr)
u1 = Auth::Negotiate::User::Cache()->sortedUsersList();
+#endif
+#if HAVE_AUTH_MODULE_NTLM
if (Auth::Config::Find("ntlm") != nullptr)
u2 = Auth::Ntlm::User::Cache()->sortedUsersList();
- v2.reserve(u1.size()+u2.size());
- std::merge(u1.begin(), u1.end(),u2.begin(), u2.end(),
- std::back_inserter(v2), aucp_compare);
+#endif
+ if (u1.size() > 0 || u2.size() > 0) {
+ v2.reserve(u1.size()+u2.size());
+ std::merge(u1.begin(), u1.end(),u2.begin(), u2.end(),
+ std::back_inserter(v2), aucp_compare);
+ }
rv.reserve(v1.size()+v2.size());
std::merge(v1.begin(), v1.end(),v2.begin(), v2.end(),
std::back_inserter(rv), aucp_compare);
#ifndef __AUTH_BASIC_H__
#define __AUTH_BASIC_H__
+#if HAVE_AUTH_MODULE_BASIC
+
#include "auth/Config.h"
#include "auth/Gadgets.h"
#include "auth/UserRequest.h"
extern helper *basicauthenticators;
+#endif /* HAVE_AUTH_MODULE_BASIC */
#endif /* __AUTH_BASIC_H__ */
#ifndef SQUID_AUTH_BASIC_SCHEME_H
#define SQUID_AUTH_BASIC_SCHEME_H
+#if HAVE_AUTH_MODULE_BASIC
+
#include "auth/Scheme.h"
namespace Auth
} // namespace Basic
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_BASIC */
#endif /* SQUID_AUTH_BASIC_SCHEME_H */
#ifndef _SQUID_AUTH_BASIC_USER_H
#define _SQUID_AUTH_BASIC_USER_H
+#if HAVE_AUTH_MODULE_BASIC
+
#include "auth/User.h"
#include "auth/UserRequest.h"
} // namespace Basic
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_BASIC */
#endif /* _SQUID_AUTH_BASIC_USER_H */
#ifndef _SQUID_SRC_AUTH_BASIC_USERREQUEST_H
#define _SQUID_SRC_AUTH_BASIC_USERREQUEST_H
+#if HAVE_AUTH_MODULE_BASIC
+
#include "auth/UserRequest.h"
class ConnStateData;
} // namespace Basic
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_BASIC */
#endif /* _SQUID_SRC_AUTH_BASIC_USERREQUEST_H */
#ifndef __AUTH_DIGEST_H__
#define __AUTH_DIGEST_H__
+#if HAVE_AUTH_MODULE_DIGEST
+
#include "auth/Config.h"
#include "auth/Gadgets.h"
#include "auth/UserRequest.h"
extern helper *digestauthenticators;
+#endif /* HAVE_AUTH_MODULE_DIGEST */
#endif
#ifndef SQUID_AUTH_DIGEST_SCHEME_H
#define SQUID_AUTH_DIGEST_SCHEME_H
+#if HAVE_AUTH_MODULE_DIGEST
+
#include "auth/Scheme.h"
namespace Auth
} // namespace Digest
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_DIGEST */
#endif /* SQUID_AUTH_DIGEST_SCHEME_H */
#ifndef _SQUID_AUTH_DIGEST_USER_H
#define _SQUID_AUTH_DIGEST_USER_H
+#if HAVE_AUTH_MODULE_DIGEST
+
#include "auth/digest/Config.h"
#include "auth/User.h"
#include "rfc2617.h"
} // namespace Digest
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_DIGEST */
#endif /* _SQUID_AUTH_DIGEST_USER_H */
#ifndef _SQUID_SRC_AUTH_DIGEST_USERREQUEST_H
#define _SQUID_SRC_AUTH_DIGEST_USERREQUEST_H
+#if HAVE_AUTH_MODULE_DIGEST
+
#include "auth/UserRequest.h"
class ConnStateData;
} // namespace Digest
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_DIGEST */
#endif /* _SQUID_SRC_AUTH_DIGEST_USERREQUEST_H */
#ifndef __AUTH_NEGOTIATE_H__
#define __AUTH_NEGOTIATE_H__
+#if HAVE_AUTH_MODULE_NEGOTIATE
+
#include "auth/Config.h"
#include "auth/Gadgets.h"
#include "auth/UserRequest.h"
extern statefulhelper *negotiateauthenticators;
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */
#endif
#ifndef SQUID_AUTH_NEGOTIATE_SCHEME_H
#define SQUID_AUTH_NEGOTIATE_SCHEME_H
+#if HAVE_AUTH_MODULE_NEGOTIATE
+
#include "auth/Scheme.h"
namespace Auth
} // namespace Negotiate
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */
#endif /* SQUID_AUTH_NEGOTIATE_SCHEME_H */
#ifndef _SQUID_AUTH_NEGOTIATE_USER_H
#define _SQUID_AUTH_NEGOTIATE_USER_H
+#if HAVE_AUTH_MODULE_NEGOTIATE
+
#include "auth/User.h"
namespace Auth
} // namespace Negotiate
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */
#endif /* _SQUID_AUTH_NEGOTIATE_USER_H */
#ifndef _SQUID_SRC_AUTH_NEGOTIATE_USERREQUEST_H
#define _SQUID_SRC_AUTH_NEGOTIATE_USERREQUEST_H
+#if HAVE_AUTH_MODULE_NEGOTIATE
+
#include "auth/UserRequest.h"
#include "helper/forward.h"
} // namespace Negotiate
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */
#endif /* _SQUID_SRC_AUTH_NEGOTIATE_USERREQUEST_H */
#ifndef __AUTH_NTLM_H__
#define __AUTH_NTLM_H__
+#if HAVE_AUTH_MODULE_NTLM
+
#include "auth/Config.h"
#include "auth/Gadgets.h"
#include "auth/UserRequest.h"
extern statefulhelper *ntlmauthenticators;
+#endif /* HAVE_AUTH_MODULE_NTLM */
#endif
#ifndef SQUID_AUTH_NTLM_SCHEME_H
#define SQUID_AUTH_NTLM_SCHEME_H
+#if HAVE_AUTH_MODULE_NTLM
+
#include "auth/Scheme.h"
namespace Auth
} // namespace Ntlm
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NTLM */
#endif /* SQUID_AUTH_NTLM_SCHEME_H */
#ifndef _SQUID_AUTH_NTLM_USER_H
#define _SQUID_AUTH_NTLM_USER_H
+#if HAVE_AUTH_MODULE_NTLM
+
#include "auth/User.h"
namespace Auth
} // namespace Ntlm
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NTLM */
#endif /* _SQUID_AUTH_NTLM_USER_H */
#ifndef _SQUID_SRC_AUTH_NTLM_USERREQUEST_H
#define _SQUID_SRC_AUTH_NTLM_USERREQUEST_H
+#if HAVE_AUTH_MODULE_NTLM
+
#include "auth/UserRequest.h"
#include "helper/forward.h"
} // namespace Ntlm
} // namespace Auth
+#endif /* HAVE_AUTH_MODULE_NTLM */
#endif /* _SQUID_SRC_AUTH_NTLM_USERREQUEST_H */