[linux-cifs-client] [PATCH 00/11] cifs: overhaul of auth selection code

Jeff Layton jlayton at redhat.com
Fri Apr 16 20:05:47 MDT 2010


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(-)



More information about the linux-cifs-client mailing list