Enabling sharing component descriptions of primitive ASN.1 types

This commit is contained in:
Sang Seok Lim 2004-12-21 04:44:19 +00:00
parent ae8bafea44
commit b07fc2e6be
4 changed files with 141 additions and 375 deletions

View file

@ -1,6 +1,7 @@
#include <component.h>
#include "asn.h"
#include "componentlib.h"
#include "certificate.h"
AsnTypetoMatchingRuleTable directory_component_matching_table[] = {
"1.2.36.79672281.1.13.7",
@ -163,35 +164,116 @@ AsnTypetoCompType asntype_to_compType_mapping_tbl[] = {
};
AsnTypetoCompDesc asntype_to_compdesc_mapping_tbl[] = {
{ BASICTYPE_BOOLEAN,{}},
{ BASICTYPE_INTEGER, {}},
{ BASICTYPE_BITSTRING, {}},
{ BASICTYPE_OCTETSTRING, {}},
{ BASICTYPE_NULL, {}},
{ BASICTYPE_OID, {}},
{ BASICTYPE_REAL, {}},
{ BASICTYPE_ENUMERATED, {}},
{ BASICTYPE_NUMERIC_STR, {}},
{ BASICTYPE_PRINTABLE_STR, {}},
{ BASICTYPE_UNIVERSAL_STR, {}},
{ BASICTYPE_IA5_STR, {}},
{ BASICTYPE_BMP_STR, {}},
{ BASICTYPE_UTF8_STR, {}},
{ BASICTYPE_UTCTIME, {}},
{ BASICTYPE_GENERALIZEDTIME, {}},
{ BASICTYPE_GRAPHIC_STR, {}},
{ BASICTYPE_VISIBLE_STR, {}},
{ BASICTYPE_GENERAL_STR,{}},
{ BASICTYPE_OBJECTDESCRIPTOR, {}},
{ BASICTYPE_VIDEOTEX_STR, {}},
{ BASICTYPE_T61_STR, {}},
{ BASICTYPE_OCTETCONTAINING, {}},
{ BASICTYPE_BITCONTAINING, {}},
{ BASICTYPE_RELATIVE_OID, {}},
{ BASICTYPE_BOOLEAN, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BOOLEAN,
(encoder_func*)NULL,(encoder_func*)GEncComponentBool,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentBool,(ber_decoder_func*)BDecComponentBool,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBool}},
{ BASICTYPE_INTEGER, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_INTEGER,
(encoder_func*)NULL,(encoder_func*)GEncComponentInt,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentInt,(ber_decoder_func*)BDecComponentInt,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentInt}},
{ BASICTYPE_BITSTRING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BITSTRING,
(encoder_func*)NULL,(encoder_func*)GEncComponentBits,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentBits,(ber_decoder_func*)BDecComponentBits,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBits}},
{ BASICTYPE_OCTETSTRING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OCTETSTRING,
(encoder_func*)NULL,(encoder_func*)GEncComponentOcts,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentOcts,(ber_decoder_func*)BDecComponentOcts,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentOcts}},
{ BASICTYPE_NULL, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_NULL,
(encoder_func*)NULL,(encoder_func*)GEncComponentNull,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentNull,(ber_decoder_func*)BDecComponentNull,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentNull}},
{ BASICTYPE_OID, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OID,
(encoder_func*)NULL,(encoder_func*)GEncComponentOid,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentOid,(ber_decoder_func*)BDecComponentOid,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentOid}},
{ BASICTYPE_REAL, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_REAL,
(encoder_func*)NULL,(encoder_func*)GEncComponentReal,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentReal,(ber_decoder_func*)BDecComponentReal,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentReal}},
{ BASICTYPE_ENUMERATED, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_ENUMERATED,
(encoder_func*)NULL,(encoder_func*)GEncComponentEnum,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentEnum,(ber_decoder_func*)BDecComponentEnum,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentEnum}},
{ BASICTYPE_NUMERIC_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_NUMERIC_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentNumericString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentNumericString,(ber_decoder_func*)BDecComponentNumericString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentNumericString}},
{ BASICTYPE_PRINTABLE_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_PRINTABLE_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentPrintableString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentPrintableString,(ber_decoder_func*)BDecComponentPrintableString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentPrintableString}},
{ BASICTYPE_UNIVERSAL_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UNIVERSAL_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentUniversalString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUniversalString,(ber_decoder_func*)BDecComponentUniversalString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUniversalString}},
{ BASICTYPE_IA5_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_IA5_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentIA5String,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentIA5String,(ber_decoder_func*)BDecComponentIA5String,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentIA5String}},
{ BASICTYPE_BMP_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BMP_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentBMPString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentBMPString,(ber_decoder_func*)BDecComponentBMPString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBMPString}},
{ BASICTYPE_UTF8_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UTF8_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
{ BASICTYPE_UTCTIME, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UTCTIME,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTCTime,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTCTime,(ber_decoder_func*)BDecComponentUTCTime,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTCTime}},
{ BASICTYPE_GENERALIZEDTIME, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GENERALIZEDTIME,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTCTime,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTCTime,(ber_decoder_func*)BDecComponentUTCTime,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTCTime}},
{ BASICTYPE_GRAPHIC_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GRAPHIC_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentPrintableString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentPrintableString,(ber_decoder_func*)BDecComponentPrintableString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentPrintableString}},
{ BASICTYPE_VISIBLE_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_VISIBLE_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentVisibleString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentVisibleString,(ber_decoder_func*)BDecComponentVisibleString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentVisibleString}},
{ BASICTYPE_GENERAL_STR,{ -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GENERAL_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
{ BASICTYPE_OBJECTDESCRIPTOR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OBJECTDESCRIPTOR,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
{ BASICTYPE_VIDEOTEX_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_VIDEOTEX_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentTeletexString,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentTeletexString,(ber_decoder_func*)BDecComponentTeletexString,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentTeletexString}},
{ BASICTYPE_T61_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_T61_STR,
(encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
{ BASICTYPE_OCTETCONTAINING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OCTETCONTAINING,
(encoder_func*)NULL,(encoder_func*)NULL,(encoder_func*)NULL,
(gser_decoder_func*)NULL,(ber_decoder_func*)NULL,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,NULL}},
{ BASICTYPE_BITCONTAINING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BITCONTAINING,
(encoder_func*)NULL,(encoder_func*)NULL,(encoder_func*)NULL,
(gser_decoder_func*)NULL,(ber_decoder_func*)NULL,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,NULL}},
{ BASICTYPE_RELATIVE_OID, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_RELATIVE_OID,
(encoder_func*)NULL,(encoder_func*)GEncComponentRelativeOid,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentRelativeOid,(ber_decoder_func*)BDecComponentRelativeOid,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRelativeOid}},
{ BASICTYPE_ANY, {}},
{ COMPOSITE_ASN1_TYPE, {}},
{ RDNSequence, {}},
{ RelativeDistinguishedName, {}},
{ RDNSequence, { -1, NULL, {},{},0,ASN_COMPOSITE,RDNSequence,
(encoder_func*)ConvertRDNSequence2RFC2253,(encoder_func*)NULL,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentRDNSequence,(ber_decoder_func*)BDecComponentRDNSequence,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRDNSequence}},
{ RelativeDistinguishedName, { -1, NULL, {},{},0,ASN_COMPOSITE,RDNSequence,
(encoder_func*)ConvertRDNSequence2RFC2253,(encoder_func*)NULL,(encoder_func*)NULL,
(gser_decoder_func*)GDecComponentRDNSequence,(ber_decoder_func*)BDecComponentRDNSequence,
(comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRDNSequence}},
{ TelephoneNumber, {}},
{ FacsimileTelephoneNumber__telephoneNumber, {}},
{ DirectoryString, {}},

View file

@ -102,24 +102,8 @@ GDecComponentBits ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
return LDAP_DECODING_ERROR;
}
k->value = result.value;
k->comp_desc = get_component_description (BASICTYPE_BITSTRING);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBits;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBits;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBits;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentBits;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BITSTRING;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBits;
/* Real Decoding code need to be followed */
return LDAP_SUCCESS;
}
@ -163,22 +147,7 @@ BDecComponentBits ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBits;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBits;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBits;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentBits;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BITSTRING;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBits;
k->comp_desc = get_component_description (BASICTYPE_BITSTRING);
return LDAP_SUCCESS;
}
@ -226,22 +195,7 @@ GDecComponentBMPString ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded,
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBMPString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBMPString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBMPString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentBMPString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BMP_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBMPString;
k->comp_desc = get_component_description (BASICTYPE_BMP_STR);
return LDAP_SUCCESS;
@ -287,22 +241,7 @@ BDecComponentBMPString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBMPString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBMPString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBMPString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentBMPString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BMP_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBMPString;
k->comp_desc = get_component_description (BASICTYPE_BMP_STR);
return LDAP_SUCCESS;
@ -350,22 +289,7 @@ GDecComponentUTF8String ( void* mem_op, GenBuf *b, void *v,
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentUTF8String;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentUTF8String;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentUTF8String;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentUTF8String;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_UTF8_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentUTF8String;
k->comp_desc = get_component_description (BASICTYPE_UTF8_STR);
return LDAP_SUCCESS;
}
@ -409,22 +333,9 @@ BDecComponentUTF8String ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len,
}
k->value = result;
k->comp_desc = get_component_description (BASICTYPE_UTF8_STR);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentUTF8String;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentUTF8String;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentUTF8String;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentUTF8String;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_UTF8_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentUTF8String;
return LDAP_SUCCESS;
}
/*
@ -470,22 +381,7 @@ GDecComponentTeletexString ( void* mem_op, GenBuf *b, void *v,
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentTeletexString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentTeletexString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentTeletexString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentTeletexString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_VIDEOTEX_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentTeletexString;
k->comp_desc = get_component_description (BASICTYPE_VIDEOTEX_STR);
return LDAP_SUCCESS;
}
@ -553,22 +449,7 @@ GDecComponentBool ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBool;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBool;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBool;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BOOLEAN;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBool;
k->comp_desc = get_component_description (BASICTYPE_BOOLEAN);
return LDAP_SUCCESS;
}
@ -611,23 +492,8 @@ BDecComponentBool ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
}
k->value = result;
k->comp_desc = get_component_description (BASICTYPE_BOOLEAN);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentBool;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentBool;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentBool;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_BOOLEAN;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentBool;
return LDAP_SUCCESS;
}
@ -706,8 +572,6 @@ GDecComponentEnum ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentEnum;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentEnum;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_ENUMERATED;
@ -765,8 +629,6 @@ BDecComponentEnum ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentEnum;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentEnum;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_ENUMERATED;
@ -836,8 +698,6 @@ BDecComponentIA5String ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentIA5String;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentIA5String;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentIA5String;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_IA5_STR;
@ -910,22 +770,7 @@ GDecComponentInt( void* mem_op, GenBuf * b, void *v, AsnLen *bytesDecoded, int m
return LDAP_DECODING_ERROR;
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentInt;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentInt;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentInt;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_INTEGER;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentInt;
k->comp_desc = get_component_description (BASICTYPE_INTEGER );
return LDAP_SUCCESS;
}
@ -965,21 +810,7 @@ BDecComponentInt ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentInt;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentInt;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentInt;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_INTEGER;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentInt;
k->comp_desc = get_component_description (BASICTYPE_INTEGER );
return LDAP_SUCCESS;
}
@ -1055,8 +886,6 @@ GDecComponentNull ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentNull;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentNull;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentNull;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_NULL;
@ -1115,8 +944,6 @@ BDecComponentNull ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentNull;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentNull;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentNull;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_NULL;
@ -1171,8 +998,6 @@ BDecComponentNumericString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len,
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentNumericString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentNumericString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentNumericString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_NUMERIC_STR;
@ -1266,8 +1091,6 @@ GDecComponentOcts ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentOcts;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentOcts;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentOcts;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_OCTETSTRING;
@ -1324,8 +1147,6 @@ BDecComponentOcts ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentOcts;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentOcts;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentOcts;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_OCTETSTRING;
@ -1448,22 +1269,7 @@ GDecComponentOid ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int m
}
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentOid;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentOid;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentOid;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentOid;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_OID;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentOid;
k->comp_desc = get_component_description (BASICTYPE_OID);
return LDAP_SUCCESS;
}
@ -1507,21 +1313,8 @@ BDecComponentOid ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentOid;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentOid;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentOid;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentOid;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_OID;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentOid;
k->comp_desc = get_component_description (BASICTYPE_OID);
return LDAP_SUCCESS;
}
@ -1565,21 +1358,8 @@ BDecComponentPrintableString( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len,
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentPrintableString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentPrintableString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentPrintableString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentPrintableString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_PRINTABLE_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentPrintableString;
k->comp_desc = get_component_description (BASICTYPE_PRINTABLE_STR);
return LDAP_SUCCESS;
}
@ -1645,22 +1425,7 @@ GDecComponentReal ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int
return LDAP_DECODING_ERROR;
}
k->value = result.value;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentReal;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentReal;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentReal;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_REAL;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentReal;
k->comp_desc = get_component_description (BASICTYPE_REAL);
return LDAP_SUCCESS;
}
@ -1702,22 +1467,7 @@ BDecComponentReal ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v,
return LDAP_DECODING_ERROR;
}
k->value = result;
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentReal;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentReal;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentReal;
k->comp_desc->cd_free = (comp_free_func*)NULL;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_REAL;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentReal;
k->comp_desc = get_component_description (BASICTYPE_REAL);
return LDAP_SUCCESS;
}
@ -1789,23 +1539,8 @@ GDecComponentRelativeOid ( void* mem_op, GenBuf *b,void *v, AsnLen *bytesDecoded
return LDAP_DECODING_ERROR;
}
k->value = result.value;
k->comp_desc = get_component_description (BASICTYPE_OID);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentRelativeOid;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentRelativeOid;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentRelativeOid;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentRelativeOid;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_OID;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentRelativeOid;
return LDAP_SUCCESS;
}
@ -1846,22 +1581,8 @@ BDecComponentRelativeOid ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, vo
return LDAP_DECODING_ERROR;
}
k->value = result;
k->comp_desc = get_component_description (BASICTYPE_OID);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentRelativeOid;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentRelativeOid;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentRelativeOid;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentRelativeOid;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_RELATIVE_OID;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentRelativeOid;
return LDAP_SUCCESS;
}
@ -1932,22 +1653,8 @@ BDecComponentUniversalString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len
return LDAP_DECODING_ERROR;
}
k->value = result;
k->comp_desc = get_component_description (BASICTYPE_UNIVERSAL_STR);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentUniversalString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentUniversalString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentUniversalString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentUniversalString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_UNIVERSAL_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentUniversalString;
return LDAP_SUCCESS;
}
@ -1984,22 +1691,8 @@ BDecComponentVisibleString ( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len,
rc = BDecVisibleStringContent ( mem_op, b, tagId, len, &result, bytesDecoded );
}
k->value = result;
k->comp_desc = get_component_description (BASICTYPE_VISIBLE_STR);
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
if ( k ) CompFree ( mem_op, k );
return LDAP_DECODING_ERROR;
}
k->comp_desc->cd_gser_encoder = (encoder_func*)GEncComponentVisibleString;
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentVisibleString;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentVisibleString;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentVisibleString;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_VISIBLE_STR;
k->comp_desc->cd_all_match = (allcomponent_matching_func*)MatchingComponentVisibleString;
return LDAP_SUCCESS;
}
@ -2109,8 +1802,6 @@ BEncComponentAny ( void* mem_op, GenBuf *b, ComponentAny *result, AsnLen *bytesD
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentAny;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentAny;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentAny;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_ANY;
@ -2140,15 +1831,7 @@ BDecComponentAny ( void* mem_op, GenBuf *b, ComponentAny *result, AsnLen *bytesD
}
if ((result->cai != NULL) && (result->cai->BER_Decode != NULL)) {
#if 0
result->value = (void*) CompAlloc ( mem_op, result->cai->size );
if ( !result->value ) return 0;
#endif
result->cai->BER_Decode ( mem_op, b, (ComponentSyntaxInfo*)&result->value, (int*)bytesDecoded, DEC_ALLOC_MODE_0 );
#if 0
rc = BDecComponentTop( result->cai->BER_Decode, mem_op, 0, 0, &result->value, bytesDecoded, DEC_ALLOC_MODE_0 );
if ( rc != LDAP_SUCCESS ) return rc;
#endif
k->comp_desc = CompAlloc( mem_op, sizeof( ComponentDesc ) );
if ( !k->comp_desc ) {
@ -2159,8 +1842,6 @@ BDecComponentAny ( void* mem_op, GenBuf *b, ComponentAny *result, AsnLen *bytesD
k->comp_desc->cd_gser_decoder = (gser_decoder_func*)GDecComponentAny;
k->comp_desc->cd_ber_decoder = (ber_decoder_func*)BDecComponentAny;
k->comp_desc->cd_free = (comp_free_func*)FreeComponentAny;
k->comp_desc->cd_pretty = (slap_syntax_transform_func*)NULL;
k->comp_desc->cd_validate = (slap_syntax_validate_func*)NULL;
k->comp_desc->cd_extract_i = NULL;
k->comp_desc->cd_type = ASN_BASIC;
k->comp_desc->cd_type_id = BASICTYPE_ANY;

View file

@ -435,7 +435,7 @@ OidDecoderMapping* RetrieveOidDecoderMappingbyDesc( char* desc, int desc_len );
* UTCTime
*/
typedef ComponentVisibleString ComponentUTCTime;
int GEncComponentUTCTime( GenBuf* b, ComponentUTCTime* utc_time);
#define GEncComponentUTCTime GEncComponentUTF8String
#define GDecComponentUTCTime GDecComponentVisibleString
#define BDecComponentUTCTime BDecComponentOcts
#define MatchingComponentUTCTime MatchingComponentOcts
@ -587,4 +587,6 @@ int ConvertRDN2RFC2253 ( irRelativeDistinguishedName* in, struct berval *out );
int ConvertRDNSequence2RFC2253( irRDNSequence *in, struct berval* out );
void* comp_nibble_memory_allocator ( int init_mem, int inc_mem );
ComponentDesc* get_ComponentDesc( int id );
#endif

View file

@ -171,6 +171,7 @@ init_component_description_table () {
syn = NULL;
asntype_to_compType_mapping_tbl[id].ac_comp_type.ct_syntax = syn;
/* Initialize Component Descriptions of primitive ASN.1 types */
asntype_to_compdesc_mapping_tbl[id].atcd_cd.cd_comp_type = (AttributeType*)&asntype_to_compType_mapping_tbl[id].ac_comp_type;
}
}
@ -803,12 +804,12 @@ int init_module(int argc, char *argv[]) {
/*
* Initialize function pointers in slapd
*/
attr_converter = comp_convert_attr_to_comp;
assert_converter = comp_convert_assert_to_comp;
component_destructor = comp_free_component;
test_components = comp_test_components;
attr_converter = (convert_attr_to_comp_func*)comp_convert_attr_to_comp;
assert_converter = (convert_assert_to_comp_func*)comp_convert_assert_to_comp;
component_destructor = (free_component_func*)comp_free_component;
test_components = (test_component_func*)comp_test_components;
nibble_mem_allocator = (free_nibble_func*)comp_nibble_memory_allocator;
nibble_mem_free = comp_nibble_memory_free;
nibble_mem_free = (free_nibble_func*)comp_nibble_memory_free;
is_aliased_attribute = (test_membership_func*)comp_is_aliased_attribute;
get_component_description = (get_component_info_func*)comp_get_component_description;
component_encoder = (component_encoder_func*)comp_component_encoder;