diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -1105,4 +1105,27 @@ mod tests { ); Ok(()) } + + #[test] + fn test_deserialize_chap_challenge() -> Result<()> { + let mut challenge = PppoePkt::default(); + + let buf = [ + 0x00, 0x00, 0x5e, 0x00, 0x53, 0x02, 0x00, 0x00, 0x5e, 0x00, 0x53, 0x01, 0x88, 0x64, + 0x11, 0x00, 0x00, 0x01, 0x00, 0x0c, 0xc2, 0x23, 0x01, 0x41, 0x00, 0x0a, 0x02, 0x13, + 0x37, 0x66, 0x6f, 0x6f, + ]; + challenge.deserialize(&mut buf.as_ref())?; + + assert_eq!( + challenge, + PppoePkt::new_ppp( + [0x00, 0x00, 0x5e, 0x00, 0x53, 0x02].into(), + [0x00, 0x00, 0x5e, 0x00, 0x53, 0x01].into(), + 1, + PppPkt::new_chap(ChapPkt::new_challenge(0x41, vec![0x13, 0x37], "foo".into())) + ) + ); + Ok(()) + } } |