blob: e4d751b0c812777ea4afc5c3afb6af5cca1baf8a [file] [log] [blame]
Steve French929be902021-06-18 00:31:49 -05001/* SPDX-License-Identifier: LGPL-2.1 */
Steve Frenchf1d662a2007-11-05 14:38:08 +00002/*
Steve French099dd782021-09-13 14:51:10 -05003 * SPNEGO upcall management for CIFS
Steve Frenchf1d662a2007-11-05 14:38:08 +00004 *
5 * Copyright (c) 2007 Red Hat, Inc.
6 * Author(s): Jeff Layton (jlayton@redhat.com)
7 * Steve French (sfrench@us.ibm.com)
8 *
Steve Frenchf1d662a2007-11-05 14:38:08 +00009 */
10
11#ifndef _CIFS_SPNEGO_H
12#define _CIFS_SPNEGO_H
13
Steve French6ce5eec2008-08-26 00:37:14 +000014#define CIFS_SPNEGO_UPCALL_VERSION 2
Steve Frenchf1d662a2007-11-05 14:38:08 +000015
16/*
17 * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
18 * The flags field is for future use. The request-key callout should set
19 * sesskey_len and secblob_len, and then concatenate the SessKey+SecBlob
20 * and stuff it in the data field.
21 */
22struct cifs_spnego_msg {
23 uint32_t version;
24 uint32_t flags;
25 uint32_t sesskey_len;
26 uint32_t secblob_len;
Kees Cook35235e12023-02-14 16:09:45 -080027 uint8_t data[];
Steve Frenchf1d662a2007-11-05 14:38:08 +000028};
29
30#ifdef __KERNEL__
31extern struct key_type cifs_spnego_key_type;
Shyam Prasad Nf486ef82021-07-19 13:54:16 +000032extern struct key *cifs_get_spnego_key(struct cifs_ses *sesInfo,
33 struct TCP_Server_Info *server);
Steve Frenchf1d662a2007-11-05 14:38:08 +000034#endif /* KERNEL */
35
36#endif /* _CIFS_SPNEGO_H */