[PATCH 00/11] cifs: overhaul of auth selection code
Jeff Layton <[email protected]>
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
This patch series should be considered patches that act as "groundwork" for the coming patchset to do multiuser mounts. The patches in that set will require these. First, there are a number of smaller cleanup and reorganization patches. The main changes come in the last half. This overhauls how the client decides what auth scheme to use. There should be few behavioral changes but it does try to be a little smarter about not failing mounts just because the server requires signing and it wasn't requested. The client will just autoenable signing if the global_secflags allow it. This patchset also has the client try to make a smarter decision about matching existing sessions. Currently it doesn not check the password supplied against existing sessions, so it's possible for someone to "borrow" a session even when they don't know the password. It also has the code try to be more intelligent about matching krb5 sessions. The last patch is a RFC. It's one way to fix the code such that the uid= option no longer specifies the owner of the krb5 credentials cache. There's another proposed way to do this in the description too. I could use some input as to what would be the best way to fix this. Jeff Layton (11): cifs: track local_nls in volume info cifs: move SMB session creation code into separate function cifs: move tcon find/create into separate function cifs: rename "extended_security" to "global_secflags" cifs: save the dialect chosen by server cifs: eliminate "first_time" parm to CIFS_SessSetup cifs: break negotiate protocol calls out of cifs_setup_session cifs: have decode_negTokenInit set flags in server struct cifs: allow mixed secTypes on a socket cifs: clean up cifs_find_smb_ses cifs: add separate cred_uid field to sesInfo fs/cifs/asn1.c | 31 +-- fs/cifs/cifs_debug.c | 14 +- fs/cifs/cifs_spnego.c | 7 +- fs/cifs/cifsencrypt.c | 2 +- fs/cifs/cifsfs.c | 2 +- fs/cifs/cifsglob.h | 42 ++-- fs/cifs/cifspdu.h | 2 + fs/cifs/cifsproto.h | 7 +- fs/cifs/cifssmb.c | 140 ++---------- fs/cifs/connect.c | 635 +++++++++++++++++++++++++++++++++---------------- fs/cifs/file.c | 12 +- fs/cifs/misc.c | 6 +- fs/cifs/sess.c | 57 +++-- fs/cifs/transport.c | 12 +- 14 files changed, 536 insertions(+), 433 deletions(-)