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 ) {
+ k->comp_desc = get_component_description (BASICTYPE_PRINTABLE_STR);
+
+ return LDAP_SUCCESS;
+}
+
+/*
+ * Component BER Decoder : TeletexString
+ */
+
+int
+BDecComponentTeletexStringTag ( void* mem_op, GenBuf *b, void *v, AsnLen *bytesDecoded, int mode )
+{
+ return BDecComponentTeletexString ( mem_op, b, 0, 0, v, bytesDecoded, mode|CALL_TAG_DECODER );
+}
+
+int
+BDecComponentTeletexString( void* mem_op, GenBuf *b, AsnTag tagId, AsnLen len, void *v, AsnLen *bytesDecoded, int mode )
+{
+ char* peek_head;
+ int i, strLen, rc;
+ void* component_values;
+ ComponentTeletexString* k, **k2;
+ AsnOid result;
+
+ k = (ComponentTeletexString*) v;
+
+ if ( mode & DEC_ALLOC_MODE_0 ) {
+ k2 = (ComponentTeletexString**) v;
+ *k2 = (ComponentTeletexString*) CompAlloc( mem_op, sizeof( ComponentTeletexString ) );
+ if ( !*k2 ) return LDAP_DECODING_ERROR;
+ k = *k2;
+ }
+
+ if ( mode & CALL_TAG_DECODER ) {
+ mode = mode & CALL_CONTENT_DECODER;
+ rc = BDecTeletexString ( mem_op, b, &result, bytesDecoded );
+ } else {
+ rc = BDecTeletexStringContent ( mem_op, b, tagId, len, &result, bytesDecoded );
+ }
+ if ( rc < 0 ) {
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->value = result;
+
+ k->comp_desc = get_component_description (BASICTYPE_T61_STR);
+
return LDAP_SUCCESS;
}
+
/*
* Matching function : Real
*/
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;
mem_op = comp_nibble_memory_allocator ( 128, 16 );
oid.octs = EncodeComponentOid ( mem_op, ch_oid, &oid_len);
oid.octetLen = oid_len;
- if( strLen <= 0 ) {
+ if( oid_len <= 0 ) {
comp_nibble_memory_free( mem_op );
- return;
+ return NULL;
}
/* use encoded oid as hash string */