mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
2ed60a4f6a
When we added the ability for the kernel to send sec=mskrb5 to the upcall, we subtly broke old cifs.upcall versions that don't understand it. Bump the spnego message version to 2 to make this clear. Also, change cifs.upcall to not reject requests with a version that's lower than the current one, and to send the reply with the same version that the request sent. The idea is to try and keep cifs.upcall backward compatible with old kernels. Signed-off-by: Jeff Layton <jlayton@redhat.com> (This used to be commit b868463015dedc684eb13d12118a98ccca71250a)
47 lines
1.5 KiB
C
47 lines
1.5 KiB
C
/*
|
|
* fs/cifs/cifs_spnego.h -- SPNEGO upcall management for CIFS
|
|
*
|
|
* Copyright (c) 2007 Red Hat, Inc.
|
|
* Author(s): Jeff Layton (jlayton@redhat.com)
|
|
* Steve French (sfrench@us.ibm.com)
|
|
*
|
|
* This library is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published
|
|
* by the Free Software Foundation; either version 2.1 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
|
|
* the GNU Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef _CIFS_SPNEGO_H
|
|
#define _CIFS_SPNEGO_H
|
|
|
|
#define CIFS_SPNEGO_UPCALL_VERSION 2
|
|
|
|
/*
|
|
* The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.
|
|
* The flags field is for future use. The request-key callout should set
|
|
* sesskey_len and secblob_len, and then concatenate the SessKey+SecBlob
|
|
* and stuff it in the data field.
|
|
*/
|
|
struct cifs_spnego_msg {
|
|
uint32_t version;
|
|
uint32_t flags;
|
|
uint32_t sesskey_len;
|
|
uint32_t secblob_len;
|
|
uint8_t data[1];
|
|
};
|
|
|
|
#ifdef __KERNEL__
|
|
extern struct key_type cifs_spnego_key_type;
|
|
#endif /* KERNEL */
|
|
|
|
#endif /* _CIFS_SPNEGO_H */
|