From e6b0c9b0999de7b0b6a50253b4cf130652537c88 Mon Sep 17 00:00:00 2001 From: Samuel Cabrero Date: Tue, 6 May 2025 11:43:30 +0200 Subject: [PATCH] Update der to 0.8.0-rc2 Drop private fork, GeneralString was added in upstream. Signed-off-by: Samuel Cabrero --- Cargo.lock | 9 +++++---- Cargo.toml | 2 +- src/asn1/ap_req.rs | 4 +++- src/asn1/authenticator.rs | 4 +++- src/asn1/enc_ticket_part.rs | 4 +++- src/asn1/kerberos_string.rs | 2 ++ src/asn1/krb_error.rs | 4 +++- src/asn1/krb_kdc_rep.rs | 20 +++++++++++--------- src/asn1/krb_kdc_req.rs | 14 ++++++++------ src/asn1/tagged_enc_kdc_rep_part.rs | 14 ++++++++------ src/asn1/tagged_ticket.rs | 4 +++- 11 files changed, 50 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2a530b9..5e8d963 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -275,8 +275,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" -source = "git+https://github.com/scabrero/formats.git?branch=der-tag-generalstring#7de3b6b6bc4c9a326276b2415ae66624effde914" +version = "0.8.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a348a791b3df164315b6733835b128f52f99bd76bc3b19adbd574bde4a1be2e7" dependencies = [ "der_derive", "flagset", @@ -285,9 +286,9 @@ dependencies = [ [[package]] name = "der_derive" -version = "0.7.3" +version = "0.8.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +checksum = "9ea0c03fbeccba0997b8f476094bab403aa02013f8eb901eb23a6a7a11b80fe7" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 4a402ed..4cb67e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ tracing = { version = "0.1" } tracing-subscriber = { version = "0.3" } # der = { version = "0.7.9", features = ["alloc", "derive"] } -der = { git = "https://github.com/scabrero/formats.git", branch = "der-tag-generalstring", features = [ +der = { version = "0.8.0-rc.2", features = [ "alloc", "derive", "flagset", diff --git a/src/asn1/ap_req.rs b/src/asn1/ap_req.rs index b80a157..fd88c2d 100644 --- a/src/asn1/ap_req.rs +++ b/src/asn1/ap_req.rs @@ -47,11 +47,13 @@ impl ApReq { impl FixedTag for ApReq { const TAG: Tag = Tag::Application { constructed: true, - number: TagNumber::N14, + number: TagNumber(14), }; } impl<'a> DecodeValue<'a> for ApReq { + type Error = der::Error; + fn decode_value>(reader: &mut R, _header: der::Header) -> der::Result { let inner: ApReqInner = ApReqInner::decode(reader)?; Ok(Self(inner)) diff --git a/src/asn1/authenticator.rs b/src/asn1/authenticator.rs index d79b7b9..347fe7f 100644 --- a/src/asn1/authenticator.rs +++ b/src/asn1/authenticator.rs @@ -125,11 +125,13 @@ impl Authenticator { impl FixedTag for Authenticator { const TAG: Tag = Tag::Application { constructed: true, - number: TagNumber::N2, + number: TagNumber(2), }; } impl<'a> DecodeValue<'a> for Authenticator { + type Error = der::Error; + fn decode_value>(reader: &mut R, _header: der::Header) -> der::Result { let inner: AuthenticatorInner = AuthenticatorInner::decode(reader)?; Ok(Self(inner)) diff --git a/src/asn1/enc_ticket_part.rs b/src/asn1/enc_ticket_part.rs index 725fcf4..b77f384 100644 --- a/src/asn1/enc_ticket_part.rs +++ b/src/asn1/enc_ticket_part.rs @@ -67,11 +67,13 @@ impl TaggedEncTicketPart { impl FixedTag for TaggedEncTicketPart { const TAG: Tag = Tag::Application { constructed: true, - number: TagNumber::N3, + number: TagNumber(3), }; } impl<'a> DecodeValue<'a> for TaggedEncTicketPart { + type Error = der::Error; + fn decode_value>(reader: &mut R, _header: der::Header) -> der::Result { let t: EncTicketPart = EncTicketPart::decode(reader)?; Ok(Self(t)) diff --git a/src/asn1/kerberos_string.rs b/src/asn1/kerberos_string.rs index 3cf432e..f89f181 100644 --- a/src/asn1/kerberos_string.rs +++ b/src/asn1/kerberos_string.rs @@ -18,6 +18,8 @@ impl FixedTag for KerberosString { } impl<'a> DecodeValue<'a> for KerberosString { + type Error = der::Error; + fn decode_value>(reader: &mut R, header: der::Header) -> der::Result { let r: Ia5String = der::asn1::Ia5String::decode_value(reader, header)?; Ok(Self(r)) diff --git a/src/asn1/krb_error.rs b/src/asn1/krb_error.rs index 98969b5..74cecf6 100644 --- a/src/asn1/krb_error.rs +++ b/src/asn1/krb_error.rs @@ -60,11 +60,13 @@ struct TaggedKrbError(KrbError); impl FixedTag for TaggedKrbError { const TAG: Tag = Tag::Application { constructed: true, - number: TagNumber::N30, + number: TagNumber(30), }; } impl<'a> DecodeValue<'a> for TaggedKrbError { + type Error = der::Error; + fn decode_value>(reader: &mut R, _header: der::Header) -> der::Result { let e: KrbError = KrbError::decode(reader)?; Ok(Self(e)) diff --git a/src/asn1/krb_kdc_rep.rs b/src/asn1/krb_kdc_rep.rs index 95e0145..17b6d52 100644 --- a/src/asn1/krb_kdc_rep.rs +++ b/src/asn1/krb_kdc_rep.rs @@ -18,6 +18,8 @@ pub(crate) enum KrbKdcRep { } impl<'a> ::der::Decode<'a> for KrbKdcRep { + type Error = der::Error; + fn decode>(decoder: &mut R) -> der::Result { let tag: der::Tag = decoder.decode()?; let _len: der::Length = decoder.decode()?; @@ -25,21 +27,21 @@ impl<'a> ::der::Decode<'a> for KrbKdcRep { match tag { Tag::Application { constructed: true, - number: TagNumber::N11, + number: TagNumber(11), } => { let kdc_rep: KdcRep = decoder.decode()?; Ok(KrbKdcRep::AsRep(kdc_rep)) } Tag::Application { constructed: true, - number: TagNumber::N13, + number: TagNumber(13), } => { let kdc_rep: KdcRep = decoder.decode()?; Ok(KrbKdcRep::TgsRep(kdc_rep)) } Tag::Application { constructed: true, - number: TagNumber::N30, + number: TagNumber(30), } => { let err_rep: KrbError = decoder.decode()?; Ok(KrbKdcRep::ErrRep(err_rep)) @@ -58,7 +60,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::AsRep(asrep) => { Tag::Application { constructed: true, - number: TagNumber::N11, + number: TagNumber(11), } .encoded_len()? + asrep.encoded_len()? @@ -67,7 +69,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::TgsRep(tgsrep) => { Tag::Application { constructed: true, - number: TagNumber::N13, + number: TagNumber(13), } .encoded_len()? + tgsrep.encoded_len()? @@ -76,7 +78,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::ErrRep(err_rep) => { Tag::Application { constructed: true, - number: TagNumber::N30, + number: TagNumber(30), } .encoded_len()? + err_rep.encoded_len()? @@ -91,7 +93,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::AsRep(asrep) => { Tag::Application { constructed: true, - number: TagNumber::N11, + number: TagNumber(11), } .encode(writer)?; asrep.encoded_len()?.encode(writer)?; @@ -100,7 +102,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::TgsRep(tgsrep) => { Tag::Application { constructed: true, - number: TagNumber::N13, + number: TagNumber(13), } .encode(writer)?; tgsrep.encoded_len()?.encode(writer)?; @@ -109,7 +111,7 @@ impl ::der::Encode for KrbKdcRep { KrbKdcRep::ErrRep(err_rep) => { Tag::Application { constructed: true, - number: TagNumber::N30, + number: TagNumber(30), } .encode(writer)?; err_rep.encoded_len()?.encode(writer)?; diff --git a/src/asn1/krb_kdc_req.rs b/src/asn1/krb_kdc_req.rs index f1b8c74..939813f 100644 --- a/src/asn1/krb_kdc_req.rs +++ b/src/asn1/krb_kdc_req.rs @@ -12,6 +12,8 @@ pub(crate) enum KrbKdcReq { } impl<'a> ::der::Decode<'a> for KrbKdcReq { + type Error = der::Error; + fn decode>(decoder: &mut R) -> der::Result { let tag: der::Tag = decoder.decode()?; let _len: der::Length = decoder.decode()?; @@ -19,14 +21,14 @@ impl<'a> ::der::Decode<'a> for KrbKdcReq { match tag { Tag::Application { constructed: true, - number: TagNumber::N10, + number: TagNumber(10), } => { let kdc_req: KdcReq = decoder.decode()?; Ok(KrbKdcReq::AsReq(kdc_req)) } Tag::Application { constructed: true, - number: TagNumber::N12, + number: TagNumber(12), } => { let kdc_req: KdcReq = decoder.decode()?; Ok(KrbKdcReq::TgsReq(kdc_req)) @@ -46,7 +48,7 @@ impl ::der::Encode for KrbKdcReq { KrbKdcReq::AsReq(asreq) => { let tag_len = Tag::Application { constructed: true, - number: TagNumber::N10, + number: TagNumber(10), } .encoded_len()?; @@ -60,7 +62,7 @@ impl ::der::Encode for KrbKdcReq { KrbKdcReq::TgsReq(tgsreq) => { let tag_len = Tag::Application { constructed: true, - number: TagNumber::N12, + number: TagNumber(12), } .encoded_len()?; @@ -80,7 +82,7 @@ impl ::der::Encode for KrbKdcReq { KrbKdcReq::AsReq(asreq) => { Tag::Application { constructed: true, - number: TagNumber::N10, + number: TagNumber(10), } .encode(writer)?; asreq.encoded_len()?.encode(writer)?; @@ -89,7 +91,7 @@ impl ::der::Encode for KrbKdcReq { KrbKdcReq::TgsReq(tgsreq) => { Tag::Application { constructed: true, - number: TagNumber::N12, + number: TagNumber(12), } .encode(writer)?; tgsreq.encoded_len()?.encode(writer)?; diff --git a/src/asn1/tagged_enc_kdc_rep_part.rs b/src/asn1/tagged_enc_kdc_rep_part.rs index d88efbf..7682bd2 100644 --- a/src/asn1/tagged_enc_kdc_rep_part.rs +++ b/src/asn1/tagged_enc_kdc_rep_part.rs @@ -12,6 +12,8 @@ pub(crate) enum TaggedEncKdcRepPart { } impl<'a> ::der::Decode<'a> for TaggedEncKdcRepPart { + type Error = der::Error; + fn decode>(decoder: &mut R) -> der::Result { let tag: der::Tag = decoder.decode()?; let _len: der::Length = decoder.decode()?; @@ -19,14 +21,14 @@ impl<'a> ::der::Decode<'a> for TaggedEncKdcRepPart { match tag { Tag::Application { constructed: true, - number: TagNumber::N25, + number: TagNumber(25), } => { let enc_kdc_rep_part: EncKdcRepPart = decoder.decode()?; Ok(TaggedEncKdcRepPart::EncAsRepPart(enc_kdc_rep_part)) } Tag::Application { constructed: true, - number: TagNumber::N26, + number: TagNumber(26), } => { let enc_kdc_rep_part: EncKdcRepPart = decoder.decode()?; Ok(TaggedEncKdcRepPart::EncTgsRepPart(enc_kdc_rep_part)) @@ -45,7 +47,7 @@ impl ::der::Encode for TaggedEncKdcRepPart { TaggedEncKdcRepPart::EncAsRepPart(enc_as_rep_part) => { Tag::Application { constructed: true, - number: TagNumber::N25, + number: TagNumber(25), } .encoded_len()? + enc_as_rep_part.encoded_len()? @@ -54,7 +56,7 @@ impl ::der::Encode for TaggedEncKdcRepPart { TaggedEncKdcRepPart::EncTgsRepPart(enc_tgs_rep_part) => { Tag::Application { constructed: true, - number: TagNumber::N26, + number: TagNumber(26), } .encoded_len()? + enc_tgs_rep_part.encoded_len()? @@ -69,7 +71,7 @@ impl ::der::Encode for TaggedEncKdcRepPart { TaggedEncKdcRepPart::EncAsRepPart(enc_as_rep_part) => { Tag::Application { constructed: true, - number: TagNumber::N25, + number: TagNumber(25), } .encode(writer)?; enc_as_rep_part.encoded_len()?.encode(writer)?; @@ -78,7 +80,7 @@ impl ::der::Encode for TaggedEncKdcRepPart { TaggedEncKdcRepPart::EncTgsRepPart(enc_tgs_rep_part) => { Tag::Application { constructed: true, - number: TagNumber::N26, + number: TagNumber(26), } .encode(writer)?; enc_tgs_rep_part.encoded_len()?.encode(writer)?; diff --git a/src/asn1/tagged_ticket.rs b/src/asn1/tagged_ticket.rs index 500dc07..498bbd5 100644 --- a/src/asn1/tagged_ticket.rs +++ b/src/asn1/tagged_ticket.rs @@ -35,11 +35,13 @@ impl TaggedTicket { impl FixedTag for TaggedTicket { const TAG: Tag = Tag::Application { constructed: true, - number: TagNumber::N1, + number: TagNumber(1), }; } impl<'a> DecodeValue<'a> for TaggedTicket { + type Error = der::Error; + fn decode_value>(reader: &mut R, _header: der::Header) -> der::Result { let t: Ticket = Ticket::decode(reader)?; Ok(Self(t))