Nikos Mavrogiannopoulos [Wed, 4 Jun 2014 15:48:00 +0000 (17:48 +0200)]
doc update
Nikos Mavrogiannopoulos [Wed, 4 Jun 2014 15:42:46 +0000 (17:42 +0200)]
DER decoding: optimize tail seek by using the value providing by _asn1_append_sequence_set.
Nikos Mavrogiannopoulos [Wed, 4 Jun 2014 15:21:15 +0000 (17:21 +0200)]
Optimized _asn1_append_sequence_set() by caching the tail of the element to append on.
Nikos Mavrogiannopoulos [Wed, 4 Jun 2014 12:28:47 +0000 (14:28 +0200)]
doc update
Nikos Mavrogiannopoulos [Wed, 4 Jun 2014 12:26:35 +0000 (14:26 +0200)]
asn1_read_value() and friends understand the ?CURRENT keyword.
That keyword allows to specify the current element if the given
node is a node in a sequence or set.
Nikos Mavrogiannopoulos [Tue, 3 Jun 2014 13:44:49 +0000 (15:44 +0200)]
optimized _asn1_find_up().
Nikos Mavrogiannopoulos [Tue, 3 Jun 2014 14:35:45 +0000 (16:35 +0200)]
more efficient check for '?LAST' and error checking.
Nikos Mavrogiannopoulos [Mon, 2 Jun 2014 08:49:55 +0000 (10:49 +0200)]
Add a sanity check in asn1_der_decoding_startEnd()
Nikos Mavrogiannopoulos [Fri, 30 May 2014 13:22:41 +0000 (15:22 +0200)]
removed unused variable
Nikos Mavrogiannopoulos [Fri, 30 May 2014 13:17:10 +0000 (15:17 +0200)]
doc update
Nikos Mavrogiannopoulos [Fri, 30 May 2014 13:12:00 +0000 (15:12 +0200)]
Added asn1_copy_node2()
Nikos Mavrogiannopoulos [Fri, 30 May 2014 12:56:19 +0000 (14:56 +0200)]
Added test for asn1_copy_node()
Nikos Mavrogiannopoulos [Fri, 30 May 2014 11:50:48 +0000 (13:50 +0200)]
simplified and optimized asn1_der_decoding_startEnd().
The second pass decoding is now avoided as the start and end
values are cached during decoding.
Nikos Mavrogiannopoulos [Fri, 30 May 2014 12:07:02 +0000 (14:07 +0200)]
Added check for decoding_startEnd().
Nikos Mavrogiannopoulos [Fri, 30 May 2014 11:38:36 +0000 (13:38 +0200)]
Simplify temporary value storage during coding.
Nikos Mavrogiannopoulos [Fri, 30 May 2014 11:35:33 +0000 (13:35 +0200)]
Simplify temporary value storage during decoding.
Nikos Mavrogiannopoulos [Tue, 27 May 2014 20:06:33 +0000 (22:06 +0200)]
doc update
Nikos Mavrogiannopoulos [Tue, 27 May 2014 13:48:35 +0000 (15:48 +0200)]
safe_memset: allow memset of zero bytes.
Nikos Mavrogiannopoulos [Mon, 26 May 2014 13:20:01 +0000 (15:20 +0200)]
removed unnecessary and wrong test.
Nikos Mavrogiannopoulos [Mon, 26 May 2014 10:35:53 +0000 (12:35 +0200)]
fixes in length calculation in _asn1_extract_der_octet().
Nikos Mavrogiannopoulos [Mon, 26 May 2014 08:52:22 +0000 (10:52 +0200)]
asn1_der_decoding_element() is no more; it is simply an alias to asn1_der_decoding().
Nikos Mavrogiannopoulos [Sun, 25 May 2014 19:34:49 +0000 (21:34 +0200)]
released 3.6
Nikos Mavrogiannopoulos [Sun, 25 May 2014 19:34:07 +0000 (21:34 +0200)]
doc update
Nikos Mavrogiannopoulos [Thu, 22 May 2014 21:33:08 +0000 (23:33 +0200)]
Allow a NULL value in asn1_read_value() for all types.
Nikos Mavrogiannopoulos [Thu, 22 May 2014 19:44:19 +0000 (21:44 +0200)]
updated TODO
Nikos Mavrogiannopoulos [Thu, 22 May 2014 19:32:10 +0000 (21:32 +0200)]
bumped version
Nikos Mavrogiannopoulos [Sun, 18 May 2014 16:33:50 +0000 (18:33 +0200)]
doc update
Nikos Mavrogiannopoulos [Thu, 22 May 2014 11:50:39 +0000 (13:50 +0200)]
doc update
Nikos Mavrogiannopoulos [Sat, 17 May 2014 07:11:10 +0000 (09:11 +0200)]
Reverted ltostr() changes as the cause a significant delay to the library.
The best approach would be to eliminate the need for ltostr() completely.
Added LTOSTR_MAX_SIZE, to avoid overflows.
Nikos Mavrogiannopoulos [Sat, 17 May 2014 07:05:20 +0000 (09:05 +0200)]
Revert "simplify ltostr()"
This reverts commit
f93acf7f0a3f19692c71fc9022981b6f64ffdbc1.
Nikos Mavrogiannopoulos [Sat, 17 May 2014 07:05:15 +0000 (09:05 +0200)]
Revert "made _asn1_ltostr() safer."
This reverts commit
07a5adb87880f3fce80aa12121409bbf652f1b6d.
Nikos Mavrogiannopoulos [Sat, 17 May 2014 06:15:53 +0000 (08:15 +0200)]
doc update
Nikos Mavrogiannopoulos [Sat, 17 May 2014 06:15:00 +0000 (08:15 +0200)]
Marked asn1_der_decoding_element() as deprecated.
Nikos Mavrogiannopoulos [Sat, 17 May 2014 06:10:32 +0000 (08:10 +0200)]
Use the new functions in asn1_decoding_element()
Nikos Mavrogiannopoulos [Sat, 17 May 2014 06:08:25 +0000 (08:08 +0200)]
Revert "asn1_der_decoding_element is just an alias of asn1_der_decoding()."
This reverts commit
a8866ebf9a62386bd24f107e8384bbbf032baa52.
Nikos Mavrogiannopoulos [Sat, 17 May 2014 06:08:15 +0000 (08:08 +0200)]
made _asn1_ltostr() safer.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 22:21:25 +0000 (00:21 +0200)]
safer usage of memcpy().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 22:06:01 +0000 (00:06 +0200)]
check for zero size in time and object ids.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 22:03:58 +0000 (00:03 +0200)]
Allow for zero strings.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 21:48:27 +0000 (23:48 +0200)]
simplify ltostr()
Nikos Mavrogiannopoulos [Fri, 16 May 2014 20:39:49 +0000 (22:39 +0200)]
doc update
Nikos Mavrogiannopoulos [Fri, 16 May 2014 20:10:08 +0000 (22:10 +0200)]
Do not return illegal values in asn1_get_bit_der().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 19:54:58 +0000 (21:54 +0200)]
return the correct error code in asn1_read_value_type()
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:36:19 +0000 (19:36 +0200)]
removed debug definition
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:27:03 +0000 (19:27 +0200)]
doc update
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:25:53 +0000 (19:25 +0200)]
use DECR_LEN() in _asn1_get_indefinite_length_string().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:21:37 +0000 (19:21 +0200)]
use DECR_LEN in _asn1_get_octet_string()
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:16:09 +0000 (19:16 +0200)]
Fixes in _asn1_extract_der_octet() and usage of DECR_LEN().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:02:46 +0000 (19:02 +0200)]
use DECR_LEN() in _asn1_extract_tag_der()
Nikos Mavrogiannopoulos [Fri, 16 May 2014 17:00:04 +0000 (19:00 +0200)]
simplified check for indefinite.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 16:21:08 +0000 (18:21 +0200)]
expanded usage of DECR_LEN().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 16:07:52 +0000 (18:07 +0200)]
simplified _asn1_get_octet_string().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 16:05:44 +0000 (18:05 +0200)]
simplified _asn1_get_indefinite_length_string()
Nikos Mavrogiannopoulos [Fri, 16 May 2014 16:02:32 +0000 (18:02 +0200)]
More precise tracking of data.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 09:04:35 +0000 (11:04 +0200)]
asn1_der_decoding_element is just an alias of asn1_der_decoding().
This eliminates the need of massive code duplication.
Nikos Mavrogiannopoulos [Fri, 16 May 2014 06:08:02 +0000 (08:08 +0200)]
More precise length check in _asn1_get_indefinite_length_string().
Nikos Mavrogiannopoulos [Fri, 16 May 2014 05:18:26 +0000 (07:18 +0200)]
Use the correct max length definition.
Nikos Mavrogiannopoulos [Sat, 10 May 2014 11:53:01 +0000 (13:53 +0200)]
cleaned up a bit _asn1_remove_node().
Nikos Mavrogiannopoulos [Sat, 10 May 2014 11:49:32 +0000 (13:49 +0200)]
prevent memset() from being optimized out.
Nikos Mavrogiannopoulos [Mon, 5 May 2014 14:46:48 +0000 (16:46 +0200)]
doc update
Nikos Mavrogiannopoulos [Sat, 3 May 2014 20:45:32 +0000 (22:45 +0200)]
Corrected an off-by-one error.
The issue was discovered using the codenomicon TLS suite.
Nikos Mavrogiannopoulos [Fri, 2 May 2014 12:49:03 +0000 (14:49 +0200)]
Added stable mark
Nikos Mavrogiannopoulos [Thu, 1 May 2014 21:07:23 +0000 (23:07 +0200)]
bumped version
Nikos Mavrogiannopoulos [Thu, 1 May 2014 20:58:21 +0000 (22:58 +0200)]
bumped version
Kurt Roeckx [Thu, 1 May 2014 12:15:54 +0000 (14:15 +0200)]
Use the smallest of the 2 lengths for the comparison
We're sorting 2 strings here based on X.690 section 11.6 and 6.3
Nikos Mavrogiannopoulos [Mon, 28 Apr 2014 14:11:47 +0000 (16:11 +0200)]
Added minmax gnulib module.
Nikos Mavrogiannopoulos [Mon, 28 Apr 2014 14:11:27 +0000 (16:11 +0200)]
more files to ignore
Kurt Roeckx [Sat, 26 Apr 2014 16:10:31 +0000 (18:10 +0200)]
Make asn1_ordering_set_of() return error if it can't find data for one of the entries.
Kurt Roeckx [Sat, 26 Apr 2014 16:10:32 +0000 (18:10 +0200)]
Check that p is not NULL
As far as I can tell this should never happen.
Nikos Mavrogiannopoulos [Sun, 27 Apr 2014 16:20:27 +0000 (18:20 +0200)]
updated bison file
Nikos Mavrogiannopoulos [Sat, 26 Apr 2014 10:47:00 +0000 (12:47 +0200)]
Nikos Mavrogiannopoulos [Sat, 26 Apr 2014 09:58:01 +0000 (11:58 +0200)]
Added test that decodes and re-encodes a DER CRL.
Nikos Mavrogiannopoulos [Mon, 21 Apr 2014 22:46:53 +0000 (00:46 +0200)]
doc update
Kurt Roeckx [Sun, 20 Apr 2014 14:50:03 +0000 (16:50 +0200)]
Fix memory leak.
Kurt Roeckx [Sun, 20 Apr 2014 14:50:02 +0000 (16:50 +0200)]
_asn1_ordering_*(): Fix memory leak in case of error
Kurt Roeckx [Sun, 20 Apr 2014 14:50:01 +0000 (16:50 +0200)]
Make _asn1_ordering_* return error values and check them.
Kurt Roeckx [Sun, 20 Apr 2014 14:50:00 +0000 (16:50 +0200)]
Call ordering functions with the right length
We're going to insert the length of the set and at this point are going to order
it. But we called it with the wrong length. Also updates the check to only do
it when the buffer isn't to small.
Simon Josefsson [Tue, 22 Apr 2014 19:16:17 +0000 (21:16 +0200)]
Fix syntax-check nits.
Simon Josefsson [Tue, 22 Apr 2014 19:02:23 +0000 (21:02 +0200)]
Update copyright years.
Simon Josefsson [Tue, 22 Apr 2014 18:50:00 +0000 (20:50 +0200)]
Update gnulib files.
Nikos Mavrogiannopoulos [Thu, 17 Apr 2014 13:43:30 +0000 (15:43 +0200)]
doc update
Nikos Mavrogiannopoulos [Thu, 17 Apr 2014 13:36:11 +0000 (15:36 +0200)]
simplified asn1_find_structure_from_oid() and asn1_expand_any_defined_by().
Nikos Mavrogiannopoulos [Tue, 15 Apr 2014 12:30:45 +0000 (14:30 +0200)]
doc update
Nikos Mavrogiannopoulos [Tue, 15 Apr 2014 11:49:40 +0000 (13:49 +0200)]
Do not try to write over null values
Nikos Mavrogiannopoulos [Tue, 15 Apr 2014 10:12:06 +0000 (12:12 +0200)]
fixed several coverity reported bugs.
Nikos Mavrogiannopoulos [Fri, 28 Mar 2014 13:49:58 +0000 (14:49 +0100)]
doc update
Jean-Louis Thekekara [Tue, 25 Mar 2014 16:15:58 +0000 (17:15 +0100)]
asn1_write_value: fix segfault when deleting an unauthorized element
Segfaults can occur, since value is dereferenced later, ex:
352 if ((isdigit (value[0])) || (value[0] == '-')
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 28 Mar 2014 13:45:33 +0000 (14:45 +0100)]
cleaned up code
Jean-Louis Thekekara [Tue, 25 Mar 2014 12:41:37 +0000 (13:41 +0100)]
asn1_write_value: allow SET_OF elements deletion
SET_OF elements could just be deleted as SEQUENCE_OF ones.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Jean-Louis Thekekara [Tue, 25 Mar 2014 13:16:39 +0000 (14:16 +0100)]
extract_tag_der_recursive: fix compilation errors
Fix the following errors introduced by extract_tag_der_recursive usage:
decoding.c: In function 'extract_tag_der_recursive':
decoding.c:560:5: error: 'ris' may be used uninitialized in this function [-Werror=maybe-uninitialized]
decoding.c: In function 'asn1_der_decoding_startEnd':
decoding.c:2192:40: error: unused variable 'p3' [-Werror=unused-variable]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 14:27:21 +0000 (15:27 +0100)]
corrected delete_unneeded_choice_fields().
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 14:19:19 +0000 (15:19 +0100)]
free all allocated memory
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 14:09:56 +0000 (15:09 +0100)]
doc update
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 14:09:11 +0000 (15:09 +0100)]
Added self-check for recursive choices.
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 14:02:15 +0000 (15:02 +0100)]
Handle recursive CHOICEs.
Nikos Mavrogiannopoulos [Fri, 14 Mar 2014 13:07:42 +0000 (14:07 +0100)]
Use special function for common usage of _asn1_extract_tag_der().
Nikos Mavrogiannopoulos [Wed, 27 Nov 2013 13:28:03 +0000 (14:28 +0100)]
distribute stamp_docs to avoid regenerating docs everywhere.
Nikos Mavrogiannopoulos [Mon, 25 Nov 2013 19:25:07 +0000 (20:25 +0100)]
corrected so-number
Nikos Mavrogiannopoulos [Mon, 25 Nov 2013 19:18:05 +0000 (20:18 +0100)]
doc update
Nikos Mavrogiannopoulos [Mon, 25 Nov 2013 19:12:38 +0000 (20:12 +0100)]
include asn1_delete_structure2() to tests