#include <linux/fs.h>
#include <linux/slab.h>
#include "cifspdu.h"
#include "cifsglob.h"
#include "cifs_debug.h"
#include "cifs_unicode.h"
#include "cifsproto.h"
#include "ntlmssp.h"
#include <linux/ctype.h>
#include <linux/random.h>
#include <linux/highmem.h>
#include <linux/fips.h>
#include "../common/arc4.h"
#include <crypto/aead.h>
static int cifs_shash_bvec(const struct iov_iter *iter, ssize_t maxsize,
struct shash_desc *shash)
{ … }
static int cifs_shash_kvec(const struct iov_iter *iter, ssize_t maxsize,
struct shash_desc *shash)
{ … }
static ssize_t cifs_shash_xarray(const struct iov_iter *iter, ssize_t maxsize,
struct shash_desc *shash)
{ … }
static int cifs_shash_iter(const struct iov_iter *iter, size_t maxsize,
struct shash_desc *shash)
{ … }
int __cifs_calc_signature(struct smb_rqst *rqst,
struct TCP_Server_Info *server, char *signature,
struct shash_desc *shash)
{ … }
static int cifs_calc_signature(struct smb_rqst *rqst,
struct TCP_Server_Info *server, char *signature)
{ … }
int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server,
__u32 *pexpected_response_sequence_number)
{ … }
int cifs_sign_smbv(struct kvec *iov, int n_vec, struct TCP_Server_Info *server,
__u32 *pexpected_response_sequence)
{ … }
int cifs_sign_smb(struct smb_hdr *cifs_pdu, struct TCP_Server_Info *server,
__u32 *pexpected_response_sequence_number)
{ … }
int cifs_verify_signature(struct smb_rqst *rqst,
struct TCP_Server_Info *server,
__u32 expected_sequence_number)
{ … }
static int
build_avpair_blob(struct cifs_ses *ses, const struct nls_table *nls_cp)
{ … }
static int
find_domain_name(struct cifs_ses *ses, const struct nls_table *nls_cp)
{ … }
static __le64
find_timestamp(struct cifs_ses *ses)
{ … }
static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
const struct nls_table *nls_cp)
{ … }
static int
CalcNTLMv2_response(const struct cifs_ses *ses, char *ntlmv2_hash)
{ … }
int
setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
{ … }
int
calc_seckey(struct cifs_ses *ses)
{ … }
void
cifs_crypto_secmech_release(struct TCP_Server_Info *server)
{ … }