nfs4: parse GSSAPI init

pull/3335/head
Victor Julien 8 years ago
parent bfa60753f9
commit c7cb01b636

@ -19,7 +19,7 @@
extern crate libc;
use nom::IResult;
use nom::{IResult, be_u32};
use core::*;
use log::*;
@ -30,6 +30,15 @@ use nfs::rpc_records::*;
use nfs::nfs_records::*;
use nfs::nfs4_records::*;
use kerberos;
named!(parse_req_gssapi<kerberos::Kerberos5Ticket>,
do_parse!(
len: be_u32
>> ap: flat_map!(take!(len), call!(kerberos::parse_kerberos5_request))
>> ( ap )
));
impl NFSState {
/* normal write: PUTFH (file handle), WRITE (write opts/data). File handle
* is not part of the write record itself so we pass it in here. */
@ -154,7 +163,14 @@ impl NFSState {
let mut xidmap = NFSRequestXidMap::new(r.progver, r.procedure, 0);
if r.procedure == NFSPROC4_COMPOUND {
if r.procedure == NFSPROC4_NULL {
if let RpcRequestCreds::GssApi(ref creds) = r.creds {
if creds.procedure == 1 {
let _x = parse_req_gssapi(r.prog_data);
SCLogDebug!("RPCSEC_GSS_INIT {:?}", _x);
}
}
} else if r.procedure == NFSPROC4_COMPOUND {
match parse_nfs4_request_compound(r.prog_data) {
IResult::Done(_, rd) => {
SCLogDebug!("NFSPROC4_COMPOUND: {:?}", rd);

Loading…
Cancel
Save