krb: rustfmt kerberos.rs

pull/7703/head
Philippe Antoine 4 years ago committed by Victor Julien
parent 675de33405
commit 7fcc6696cb

@ -15,15 +15,15 @@
* 02110-1301, USA. * 02110-1301, USA.
*/ */
use der_parser;
use der_parser::der::parse_der_oid;
use der_parser::error::BerError;
use kerberos_parser::krb5::{ApReq, PrincipalName, Realm};
use kerberos_parser::krb5_parser::parse_ap_req; use kerberos_parser::krb5_parser::parse_ap_req;
use kerberos_parser::krb5::{ApReq,Realm,PrincipalName};
use nom; use nom;
use nom::IResult;
use nom::error::{ErrorKind, ParseError}; use nom::error::{ErrorKind, ParseError};
use nom::number::complete::le_u16; use nom::number::complete::le_u16;
use der_parser; use nom::IResult;
use der_parser::error::BerError;
use der_parser::der::parse_der_oid;
#[derive(Debug)] #[derive(Debug)]
pub enum SecBlobError { pub enum SecBlobError {
@ -49,18 +49,17 @@ impl<I> ParseError<I> for SecBlobError {
} }
} }
#[derive(Debug,PartialEq)] #[derive(Debug, PartialEq)]
pub struct Kerberos5Ticket { pub struct Kerberos5Ticket {
pub realm: Realm, pub realm: Realm,
pub sname: PrincipalName, pub sname: PrincipalName,
} }
fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq, SecBlobError> fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq, SecBlobError> {
{ let (_, b) = der_parser::parse_der(blob).map_err(nom::Err::convert)?;
let (_,b) = der_parser::parse_der(blob).map_err(nom::Err::convert)?; let blob = b
let blob = b.as_slice().or( .as_slice()
Err(nom::Err::Error(SecBlobError::KrbFmtError)) .or(Err(nom::Err::Error(SecBlobError::KrbFmtError)))?;
)?;
let (blob, _) = parse_der_oid(blob).map_err(nom::Err::convert)?; let (blob, _) = parse_der_oid(blob).map_err(nom::Err::convert)?;
let (blob, _) = le_u16(blob)?; let (blob, _) = le_u16(blob)?;
// Should be parse_ap_req(blob).map_err(nom::Err::convert) // Should be parse_ap_req(blob).map_err(nom::Err::convert)
@ -74,8 +73,7 @@ fn parse_kerberos5_request_do(blob: &[u8]) -> IResult<&[u8], ApReq, SecBlobError
} }
} }
pub fn parse_kerberos5_request(blob: &[u8]) -> IResult<&[u8], Kerberos5Ticket, SecBlobError> pub fn parse_kerberos5_request(blob: &[u8]) -> IResult<&[u8], Kerberos5Ticket, SecBlobError> {
{
let (rem, req) = parse_kerberos5_request_do(blob)?; let (rem, req) = parse_kerberos5_request_do(blob)?;
let t = Kerberos5Ticket { let t = Kerberos5Ticket {
realm: req.ticket.realm, realm: req.ticket.realm,

Loading…
Cancel
Save