diff options
author | Tom Yu <tlyu@mit.edu> | 2003-05-18 05:16:05 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2003-05-18 05:16:05 +0000 |
commit | 4dbf3745bb68a87427a4044c846427d816a43bbc (patch) | |
tree | 03980d6af55bb6003cafa954e1eebb5435cb8647 /src/lib/krb5/asn.1/asn1_k_decode.c | |
parent | 955e7a919ce821648b70497f3129a4697cdbe813 (diff) | |
download | krb5-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.c | 11 |
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; |