1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
//! # Kerberos Parser
//!
//! A Kerberos v5 ([RFC4120]) parser, implemented with the [nom](https://github.com/Geal/nom)
//! parser combinator framework.
//!
//! The code is available on [Github](https://github.com/rusticata/kerberos-parser).
//!
//! Specific parsing functions are provided for Kerberos message types. For ex. to parse a
//! KRB_AS_REQ message, use [`parse_as_req`](krb5_parser/fn.parse_as_req.html).
//!
//! # Examples
//!
//! Parsing a KRB_AS_REQ message:
//!
//! ```rust,no_run
//! use kerberos_parser::krb5::MessageType;
//! use kerberos_parser::krb5_parser::parse_as_req;
//!
//! static AS_REQ: &'static [u8] = include_bytes!("../assets/as-req.bin");
//!
//! # fn main() {
//! let res = parse_as_req(AS_REQ);
//! match res {
//! Ok((rem, kdc_req)) => {
//! assert!(rem.is_empty());
//! //
//! assert_eq!(kdc_req.msg_type, MessageType::KRB_AS_REQ);
//! },
//! _ => panic!("KRB_AS_REQ parsing failed: {:?}", res),
//! }
//! # }
//! ```
//!
//! [RFC4120]: https://tools.ietf.org/html/rfc4120
#![deny(/*missing_docs,*/unsafe_code,
unstable_features,
unused_import_braces, unused_qualifications)]
pub mod krb5;
pub mod krb5_parser;
mod krb5_constants;
mod krb5_errors;
pub use krb5_errors::*;