aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/asn.1/asn1_k_decode.c
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2003-05-18 05:16:05 +0000
committerTom Yu <tlyu@mit.edu>2003-05-18 05:16:05 +0000
commit4dbf3745bb68a87427a4044c846427d816a43bbc (patch)
tree03980d6af55bb6003cafa954e1eebb5435cb8647 /src/lib/krb5/asn.1/asn1_k_decode.c
parent955e7a919ce821648b70497f3129a4697cdbe813 (diff)
downloadkrb5-4dbf3745bb68a87427a4044c846427d816a43bbc.zip
krb5-4dbf3745bb68a87427a4044c846427d816a43bbc.tar.gz
krb5-4dbf3745bb68a87427a4044c846427d816a43bbc.tar.bz2
Sequence numbers are now unsigned. Implement lenient parser for
sequence numbers which folds received negative sequence numbers into positive unsigned numbers. Constrain the space of initial sequence numbers to facilitate backwards compatibility. ticket: 1262 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15457 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/asn.1/asn1_k_decode.c')
-rw-r--r--src/lib/krb5/asn.1/asn1_k_decode.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/krb5/asn.1/asn1_k_decode.c b/src/lib/krb5/asn.1/asn1_k_decode.c
index e56832a..f00cb01 100644
--- a/src/lib/krb5/asn.1/asn1_k_decode.c
+++ b/src/lib/krb5/asn.1/asn1_k_decode.c
@@ -320,6 +320,17 @@ integer_convert(asn1_decode_authdatatype,krb5_authdatatype)
unsigned_integer_convert(asn1_decode_ui_2,krb5_ui_2)
unsigned_integer_convert(asn1_decode_ui_4,krb5_ui_4)
+asn1_error_code asn1_decode_seqnum(asn1buf *buf, krb5_ui_4 *val)
+{
+ asn1_error_code retval;
+ unsigned long n;
+
+ retval = asn1_decode_maybe_unsigned(buf, &n);
+ if (retval) return retval;
+ *val = (krb5_ui_4)n & 0xffffffff;
+ return 0;
+}
+
asn1_error_code asn1_decode_msgtype(asn1buf *buf, krb5_msgtype *val)
{
asn1_error_code retval;