Message ID | 20200605151746.18743-1-kdsouza@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] cifs: dump Security Type info in DebugData | expand |
the updated version of this one has been merged into cifs-2.6.git for-next On Fri, Jun 5, 2020 at 10:17 AM Kenneth D'souza <kdsouza@redhat.com> wrote: > > Currently the end user is unaware with what sec type the > cifs share is mounted if no sec=<type> option is parsed. > With this patch one can easily check from DebugData. > > Example: > 1) Name: x.x.x.x Uses: 1 Capability: 0x8001f3fc Session Status: 1 Security type: RawNTLMSSP > > Signed-off-by: Kenneth D'souza <kdsouza@redhat.com> > Signed-off-by: Roberto Bergantinos Corpas <rbergant@redhat.com> > --- > fs/cifs/cifs_debug.c | 4 ++++ > fs/cifs/cifsglob.h | 18 ++++++++++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c > index 916567d770f5..9caca784376b 100644 > --- a/fs/cifs/cifs_debug.c > +++ b/fs/cifs/cifs_debug.c > @@ -375,6 +375,10 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v) > ses->ses_count, ses->serverOS, ses->serverNOS, > ses->capabilities, ses->status); > } > + > + seq_printf(m,"Security type: %s\n", > + get_security_type_str(server->ops->select_sectype(server, ses->sectype))); > + > if (server->rdma) > seq_printf(m, "RDMA\n\t"); > seq_printf(m, "TCP status: %d Instance: %d\n\tLocal Users To " > diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h > index 39b708d9d86d..d8ef01039e71 100644 > --- a/fs/cifs/cifsglob.h > +++ b/fs/cifs/cifsglob.h > @@ -1994,6 +1994,24 @@ extern struct smb_version_values smb302_values; > extern struct smb_version_operations smb311_operations; > extern struct smb_version_values smb311_values; > > +static inline char *get_security_type_str(enum securityEnum sectype) > +{ > + switch (sectype) { > + case RawNTLMSSP: > + return "RawNTLMSSP"; > + case Kerberos: > + return "Kerberos"; > + case NTLMv2: > + return "NTLMv2"; > + case NTLM: > + return "NTLM"; > + case LANMAN: > + return "LANMAN"; > + default: > + return "Unknown"; > + } > +} > + > static inline bool is_smb1_server(struct TCP_Server_Info *server) > { > return strcmp(server->vals->version_string, SMB1_VERSION_STRING) == 0; > -- > 2.21.1 >
Thanks Steve :) On Tue, Jun 9, 2020 at 10:31 AM Steve French <smfrench@gmail.com> wrote: > > the updated version of this one has been merged into cifs-2.6.git for-next > > On Fri, Jun 5, 2020 at 10:17 AM Kenneth D'souza <kdsouza@redhat.com> wrote: > > > > Currently the end user is unaware with what sec type the > > cifs share is mounted if no sec=<type> option is parsed. > > With this patch one can easily check from DebugData. > > > > Example: > > 1) Name: x.x.x.x Uses: 1 Capability: 0x8001f3fc Session Status: 1 Security type: RawNTLMSSP > > > > Signed-off-by: Kenneth D'souza <kdsouza@redhat.com> > > Signed-off-by: Roberto Bergantinos Corpas <rbergant@redhat.com> > > --- > > fs/cifs/cifs_debug.c | 4 ++++ > > fs/cifs/cifsglob.h | 18 ++++++++++++++++++ > > 2 files changed, 22 insertions(+) > > > > diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c > > index 916567d770f5..9caca784376b 100644 > > --- a/fs/cifs/cifs_debug.c > > +++ b/fs/cifs/cifs_debug.c > > @@ -375,6 +375,10 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v) > > ses->ses_count, ses->serverOS, ses->serverNOS, > > ses->capabilities, ses->status); > > } > > + > > + seq_printf(m,"Security type: %s\n", > > + get_security_type_str(server->ops->select_sectype(server, ses->sectype))); > > + > > if (server->rdma) > > seq_printf(m, "RDMA\n\t"); > > seq_printf(m, "TCP status: %d Instance: %d\n\tLocal Users To " > > diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h > > index 39b708d9d86d..d8ef01039e71 100644 > > --- a/fs/cifs/cifsglob.h > > +++ b/fs/cifs/cifsglob.h > > @@ -1994,6 +1994,24 @@ extern struct smb_version_values smb302_values; > > extern struct smb_version_operations smb311_operations; > > extern struct smb_version_values smb311_values; > > > > +static inline char *get_security_type_str(enum securityEnum sectype) > > +{ > > + switch (sectype) { > > + case RawNTLMSSP: > > + return "RawNTLMSSP"; > > + case Kerberos: > > + return "Kerberos"; > > + case NTLMv2: > > + return "NTLMv2"; > > + case NTLM: > > + return "NTLM"; > > + case LANMAN: > > + return "LANMAN"; > > + default: > > + return "Unknown"; > > + } > > +} > > + > > static inline bool is_smb1_server(struct TCP_Server_Info *server) > > { > > return strcmp(server->vals->version_string, SMB1_VERSION_STRING) == 0; > > -- > > 2.21.1 > > > > > -- > Thanks, > > Steve >
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c index 916567d770f5..9caca784376b 100644 --- a/fs/cifs/cifs_debug.c +++ b/fs/cifs/cifs_debug.c @@ -375,6 +375,10 @@ static int cifs_debug_data_proc_show(struct seq_file *m, void *v) ses->ses_count, ses->serverOS, ses->serverNOS, ses->capabilities, ses->status); } + + seq_printf(m,"Security type: %s\n", + get_security_type_str(server->ops->select_sectype(server, ses->sectype))); + if (server->rdma) seq_printf(m, "RDMA\n\t"); seq_printf(m, "TCP status: %d Instance: %d\n\tLocal Users To " diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 39b708d9d86d..d8ef01039e71 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -1994,6 +1994,24 @@ extern struct smb_version_values smb302_values; extern struct smb_version_operations smb311_operations; extern struct smb_version_values smb311_values; +static inline char *get_security_type_str(enum securityEnum sectype) +{ + switch (sectype) { + case RawNTLMSSP: + return "RawNTLMSSP"; + case Kerberos: + return "Kerberos"; + case NTLMv2: + return "NTLMv2"; + case NTLM: + return "NTLM"; + case LANMAN: + return "LANMAN"; + default: + return "Unknown"; + } +} + static inline bool is_smb1_server(struct TCP_Server_Info *server) { return strcmp(server->vals->version_string, SMB1_VERSION_STRING) == 0;