Skip to content
Snippets Groups Projects
Commit 8c41f54a authored by Niels Möller's avatar Niels Möller
Browse files

Fixed minor bog in to_base_128(0). Added more debug.

Rev: lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod:1.2
parent 76a9c75a
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,8 @@ class asn1_object ...@@ -20,6 +20,8 @@ class asn1_object
string to_base_128(int n) string to_base_128(int n)
{ {
if (!n)
return "\0";
/* Convert tag number to base 128 */ /* Convert tag number to base 128 */
array(int) digits = ({ }); array(int) digits = ({ });
...@@ -75,6 +77,10 @@ class asn1_compound ...@@ -75,6 +77,10 @@ class asn1_compound
void create(object ...args) void create(object ...args)
{ {
elements = args; elements = args;
foreach(elements, mixed o)
if (!o || !objectp(o))
throw( ({ "asn1_compound: Non-object argument!\n",
backtrace() }) );
WERROR(sprintf("asn1_compound: %O\n", elements)); WERROR(sprintf("asn1_compound: %O\n", elements));
} }
} }
...@@ -195,7 +201,11 @@ class asn1_sequence ...@@ -195,7 +201,11 @@ class asn1_sequence
string der() string der()
{ {
return build_der(`+("", @Array.map(elements, "der"))); WERROR(sprintf("asn1_sequence->der: elements = '%O\n",
elements));
array(string) a = Array.map(elements, "der");
WERROR(sprintf("asn1_sequence->der: der(elements) = '%O\n", a));
return build_der(`+("", @ a));
} }
} }
...@@ -223,10 +233,9 @@ class asn1_set ...@@ -223,10 +233,9 @@ class asn1_set
{ {
WERROR(sprintf("asn1_set->der: elements = '%O\n", WERROR(sprintf("asn1_set->der: elements = '%O\n",
elements)); elements));
WERROR(sprintf("asn1_set->der: der(elements) = '%O\n", array(string) a = Array.map(elements, "der");
Array.map(elements, "der"))); WERROR(sprintf("asn1_set->der: der(elements) = '%O\n", a));
return build_der(`+("", @Array.sort_array(Array.map(elements, "der"), return build_der(`+("", @Array.sort_array(a, compare_octet_strings)));
compare_octet_strings)));
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment