- Added the self test with "make check" target
- Added management of ANY type with null length
- Corrected some writes to invalid data.
-
+
* Noteworthy changes in release 0.2.10
- Added scripts to assist in libtasn1 version detection
from configure scripts.
"INTEGER (5 | 10)" and
"INTEGER (5)"
- Comments start at "--" and finish at the "end of line" or
- with another "--".
+ with another "--".
* Noteworthy changes in release 0.2.5
- Bug fix in ordering procedure for SET OF and SEQUENCE OF
types coding.
- Manage structured format (BER encoding) in
- asn1_der_decoding, asn1_decoding_element and
+ asn1_der_decoding, asn1_decoding_element and
asn1_der_decoding_startEnd for OCTET STRING type.
-- Manage SEQUENCE and SET empty structure.
+- Manage SEQUENCE and SET empty structure.
- Manage "indefinite length method" in asn1_der_decoding,
- asn1_decoding_element and asn1_der_decoding_startEnd
+ asn1_decoding_element and asn1_der_decoding_startEnd
for the following types:
SEQUENCE, SEQUENCE OF, SET, and SET OF.
- Bug fix in asn1_read_value with NULL parameter in case
* Noteworthy changes in release 0.2.0
- Support for other platforms
- Change asn1_create_element function interface (dest_name not needed any more)
-- Change OBJECT IDENTIFIER syntax: numbers must be separated by dot in
+- Change OBJECT IDENTIFIER syntax: numbers must be separated by dot in
asn1_write_element and asn1_read_element functions (e.g. "1.2.3.4")
* Noteworthy changes in release 0.1.2
local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_have_config_h \
sc_require_config_h sc_require_config_h_first \
- sc_trailing_blank sc_immutable_NEWS \
- sc_prohibit_magic_number_exit
+ sc_immutable_NEWS sc_prohibit_magic_number_exit
VC_LIST_ALWAYS_EXCLUDE_REGEX = ^(build-aux|gl|lib/gllib|lib/glm4)/.*$
bootstrap-tools := autoconf,automake,libtool,bison
W32ROOT ?= $(HOME)/gnutls4win/inst
-mingw32: autoreconf
+mingw32: autoreconf
./configure --enable-gtk-doc --host=i586-mingw32msvc --build=`./config.guess` --prefix=$(W32ROOT)
ChangeLog:
nw="$nw -Wtraditional-conversion" # Too many warnings for now
nw="$nw -Wconversion" # Too many warnings for now
nw="$nw -Wsign-conversion" # Too many warnings for now
- nw="$nw -Wold-style-definition" #
+ nw="$nw -Wold-style-definition" #
nw="$nw -Wpadded" # Our structs are not padded
- nw="$nw -Wundef" #
+ nw="$nw -Wundef" #
nw="$nw -Wunreachable-code" # Too many false positives
nw="$nw -Wunused-macros" # Breaks on bison generated ASN1.c
nw="$nw -Wunsafe-loop-optimizations"
DEFINITIONS <EXPLICIT or IMPLICIT> TAGS ::=
- BEGIN
+ BEGIN
<type and constants definitions>
@itemize @bullet
-@item Add functions for a C code file generation containing equivalent
+@item Add functions for a C code file generation containing equivalent
data structures (not a single array like now).
@item Type REAL.
<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
-body {
+body {
margin: 2%;
padding: 0 5%;
background: #ffffff;
/* Use the next 3 lines to visit the empty certificate */
/* printf("-----------------\n");
- asn1_visit_tree(cert1,"");
+ asn1_visit_tree(cert1,"");
printf("-----------------\n"); */
/* version: v3(2) */
/* Use the next 3 lines to visit the certificate */
- /* printf("-----------------\n");
- asn1_visit_tree(cert1,"");
+ /* printf("-----------------\n");
+ asn1_visit_tree(cert1,"");
printf("-----------------\n"); */
*der_len = max_len;
}
/* Use the next 3 lines to visit the certificate */
- /* printf("-----------------\n");
- asn1_visit_tree(cert2,"");
+ /* printf("-----------------\n");
+ asn1_visit_tree(cert2,"");
printf("-----------------\n"); */
/* Use the following 3 lines to visit the PKIX1Implicit structures */
/* printf("-----------------\n");
- asn1_visit_tree(PKIX1Implicit88,"PKIX1Implicit88");
+ asn1_visit_tree(PKIX1Implicit88,"PKIX1Implicit88");
printf("-----------------\n"); */
der_len = 1024;
/* Use the next 3 lines to visit the empty certificate */
/* printf("-----------------\n");
- asn1_visit_tree(crl,"");
+ asn1_visit_tree(crl,"");
printf("-----------------\n"); */
/* Use the next 3 lines to visit the certificate */
- /* printf("-----------------\n");
- asn1_visit_tree(crl,"");
+ /* printf("-----------------\n");
+ asn1_visit_tree(crl,"");
printf("-----------------\n"); */
*der_len = max_len;
}
/* Use the next 3 lines to visit the certificate */
- /* printf("-----------------\n");
- asn1_visit_tree(crl2,"");
+ /* printf("-----------------\n");
+ asn1_visit_tree(crl2,"");
printf("-----------------\n"); */
/* Use the following 3 lines to visit the PKIX1Implicit structures */
/* printf("-----------------\n");
- asn1_visit_tree(cert_def,"PKIX1Implicit88");
+ asn1_visit_tree(cert_def,"PKIX1Implicit88");
printf("-----------------\n"); */
der_len = 1024;
Attribute ::= SEQUENCE {
type AttributeType,
values SET OF AttributeValue
- -- at least one value is required --
+ -- at least one value is required --
}
AttributeType ::= OBJECT IDENTIFIER
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
- -- If present, version shall be v3 --
+ -- If present, version shall be v3 --
}
Version ::= INTEGER { v1(0), v2(1), v3(2) }
-- if present, shall be v2
} OPTIONAL,
crlExtensions [0] EXPLICIT Extensions OPTIONAL
- -- if present, shall be v2 --
+ -- if present, shall be v2 --
}
-- Version, Time, CertificateSerialNumber, and Extensions were
personal-name [5] EXPLICIT PersonalName OPTIONAL,
-- see also teletex-personal-name
organizational-unit-names [6] EXPLICIT OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names --
+ -- see also teletex-organizational-unit-names --
}
CountryName ::= [APPLICATION 1] CHOICE {
_asn1_set_down($$,$2);}
| type_assig_right_tag OPTIONAL {$$=_asn1_mod_type($1,CONST_OPTION);}
;
-
+
type_assig : IDENTIFIER type_assig_right_tag_default {$$=_asn1_set_name($2,$1);}
;
p = node->down;
/* When there are nested tags we must complete them reverse to
the order they were created. This is because completing a tag
- modifies all data within it, including the incomplete tags
+ modifies all data within it, including the incomplete tags
which store buffer positions -- simon@josefsson.org 2002-09-06
*/
while (p->right)
if ((result == ASN1_SUCCESS)
&& (!strcmp (p3->value, value)))
{
- p2 = p2->right; /* pointer to the structure to
+ p2 = p2->right; /* pointer to the structure to
use for expansion */
while ((p2) && (p2->type & CONST_ASSIGN))
p2 = p2->right;
&& (!strcmp (objectNode->value, value)))
{
- p2 = p2->right; /* pointer to the structure to
+ p2 = p2->right; /* pointer to the structure to
use for expansion */
while ((p2) && (p2->type & CONST_ASSIGN))
p2 = p2->right;
asn1_strerror;
asn1_write_value;
- # Old symbols
+ # Old symbols
libtasn1_strerror;
libtasn1_perror;
p = p->down;
- /* The identifier "?LAST" indicates the last element
+ /* The identifier "?LAST" indicates the last element
in the right chain. */
if (!strcmp (n, "?LAST"))
{
bin_PROGRAMS = asn1Parser asn1Coding asn1Decoding
-asn1Parser_SOURCES = asn1Parser.c
+asn1Parser_SOURCES = asn1Parser.c
-asn1Coding_SOURCES = asn1Coding.c
+asn1Coding_SOURCES = asn1Coding.c
-asn1Decoding_SOURCES = asn1Decoding.c
+asn1Decoding_SOURCES = asn1Decoding.c
id-anyTest2 OBJECT IDENTIFIER ::= {id-ic 29 2}
-anyTest2 ::= INTEGER
+anyTest2 ::= INTEGER
VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING
DistributionPointName ::= CHOICE {
fullName [0] GeneralNames,
- nameRelativeToCRLIssuer [1] RelativeDistinguishedName
+ nameRelativeToCRLIssuer [1] RelativeDistinguishedName
}
ReasonFlags ::= BIT STRING {
Attribute ::= SEQUENCE {
type AttributeType,
values SET OF AttributeValue
- -- at least one value is required --
+ -- at least one value is required --
}
AttributeType ::= OBJECT IDENTIFIER
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
- -- If present, version shall be v3 --
+ -- If present, version shall be v3 --
}
Version ::= INTEGER { v1(0), v2(1), v3(2) }
-- if present, shall be v2
} OPTIONAL,
crlExtensions [0] EXPLICIT Extensions OPTIONAL
- -- if present, shall be v2 --
+ -- if present, shall be v2 --
}
-- Version, Time, CertificateSerialNumber, and Extensions were
Dss-Sig-Value ::= SEQUENCE {
r INTEGER,
- s INTEGER
+ s INTEGER
}
dhpublicnumber OBJECT IDENTIFIER ::= {
personal-name [5] EXPLICIT PersonalName OPTIONAL,
-- see also teletex-personal-name
organizational-unit-names [6] EXPLICIT OrganizationalUnitNames OPTIONAL
- -- see also teletex-organizational-unit-names --
+ -- see also teletex-organizational-unit-names --
}
CountryName ::= [APPLICATION 1] CHOICE {
pkcs-7-DigestInfo ::= SEQUENCE {
digestAlgorithm pkcs-7-DigestAlgorithmIdentifier,
- digest pkcs-7-Digest
+ digest pkcs-7-Digest
}
pkcs-7-Digest ::= OCTET STRING
encapContentInfo pkcs-7-EncapsulatedContentInfo,
certificates [0] IMPLICIT pkcs-7-CertificateSet OPTIONAL,
crls [1] IMPLICIT pkcs-7-CertificateRevocationLists OPTIONAL,
- signerInfos pkcs-7-SignerInfos
+ signerInfos pkcs-7-SignerInfos
}
pkcs-7-CMSVersion ::= INTEGER { v0(0), v1(1), v2(2), v3(3), v4(4) }
pkcs-8-EncryptedPrivateKeyInfo ::= SEQUENCE {
encryptionAlgorithm AlgorithmIdentifier,
- encryptedData pkcs-8-EncryptedData
+ encryptedData pkcs-8-EncryptedData
}
pkcs-8-EncryptedData ::= OCTET STRING
},
iterationCount INTEGER (1..MAX),
keyLength INTEGER (1..MAX) OPTIONAL,
- prf AlgorithmIdentifier OPTIONAL -- DEFAULT pkcs-5-id-hmacWithSHA1
+ prf AlgorithmIdentifier OPTIONAL -- DEFAULT pkcs-5-id-hmacWithSHA1
}
-- PKCS #12 stuff