#include <component.h>
#include "asn.h"
#include "componentlib.h"
+#include "certificate.h"
AsnTypetoMatchingRuleTable directory_component_matching_table[] = {
"1.2.36.79672281.1.13.7",
};
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, {}},
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;
}
}
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;
}
}
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;
}
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;
}
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;
}
}
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;
}
/*
}
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;
}
}
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;
}
}
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;
}
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;
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;
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;
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;
}
}
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;
}
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;
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;
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;
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;
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;
}
}
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;
}
}
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;
}
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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 ) {
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;