2018-05-04 16:08:28 +02:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2015-10-21 05:03:22 +02:00
|
|
|
/*
|
|
|
|
* pkix_revocationmethod.c
|
|
|
|
*
|
|
|
|
* RevocationMethod Object Functions
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "pkix_revocationmethod.h"
|
|
|
|
#include "pkix_tools.h"
|
|
|
|
|
|
|
|
/* Constructor of revocation method object. Does not create an object,
|
|
|
|
* but just initializez PKIX_RevocationMethodStruct fields. Object
|
|
|
|
* suppose to be already created. */
|
|
|
|
PKIX_Error *
|
|
|
|
pkix_RevocationMethod_Init(
|
|
|
|
pkix_RevocationMethod *method,
|
|
|
|
PKIX_RevocationMethodType methodType,
|
|
|
|
PKIX_UInt32 flags,
|
|
|
|
PKIX_UInt32 priority,
|
|
|
|
pkix_LocalRevocationCheckFn localRevChecker,
|
|
|
|
pkix_ExternalRevocationCheckFn externalRevChecker,
|
|
|
|
void *plContext)
|
|
|
|
{
|
|
|
|
PKIX_ENTER(REVOCATIONMETHOD, "PKIX_RevocationMethod_Init");
|
|
|
|
|
|
|
|
method->methodType = methodType;
|
|
|
|
method->flags = flags;
|
|
|
|
method->priority = priority;
|
|
|
|
method->localRevChecker = localRevChecker;
|
|
|
|
method->externalRevChecker = externalRevChecker;
|
|
|
|
|
|
|
|
PKIX_RETURN(REVOCATIONMETHOD);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Data duplication data. Not create an object. Only initializes fields
|
|
|
|
* in the new object by data from "object". */
|
|
|
|
PKIX_Error *
|
|
|
|
pkix_RevocationMethod_Duplicate(
|
|
|
|
PKIX_PL_Object *object,
|
|
|
|
PKIX_PL_Object *newObject,
|
|
|
|
void *plContext)
|
|
|
|
{
|
|
|
|
pkix_RevocationMethod *method = NULL;
|
|
|
|
|
|
|
|
PKIX_ENTER(REVOCATIONMETHOD, "pkix_RevocationMethod_Duplicate");
|
|
|
|
PKIX_NULLCHECK_TWO(object, newObject);
|
|
|
|
|
|
|
|
method = (pkix_RevocationMethod *)object;
|
|
|
|
|
|
|
|
PKIX_CHECK(
|
|
|
|
pkix_RevocationMethod_Init((pkix_RevocationMethod*)newObject,
|
|
|
|
method->methodType,
|
|
|
|
method->flags,
|
|
|
|
method->priority,
|
|
|
|
method->localRevChecker,
|
|
|
|
method->externalRevChecker,
|
|
|
|
plContext),
|
|
|
|
PKIX_COULDNOTCREATEREVOCATIONMETHODOBJECT);
|
|
|
|
|
|
|
|
cleanup:
|
|
|
|
|
|
|
|
PKIX_RETURN(REVOCATIONMETHOD);
|
|
|
|
}
|