~ubuntu-branches/ubuntu/trusty/gnutls26/trusty-security

« back to all changes in this revision

Viewing changes to lib/minitasn1/coding.c

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Metzler
  • Date: 2010-04-22 19:29:52 UTC
  • mto: (12.4.3 experimental) (1.5.1)
  • mto: This revision was merged to the branch mainline in revision 26.
  • Revision ID: james.westby@ubuntu.com-20100422192952-gbj6cvaan8e4ejck
Tags: upstream-2.9.10
ImportĀ upstreamĀ versionĀ 2.9.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *      Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation
3
 
 *      Copyright (C) 2002  Fabio Fiorina
 
2
 * Copyright (C) 2002, 2004, 2006, 2008, 2009, 2010 Free Software
 
3
 * Foundation, Inc.
4
4
 *
5
5
 * This file is part of LIBTASN1.
6
6
 *
384
384
      p = node->down;
385
385
      /* When there are nested tags we must complete them reverse to
386
386
         the order they were created. This is because completing a tag
387
 
         modifies all data within it, including the incomplete tags 
 
387
         modifies all data within it, including the incomplete tags
388
388
         which store buffer positions -- simon@josefsson.org 2002-09-06
389
389
       */
390
390
      while (p->right)
843
843
}
844
844
 
845
845
/**
846
 
  * asn1_der_coding - Creates the DER encoding for the NAME structure
847
 
  * @element: pointer to an ASN1 element
848
 
  * @name: the name of the structure you want to encode (it must be
849
 
  *   inside *POINTER).
850
 
  * @ider: vector that will contain the DER encoding. DER must be a
851
 
  *   pointer to memory cells already allocated.
852
 
  * @len: number of bytes of *@ider: @ider[0]..@ider[len-1], Initialy
853
 
  *   holds the sizeof of der vector.
854
 
  * @errorDescription : return the error description or an empty
855
 
  *   string if success.
856
 
  *
857
 
  * Creates the DER encoding for the NAME structure (inside *POINTER
858
 
  * structure).
859
 
  *
860
 
  * Returns:
861
 
  *
862
 
  *   ASN1_SUCCESS: DER encoding OK.
863
 
  *
864
 
  *   ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element.
865
 
  *
866
 
  *   ASN1_VALUE_NOT_FOUND: There is an element without a value.
867
 
  *
868
 
  *   ASN1_MEM_ERROR: @ider vector isn't big enough. Also in this case
869
 
  *     LEN will contain the length needed.
870
 
  *
871
 
  **/
 
846
 * asn1_der_coding:
 
847
 * @element: pointer to an ASN1 element
 
848
 * @name: the name of the structure you want to encode (it must be
 
849
 *   inside *POINTER).
 
850
 * @ider: vector that will contain the DER encoding. DER must be a
 
851
 *   pointer to memory cells already allocated.
 
852
 * @len: number of bytes of *@ider: @ider[0]..@ider[len-1], Initialy
 
853
 *   holds the sizeof of der vector.
 
854
 * @errorDescription : return the error description or an empty
 
855
 *   string if success.
 
856
 *
 
857
 * Creates the DER encoding for the NAME structure (inside *POINTER
 
858
 * structure).
 
859
 *
 
860
 * Returns:
 
861
 *
 
862
 *   %ASN1_SUCCESS: DER encoding OK.
 
863
 *
 
864
 *   %ASN1_ELEMENT_NOT_FOUND: NAME is not a valid element.
 
865
 *
 
866
 *   %ASN1_VALUE_NOT_FOUND: There is an element without a value.
 
867
 *
 
868
 *   %ASN1_MEM_ERROR: @ider vector isn't big enough. Also in this case
 
869
 *     LEN will contain the length needed.
 
870
 **/
872
871
asn1_retCode
873
872
asn1_der_coding (ASN1_TYPE element, const char *name, void *ider, int *len,
874
873
                 char *ErrorDescription)