summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/asn.1/ChangeLog5
-rw-r--r--src/lib/krb5/asn.1/asn1buf.c10
2 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/krb5/asn.1/ChangeLog b/src/lib/krb5/asn.1/ChangeLog
index caeecfe630..33940ce205 100644
--- a/src/lib/krb5/asn.1/ChangeLog
+++ b/src/lib/krb5/asn.1/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-30 Tom Yu <tlyu@mit.edu>
+
+ * asn1buf.c (asn1buf_sync): Interim fix for DCE compat problem
+ with indefinite length encodings.
+
1999-06-15 Tom Yu <tlyu@mit.edu>
* asn1_encode.c (asn1_encode_generaltime): Fix minor bug in
diff --git a/src/lib/krb5/asn.1/asn1buf.c b/src/lib/krb5/asn.1/asn1buf.c
index 52ac387d50..785b140918 100644
--- a/src/lib/krb5/asn.1/asn1buf.c
+++ b/src/lib/krb5/asn.1/asn1buf.c
@@ -93,7 +93,15 @@ void asn1buf_sync(buf, subbuf)
asn1buf * buf;
asn1buf * subbuf;
{
- buf->next = subbuf->bound + 1;
+ if (subbuf->bound != buf->bound) {
+ buf->next = subbuf->bound + 1;
+ } else {
+ /*
+ * indefinite length; this will suck
+ * XXX - need to skip fields somehow
+ */
+ buf->next = subbuf->next;
+ }
}
asn1_error_code asn1buf_destroy(buf)