From: Francesco Chemolli Date: Thu, 16 Oct 2008 14:31:46 +0000 (+0200) Subject: Prevent linking and performing checks for not-configured auth methods (bug 2489) X-Git-Tag: SQUID_3_2_0_1~1396^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0ea5c60cf6445b3163cc541bb2b45ab8b616c4fb;p=thirdparty%2Fsquid.git Prevent linking and performing checks for not-configured auth methods (bug 2489) --- diff --git a/src/tests/testAuth.cc b/src/tests/testAuth.cc index 28de16f94a..b2a9623c92 100644 --- a/src/tests/testAuth.cc +++ b/src/tests/testAuth.cc @@ -1,7 +1,7 @@ #define SQUID_UNIT_TEST 1 -#include "squid.h" #include "testAuth.h" +#include "squid.h" #include "authenticate.h" #include "AuthUserRequest.h" #include "AuthScheme.h" @@ -11,10 +11,18 @@ CPPUNIT_TEST_SUITE_REGISTRATION( testAuth ); CPPUNIT_TEST_SUITE_REGISTRATION( testAuthConfig ); CPPUNIT_TEST_SUITE_REGISTRATION( testAuthUserRequest ); +#ifdef HAVE_AUTH_MODULE_BASIC CPPUNIT_TEST_SUITE_REGISTRATION( testAuthBasicUserRequest ); +#endif +#ifdef HAVE_AUTH_MODULE_DIGEST CPPUNIT_TEST_SUITE_REGISTRATION( testAuthDigestUserRequest ); +#endif +#ifdef HAVE_AUTH_MODULE_NTLM CPPUNIT_TEST_SUITE_REGISTRATION( testAuthNTLMUserRequest ); +#endif +#ifdef HAVE_AUTH_MODULE_NEGOTIATE CPPUNIT_TEST_SUITE_REGISTRATION( testAuthNegotiateUserRequest ); +#endif /* Instantiate all auth framework types */ void @@ -60,7 +68,8 @@ getConfig(char const *type_str) AuthScheme *theScheme; if ((theScheme = AuthScheme::Find(type_str)) == NULL) { - fatalf("Unknown authentication scheme '%s'.\n", type_str); + return NULL; + //fatalf("Unknown authentication scheme '%s'.\n", type_str); } config.push_back(theScheme->createConfig()); @@ -121,8 +130,16 @@ fake_auth_setup() {"negotiate", negotiate_parms, 1} }; - for (unsigned scheme=0; scheme < 4; scheme++) - setup_scheme(getConfig(params[scheme].name), params[scheme].params, params[scheme].paramlength); + for (unsigned scheme=0; scheme < 4; scheme++) { + AuthConfig *schemeConfig; + schemeConfig = getConfig(params[scheme].name); + if (schemeConfig != NULL) + setup_scheme (schemeConfig, params[scheme].params, + params[scheme].paramlength); + else + fprintf(stderr,"Skipping unknown authentication scheme '%s'.\n", + params[scheme].name); + } authenticateInit(&config); @@ -163,6 +180,7 @@ testAuthUserRequest::scheme() } } +#ifdef HAVE_AUTH_MODULE_BASIC #include "auth/basic/auth_basic.h" /* AuthBasicUserRequest::AuthBasicUserRequest works */ @@ -186,7 +204,9 @@ testAuthBasicUserRequest::username() CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username())); delete temp; } +#endif /* HAVE_AUTH_MODULE_BASIC */ +#ifdef HAVE_AUTH_MODULE_DIGEST #include "auth/digest/auth_digest.h" /* AuthDigestUserRequest::AuthDigestUserRequest works */ @@ -210,7 +230,9 @@ testAuthDigestUserRequest::username() CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username())); delete temp; } +#endif /* HAVE_AUTH_MODULE_DIGEST */ +#ifdef HAVE_AUTH_MODULE_NTLM #include "auth/ntlm/auth_ntlm.h" /* AuthNTLMUserRequest::AuthNTLMUserRequest works */ @@ -234,7 +256,9 @@ testAuthNTLMUserRequest::username() CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username())); delete temp; } +#endif /* HAVE_AUTH_MODULE_NTLM */ +#ifdef HAVE_AUTH_MODULE_NEGOTIATE #include "auth/negotiate/auth_negotiate.h" /* AuthNegotiateUserRequest::AuthNegotiateUserRequest works */ @@ -258,3 +282,5 @@ testAuthNegotiateUserRequest::username() CPPUNIT_ASSERT_EQUAL(0, strcmp("John", temp->username())); delete temp; } + +#endif /* HAVE_AUTH_MODULE_NEGOTIATE */ diff --git a/src/tests/testAuth.h b/src/tests/testAuth.h index c59b09fde2..7fa7ce5c88 100644 --- a/src/tests/testAuth.h +++ b/src/tests/testAuth.h @@ -3,6 +3,7 @@ #define SQUID_SRC_TEST_AUTH_H #include +#include "config.h" /* * test the auth Config framework @@ -45,6 +46,7 @@ protected: void construction(); }; +#ifdef HAVE_AUTH_MODULE_BASIC class testAuthBasicUserRequest : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( testAuthBasicUserRequest ); @@ -58,7 +60,9 @@ protected: void construction(); void username(); }; +#endif +#ifdef HAVE_AUTH_MODULE_DIGEST class testAuthDigestUserRequest : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( testAuthDigestUserRequest ); @@ -72,7 +76,9 @@ protected: void construction(); void username(); }; +#endif +#ifdef HAVE_AUTH_MODULE_NTLM class testAuthNTLMUserRequest : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( testAuthNTLMUserRequest ); @@ -86,7 +92,9 @@ protected: void construction(); void username(); }; +#endif +#ifdef HAVE_AUTH_MODULE_NEGOTIATE class testAuthNegotiateUserRequest : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( testAuthNegotiateUserRequest ); @@ -100,6 +108,7 @@ protected: void construction(); void username(); }; +#endif #endif