mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-11 02:10:17 +01:00
98d377b37b
bug920719, bug1026148, bug1028647, bug963150, bug1030486, bug1025729, bug836658, bug1028582, bug1038728, bug1038526, bug1042634, bug1047210, bug1043891, bug1043108, bug1046735, bug1043082, bug1036735, bug1046718, bug1050107, bug1054625, bug1057465, bug1057476, bug1041326, bug1058933, bug1064636, bug1057161, bug1078669, bug1049435, bug1070493, bug1083360, bug1028764, bug1065990, bug1073330, bug1064670, bug1094650
107 lines
3.0 KiB
C
107 lines
3.0 KiB
C
/* 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/. */
|
|
|
|
#ifndef _GENAME_H_
|
|
#define _GENAME_H_
|
|
|
|
#include "plarena.h"
|
|
#include "seccomon.h"
|
|
#include "secoidt.h"
|
|
#include "secasn1.h"
|
|
#include "secder.h"
|
|
#include "certt.h"
|
|
|
|
/************************************************************************/
|
|
SEC_BEGIN_PROTOS
|
|
|
|
extern const SEC_ASN1Template CERT_GeneralNamesTemplate[];
|
|
|
|
extern SECItem **
|
|
cert_EncodeGeneralNames(PLArenaPool *arena, CERTGeneralName *names);
|
|
|
|
extern CERTGeneralName *
|
|
cert_DecodeGeneralNames(PLArenaPool *arena, SECItem **encodedGenName);
|
|
|
|
extern SECStatus
|
|
cert_DestroyGeneralNames(CERTGeneralName *name);
|
|
|
|
extern SECStatus
|
|
cert_EncodeNameConstraints(CERTNameConstraints *constraints, PLArenaPool *arena,
|
|
SECItem *dest);
|
|
|
|
extern CERTNameConstraints *
|
|
cert_DecodeNameConstraints(PLArenaPool *arena, const SECItem *encodedConstraints);
|
|
|
|
extern CERTGeneralName *
|
|
cert_CombineNamesLists(CERTGeneralName *list1, CERTGeneralName *list2);
|
|
|
|
extern CERTNameConstraint *
|
|
cert_CombineConstraintsLists(CERTNameConstraint *list1, CERTNameConstraint *list2);
|
|
|
|
/*********************************************************************/
|
|
/* A thread safe implementation of General Names */
|
|
/*********************************************************************/
|
|
|
|
/* Destroy a Single CERTGeneralName */
|
|
void
|
|
CERT_DestroyGeneralName(CERTGeneralName *name);
|
|
|
|
SECStatus
|
|
CERT_CompareGeneralName(CERTGeneralName *a, CERTGeneralName *b);
|
|
|
|
SECStatus
|
|
CERT_CopyGeneralName(PLArenaPool *arena,
|
|
CERTGeneralName *dest,
|
|
CERTGeneralName *src);
|
|
|
|
/* General Name Lists are a thread safe, reference counting layer to
|
|
* general names */
|
|
|
|
/* Destroys a CERTGeneralNameList */
|
|
void
|
|
CERT_DestroyGeneralNameList(CERTGeneralNameList *list);
|
|
|
|
/* Creates a CERTGeneralNameList */
|
|
CERTGeneralNameList *
|
|
CERT_CreateGeneralNameList(CERTGeneralName *name);
|
|
|
|
/* Compares two CERTGeneralNameList */
|
|
SECStatus
|
|
CERT_CompareGeneralNameLists(CERTGeneralNameList *a, CERTGeneralNameList *b);
|
|
|
|
/* returns a copy of the first name of the type requested */
|
|
void *
|
|
CERT_GetGeneralNameFromListByType(CERTGeneralNameList *list,
|
|
CERTGeneralNameType type,
|
|
PLArenaPool *arena);
|
|
|
|
/* Adds a name to the tail of the list */
|
|
void
|
|
CERT_AddGeneralNameToList(CERTGeneralNameList *list,
|
|
CERTGeneralNameType type,
|
|
void *data, SECItem *oid);
|
|
|
|
/* returns a duplicate of the CERTGeneralNameList */
|
|
CERTGeneralNameList *
|
|
CERT_DupGeneralNameList(CERTGeneralNameList *list);
|
|
|
|
/* returns the number of CERTGeneralName objects in the doubly linked
|
|
** list of which *names is a member.
|
|
*/
|
|
extern int
|
|
CERT_GetNamesLength(CERTGeneralName *names);
|
|
|
|
/************************************************************************/
|
|
|
|
SECStatus
|
|
CERT_CompareNameSpace(CERTCertificate *cert,
|
|
CERTGeneralName *namesList,
|
|
CERTCertificate **certsList,
|
|
PLArenaPool *reqArena,
|
|
CERTCertificate **pBadCert);
|
|
|
|
SEC_END_PROTOS
|
|
|
|
#endif
|