[CIFS] implement upcalls for SPNEGO blob via keyctl API
Add routines to handle upcalls to userspace via keyctl for the purpose of getting a SPNEGO blob for a particular uid and server combination. Clean up the Makefile a bit and set it up to only compile cifs_spnego if CONFIG_CIFS_UPCALL is set. Also change CONFIG_CIFS_UPCALL to depend on CONFIG_KEYS rather than CONFIG_CONNECTOR. cifs_spnego.h defines the communications between kernel and userspace and is intended to be shared with userspace programs. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
745542e210
commit
09fe7ba78d
3 changed files with 9 additions and 2 deletions
|
@ -2007,7 +2007,7 @@ config CIFS_EXPERIMENTAL
|
||||||
config CIFS_UPCALL
|
config CIFS_UPCALL
|
||||||
bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)"
|
bool "Kerberos/SPNEGO advanced session setup (EXPERIMENTAL)"
|
||||||
depends on CIFS_EXPERIMENTAL
|
depends on CIFS_EXPERIMENTAL
|
||||||
depends on CONNECTOR
|
depends on KEYS
|
||||||
help
|
help
|
||||||
Enables an upcall mechanism for CIFS which will be used to contact
|
Enables an upcall mechanism for CIFS which will be used to contact
|
||||||
userspace helper utilities to provide SPNEGO packaged Kerberos
|
userspace helper utilities to provide SPNEGO packaged Kerberos
|
||||||
|
|
|
@ -3,4 +3,9 @@
|
||||||
#
|
#
|
||||||
obj-$(CONFIG_CIFS) += cifs.o
|
obj-$(CONFIG_CIFS) += cifs.o
|
||||||
|
|
||||||
cifs-objs := cifsfs.o cifssmb.o cifs_debug.o connect.o dir.o file.o inode.o link.o misc.o netmisc.o smbdes.o smbencrypt.o transport.o asn1.o md4.o md5.o cifs_unicode.o nterr.o xattr.o cifsencrypt.o fcntl.o readdir.o ioctl.o sess.o export.o cifsacl.o
|
cifs-y := cifsfs.o cifssmb.o cifs_debug.o connect.o dir.o file.o inode.o \
|
||||||
|
link.o misc.o netmisc.o smbdes.o smbencrypt.o transport.o asn1.o \
|
||||||
|
md4.o md5.o cifs_unicode.o nterr.o xattr.o cifsencrypt.o fcntl.o \
|
||||||
|
readdir.o ioctl.o sess.o export.o cifsacl.o
|
||||||
|
|
||||||
|
cifs-$(CONFIG_CIFS_UPCALL) += cifs_spnego.o
|
||||||
|
|
|
@ -76,6 +76,8 @@ extern void header_assemble(struct smb_hdr *, char /* command */ ,
|
||||||
extern int small_smb_init_no_tc(const int smb_cmd, const int wct,
|
extern int small_smb_init_no_tc(const int smb_cmd, const int wct,
|
||||||
struct cifsSesInfo *ses,
|
struct cifsSesInfo *ses,
|
||||||
void **request_buf);
|
void **request_buf);
|
||||||
|
extern struct key *cifs_get_spnego_key(struct cifsSesInfo *sesInfo,
|
||||||
|
const char *hostname);
|
||||||
extern int CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses,
|
extern int CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses,
|
||||||
const int stage,
|
const int stage,
|
||||||
const struct nls_table *nls_cp);
|
const struct nls_table *nls_cp);
|
||||||
|
|
Loading…
Reference in a new issue