Back to index

openldap  2.4.31
asn_to_syn_mr.c
Go to the documentation of this file.
00001 #include <component.h>
00002 #include "asn.h"
00003 #include "componentlib.h"
00004 #include "certificate.h"
00005 
00006 AsnTypetoMatchingRuleTable directory_component_matching_table[] = {
00007        "1.2.36.79672281.1.13.7",
00008 {
00009        { BASICTYPE_BOOLEAN,NULL,"1.3.6.1.4.1.1466.115.121.1.7", NULL },
00010         { BASICTYPE_INTEGER,NULL ,"1.3.6.1.4.1.1466.115.121.1.27", NULL },
00011         { BASICTYPE_BITSTRING,NULL ,"1.3.6.1.4.1.1466.115.121.1.6", NULL },
00012         { BASICTYPE_OCTETSTRING,NULL , "1.3.6.1.4.1.1466.115.121.1.40", NULL },
00013         { BASICTYPE_NULL,NULL , NULL, NULL },
00014         { BASICTYPE_OID,NULL ,"1.3.6.1.4.1.1466.115.121.1.38", NULL },
00015         { BASICTYPE_REAL,NULL , NULL, NULL },
00016         { BASICTYPE_ENUMERATED,NULL , NULL, NULL },
00017         { BASICTYPE_NUMERIC_STR, "numericStringMatch", "1.3.6.1.4.1.1466.115.121.1.36", NULL },
00018         { BASICTYPE_PRINTABLE_STR, "caseIgnoreMatch", "1.3.6.1.4.1.1466.115.121.1.44", NULL },
00019         { BASICTYPE_UNIVERSAL_STR, "caseIgnoreMatch" , NULL, NULL },
00020         { BASICTYPE_IA5_STR, "caseIgnoreMatch", "1.3.6.1.4.1.1466.115.121.1.26", NULL },
00021         { BASICTYPE_BMP_STR, "caseIgnoreMatch" , NULL, NULL },
00022         { BASICTYPE_UTF8_STR, "caseIgnoreMatch" , NULL, NULL },
00023         { BASICTYPE_UTCTIME, "uTCTimeMatch" , "1.3.6.1.4.1.1466.115.121.1.53", NULL },
00024         { BASICTYPE_GENERALIZEDTIME, "generalizedTimeMatch" ,"1.3.6.1.4.1.1466.115.121.1.24", NULL },
00025         { BASICTYPE_GRAPHIC_STR, "caseIgnoreMatch", NULL, NULL },
00026         { BASICTYPE_VISIBLE_STR, "caseIgnoreMatch", NULL, NULL },
00027         { BASICTYPE_GENERAL_STR, "caseIgnoreMatch", NULL, NULL },
00028         { BASICTYPE_OBJECTDESCRIPTOR, NULL , NULL, NULL },
00029         { BASICTYPE_VIDEOTEX_STR, "caseIgnoreMatch", NULL, NULL },
00030         { BASICTYPE_T61_STR, "caseIgnoreMatch", NULL, NULL },
00031         { BASICTYPE_OCTETCONTAINING, NULL , NULL, NULL },
00032         { BASICTYPE_BITCONTAINING, NULL , NULL, NULL },
00033         { BASICTYPE_RELATIVE_OID, NULL, "1.2.36.79672281.1.5.0", NULL },
00034         { RDNSequence, "distinguishedNameMatch" , NULL, NULL },
00035         { RelativeDistinguishedName, NULL , NULL, NULL },
00036         { TelephoneNumber, "telephoneNumberMatch" , "1.3.6.1.4.1.1466.115.121.1.50", NULL },
00037         { FacsimileTelephoneNumber__telephoneNumber, "telephoneNumberMatch","1.3.6.1.4.1.1466.115.121.1.22", NULL },
00038         { DirectoryString, "caseIgnoreMatch" ,"1.3.6.1.4.1.1466.115.121.1.15", NULL },
00039         { ASN_COMP_CERTIFICATE, NULL , "1.2.36.79672281.1.5.2" , NULL },
00040         { ASNTYPE_END , NULL , NULL, NULL }
00041 },
00042        NULL
00043 }; 
00044 
00045 AsnTypetoSyntax asn_to_syntax_mapping_tbl[] = {
00046 { BASICTYPE_BOOLEAN,"Boolean","1.3.6.1.4.1.1466.115.121.1.7", NULL },
00047 { BASICTYPE_INTEGER,"Integer","1.3.6.1.4.1.1466.115.121.1.27", NULL },
00048 { BASICTYPE_BITSTRING,"Bit String","1.3.6.1.4.1.1466.115.121.1.6", NULL },
00049 { BASICTYPE_OCTETSTRING,"Octet String", "1.3.6.1.4.1.1466.115.121.1.40", NULL },
00050 { BASICTYPE_NULL,NULL, NULL, NULL },
00051 { BASICTYPE_OID,"OID","1.3.6.1.4.1.1466.115.121.1.38", NULL },
00052 { BASICTYPE_REAL,NULL, NULL, NULL },
00053 { BASICTYPE_ENUMERATED,"Integer", "1.3.6.1.4.1.1466.115.121.1.27", NULL },
00054 { BASICTYPE_NUMERIC_STR, "Numeric String", "1.3.6.1.4.1.1466.115.121.1.36", NULL },
00055 { BASICTYPE_PRINTABLE_STR, "Printable String", "1.3.6.1.4.1.1466.115.121.1.44", NULL },
00056 { BASICTYPE_UNIVERSAL_STR, NULL , NULL, NULL },
00057 { BASICTYPE_IA5_STR, "IA5 String", "1.3.6.1.4.1.1466.115.121.1.26", NULL },
00058 { BASICTYPE_BMP_STR, NULL , NULL, NULL },
00059 { BASICTYPE_UTF8_STR, "Directory String" , "1.3.6.1.4.1.1466.115.121.1.15", NULL },
00060 { BASICTYPE_UTCTIME, "UTC Time" , "1.3.6.1.4.1.1466.115.121.1.53", NULL },
00061 { BASICTYPE_GENERALIZEDTIME, "Generalized Time" ,"1.3.6.1.4.1.1466.115.121.1.24", NULL },
00062 { BASICTYPE_GRAPHIC_STR, NULL, NULL, NULL },
00063 { BASICTYPE_VISIBLE_STR, "Directory String", "1.3.6.1.4.1.1466.115.121.1.15", NULL },
00064 { BASICTYPE_GENERAL_STR, NULL, NULL, NULL },
00065 { BASICTYPE_OBJECTDESCRIPTOR, "Object Class Description", "1.3.6.1.4.1.1466.115.121.1.37", NULL },
00066 { BASICTYPE_VIDEOTEX_STR, NULL, NULL, NULL },
00067 { BASICTYPE_T61_STR, NULL, NULL, NULL },
00068 { BASICTYPE_OCTETCONTAINING, NULL , NULL, NULL },
00069 { BASICTYPE_BITCONTAINING, NULL , NULL, NULL },
00070 { BASICTYPE_RELATIVE_OID, "OID", "1.3.6.1.4.1.1466.115.121.1.38", NULL },
00071 { BASICTYPE_ANY, NULL, NULL, NULL },
00072 { COMPOSITE_ASN1_TYPE, NULL , NULL, NULL },
00073 { RDNSequence, "Distinguished Name" , "1.3.6.1.4.1.1466.115.121.1.12", NULL },
00074 { RelativeDistinguishedName, "RDN", "1.2.36.79672281.1.5.0", NULL },
00075 { TelephoneNumber, "Telephone Number" , "1.3.6.1.4.1.1466.115.121.1.50", NULL },
00076 { FacsimileTelephoneNumber__telephoneNumber, "Facsimile Telephone Number","1.3.6.1.4.1.1466.115.121.1.22", NULL },
00077 { DirectoryString, "Directory String" ,"1.3.6.1.4.1.1466.115.121.1.15", NULL },
00078 { ASN_COMP_CERTIFICATE, "componentCertificate", "1.2.36.79672281.1.5.2" , NULL },
00079 { ASNTYPE_END , NULL , NULL, NULL }
00080 }; 
00081 
00082 /*
00083  * This table describes relationship between an ASN.1 type and its
00084  * potential matching rules such as equality, approx, ordering, and substring
00085  * Based on the description of this table, the following ComponentType
00086  * table is initialized
00087  */
00088 AsnTypetoCompMatchingRule asntype_to_compMR_mapping_tbl[] = {
00089 { BASICTYPE_BOOLEAN, "booleanMatch", NULL, NULL, NULL },
00090 { BASICTYPE_INTEGER, "integerMatch", NULL, "integerOrderingMatch", NULL },
00091 { BASICTYPE_BITSTRING, "bitStringMatch", NULL, NULL, NULL },
00092 { BASICTYPE_OCTETSTRING, "octetStringMatch", NULL, "octetStringOrderingMatch", NULL },
00093 { BASICTYPE_NULL, NULL, NULL, NULL, NULL },
00094 { BASICTYPE_OID, "objectIdentifierMatch", NULL, NULL, NULL },
00095 { BASICTYPE_REAL,  NULL, NULL, NULL, NULL },
00096 { BASICTYPE_ENUMERATED,  "integerMatch", NULL, "integerOrderingMatch", NULL },
00097 { BASICTYPE_NUMERIC_STR,  "numericStringMatch", NULL, "numericStringOrderingMatch", "numericStringSubstringsMatch"},
00098 { BASICTYPE_PRINTABLE_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00099 { BASICTYPE_UNIVERSAL_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00100 { BASICTYPE_IA5_STR, "caseIgnoreMatch", "IA5StringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00101 { BASICTYPE_BMP_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00102 { BASICTYPE_UTF8_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00103 { BASICTYPE_UTCTIME, NULL, NULL, NULL, NULL },
00104 { BASICTYPE_GENERALIZEDTIME,  NULL, NULL, NULL, NULL },
00105 { BASICTYPE_GRAPHIC_STR, NULL, NULL, NULL, NULL },
00106 { BASICTYPE_VISIBLE_STR, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00107 { BASICTYPE_GENERAL_STR, NULL, NULL, NULL, NULL },
00108 { BASICTYPE_OBJECTDESCRIPTOR, "objectIdentifierFirstComponentMatch", NULL, NULL, NULL },
00109 { BASICTYPE_VIDEOTEX_STR, NULL, NULL, NULL, NULL },
00110 { BASICTYPE_T61_STR, NULL, NULL, NULL, NULL },
00111 { BASICTYPE_OCTETCONTAINING,  NULL, NULL, NULL, NULL },
00112 { BASICTYPE_BITCONTAINING,  NULL, NULL, NULL, NULL },
00113 { BASICTYPE_RELATIVE_OID,  "objectIdentifierFirstComponentMatch", NULL, NULL, NULL },
00114 { BASICTYPE_ANY, NULL, NULL, NULL, NULL },
00115 { COMPOSITE_ASN1_TYPE,  NULL, NULL, NULL, NULL },
00116 { RDNSequence,  "distinguishedNameMatch", NULL, NULL, NULL },
00117 { RelativeDistinguishedName, "rdnMatch" , NULL, NULL, NULL },
00118 { TelephoneNumber, NULL, NULL, NULL, NULL },
00119 { FacsimileTelephoneNumber__telephoneNumber,  "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch" },
00120 { DirectoryString, "caseIgnoreMatch", "directoryStringApproxMatch", "caseIgnoreOrderingMatch", "caseIgnoreSubstringsMatch"},
00121 { ASN_COMP_CERTIFICATE, "componentFilterMatch", NULL, NULL, NULL },
00122 { ASNTYPE_END, NULL, NULL, NULL, NULL }
00123 };
00124 
00125 /*
00126  * This table mapps an ASN type to a corresponding ComponentType which has
00127  * equivalent contents of an existing AttributeType
00128  */
00129 AsnTypetoCompType asntype_to_compType_mapping_tbl[] = {
00130 { BASICTYPE_BOOLEAN,{}},
00131 { BASICTYPE_INTEGER, {}},
00132 { BASICTYPE_BITSTRING, {}},
00133 { BASICTYPE_OCTETSTRING, {}},
00134 { BASICTYPE_NULL, {}},
00135 { BASICTYPE_OID, {}},
00136 { BASICTYPE_REAL, {}},
00137 { BASICTYPE_ENUMERATED, {}},
00138 { BASICTYPE_NUMERIC_STR, {}},
00139 { BASICTYPE_PRINTABLE_STR, {}},
00140 { BASICTYPE_UNIVERSAL_STR, {}},
00141 { BASICTYPE_IA5_STR, {}},
00142 { BASICTYPE_BMP_STR, {}},
00143 { BASICTYPE_UTF8_STR, {}},
00144 { BASICTYPE_UTCTIME, {}},
00145 { BASICTYPE_GENERALIZEDTIME, {}},
00146 { BASICTYPE_GRAPHIC_STR, {}},
00147 { BASICTYPE_VISIBLE_STR, {}},
00148 { BASICTYPE_GENERAL_STR,{}},
00149 { BASICTYPE_OBJECTDESCRIPTOR, {}},
00150 { BASICTYPE_VIDEOTEX_STR, {}},
00151 { BASICTYPE_T61_STR, {}},
00152 { BASICTYPE_OCTETCONTAINING, {}},
00153 { BASICTYPE_BITCONTAINING, {}},
00154 { BASICTYPE_RELATIVE_OID, {}},
00155 { BASICTYPE_ANY, {}},
00156 { COMPOSITE_ASN1_TYPE, {}},
00157 { RDNSequence, {}},
00158 { RelativeDistinguishedName, {}}, 
00159 { TelephoneNumber, {}},
00160 { FacsimileTelephoneNumber__telephoneNumber, {}},
00161 { DirectoryString, {}},
00162 { ASN_COMP_CERTIFICATE, {}},
00163 { ASNTYPE_END , {}}
00164 };
00165 
00166 AsnTypetoCompDesc asntype_to_compdesc_mapping_tbl[] = {
00167 { BASICTYPE_BOOLEAN, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BOOLEAN,
00168        (encoder_func*)NULL,(encoder_func*)GEncComponentBool,(encoder_func*)NULL,
00169        (gser_decoder_func*)GDecComponentBool,(ber_decoder_func*)BDecComponentBool,
00170        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBool}},
00171 { BASICTYPE_INTEGER, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_INTEGER,
00172        (encoder_func*)NULL,(encoder_func*)GEncComponentInt,(encoder_func*)NULL,
00173        (gser_decoder_func*)GDecComponentInt,(ber_decoder_func*)BDecComponentInt,
00174        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentInt}},
00175 { BASICTYPE_BITSTRING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BITSTRING,
00176        (encoder_func*)NULL,(encoder_func*)GEncComponentBits,(encoder_func*)NULL,
00177        (gser_decoder_func*)GDecComponentBits,(ber_decoder_func*)BDecComponentBits,
00178        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBits}},
00179 { BASICTYPE_OCTETSTRING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OCTETSTRING,
00180        (encoder_func*)NULL,(encoder_func*)GEncComponentOcts,(encoder_func*)NULL,
00181        (gser_decoder_func*)GDecComponentOcts,(ber_decoder_func*)BDecComponentOcts,
00182        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentOcts}},
00183 { BASICTYPE_NULL, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_NULL,
00184        (encoder_func*)NULL,(encoder_func*)GEncComponentNull,(encoder_func*)NULL,
00185        (gser_decoder_func*)GDecComponentNull,(ber_decoder_func*)BDecComponentNull,
00186        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentNull}},
00187 { BASICTYPE_OID, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OID,
00188        (encoder_func*)NULL,(encoder_func*)GEncComponentOid,(encoder_func*)NULL,
00189        (gser_decoder_func*)GDecComponentOid,(ber_decoder_func*)BDecComponentOid,
00190        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentOid}},
00191 { BASICTYPE_REAL, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_REAL,
00192        (encoder_func*)NULL,(encoder_func*)GEncComponentReal,(encoder_func*)NULL,
00193        (gser_decoder_func*)GDecComponentReal,(ber_decoder_func*)BDecComponentReal,
00194        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentReal}},
00195 { BASICTYPE_ENUMERATED, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_ENUMERATED,
00196        (encoder_func*)NULL,(encoder_func*)GEncComponentEnum,(encoder_func*)NULL,
00197        (gser_decoder_func*)GDecComponentEnum,(ber_decoder_func*)BDecComponentEnum,
00198        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentEnum}},
00199 { BASICTYPE_NUMERIC_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_NUMERIC_STR,
00200        (encoder_func*)NULL,(encoder_func*)GEncComponentNumericString,(encoder_func*)NULL,
00201        (gser_decoder_func*)GDecComponentNumericString,(ber_decoder_func*)BDecComponentNumericString,
00202        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentNumericString}},
00203 { BASICTYPE_PRINTABLE_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_PRINTABLE_STR,
00204        (encoder_func*)NULL,(encoder_func*)GEncComponentPrintableString,(encoder_func*)NULL,
00205        (gser_decoder_func*)GDecComponentPrintableString,(ber_decoder_func*)BDecComponentPrintableString,
00206        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentPrintableString}},
00207 { BASICTYPE_UNIVERSAL_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UNIVERSAL_STR,
00208        (encoder_func*)NULL,(encoder_func*)GEncComponentUniversalString,(encoder_func*)NULL,
00209        (gser_decoder_func*)GDecComponentUniversalString,(ber_decoder_func*)BDecComponentUniversalString,
00210        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUniversalString}},
00211 { BASICTYPE_IA5_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_IA5_STR,
00212        (encoder_func*)NULL,(encoder_func*)GEncComponentIA5String,(encoder_func*)NULL,
00213        (gser_decoder_func*)GDecComponentIA5String,(ber_decoder_func*)BDecComponentIA5String,
00214        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentIA5String}},
00215 { BASICTYPE_BMP_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BMP_STR,
00216        (encoder_func*)NULL,(encoder_func*)GEncComponentBMPString,(encoder_func*)NULL,
00217        (gser_decoder_func*)GDecComponentBMPString,(ber_decoder_func*)BDecComponentBMPString,
00218        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentBMPString}},
00219 { BASICTYPE_UTF8_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UTF8_STR,
00220        (encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
00221        (gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
00222        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
00223 { BASICTYPE_UTCTIME, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_UTCTIME,
00224        (encoder_func*)NULL,(encoder_func*)GEncComponentUTCTime,(encoder_func*)NULL,
00225        (gser_decoder_func*)GDecComponentUTCTime,(ber_decoder_func*)BDecComponentUTCTime,
00226        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTCTime}},
00227 { BASICTYPE_GENERALIZEDTIME, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GENERALIZEDTIME,
00228        (encoder_func*)NULL,(encoder_func*)GEncComponentUTCTime,(encoder_func*)NULL,
00229        (gser_decoder_func*)GDecComponentUTCTime,(ber_decoder_func*)BDecComponentUTCTime,
00230        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTCTime}},
00231 { BASICTYPE_GRAPHIC_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GRAPHIC_STR,
00232        (encoder_func*)NULL,(encoder_func*)GEncComponentPrintableString,(encoder_func*)NULL,
00233        (gser_decoder_func*)GDecComponentPrintableString,(ber_decoder_func*)BDecComponentPrintableString,
00234        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentPrintableString}},
00235 { BASICTYPE_VISIBLE_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_VISIBLE_STR,
00236        (encoder_func*)NULL,(encoder_func*)GEncComponentVisibleString,(encoder_func*)NULL,
00237        (gser_decoder_func*)GDecComponentVisibleString,(ber_decoder_func*)BDecComponentVisibleString,
00238        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentVisibleString}},
00239 { BASICTYPE_GENERAL_STR,{ -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_GENERAL_STR,
00240        (encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
00241        (gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
00242        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
00243 { BASICTYPE_OBJECTDESCRIPTOR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OBJECTDESCRIPTOR,
00244        (encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
00245        (gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
00246        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
00247 { BASICTYPE_VIDEOTEX_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_VIDEOTEX_STR,
00248        (encoder_func*)NULL,(encoder_func*)GEncComponentTeletexString,(encoder_func*)NULL,
00249        (gser_decoder_func*)GDecComponentTeletexString,(ber_decoder_func*)BDecComponentTeletexString,
00250        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentTeletexString}},
00251 { BASICTYPE_T61_STR, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_T61_STR,
00252        (encoder_func*)NULL,(encoder_func*)GEncComponentUTF8String,(encoder_func*)NULL,
00253        (gser_decoder_func*)GDecComponentUTF8String,(ber_decoder_func*)BDecComponentUTF8String,
00254        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentUTF8String}},
00255 { BASICTYPE_OCTETCONTAINING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_OCTETCONTAINING,
00256        (encoder_func*)NULL,(encoder_func*)NULL,(encoder_func*)NULL,
00257        (gser_decoder_func*)NULL,(ber_decoder_func*)NULL,
00258        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,NULL}},
00259 { BASICTYPE_BITCONTAINING, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_BITCONTAINING,
00260        (encoder_func*)NULL,(encoder_func*)NULL,(encoder_func*)NULL,
00261        (gser_decoder_func*)NULL,(ber_decoder_func*)NULL,
00262        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,NULL}},
00263 { BASICTYPE_RELATIVE_OID, { -1, NULL, {},{},0,ASN_BASIC,BASICTYPE_RELATIVE_OID,
00264        (encoder_func*)NULL,(encoder_func*)GEncComponentRelativeOid,(encoder_func*)NULL,
00265        (gser_decoder_func*)GDecComponentRelativeOid,(ber_decoder_func*)BDecComponentRelativeOid,
00266        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRelativeOid}},
00267 { BASICTYPE_ANY, {}},
00268 { COMPOSITE_ASN1_TYPE, {}},
00269 { RDNSequence, { -1, NULL, {},{},0,ASN_COMPOSITE,RDNSequence,
00270        (encoder_func*)ConvertRDNSequence2RFC2253,(encoder_func*)NULL,(encoder_func*)NULL,
00271        (gser_decoder_func*)GDecComponentRDNSequence,(ber_decoder_func*)BDecComponentRDNSequence,
00272        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRDNSequence}},
00273 { RelativeDistinguishedName, { -1, NULL, {},{},0,ASN_COMPOSITE,RDNSequence,
00274        (encoder_func*)ConvertRDNSequence2RFC2253,(encoder_func*)NULL,(encoder_func*)NULL,
00275        (gser_decoder_func*)GDecComponentRDNSequence,(ber_decoder_func*)BDecComponentRDNSequence,
00276        (comp_free_func*)NULL,(extract_component_from_id_func*)NULL,MatchingComponentRDNSequence}}, 
00277 { TelephoneNumber, {}},
00278 { FacsimileTelephoneNumber__telephoneNumber, {}},
00279 { DirectoryString, {}},
00280 { ASN_COMP_CERTIFICATE, {}},
00281 { ASNTYPE_END , {}}
00282 };