^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * fs/cifs/cifs_spnego.h -- SPNEGO upcall management for CIFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Copyright (c) 2007 Red Hat, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Author(s): Jeff Layton (jlayton@redhat.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Steve French (sfrench@us.ibm.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * This library is free software; you can redistribute it and/or modify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * it under the terms of the GNU Lesser General Public License as published
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * by the Free Software Foundation; either version 2.1 of the License, or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * (at your option) any later version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * This library is distributed in the hope that it will be useful,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) * but WITHOUT ANY WARRANTY; without even the implied warranty of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * the GNU Lesser General Public License for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) * You should have received a copy of the GNU Lesser General Public License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * along with this library; if not, write to the Free Software
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #ifndef _CIFS_SPNEGO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define _CIFS_SPNEGO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define CIFS_SPNEGO_UPCALL_VERSION 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * The flags field is for future use. The request-key callout should set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * sesskey_len and secblob_len, and then concatenate the SessKey+SecBlob
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) * and stuff it in the data field.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) struct cifs_spnego_msg {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) uint32_t version;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) uint32_t flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) uint32_t sesskey_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) uint32_t secblob_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) uint8_t data[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #ifdef __KERNEL__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) extern struct key_type cifs_spnego_key_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) extern struct key *cifs_get_spnego_key(struct cifs_ses *sesInfo);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #endif /* KERNEL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #endif /* _CIFS_SPNEGO_H */