diff options
Diffstat (limited to 'pki/base/tps/src/selftests/SelfTest.cpp')
-rw-r--r-- | pki/base/tps/src/selftests/SelfTest.cpp | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/pki/base/tps/src/selftests/SelfTest.cpp b/pki/base/tps/src/selftests/SelfTest.cpp deleted file mode 100644 index 71266d581..000000000 --- a/pki/base/tps/src/selftests/SelfTest.cpp +++ /dev/null @@ -1,220 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, -// Boston, MA 02110-1301 USA -// -// Copyright (C) 2010 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - - -#ifdef XP_WIN32 -#define TPS_PUBLIC __declspec(dllexport) -#else /* !XP_WIN32 */ -#define TPS_PUBLIC -#endif /* !XP_WIN32 */ - -#ifdef __cplusplus -extern "C" -{ -#endif -#include <stdio.h> -#include <stdarg.h> -#include <stdlib.h> -#include <string.h> - -#include "prmem.h" -#include "prsystem.h" -#include "plstr.h" -#include "prio.h" - -#include "cert.h" -#include "certt.h" - -#ifdef __cplusplus -} -#endif - -#include "engine/RA.h" -#include "main/ConfigStore.h" -#include "selftests/SelfTest.h" -#include "selftests/TPSPresence.h" -#include "selftests/TPSValidity.h" -#include "selftests/TPSSystemCertsVerification.h" - - -const char *SelfTest::CFG_SELFTEST_STARTUP = "selftests.container.order.startup"; -const char *SelfTest::CFG_SELFTEST_ONDEMAND = "selftests.container.order.onDemand"; -const int SelfTest::nTests = 3; -const char *SelfTest::TEST_NAMES[SelfTest::nTests] = { TPSPresence::TEST_NAME, TPSValidity::TEST_NAME, TPSSystemCertsVerification::TEST_NAME }; - -int SelfTest::isInitialized = 0; -int SelfTest::StartupSystemCertsVerificationRun = 0; - -SelfTest::SelfTest() -{ -} - -SelfTest::~SelfTest() -{ -} - -void SelfTest::Initialize (ConfigStore *cfg) -{ - if (SelfTest::isInitialized == 0) { - SelfTest::isInitialized = 1; - TPSPresence::Initialize (cfg); - TPSValidity::Initialize (cfg); - TPSSystemCertsVerification::Initialize (cfg); - SelfTest::isInitialized = 2; - } - RA::SelfTestLog("SelfTest::Initialize", "%s", ((isInitialized==2)?"successfully completed":"failed")); -} - -// Error codes: -// -1 - missing cert db handle -// 2 - missing cert -// -3 - missing cert nickname -// 4 - secCertTimeExpired -// 5 - secCertTimeNotValidYet -// critical errors are negative - -int SelfTest::runStartUpSelfTests (const char *nickname) -{ - int rc = 0; - CERTCertificate *cert = 0; - - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "per cert selftests starting for %s", nickname); - if (TPSPresence::isStartupEnabled()) { - rc = TPSPresence::runSelfTest(nickname, &cert); - } - if (rc != 0 && TPSPresence::isStartupCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Critical TPSPresence self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Noncritical TPSPresence self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "TPSPresence self test has been successfully completed."); - } - if (TPSValidity::isStartupEnabled()) { - rc = TPSValidity::runSelfTest(nickname, cert); - } - if (cert != 0) { - CERT_DestroyCertificate (cert); - cert = 0; - } - if (rc != 0 && TPSValidity::isStartupCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Critical TPSValidity self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Noncritical TPSValidity self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "TPSValidity self test has been successfully completed."); - } - - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "per cert selftests done for %s", nickname); - return 0; -} - -int SelfTest::runStartUpSelfTests () -{ - int rc = 0; - - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "general selftests starting"); - /* this only needs to run once at startup */ - if (SelfTest::StartupSystemCertsVerificationRun == 0) { - if (TPSSystemCertsVerification::isStartupEnabled()) { - rc = TPSSystemCertsVerification::runSelfTest(); - } - if (rc != 0 && TPSSystemCertsVerification::isStartupCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Critical TPSSystemCertsVerification self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "Noncritical TPSSystemCertsVerification self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "TPSSystemCertsVerification self test has been successfully completed."); - } - SelfTest::StartupSystemCertsVerificationRun = 1; - } - - RA::SelfTestLog("SelfTest::runStartUpSelfTests", "general selftests done"); - return 0; -} - -int SelfTest::runOnDemandSelfTests () -{ - int rc = 0; - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "starting"); - if (TPSPresence::isOnDemandEnabled()) { - rc = TPSPresence::runSelfTest(); - } - if (rc != 0 && TPSPresence::isOnDemandCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Critical TPSPresence self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Noncritical TPSPresence self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "TPSPresence self test has been successfully completed."); - } - if (TPSValidity::isOnDemandEnabled()) { - rc = TPSValidity::runSelfTest(); - } - if (rc != 0 && TPSValidity::isOnDemandCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Critical TPSValidity self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Noncritical TPSValidity self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "TPSValidity self test has been successfully completed."); - } - - if (TPSSystemCertsVerification::isOnDemandEnabled()) { - rc = TPSSystemCertsVerification::runSelfTest(); - } - if (rc != 0 && TPSSystemCertsVerification::isOnDemandCritical()) { - if (rc > 0) rc *= -1; - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Critical TPSSystemCertsVerification self test failure: %d", rc); - return rc; - } else if (rc != 0) { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "Noncritical TPSSystemCertsVerification self test failure: %d", rc); - } else { - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "TPSSystemCertsVerification self test has been successfully completed."); - } - RA::SelfTestLog("SelfTest::runOnDemandSelfTests", "done"); - return rc; -} - -int SelfTest::isOnDemandEnabled () -{ - int n = 0; - if (TPSPresence::isOnDemandEnabled()) n++; - if (TPSValidity::isOnDemandEnabled()) n += 2; - if (TPSSystemCertsVerification::isOnDemandEnabled()) n += 4; - return n; -} - -int SelfTest::isOnDemandCritical () -{ - int n = 0; - if (TPSPresence::isOnDemandCritical()) n++; - if (TPSValidity::isOnDemandCritical()) n += 2; - if (TPSSystemCertsVerification::isOnDemandCritical()) n += 4; - return n; -} - |