Commit decfd721 authored by Sang Seok Lim's avatar Sang Seok Lim
Browse files

1) <all> type component reference support

2) nibble type memory support when decoding
3) description type object identifier support
4) OPTIONAL, DEFAULT support in certificate decoder/extractor/matching
5) Misc bug fix
parent 7bdf2ab5
......@@ -1797,9 +1797,11 @@ if test "${enable_modules+set}" = set; then
{ echo "configure: error: bad value $enableval for --enable-modules" 1>&2; exit 1; }
fi
ol_enable_modules="$ol_arg"
WITH_MODULES_ENABLED=yes
 
else
ol_enable_modules="no"
WITH_MODULES_ENABLED=no
fi
# end --enable-modules
ol_enable_multimaster=${ol_enable_multimaster-no}
......@@ -24839,6 +24841,7 @@ EOF
 
fi
 
WITH_MODULES_ENABLED=no
if test "$ol_link_modules" != no ; then
cat >> confdefs.h <<\EOF
#define SLAPD_MODULES 1
......@@ -24846,6 +24849,7 @@ EOF
 
BUILD_SLAPD=yes
SLAPD_MODULES_LDFLAGS="-dlopen self"
WITH_MODULES_ENABLED=yes
fi
 
cat >> confdefs.h <<\EOF
......
......@@ -2588,6 +2588,7 @@ if test "$ol_link_modules" != no ; then
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
BUILD_SLAPD=yes
SLAPD_MODULES_LDFLAGS="-dlopen self"
WITH_MODULES_ENABLED=yes
fi
AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
......
......@@ -51,7 +51,7 @@ you will get compmatch.la and other necessary files in ./libs
--component search filter example
"componentCertificate:componentCertificateMatch:=item:{ component
\"tbsCertificate.serialNumber\", rule allComponentsMatch, value 2 }"
You can find more examples in "test031-component-filter", a test script.
You can find more examples in "test031-component-filter", the test script.
How to add a new ASN.1 syntax other than the example
......@@ -83,5 +83,5 @@ before using it, don't forget to check following status of development,
See componentlib.c to check which ASN.1 types are currently supported
2) Component version of GSER encoders are not supported yet
3) Not all ComponentId of a component reference are supported yet
supported : identifier, from-beginning, count, from-end
not supported : all, select, content
supported : identifier, from-beginning, count, from-end, <all>
not supported : select, content
......@@ -3,7 +3,7 @@
/*
* certificate.h
* "AuthenticationFramework" ASN.1 module encode/decode/extracting/matching/free C src.
* This file was generated by modified eSMACC compiler Sat Oct 23 20:25:08 2004
* This file was generated by modified eSMACC compiler Tue Nov 23 23:28:16 2004
* The generated files are strongly encouraged to be
* compiled as a module for OpenLDAP Software
*/
......@@ -45,7 +45,6 @@ typedef ComponentInt ComponentVersion; /* INTEGER { V1 (0), V2 (1), V3 (2) } */
#define GDecComponentVersion GDecComponentInt
#define FreeComponentVersion FreeComponentInt
typedef ComponentInt ComponentCertificateSerialNumber; /* INTEGER */
......@@ -57,7 +56,6 @@ typedef ComponentInt ComponentCertificateSerialNumber; /* INTEGER */
#define GDecComponentCertificateSerialNumber GDecComponentInt
#define FreeComponentCertificateSerialNumber FreeComponentInt
typedef ComponentOid ComponentAttributeType; /* OBJECT IDENTIFIER */
......@@ -69,7 +67,6 @@ typedef ComponentOid ComponentAttributeType; /* OBJECT IDENTIFIER */
#define GDecComponentAttributeType GDecComponentOid
#define FreeComponentAttributeType FreeComponentOid
typedef ComponentBits ComponentUniqueIdentifier; /* BIT STRING */
......@@ -81,7 +78,6 @@ typedef ComponentBits ComponentUniqueIdentifier; /* BIT STRING */
#define GDecComponentUniqueIdentifier GDecComponentBits
#define FreeComponentUniqueIdentifier FreeComponentBits
typedef struct AlgorithmIdentifier /* SEQUENCE */
{
......@@ -96,16 +92,13 @@ typedef struct AlgorithmIdentifier /* SEQUENCE */
int MatchingComponentAlgorithmIdentifier PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentAlgorithmIdentifier PROTO ((ComponentReference *cr, ComponentAlgorithmIdentifier *comp ));
void* ExtractingComponentAlgorithmIdentifier PROTO (( void* mem_op, ComponentReference *cr, ComponentAlgorithmIdentifier *comp ));
int BDecComponentAlgorithmIdentifier PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
int BDecComponentAlgorithmIdentifier PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
int GDecComponentAlgorithmIdentifier PROTO ((GenBuf * b, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
void FreeComponentAlgorithmIdentifier(ComponentAlgorithmIdentifier *v);
int GDecComponentAlgorithmIdentifier PROTO (( void* mem_op, GenBuf * b, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
......@@ -130,16 +123,13 @@ typedef struct Time /* CHOICE */
int MatchingComponentTime PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentTime PROTO ((ComponentReference *cr, ComponentTime *comp ));
void* ExtractingComponentTime PROTO (( void* mem_op, ComponentReference *cr, ComponentTime *comp ));
int BDecComponentTime PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTime **v, AsnLen *bytesDecoded, int mode));
int BDecComponentTime PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTime **v, AsnLen *bytesDecoded, int mode));
int GDecComponentTime PROTO ((GenBuf * b, ComponentTime **v, AsnLen *bytesDecoded, int mode));
void FreeComponentTime(ComponentTime *v);
int GDecComponentTime PROTO (( void* mem_op, GenBuf * b, ComponentTime **v, AsnLen *bytesDecoded, int mode));
......@@ -156,16 +146,13 @@ typedef struct Extension /* SEQUENCE */
int MatchingComponentExtension PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentExtension PROTO ((ComponentReference *cr, ComponentExtension *comp ));
int BDecComponentExtension PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
void* ExtractingComponentExtension PROTO (( void* mem_op, ComponentReference *cr, ComponentExtension *comp ));
int GDecComponentExtension PROTO ((GenBuf * b, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
int BDecComponentExtension PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
void FreeComponentExtension(ComponentExtension *v);
int GDecComponentExtension PROTO (( void* mem_op, GenBuf * b, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
......@@ -182,16 +169,13 @@ typedef struct AttributeTypeAndValue /* SEQUENCE */
int MatchingComponentAttributeTypeAndValue PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentAttributeTypeAndValue PROTO ((ComponentReference *cr, ComponentAttributeTypeAndValue *comp ));
void* ExtractingComponentAttributeTypeAndValue PROTO (( void* mem_op, ComponentReference *cr, ComponentAttributeTypeAndValue *comp ));
int BDecComponentAttributeTypeAndValue PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
int BDecComponentAttributeTypeAndValue PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
int GDecComponentAttributeTypeAndValue PROTO ((GenBuf * b, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
void FreeComponentAttributeTypeAndValue(ComponentAttributeTypeAndValue *v);
int GDecComponentAttributeTypeAndValue PROTO (( void* mem_op, GenBuf * b, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
......@@ -208,16 +192,13 @@ typedef struct Validity /* SEQUENCE */
int MatchingComponentValidity PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentValidity PROTO ((ComponentReference *cr, ComponentValidity *comp ));
void* ExtractingComponentValidity PROTO (( void* mem_op, ComponentReference *cr, ComponentValidity *comp ));
int BDecComponentValidity PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
int BDecComponentValidity PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
int GDecComponentValidity PROTO ((GenBuf * b, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
void FreeComponentValidity(ComponentValidity *v);
int GDecComponentValidity PROTO (( void* mem_op, GenBuf * b, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
......@@ -234,16 +215,13 @@ typedef struct SubjectPublicKeyInfo /* SEQUENCE */
int MatchingComponentSubjectPublicKeyInfo PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentSubjectPublicKeyInfo PROTO ((ComponentReference *cr, ComponentSubjectPublicKeyInfo *comp ));
int BDecComponentSubjectPublicKeyInfo PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
void* ExtractingComponentSubjectPublicKeyInfo PROTO (( void* mem_op, ComponentReference *cr, ComponentSubjectPublicKeyInfo *comp ));
int GDecComponentSubjectPublicKeyInfo PROTO ((GenBuf * b, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
int BDecComponentSubjectPublicKeyInfo PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
void FreeComponentSubjectPublicKeyInfo(ComponentSubjectPublicKeyInfo *v);
int GDecComponentSubjectPublicKeyInfo PROTO (( void* mem_op, GenBuf * b, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
......@@ -252,16 +230,13 @@ typedef ComponentList ComponentExtensions; /* SEQUENCE SIZE 1..MAX OF Extension
int MatchingComponentExtensions PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentExtensions PROTO ((ComponentReference *cr, ComponentExtensions *comp ));
void* ExtractingComponentExtensions PROTO (( void* mem_op, ComponentReference *cr, ComponentExtensions *comp ));
int BDecComponentExtensions PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
int BDecComponentExtensions PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
int GDecComponentExtensions PROTO ((GenBuf * b, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
void FreeComponentExtensions(ComponentExtensions *v);
int GDecComponentExtensions PROTO (( void* mem_op, GenBuf * b, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
......@@ -270,16 +245,13 @@ typedef ComponentList ComponentRelativeDistinguishedName; /* SET OF AttributeTyp
int MatchingComponentRelativeDistinguishedName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentRelativeDistinguishedName PROTO ((ComponentReference *cr, ComponentRelativeDistinguishedName *comp ));
void* ExtractingComponentRelativeDistinguishedName PROTO (( void* mem_op, ComponentReference *cr, ComponentRelativeDistinguishedName *comp ));
int BDecComponentRelativeDistinguishedName PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
int BDecComponentRelativeDistinguishedName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
int GDecComponentRelativeDistinguishedName PROTO ((GenBuf * b, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
void FreeComponentRelativeDistinguishedName(ComponentRelativeDistinguishedName *v);
int GDecComponentRelativeDistinguishedName PROTO (( void* mem_op, GenBuf * b, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
......@@ -288,16 +260,13 @@ typedef ComponentList ComponentRDNSequence; /* SEQUENCE OF RelativeDistinguished
int MatchingComponentRDNSequence PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentRDNSequence PROTO ((ComponentReference *cr, ComponentRDNSequence *comp ));
int BDecComponentRDNSequence PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
void* ExtractingComponentRDNSequence PROTO (( void* mem_op, ComponentReference *cr, ComponentRDNSequence *comp ));
int GDecComponentRDNSequence PROTO ((GenBuf * b, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
int BDecComponentRDNSequence PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
void FreeComponentRDNSequence(ComponentRDNSequence *v);
int GDecComponentRDNSequence PROTO (( void* mem_op, GenBuf * b, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
......@@ -320,16 +289,13 @@ typedef struct Name /* CHOICE */
int MatchingComponentName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentName PROTO ((ComponentReference *cr, ComponentName *comp ));
void* ExtractingComponentName PROTO (( void* mem_op, ComponentReference *cr, ComponentName *comp ));
int BDecComponentName PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentName **v, AsnLen *bytesDecoded, int mode));
int BDecComponentName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentName **v, AsnLen *bytesDecoded, int mode));
int GDecComponentName PROTO ((GenBuf * b, ComponentName **v, AsnLen *bytesDecoded, int mode));
void FreeComponentName(ComponentName *v);
int GDecComponentName PROTO (( void* mem_op, GenBuf * b, ComponentName **v, AsnLen *bytesDecoded, int mode));
......@@ -354,16 +320,13 @@ typedef struct TBSCertificate /* SEQUENCE */
int MatchingComponentTBSCertificate PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentTBSCertificate PROTO ((ComponentReference *cr, ComponentTBSCertificate *comp ));
void* ExtractingComponentTBSCertificate PROTO (( void* mem_op, ComponentReference *cr, ComponentTBSCertificate *comp ));
int BDecComponentTBSCertificate PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
int BDecComponentTBSCertificate PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
int GDecComponentTBSCertificate PROTO ((GenBuf * b, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
void FreeComponentTBSCertificate(ComponentTBSCertificate *v);
int GDecComponentTBSCertificate PROTO (( void* mem_op, GenBuf * b, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
......@@ -381,16 +344,13 @@ typedef struct Certificate /* SEQUENCE */
int MatchingComponentCertificate PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
void* ExtractingComponentCertificate PROTO ((ComponentReference *cr, ComponentCertificate *comp ));
int BDecComponentCertificate PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
void* ExtractingComponentCertificate PROTO (( void* mem_op, ComponentReference *cr, ComponentCertificate *comp ));
int GDecComponentCertificate PROTO ((GenBuf * b, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
int BDecComponentCertificate PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
void FreeComponentCertificate(ComponentCertificate *v);
int GDecComponentCertificate PROTO (( void* mem_op, GenBuf * b, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
......
......@@ -41,11 +41,10 @@ typedef struct ComponentBits {
#define GASNBITS_PRESENT(abits) ((abits)->value.bits != NULL)
#define COMPONENTBITS_PRESENT(abits) ((abits)->value.bits != NULL)
int GDecComponentBits (GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentBits (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentBits (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentBits (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentBits (char* oid, ComponentSyntaxInfo *bits1 , ComponentSyntaxInfo* bits2);
#define ExtractingComponentBits(cr,data) NULL
#define ExtractingComponentBits( mem_op, cr,data ) NULL
/*
* BMP String
......@@ -58,12 +57,10 @@ typedef struct ComponentBMPString {
BMPString value;
} ComponentBMPString;
int GDecComponentBMPString (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentBMPString (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentBMPString (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentBMPString (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentBMPString MatchingComponentOcts
#define ExtractingComponentBMPString(cr,data) NULL
#define ExtractingComponentBMPString( mem_op, cr, data ) NULL
#define FreeComponentBMPString FreeComponentOcts
/*
......@@ -77,12 +74,10 @@ typedef struct ComponentBool {
AsnBool value;
} ComponentBool;
int GDecComponentBool (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentBool (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentBool ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentBool ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentBool (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentBool(cr,data) NULL
#define ExtractingComponentBool( mem_op, cr, data ) NULL
#define FreeComponentBool(v) NULL
/*
......@@ -97,11 +92,10 @@ typedef struct ComponentEnum {
struct berval value_identifier;/*Why this value is defined here?*/
} ComponentEnum;
int GDecComponentEnum (GenBuf *a, void *result, AsnLen *bytesDecoded,int mode);
int BDecComponentEnum (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentEnum ( void* mem_op, GenBuf *a, void *result, AsnLen *bytesDecoded,int mode);
int BDecComponentEnum ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentEnum (char *oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo * b);
#define ExtractingComponentEnum(cr,data) NULL
#define ExtractingComponentEnum( mem_op, cr, data ) NULL
#define FreeComponentEnum FreeComponentInt
/*
......@@ -116,10 +110,9 @@ typedef struct ComponentIA5String {
} ComponentIA5String;
#define GDecComponentIA5String GDecComponentUTF8String
int BDecComponentIA5String (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentIA5String ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentIA5String MatchingComponentOcts
#define ExtractingComponentIA5String(cr,data) NULL
#define ExtractingComponentIA5String(mem_op, cr,data) NULL
#define FreeComponentIA5String FreeComponentOcts
......@@ -136,11 +129,10 @@ typedef struct ComponentInt {
#define GNOT_NULL(ptr) ((ptr) != NULL)
int GDecComponentInt (GenBuf *b, void *result, AsnLen *bytesDecoded, int mode );
int BDecComponentInt (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentInt ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode );
int BDecComponentInt ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentInt (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentInt(cr,data) NULL
#define ExtractingComponentInt(mem_op, cr,data) NULL
#define FreeComponentInt(v) NULL
/*
......@@ -165,13 +157,11 @@ typedef struct ComponentNull {
AsnNull value;
} ComponentNull;
int GDecComponentNull (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentNull (GenBuf *b, AsnTag tagId, AsnLen len, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentNullTag ( GenBuf *b, void *v, AsnLen *bytesDecoded, int mode );
int GDecComponentNull ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentNull ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentNullTag ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int mode );
int MatchingComponentNull (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentNull(cr,data) NULL
#define ExtractingComponentNull(mem_op, cr, data) NULL
#define FreeComponentNull NULL
/*
......@@ -186,10 +176,9 @@ typedef struct ComponentNumericString {
} ComponentNumericString;
#define GDecComponentNumericString GDecComponentUTF8String
int BDecComponentNumericString (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentNumericString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentNumericString MatchingComponentOcts
#define ExtractingComponentNumericString(cr,data) NULL
#define ExtractingComponentNumericString(mem_op, cr,data) NULL
#define FreeComponentNumericString FreeComponentOcts
/*
......@@ -205,12 +194,10 @@ typedef struct ComponentOcts {
#define GASNOCTS_PRESENT(aocts) ((aocts)->value.octs != NULL)
int GDecComponentOcts (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentOcts (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentOcts (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentOcts (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentOcts (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentOcts(cr,data) NULL
#define ExtractingComponentOcts(mem_op,cr,data) NULL
void FreeComponentOcts( ComponentOcts* octs );
/*
......@@ -226,12 +213,10 @@ typedef struct ComponentOid {
#define GASNOID_PRESENT(aoid) ASNOCTS_PRESENT(aoid)
int GDecComponentOid (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentOid (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentOid (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentOid (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentOid (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentOid(cr,data) NULL
#define ExtractingComponentOid(mem_op, cr, data) NULL
#define FreeComponentOid FreeComponentOcts
/*
......@@ -246,11 +231,10 @@ typedef struct ComponentPrintableString{
} ComponentPrintableString;
#define GDecComponentPrintableString GDecComponentUTF8String
int BDecComponentPrintableString (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentPrintableStringTag ( GenBuf *b, void *v, AsnLen *bytesDecoded, int mode );
int BDecComponentPrintableString (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentPrintableStringTag (void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int mode );
#define MatchingComponentPrintableString MatchingComponentOcts
#define ExtractingComponentPrintableString(cr,data) NULL
#define ExtractingComponentPrintableString(mem_op, cr, data) NULL
#define FreeComponentPrintableString FreeComponentOcts
/*
......@@ -264,12 +248,10 @@ typedef struct ComponentReal{
AsnReal value;
} ComponentReal;
int GDecComponentReal (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentReal (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentReal (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentReal (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentReal (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentReal(cr,data) NULL
#define ExtractingComponentReal( mem_op, cr, data ) NULL
#define FreeComponentReal(v) NULL
/*
......@@ -284,12 +266,10 @@ typedef struct ComponentRelativeOid {
AsnRelativeOid value;
} ComponentRelativeOid;
int GDecComponentRelativeOid (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentRelativeOid (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentRelativeOid ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentRelativeOid ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
int MatchingComponentRelativeOid (char* oid, ComponentSyntaxInfo *a, ComponentSyntaxInfo *b);
#define ExtractingComponentRelativeOid(cr,data)
#define ExtractingComponentRelativeOid( mem_op, cr, data ) NULL
#define FreeComponentRelativeOid FreeComponentOid
/*
......@@ -303,11 +283,10 @@ typedef struct ComponentTeletexString {
TeletexString value;
} ComponentTeletexString;
int GDecComponentTeletexString (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int GDecComponentTeletexString ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode );
#define BDecComponentTeletexString BDecComponentOcts
#define MatchingComponentTeletexString MatchingComponentOcts
#define ExtractingComponentTeletexString(cr,data)
#define ExtractingComponentTeletexString(mem_op,cr,data)
#define FreeComponentTeletexString FreeComponentOcts
......@@ -322,12 +301,10 @@ typedef struct ComponentUniversalString{
UniversalString value;
} ComponentUniversalString;
int GDecComponentUniversalString (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentUniversalString (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentUniversalString ( void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentUniversalString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentUniversalString MatchingComponentOcts
#define ExtractingComponentUniversalString(cr,data)
#define ExtractingComponentUniversalString(mem_op,cr,data)
#define FreeComponentUniversalString FreeComponentOcts
/*
......@@ -341,12 +318,10 @@ typedef struct ComponentUTF8String{
UTF8String value;
} ComponentUTF8String;
int GDecComponentUTF8String (GenBuf *b, void *result,
AsnLen *bytesDecoded, int mode);
int BDecComponentUTF8String (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int GDecComponentUTF8String (void* mem_op, GenBuf *b, void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentUTF8String (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentUTF8String MatchingComponentOcts
#define ExtractingComponentUTF8String(cr,data)
#define ExtractingComponentUTF8String(mem_op,cr,data)
#define FreeComponentUTF8String FreeComponentOcts
/*
......@@ -361,10 +336,9 @@ typedef struct ComponentVisibleString{
} ComponentVisibleString;
#define GDecComponentVisibleString GDecComponentUTF8String
int BDecComponentVisibleString (GenBuf *b, AsnTag tagId, AsnLen len,
void *result, AsnLen *bytesDecoded, int mode);
int BDecComponentVisibleString (void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *result, AsnLen *bytesDecoded, int mode);
#define MatchingComponentVisibleString MatchingComponentOcts
#define ExtractingComponentVisibleString(cr,data)
#define ExtractingComponentVisibleString(mem_op,cr,data)
#define FreeComponentVisibleString FreeComponentOcts
/*
......@@ -372,7 +346,7 @@ int BDecComponentVisibleString (GenBuf *b, AsnTag tagId, AsnLen len,
*/
typedef int (*MatchFcn) (char*