[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2953-g2744bcb

jlayton at samba.org jlayton at samba.org
Sun Aug 24 21:32:59 GMT 2008


The branch, v3-2-test has been updated
       via  2744bcbf3f22102911b5a3c4676e7d2f970a86eb (commit)
      from  f845c95dcfa0b1630a0057c62941bb8a72ebdd83 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 2744bcbf3f22102911b5a3c4676e7d2f970a86eb
Author: Jeff Layton <jlayton at redhat.com>
Date:   Sun Aug 24 17:31:49 2008 -0400

    cifs.upcall: bump SPNEGO msg version number and don't reject old versions
    
    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 at redhat.com>

-----------------------------------------------------------------------

Summary of changes:
 source/client/cifs.upcall.c |    4 ++--
 source/client/cifs_spnego.h |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/client/cifs.upcall.c b/source/client/cifs.upcall.c
index cf5f1c3..7cb5166 100644
--- a/source/client/cifs.upcall.c
+++ b/source/client/cifs.upcall.c
@@ -284,7 +284,7 @@ int main(const int argc, char *const argv[])
 	}
 	SAFE_FREE(buf);
 
-	if (kernel_upcall_version != CIFS_SPNEGO_UPCALL_VERSION) {
+	if (kernel_upcall_version > CIFS_SPNEGO_UPCALL_VERSION) {
 		syslog(LOG_WARNING,
 		       "incompatible kernel upcall version: 0x%x",
 		       kernel_upcall_version);
@@ -353,7 +353,7 @@ int main(const int argc, char *const argv[])
 		rc = 1;
 		goto out;
 	}
-	keydata->version = CIFS_SPNEGO_UPCALL_VERSION;
+	keydata->version = kernel_upcall_version;
 	keydata->flags = 0;
 	keydata->sesskey_len = sess_key.length;
 	keydata->secblob_len = secblob.length;
diff --git a/source/client/cifs_spnego.h b/source/client/cifs_spnego.h
index 13909dd..f8753a7 100644
--- a/source/client/cifs_spnego.h
+++ b/source/client/cifs_spnego.h
@@ -23,7 +23,7 @@
 #ifndef _CIFS_SPNEGO_H
 #define _CIFS_SPNEGO_H
 
-#define CIFS_SPNEGO_UPCALL_VERSION 1
+#define CIFS_SPNEGO_UPCALL_VERSION 2
 
 /*
  * The version field should always be set to CIFS_SPNEGO_UPCALL_VERSION.


-- 
Samba Shared Repository


More information about the samba-cvs mailing list