Quoting Christian Perrier (bubu...@debian.org):

>  Ah, I wasn't aware that the problem also happens in stable.
> 
> Reading upstream bug report makes me think this bug should be
> corrected in lenny, yes. Preventing W2KSP4 clients from joining a
> Debian run by Samba controllers is definitely something we don't want
> for stable users.
> 
> So, sorry for the rant: you were right reporting.
> 
> I subscribed to upstream bug so that we notice when a patch is
> identified.


Volker Lendecke proposed the attached patch.

I may try building packages with it applied....as soon as I fid time..:-)

From 20681eed213f984953f26aa7d6039deb0c39579b Mon Sep 17 00:00:00 2001
From: =?utf-8?q?G=C3=BCnther=20Deschner?= <g...@samba.org>
Date: Wed, 29 Apr 2009 01:55:09 +0200
Subject: [PATCH] 3.2 samr bug 6301: fix samr_ConnectVersion enum which is 32bit 
not 16bit.

Port of 67ca76c288eb095ae to 3.2
---
 source/librpc/gen_ndr/ndr_samr.c |    6 +++---
 source/librpc/idl/samr.idl       |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/source/librpc/gen_ndr/ndr_samr.c b/source/librpc/gen_ndr/ndr_samr.c
index bd87a50..62676d2 100644
--- a/source/librpc/gen_ndr/ndr_samr.c
+++ b/source/librpc/gen_ndr/ndr_samr.c
@@ -4430,14 +4430,14 @@ _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print 
*ndr, const char *name, con
 
 static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, 
int ndr_flags, enum samr_ConnectVersion r)
 {
-       NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
        return NDR_ERR_SUCCESS;
 }
 
 static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, 
int ndr_flags, enum samr_ConnectVersion *r)
 {
-       uint16_t v;
-       NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
        *r = v;
        return NDR_ERR_SUCCESS;
 }
diff --git a/source/librpc/idl/samr.idl b/source/librpc/idl/samr.idl
index b8337fd..f9b3a69 100644
--- a/source/librpc/idl/samr.idl
+++ b/source/librpc/idl/samr.idl
@@ -1246,7 +1246,7 @@ import "misc.idl", "lsa.idl", "security.idl";
        /************************/
        /* Function    0x3e     */
 
-       typedef enum {
+       typedef [v1_enum] enum {
                SAMR_CONNECT_PRE_W2K    = 1,
                SAMR_CONNECT_W2K        = 2,
                SAMR_CONNECT_AFTER_W2K  = 3
-- 
1.6.2.1

Attachment: signature.asc
Description: Digital signature

Reply via email to