/* IDL long NetrServerAuthenticate( IDL  wchar_t *ServerName, IDL  wchar_t *UserName, IDL  short secure_challenge_type, IDL  wchar_t *ComputerName, IDL  CREDENTIAL client_challenge, IDL  CREDENTIAL server_challenge IDL );  */
static int netlogon_dissect_netrserverauthenticate_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
/* IDL long NetrServerAuthenticate( IDL  wchar_t *ServerName, IDL  wchar_t *UserName, IDL  short secure_challenge_type, IDL  wchar_t *ComputerName, IDL  CREDENTIAL client_challenge, IDL  CREDENTIAL server_challenge IDL );  */
static int netlogon_dissect_netrserverauthenticate_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
    offset = netlogon_dissect_LOGONSRV_HANDLE(tvb, offset,
                                              pinfo, tree, di, drep);
    offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
                                          NDR_POINTER_REF, "User Name", hf_netlogon_acct_name, CB_STR_COL_INFO);
    offset = netlogon_dissect_NETLOGON_SECURE_CHANNEL_TYPE(tvb, offset,
                                                           pinfo, tree, di, drep);
    offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
                                          NDR_POINTER_REF, "Computer Name", hf_netlogon_computer_name, CB_STR_COL_INFO);
    offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
                                 netlogon_dissect_CREDENTIAL, NDR_POINTER_REF,
                                 "CREDENTIAL: client challenge", -1);
    return offset;
}