1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/libpkix/pkix/checker/pkix_revocationmethod.c Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,66 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 +/* 1.8 + * pkix_revocationmethod.c 1.9 + * 1.10 + * RevocationMethod Object Functions 1.11 + * 1.12 + */ 1.13 + 1.14 +#include "pkix_revocationmethod.h" 1.15 +#include "pkix_tools.h" 1.16 + 1.17 +/* Constructor of revocation method object. Does not create an object, 1.18 + * but just initializez PKIX_RevocationMethodStruct fields. Object 1.19 + * suppose to be already created. */ 1.20 +PKIX_Error * 1.21 +pkix_RevocationMethod_Init( 1.22 + pkix_RevocationMethod *method, 1.23 + PKIX_RevocationMethodType methodType, 1.24 + PKIX_UInt32 flags, 1.25 + PKIX_UInt32 priority, 1.26 + pkix_LocalRevocationCheckFn localRevChecker, 1.27 + pkix_ExternalRevocationCheckFn externalRevChecker, 1.28 + void *plContext) 1.29 +{ 1.30 + PKIX_ENTER(REVOCATIONMETHOD, "PKIX_RevocationMethod_Init"); 1.31 + 1.32 + method->methodType = methodType; 1.33 + method->flags = flags; 1.34 + method->priority = priority; 1.35 + method->localRevChecker = localRevChecker; 1.36 + method->externalRevChecker = externalRevChecker; 1.37 + 1.38 + PKIX_RETURN(REVOCATIONMETHOD); 1.39 +} 1.40 + 1.41 +/* Data duplication data. Not create an object. Only initializes fields 1.42 + * in the new object by data from "object". */ 1.43 +PKIX_Error * 1.44 +pkix_RevocationMethod_Duplicate( 1.45 + PKIX_PL_Object *object, 1.46 + PKIX_PL_Object *newObject, 1.47 + void *plContext) 1.48 +{ 1.49 + pkix_RevocationMethod *method = NULL; 1.50 + 1.51 + PKIX_ENTER(REVOCATIONMETHOD, "pkix_RevocationMethod_Duplicate"); 1.52 + PKIX_NULLCHECK_TWO(object, newObject); 1.53 + 1.54 + method = (pkix_RevocationMethod *)object; 1.55 + 1.56 + PKIX_CHECK( 1.57 + pkix_RevocationMethod_Init((pkix_RevocationMethod*)newObject, 1.58 + method->methodType, 1.59 + method->flags, 1.60 + method->priority, 1.61 + method->localRevChecker, 1.62 + method->externalRevChecker, 1.63 + plContext), 1.64 + PKIX_COULDNOTCREATEREVOCATIONMETHODOBJECT); 1.65 + 1.66 +cleanup: 1.67 + 1.68 + PKIX_RETURN(REVOCATIONMETHOD); 1.69 +}