aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsproto.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2012-09-18 19:20:34 -0400
committerSteve French <smfrench@gmail.com>2012-09-24 22:46:30 -0400
commitbf5ea0e2f29b00d4fe5f203d8e59120f797ce451 (patch)
treeaddbc8640de6368c2f13aca0bdafa63a64b0c3b9 /fs/cifs/cifsproto.h
parent6fc05c25ca35e65ee1759dd803f23576a268f5ec (diff)
cifs: change signing routines to deal with smb_rqst structs
We need a way to represent a call to be sent on the wire that does not require having all of the page data kmapped. Behold the smb_rqst struct. This new struct represents an array of kvecs immediately followed by an array of pages. Convert the signing routines to use these structs under the hood and turn the existing functions for this into wrappers around that. For now, we're just changing these functions to take different args. Later, we'll teach them how to deal with arrays of pages. Reviewed-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r--fs/cifs/cifsproto.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index c7ad9a8cf82a..8e071a5a7da4 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -24,6 +24,7 @@
24 24
25struct statfs; 25struct statfs;
26struct smb_vol; 26struct smb_vol;
27struct smb_rqst;
27 28
28/* 29/*
29 ***************************************************************** 30 *****************************************************************
@@ -394,10 +395,12 @@ extern void sesInfoFree(struct cifs_ses *);
394extern struct cifs_tcon *tconInfoAlloc(void); 395extern struct cifs_tcon *tconInfoAlloc(void);
395extern void tconInfoFree(struct cifs_tcon *); 396extern void tconInfoFree(struct cifs_tcon *);
396 397
397extern int cifs_sign_smb(struct smb_hdr *, struct TCP_Server_Info *, __u32 *); 398extern int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server,
399 __u32 *pexpected_response_sequence_number);
398extern int cifs_sign_smbv(struct kvec *iov, int n_vec, struct TCP_Server_Info *, 400extern int cifs_sign_smbv(struct kvec *iov, int n_vec, struct TCP_Server_Info *,
399 __u32 *); 401 __u32 *);
400extern int cifs_verify_signature(struct kvec *iov, unsigned int nr_iov, 402extern int cifs_sign_smb(struct smb_hdr *, struct TCP_Server_Info *, __u32 *);
403extern int cifs_verify_signature(struct smb_rqst *rqst,
401 struct TCP_Server_Info *server, 404 struct TCP_Server_Info *server,
402 __u32 expected_sequence_number); 405 __u32 expected_sequence_number);
403extern int SMBNTencrypt(unsigned char *, unsigned char *, unsigned char *, 406extern int SMBNTencrypt(unsigned char *, unsigned char *, unsigned char *,