Build status as of Sat Nov 28 07:00:01 2009

2009-11-27 Thread build
URL: http://build.samba.org/

--- /home/build/master/cache/broken_results.txt.old 2009-11-27 
00:00:20.0 -0700
+++ /home/build/master/cache/broken_results.txt 2009-11-28 00:00:04.0 
-0700
@@ -1,4 +1,4 @@
-Build status as of Fri Nov 27 07:00:05 2009
+Build status as of Sat Nov 28 07:00:01 2009
 
 Build counts:
 Tree Total  Broken Panic 
@@ -14,9 +14,9 @@
 samba-docs   0  0  0 
 samba-web0  0  0 
 samba_3_current 30 28 0 
-samba_3_master 31 24 3 
+samba_3_master 31 23 3 
 samba_3_next 31 30 12
-samba_4_0_test 33 32 0 
+samba_4_0_test 33 30 0 
 talloc   2  2  0 
 tdb  2  2  0 
 


svn commit: samba-web r1345 - in trunk/support: .

2009-11-27 Thread jra
Author: jra
Date: 2009-11-27 23:06:26 -0700 (Fri, 27 Nov 2009)
New Revision: 1345

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-web&rev=1345

Log:
Added Abax Asesores

Modified:
   trunk/support/costarica.html


Changeset:
Modified: trunk/support/costarica.html
===
--- trunk/support/costarica.html2009-11-27 22:53:07 UTC (rev 1344)
+++ trunk/support/costarica.html2009-11-28 06:06:26 UTC (rev 1345)
@@ -29,4 +29,15 @@
 http://www.coral-systems.com";>http://www.coral-systems.com
 
 
+
+
+Abax Asesores
+URL: http://www.abaxasesores.com";>http://www.abaxasesores.com
+Email: i...@abaxasesores.com
+Tel. +506 2234.2290
+Fax. +506 2234.6622
+
+Apartado Postal: 595-2070, Sabanilla, San José, Costa Rica.
+
+
 



[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Andrew Tridgell
The branch, master has been updated
   via  1287c1d... s4-drs: cope with bogus empty attributes from w2k8-r2
  from  db41a0a... s4: fix SD update and password change in upgrade script

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 1287c1d115fb7e8f3954bc05ff65007968403a9c
Author: Andrew Tridgell 
Date:   Sat Nov 28 13:27:06 2009 +1100

s4-drs: cope with bogus empty attributes from w2k8-r2

w2k8-r2 sometimes sends empty attributes with completely bogus attrid
values in a DRS replication response. This allows us to continue with
the vampire operation despite these broken elements.

---

Summary of changes:
 source4/dsdb/repl/replicated_objects.c |   17 +
 1 files changed, 17 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/repl/replicated_objects.c 
b/source4/dsdb/repl/replicated_objects.c
index 020d5f1..a8a93e4 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -129,6 +129,15 @@ static WERROR dsdb_convert_object_ex(struct ldb_context 
*ldb,
}
 
status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, a, 
msg->elements, e);
+   if (!NT_STATUS_IS_OK(status) && a->value_ctr.num_values == 0) {
+   /* w2k8-r2 occasionally sends bogus empty
+  attributes with rubbish attribute IDs. The
+  only think we can do is discard these */
+   DEBUG(0,(__location__ ": Discarding bogus empty 
DsReplicaAttribute with attid 0x%x\n",
+a->attid));
+   ZERO_STRUCTP(e);
+   continue;
+   }
W_ERROR_NOT_OK_RETURN(status);
 
m->attid= a->attid;
@@ -149,6 +158,14 @@ static WERROR dsdb_convert_object_ex(struct ldb_context 
*ldb,
}
}
 
+   /* delete any empty elements */
+   for (i=0; i < msg->num_elements; i++) {
+   if (msg->elements[i].name == NULL) {
+   ldb_msg_remove_element(msg, &msg->elements[i]);
+   i--;
+   }
+   }
+
if (rdn_m) {
struct ldb_message_element *el;
el = ldb_msg_find_element(msg, rdn_attr->lDAPDisplayName);


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Andrew Tridgell
The branch, master has been updated
   via  db41a0a... s4: fix SD update and password change in upgrade script
  from  f7c28db... s4:WINREG RPC server - add another "talloc_unlink" in 
"DeleteKey"

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit db41a0afc6412934e166b8a3ed428ce549ba7c66
Author: Matthieu Patou 
Date:   Fri Nov 27 17:37:14 2009 +0300

s4: fix SD update and password change in upgrade script

- reserve a new Samba OID for recalculate SD control
- fix the update SD function
- fix handling of kvno in the update_machine_account_password function
- fix handling of handles in RPC winreg server

Signed-off-by: Andrew Tridgell 

---

Summary of changes:
 source4/dsdb/samdb/ldb_modules/descriptor.c |   15 ++-
 source4/lib/ldb/common/ldb_controls.c   |   27 
 source4/lib/ldb/include/ldb.h   |6 +
 source4/libcli/ldap/ldap_controls.c |   20 +++
 source4/scripting/bin/upgradeprovision  |  172 ++-
 source4/scripting/python/samba/provision.py |8 +-
 source4/scripting/python/samba/schema.py|4 +-
 source4/setup/schema_samba4.ldif|2 +-
 8 files changed, 161 insertions(+), 93 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c 
b/source4/dsdb/samdb/ldb_modules/descriptor.c
index f9992e3..da80ee5 100644
--- a/source4/dsdb/samdb/ldb_modules/descriptor.c
+++ b/source4/dsdb/samdb/ldb_modules/descriptor.c
@@ -594,13 +594,13 @@ static int descriptor_do_mod(struct descriptor_context 
*ac)
const struct dsdb_class *objectclass;
struct ldb_message *msg;
struct ldb_control *sd_control;
+   struct ldb_control *sd_control2;
struct ldb_control **saved_controls;
int flags = 0;
uint32_t sd_flags = 0;
 
ldb = ldb_module_get_ctx(ac->module);
schema = dsdb_get_schema(ldb);
-
msg = ldb_msg_copy_shallow(ac, ac->req->op.mod.message);
objectclass_element = ldb_msg_find_element(ac->search_oc_res->message, 
"objectClass");
objectclass = get_last_structural_class(schema, objectclass_element);
@@ -611,6 +611,7 @@ static int descriptor_do_mod(struct descriptor_context *ac)
return LDB_ERR_OPERATIONS_ERROR;
}
sd_control = ldb_request_get_control(ac->req, LDB_CONTROL_SD_FLAGS_OID);
+   sd_control2 = ldb_request_get_control(ac->req, 
LDB_CONTROL_RECALCULATE_SD_OID);
if (sd_control) {
struct ldb_sd_flags_control *sdctr = (struct 
ldb_sd_flags_control *)sd_control->data;
sd_flags = sdctr->secinfo_flags;
@@ -637,7 +638,11 @@ static int descriptor_do_mod(struct descriptor_context *ac)
return ret;
}
tmp_element = ldb_msg_find_element(msg, "ntSecurityDescriptor");
-   tmp_element->flags = flags;
+   if (sd_control2) {
+   tmp_element->flags = LDB_FLAG_MOD_REPLACE;
+   } else {
+   tmp_element->flags = flags;
+   }
}
ret = ldb_build_mod_req(&mod_req, ldb, ac,
msg,
@@ -679,7 +684,6 @@ static int descriptor_do_add(struct descriptor_context *ac)
if (mem_ctx == NULL) {
return LDB_ERR_OPERATIONS_ERROR;
}
-
switch (ac->req->operation) {
case LDB_ADD:
msg = ldb_msg_copy_shallow(ac, ac->req->op.add.message);
@@ -768,6 +772,7 @@ static int descriptor_do_add(struct descriptor_context *ac)
 static int descriptor_change(struct ldb_module *module, struct ldb_request 
*req)
 {
struct ldb_context *ldb;
+   struct ldb_control *sd_control;
struct ldb_request *search_req;
struct descriptor_context *ac;
struct ldb_dn *parent_dn, *dn;
@@ -784,7 +789,9 @@ static int descriptor_change(struct ldb_module *module, 
struct ldb_request *req)
case LDB_MODIFY:
dn = req->op.mod.message->dn;
sd_element = ldb_msg_find_element(req->op.mod.message, 
"nTSecurityDescriptor");
-   if (!sd_element) {
+   /* This control allow forcing the recalculation of the SD */
+   sd_control = ldb_request_get_control(req, 
LDB_CONTROL_RECALCULATE_SD_OID);
+   if (!sd_element && !sd_control) {
return ldb_next_request(module, req);
}
break;
diff --git a/source4/lib/ldb/common/ldb_controls.c 
b/source4/lib/ldb/common/ldb_controls.c
index 82bd34b..f2ab61b 100644
--- a/source4/lib/ldb/common/ldb_controls.c
+++ b/source4/lib/ldb/common/ldb_controls.c
@@ -513,6 +513,33 @@ struct ldb_control **ldb_parse_control_strings(struct 
ldb_context *ldb, void *me
cont

svn commit: samba-web r1344 - in trunk/support: .

2009-11-27 Thread jra
Author: jra
Date: 2009-11-27 15:53:07 -0700 (Fri, 27 Nov 2009)
New Revision: 1344

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-web&rev=1344

Log:
Updated DeepRoot Linux

Modified:
   trunk/support/india.html


Changeset:
Modified: trunk/support/india.html
===
--- trunk/support/india.html2009-11-26 14:05:04 UTC (rev 1343)
+++ trunk/support/india.html2009-11-27 22:53:07 UTC (rev 1344)
@@ -8,20 +8,27 @@
 
 Bangalore
 
-DeepRoot Linux is one of the largest gnu/Linux product companies in 
-India. Headquartered at Bangalore, we develop cutting edge products and
-solutions to "get gnu/Linux to work for you - faster, better, today,
-every way."
+DeepRoot Linux is one of the largest GNU/Linux product companies in India.
+Headquartered at Bangalore, we develop cutting edge solutions in terms of
+Products and Value Added Services to "get GNU/Linux to work for you -
+faster, better, today, every way" and back them up with exemplary support.
 
-Our products include small office servers, messaging servers, file 
-servers, firewall and vpn appliances and bandwidth management and link
-management solutions. We also provide commercial support for Free
-Software and the Debian gnu/Linux distribution. Support is available
-over phone, email, remote login and on-site.
+We have sufficient expertise and experience working on Samba.
+We have countless installations of Samba Servers across verticals and
+geographies.
 
+
+DeepRoot Linux' solutions (among others) include the deepOfix Mail Server,
+CRM applications, Hosting, Firewall, Proxy Servers, VPN Solutions, Drupal
+Solutions, Directory Services, File Servers, Bandwidth and Link Management,
+Electronic Fax Solutions, Training on GNU/Linux, etc.
+We provide commercial support for Free Software and the Debian GNU/Linux
+distribution. Support is available over phone, email, remote login and
+on-site.
+
 URL: http://www.deeproot.co.in";>http://www.deeproot.co.in
-Phone: +91 (80) 5112 4781
-Email: mailto:sa...@deeproot.co.in";>sa...@deeproot.co.in
+Phone: +91 (80) 4089 
+Email: mailto:st...@deeproot.co.in";>st...@deeproot.co.in
 
 
 



[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  f7c28db... s4:WINREG RPC server - add another "talloc_unlink" in 
"DeleteKey"
   via  6f7cfb0... s4:WINREG RPC server - Reintroduce the free operation on 
"CloseKey"
  from  8f6df5d... s4-smbtorture: more and stricter tests for printer and 
data keys in RPC-SPOOLSS.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit f7c28db475261fa859e8f1888a629ced6c447c60
Author: Matthias Dieter Wallnöfer 
Date:   Wed Nov 18 08:48:30 2009 +0100

s4:WINREG RPC server - add another "talloc_unlink" in "DeleteKey"

Also here we waste memory - therefore free the pointless handle after the 
delete.

commit 6f7cfb0e10a1967a59ff18221bd9941edcbc8790
Author: Matthias Dieter Wallnöfer 
Date:   Wed Nov 18 10:24:09 2009 +0100

s4:WINREG RPC server - Reintroduce the free operation on "CloseKey"

Better use "talloc_unlink" here Since we could have more than one reference.

---

Summary of changes:
 source4/rpc_server/winreg/rpc_winreg.c |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/winreg/rpc_winreg.c 
b/source4/rpc_server/winreg/rpc_winreg.c
index 86617a6..13c311c 100644
--- a/source4/rpc_server/winreg/rpc_winreg.c
+++ b/source4/rpc_server/winreg/rpc_winreg.c
@@ -98,6 +98,8 @@ static WERROR dcesrv_winreg_CloseKey(struct dcesrv_call_state 
*dce_call,
 
DCESRV_PULL_HANDLE_FAULT(h, r->in.handle, HTYPE_REGKEY);
 
+   talloc_unlink(dce_call->context, h);
+
ZERO_STRUCTP(r->out.handle);
 
return WERR_OK;
@@ -164,6 +166,7 @@ static WERROR dcesrv_winreg_DeleteKey(struct 
dcesrv_call_state *dce_call,
 {
struct dcesrv_handle *h;
struct registry_key *key;
+   WERROR result;
 
DCESRV_PULL_HANDLE_FAULT(h, r->in.handle, HTYPE_REGKEY);
key = h->data;
@@ -172,7 +175,10 @@ static WERROR dcesrv_winreg_DeleteKey(struct 
dcesrv_call_state *dce_call,
{
case SECURITY_SYSTEM:
case SECURITY_ADMINISTRATOR:
-   return reg_key_del(key, r->in.key.name);
+   result = reg_key_del(key, r->in.key.name);
+   talloc_unlink(dce_call->context, h);
+
+   return result;
default:
return WERR_ACCESS_DENIED;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  8f6df5d... s4-smbtorture: more and stricter tests for printer and 
data keys in RPC-SPOOLSS.
  from  f749e22... s4:provision.py - remove hardcoded SIDs and RIDs

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 8f6df5d3ec31a8c3dedfdfc506c44e03026d8485
Author: Günther Deschner 
Date:   Fri Nov 27 23:14:27 2009 +0100

s4-smbtorture: more and stricter tests for printer and data keys in 
RPC-SPOOLSS.

Guenther

---

Summary of changes:
 source4/torture/rpc/spoolss.c |   12 
 1 files changed, 8 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c
index 2a74131..396ed75 100644
--- a/source4/torture/rpc/spoolss.c
+++ b/source4/torture/rpc/spoolss.c
@@ -2139,11 +2139,11 @@ static bool test_EnumPrinterData(struct torture_context 
*tctx, struct dcerpc_pip
 
torture_assert_ntstatus_ok(tctx, status, "EnumPrinterData 
failed");
 
-   test_GetPrinterData(tctx, p, handle, r.out.value_name);
+   torture_assert(tctx, test_GetPrinterData(tctx, p, handle, 
r.out.value_name),
+   talloc_asprintf(tctx, "failed to call GetPrinterData 
for %s\n", r.out.value_name));
 
-   test_GetPrinterDataEx(tctx,
-   p, handle, "PrinterDriverData",
-   r.out.value_name);
+   torture_assert(tctx, test_GetPrinterDataEx(tctx, p, handle, 
"PrinterDriverData", r.out.value_name),
+   talloc_asprintf(tctx, "failed to call GetPrinterDataEx 
on PrinterDriverData for %s\n", r.out.value_name));
 
r.in.enum_index++;
 
@@ -2439,6 +2439,10 @@ static bool test_OpenPrinterEx(struct torture_context 
*tctx,
ret = false;
}
 
+   if (!test_printer_keys(tctx, p, &handle)) {
+   ret = false;
+   }
+
if (!test_PausePrinter(tctx, p, &handle)) {
ret = false;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  f749e22... s4:provision.py - remove hardcoded SIDs and RIDs
   via  207067d... s4:security/sddl - rework of the security descriptor 
abbreviations
   via  2e7ccdc... security.idl - Add some more wellknown SIDs/RIDs
  from  7d40071... s4:registry/util - Don't include the trailing '\0' in 
the internal data format but add it on the back-conversion to a string

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit f749e22cca79448dbbb338dff30054a87cd5a184
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 22:39:52 2009 +0100

s4:provision.py - remove hardcoded SIDs and RIDs

After rework of the SDDL modules this is possible. In future: Never hardcode
them anymore! Always use the abbreviations.

commit 207067d1a862f03d051d4ac3ae1e25b4dbf3bb51
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 22:37:52 2009 +0100

s4:security/sddl - rework of the security descriptor abbreviations

- Reoder them
- Add some new ones (needed for the security descriptor in the provision 
script)

commit 2e7ccdcb661c7c1379a4488ae42359df0563cb7f
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 22:36:59 2009 +0100

security.idl - Add some more wellknown SIDs/RIDs

---

Summary of changes:
 librpc/gen_ndr/security.h   |3 +
 librpc/idl/security.idl |   31 +++--
 source4/libcli/security/sddl.c  |   61 ++
 source4/scripting/python/samba/provision.py |6 +-
 4 files changed, 56 insertions(+), 45 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/security.h b/librpc/gen_ndr/security.h
index 03e5098..0dc50c3 100644
--- a/librpc/gen_ndr/security.h
+++ b/librpc/gen_ndr/security.h
@@ -132,7 +132,9 @@
 #define SID_BUILTIN_PREW2K ( "S-1-5-32-554" )
 #define SID_BUILTIN_REMOTE_DESKTOP_USERS   ( "S-1-5-32-555" )
 #define SID_BUILTIN_NETWORK_CONF_OPERATORS ( "S-1-5-32-556" )
+#define SID_BUILTIN_INCOMING_FOREST_TRUST  ( "S-1-5-32-557" )
 #define DOMAIN_RID_LOGON   ( 9 )
+#define DOMAIN_RID_ENTERPRISE_READONLY_DCS ( 498 )
 #define DOMAIN_RID_ADMINISTRATOR   ( 500 )
 #define DOMAIN_RID_GUEST   ( 501 )
 #define DOMAIN_RID_KRBTGT  ( 502 )
@@ -145,6 +147,7 @@
 #define DOMAIN_RID_SCHEMA_ADMINS   ( 518 )
 #define DOMAIN_RID_ENTERPRISE_ADMINS   ( 519 )
 #define DOMAIN_RID_POLICY_ADMINS   ( 520 )
+#define DOMAIN_RID_READONLY_DCS( 521 )
 #define DOMAIN_RID_RAS_SERVERS ( 553 )
 #define NT4_ACL_REVISION   ( SECURITY_ACL_REVISION_NT4 )
 #define SD_REVISION( SECURITY_DESCRIPTOR_REVISION_1 )
diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl
index 3c67fa7..b191414 100644
--- a/librpc/idl/security.idl
+++ b/librpc/idl/security.idl
@@ -262,22 +262,25 @@ interface security
const string SID_BUILTIN_PREW2K= "S-1-5-32-554";
const string SID_BUILTIN_REMOTE_DESKTOP_USERS   = "S-1-5-32-555";
const string SID_BUILTIN_NETWORK_CONF_OPERATORS = "S-1-5-32-556";
+   const string SID_BUILTIN_INCOMING_FOREST_TRUST  = "S-1-5-32-557";
 
/* well-known domain RIDs */
-   const int DOMAIN_RID_LOGON = 9;
-   const int DOMAIN_RID_ADMINISTRATOR = 500;
-   const int DOMAIN_RID_GUEST = 501;
-   const int DOMAIN_RID_KRBTGT= 502;
-   const int DOMAIN_RID_ADMINS= 512;
-   const int DOMAIN_RID_USERS = 513;
-   const int DOMAIN_RID_GUESTS= 514;
-   const int DOMAIN_RID_DOMAIN_MEMBERS= 515;
-   const int DOMAIN_RID_DCS   = 516;
-   const int DOMAIN_RID_CERT_ADMINS   = 517;
-   const int DOMAIN_RID_SCHEMA_ADMINS = 518;
-   const int DOMAIN_RID_ENTERPRISE_ADMINS = 519;
-   const int DOMAIN_RID_POLICY_ADMINS = 520;
-   const int DOMAIN_RID_RAS_SERVERS   = 553;
+   const int DOMAIN_RID_LOGON   = 9;
+   const int DOMAIN_RID_ENTERPRISE_READONLY_DCS = 498;
+   const int DOMAIN_RID_ADMINISTRATOR   = 500;
+   const int DOMAIN_RID_GUEST   = 501;
+   const int DOMAIN_RID_KRBTGT  = 502;
+   const int DOMAIN_RID_ADMINS  = 512;
+   const int DOMAIN_RID_USERS   = 513;
+   const int DOMAIN_RID_GUESTS  = 514;
+   const int DOMAIN_RID_DOMAIN_MEMBERS  = 515;
+   const int DOMAIN_RID_DCS = 516;
+   const int DOMAIN_RID_CERT_ADMINS = 517;
+   const int DOMAIN_RID_SCHEMA_ADMINS   = 518;
+   const int DOMAIN_RID_ENTERPRISE_ADMINS   = 519;
+   const int DOMAIN_RID_POLICY_ADMINS   = 520;
+   const in

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  7d40071... s4:registry/util - Don't include the trailing '\0' in 
the internal data format but add it on the back-conversion to a string
   via  e79dd2e... s4:net utility - add a notice for the "help" operation 
and format it's output of the command list better
  from  51328a7... s3-kerberos: fix the build on Mac OS X 10.6.2.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 7d400715e9af2056690c03a1a2f45c7f343fa313
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 21:14:44 2009 +0100

s4:registry/util - Don't include the trailing '\0' in the internal data 
format but add it on the back-conversion to a string

As far as I know the registry library saves all data (including) strings 
without
the null termination. So do it also here in a similar way.

commit e79dd2ef7d8b2aba7a84df5f5e82d2869a0598fc
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 20:26:17 2009 +0100

s4:net utility - add a notice for the "help" operation and format it's 
output of the command list better

---

Summary of changes:
 source4/lib/registry/util.c |   41 +++--
 source4/utils/net/net.c |7 ++-
 2 files changed, 33 insertions(+), 15 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/lib/registry/util.c b/source4/lib/registry/util.c
index 88b9d18..7646601 100644
--- a/source4/lib/registry/util.c
+++ b/source4/lib/registry/util.c
@@ -56,6 +56,7 @@ _PUBLIC_ char *reg_val_data_string(TALLOC_CTX *mem_ctx,
   const DATA_BLOB data)
 {
char *ret = NULL;
+   size_t ret_cnt;
 
if (data.length == 0)
return talloc_strdup(mem_ctx, "");
@@ -63,18 +64,27 @@ _PUBLIC_ char *reg_val_data_string(TALLOC_CTX *mem_ctx,
switch (type) {
case REG_EXPAND_SZ:
case REG_SZ:
-   convert_string_talloc_convenience(mem_ctx, 
iconv_convenience, CH_UTF16, CH_UNIX,
- data.data, data.length,
- (void **)&ret, NULL, false);
-   return ret;
+   convert_string_talloc_convenience(mem_ctx,
+ iconv_convenience,
+ CH_UTF16, CH_UNIX,
+ data.data,
+ data.length,
+ (void **)&ret,
+ &ret_cnt, false);
+   ret = talloc_realloc(mem_ctx, ret, char, ret_cnt + 1);
+   ret[ret_cnt] = '\0';
+   break;
case REG_BINARY:
ret = data_blob_hex_string_upper(mem_ctx, &data);
-   return ret;
+   break;
case REG_DWORD:
-   if (*(int *)data.data == 0)
-   return talloc_strdup(mem_ctx, "0");
-   return talloc_asprintf(mem_ctx, "0x%x",
-  *(int *)data.data);
+   if (*(int *)data.data == 0) {
+   ret = talloc_strdup(mem_ctx, "0");
+   } else {
+   ret = talloc_asprintf(mem_ctx, "0x%x",
+ *(int *)data.data);
+   }
+   break;
case REG_MULTI_SZ:
/* FIXME */
break;
@@ -119,13 +129,16 @@ _PUBLIC_ bool reg_string_to_val(TALLOC_CTX *mem_ctx,
 
/* Convert data appropriately */
 
-   switch (*type)
-   {
+   switch (*type) {
case REG_SZ:
case REG_EXPAND_SZ:
-   convert_string_talloc_convenience(mem_ctx, iconv_convenience, 
CH_UNIX, CH_UTF16,
-data_str, 
strlen(data_str)+1,
-(void **)&data->data, 
&data->length, false);
+   convert_string_talloc_convenience(mem_ctx,
+ iconv_convenience,
+ CH_UNIX, CH_UTF16,
+ data_str,
+ strlen(data_str),
+ (void **)&data->data,
+ &data->length, false);
 
   

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  51328a7... s3-kerberos: fix the build on Mac OS X 10.6.2.
  from  2175c0e... s4:samba3.py - deactivate also the assertion on line 599

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 51328a7056918bc75a7c1c442f47cf0271075542
Author: Günther Deschner 
Date:   Fri Nov 27 20:08:44 2009 +0100

s3-kerberos: fix the build on Mac OS X 10.6.2.

Guenther

---

Summary of changes:
 source3/configure.in |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/configure.in b/source3/configure.in
index 95e91c2..80952b5 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3370,7 +3370,7 @@ if test x"$with_ads_support" != x"no"; then
 AC_TRY_COMPILE(
   [#define KRB5_DEPRECATED 1
   #include ],
-  [void main(void) {}],
+  [],
   samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=yes,
   samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no)])
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  2175c0e... s4:samba3.py - deactivate also the assertion on line 599
  from  da79cbb... s3-kerberos: add a missing reference to authdata headers.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 2175c0ed0649d545ea833d50e8d33fbee9051c35
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 20:02:25 2009 +0100

s4:samba3.py - deactivate also the assertion on line 599

---

Summary of changes:
 source4/scripting/python/samba/samba3.py |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/samba3.py 
b/source4/scripting/python/samba/samba3.py
index d1aef9e..809fd01 100644
--- a/source4/scripting/python/samba/samba3.py
+++ b/source4/scripting/python/samba/samba3.py
@@ -596,7 +596,7 @@ class TdbSam(TdbDatabase):
 #(user.bad_password_count, data) = unpack_uint16(data)
 #(user.logon_count, data) = unpack_uint16(data)
 #(user.unknown_6, data) = unpack_uint32(data)
-assert len(data) == 0
+#assert len(data) == 0
 return user
 
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  da79cbb... s3-kerberos: add a missing reference to authdata headers.
  from  ae20737... s3-kerberos: do not include authdata headers before 
including krb5 headers.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit da79cbb0800dd647be864e8bbb5fe1132708174b
Author: Günther Deschner 
Date:   Fri Nov 27 18:51:56 2009 +0100

s3-kerberos: add a missing reference to authdata headers.

Guenther

---

Summary of changes:
 source3/libsmb/clikrb5.c |1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c
index 0839b43..04c9bbf 100644
--- a/source3/libsmb/clikrb5.c
+++ b/source3/libsmb/clikrb5.c
@@ -22,6 +22,7 @@
 
 #include "includes.h"
 #include "smb_krb5.h"
+#include "authdata.h"
 
 #ifdef HAVE_KRB5
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  ae20737... s3-kerberos: do not include authdata headers before 
including krb5 headers.
   via  e512ccb... s3-spoolss: simplify _spoolss_EnumPrinterKey a little 
more.
  from  663a1f5... s4:winbind - Fix it another time up

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit ae207370667a12db53362ee5dcdab8e6d4bb388f
Author: Günther Deschner 
Date:   Fri Nov 27 18:30:18 2009 +0100

s3-kerberos: do not include authdata headers before including krb5 headers.

Guenther

commit e512ccb5b677fa7f285829ec645fc067837c0e11
Author: Günther Deschner 
Date:   Thu Nov 26 19:01:54 2009 +0100

s3-spoolss: simplify _spoolss_EnumPrinterKey a little more.

Guenther

---

Summary of changes:
 source3/include/authdata.h  |2 --
 source3/include/includes.h  |1 -
 source3/libads/authdata.c   |1 +
 source3/rpc_server/srv_spoolss_nt.c |   20 ++--
 4 files changed, 7 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/authdata.h b/source3/include/authdata.h
index 70f6d2d..e1a5155 100644
--- a/source3/include/authdata.h
+++ b/source3/include/authdata.h
@@ -21,8 +21,6 @@
 #ifndef _AUTHDATA_H
 #define _AUTHDATA_H
 
-#include "rpc_misc.h"
-
 #define PAC_TYPE_LOGON_INFO 1
 #define PAC_TYPE_SERVER_CHECKSUM 6
 #define PAC_TYPE_PRIVSVR_CHECKSUM 7
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 37cb611..cf09795 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -652,7 +652,6 @@ struct smb_iconv_convenience *lp_iconv_convenience(void 
*lp_ctx);
 #include "passdb.h"
 #include "rpc_secdes.h"
 #include "../libgpo/gpo.h"
-#include "authdata.h"
 #include "msdfs.h"
 #include "rap.h"
 #include "../lib/crypto/md5.h"
diff --git a/source3/libads/authdata.c b/source3/libads/authdata.c
index 35d5ef9..ed158ee 100644
--- a/source3/libads/authdata.c
+++ b/source3/libads/authdata.c
@@ -25,6 +25,7 @@
 #include "includes.h"
 #include "librpc/gen_ndr/ndr_krb5pac.h"
 #include "smb_krb5.h"
+#include "authdata.h"
 
 #ifdef HAVE_KRB5
 
diff --git a/source3/rpc_server/srv_spoolss_nt.c 
b/source3/rpc_server/srv_spoolss_nt.c
index c704418..8d7973d 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -9125,10 +9125,6 @@ WERROR _spoolss_EnumPrinterKey(pipes_struct *p,
goto done;
}
 
-   /* two byte termination (a multisz) */
-
-   *r->out.needed = 2;
-
array = talloc_zero_array(r->out.key_buffer, const char *, num_keys + 
1);
if (!array) {
result = WERR_NOMEM;
@@ -9145,23 +9141,19 @@ WERROR _spoolss_EnumPrinterKey(pipes_struct *p,
result = WERR_NOMEM;
goto done;
}
-
-   *r->out.needed += strlen_m_term(keynames[i]) * 2;
-   }
-
-   if (r->in.offered < *r->out.needed) {
-   result = WERR_MORE_DATA;
-   goto done;
}
 
-   result = WERR_OK;
-
if (!push_reg_multi_sz(p->mem_ctx, &blob, array)) {
result = WERR_NOMEM;
goto done;
}
 
-   if (r->in.offered >= blob.length) {
+   *r->out.needed = blob.length;
+
+   if (r->in.offered < *r->out.needed) {
+   result = WERR_MORE_DATA;
+   } else {
+   result = WERR_OK;
memcpy(r->out.key_buffer, blob.data, blob.length);
}
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  663a1f5... s4:winbind - Fix it another time up
   via  3318899... s4:provision.py - cosmetic
  from  6c3e241... s4:samba3.py (and test) - deactivate the tests until 
those parameters are fixed

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 663a1f599aa163ebb5c81c02988c07cb1f0e3e6c
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 17:45:20 2009 +0100

s4:winbind - Fix it another time up

The first fix attempt did break some configurations (incl. "make test").
This now is the right fix with the right comment.

commit 33188999b5a346ed2a7114f678bfb3c2d5e7ca34
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 17:39:02 2009 +0100

s4:provision.py - cosmetic

---

Summary of changes:
 source4/scripting/python/samba/provision.py |   15 +++
 source4/winbind/wb_setup_domains.c  |   16 ++--
 2 files changed, 21 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/provision.py 
b/source4/scripting/python/samba/provision.py
index 5bac6e6..0da03f3 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -1135,7 +1135,7 @@ def provision(setup_dir, message, session_info,
 os.mkdir(os.path.join(paths.private_dir,"tls"))
 
 ldapi_url = "ldapi://%s" % urllib.quote(paths.s4_ldapi_path, safe="")
-
+ 
 schema = Schema(setup_path, domainsid, schemadn=names.schemadn, 
serverdn=names.serverdn)
 
 if backend_type == "ldb":
@@ -1266,14 +1266,13 @@ def provision(setup_dir, message, session_info,
 message("Setting up sam.ldb rootDSE marking as synchronized")
 setup_modify_ldif(samdb, setup_path("provision_rootdse_modify.ldif"))
 
-
 secretsdb_self_join(secrets_ldb, domain=names.domain,
- realm=names.realm,
- dnsdomain=names.dnsdomain,
- netbiosname=names.netbiosname,
- domainsid=domainsid, 
- machinepass=machinepass,
- secure_channel_type=SEC_CHAN_BDC)
+realm=names.realm,
+dnsdomain=names.dnsdomain,
+netbiosname=names.netbiosname,
+domainsid=domainsid, 
+machinepass=machinepass,
+secure_channel_type=SEC_CHAN_BDC)
 
 if serverrole == "domain controller":
 secretsdb_setup_dns(secrets_ldb, setup_path, 
diff --git a/source4/winbind/wb_setup_domains.c 
b/source4/winbind/wb_setup_domains.c
index 6b4fd89..5ce6500 100644
--- a/source4/winbind/wb_setup_domains.c
+++ b/source4/winbind/wb_setup_domains.c
@@ -27,11 +27,23 @@ NTSTATUS wbsrv_setup_domains(struct wbsrv_service *service)
 {
const struct dom_sid *primary_sid;
 
+   /*
+* This is a bit more difficult here: when we are a domain controller
+* or a joined domain member the first call will work. But if we are
+* a standalone server or unjoined member then the second is the right
+* one.
+*/
primary_sid = secrets_get_domain_sid(service,
 service->task->event_ctx,
 service->task->lp_ctx,
-
lp_sam_name(service->task->lp_ctx));
-   if (!primary_sid) {
+
lp_workgroup(service->task->lp_ctx));
+   if (primary_sid == NULL) {
+   primary_sid = secrets_get_domain_sid(service,
+service->task->event_ctx,
+service->task->lp_ctx,
+
lp_netbios_name(service->task->lp_ctx));
+   }
+   if (primary_sid == NULL) {
return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
}
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  6c3e241... s4:samba3.py (and test) - deactivate the tests until 
those parameters are fixed
   via  08b3c39... s4:upgrade.py - Umlaut problem
   via  1af31ae... s4:tests.sh - Make also here the change from "upgrade" 
to "upgrade_from_s3"
  from  04f8c22... s3-kerberos: only use krb5 headers where required.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 6c3e2417a0639cd7c367de93615c422cf5217456
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 16:39:27 2009 +0100

s4:samba3.py (and test) - deactivate the tests until those parameters are 
fixed

commit 08b3c396d7d534c9bfa29a7cd015a97d504d45a9
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 16:35:28 2009 +0100

s4:upgrade.py - Umlaut problem

commit 1af31aed0bd430d0af3a52962fa21f5c08309f01
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 16:34:44 2009 +0100

s4:tests.sh - Make also here the change from "upgrade" to "upgrade_from_s3"

---

Summary of changes:
 source4/scripting/python/samba/samba3.py   |2 +-
 source4/scripting/python/samba/tests/samba3.py |6 +++---
 source4/scripting/python/samba/upgrade.py  |2 +-
 source4/selftest/tests.sh  |2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/samba3.py 
b/source4/scripting/python/samba/samba3.py
index c21b457..d1aef9e 100644
--- a/source4/scripting/python/samba/samba3.py
+++ b/source4/scripting/python/samba/samba3.py
@@ -592,7 +592,7 @@ class TdbSam(TdbDatabase):
 for entry in hours:
 for i in range(8):
 user.hours.append(ord(entry) & (2 ** i) == (2 ** i))
-# FIXME
+# FIXME (reactivate also the tests in tests/samba3.py after fixing 
this)
 #(user.bad_password_count, data) = unpack_uint16(data)
 #(user.logon_count, data) = unpack_uint16(data)
 #(user.unknown_6, data) = unpack_uint32(data)
diff --git a/source4/scripting/python/samba/tests/samba3.py 
b/source4/scripting/python/samba/tests/samba3.py
index 71e08bd..8128c51 100644
--- a/source4/scripting/python/samba/tests/samba3.py
+++ b/source4/scripting/python/samba/tests/samba3.py
@@ -122,15 +122,15 @@ class TdbSamTestCase(unittest.TestCase):
 user.logoff_time = 2147483647
 user.acct_desc = ""
 user.group_rid = 1001
-user.logon_count = 0
-user.bad_password_count = 0
+# FIXME user.logon_count = 0
+# FIXME user.bad_password_count = 0
 user.domain = "BEDWYR"
 user.munged_dial = ""
 user.workstations = ""
 user.user_rid = 1000
 user.kickoff_time = 2147483647
 user.logoff_time = 2147483647
-user.unknown_6 = 1260L
+# FIXME user.unknown_6 = 1260L
 user.logon_divs = 0
 user.hours = [True for i in range(168)]
 other = self.samdb["root"]
diff --git a/source4/scripting/python/samba/upgrade.py 
b/source4/scripting/python/samba/upgrade.py
index 44b43a1..3c45245 100644
--- a/source4/scripting/python/samba/upgrade.py
+++ b/source4/scripting/python/samba/upgrade.py
@@ -2,7 +2,7 @@
 #
 #  backend code for upgrading from Samba3
 #  Copyright Jelmer Vernooij 2005-2007
-#  Copyright Matthias Dieter Wallnöfer 2009
+#  Copyright Matthias Dieter Wallnoefer 2009
 #  Released under the GNU GPL v3 or later
 #
 
diff --git a/source4/selftest/tests.sh b/source4/selftest/tests.sh
index 724c9f2..7c9b19f 100755
--- a/source4/selftest/tests.sh
+++ b/source4/selftest/tests.sh
@@ -465,7 +465,7 @@ plantest "ldap.secdesc.python" dc 
PYTHONPATH="$PYTHONPATH:../lib/subunit/python"
 plantest "ldap.acl.python" dc PYTHONPATH="$PYTHONPATH:../lib/subunit/python" 
$PYTHON $samba4srcdir/lib/ldb/tests/python/acl.py $CONFIGURATION \$SERVER 
-U\$USERNAME%\$PASSWORD -W \$DOMAIN
 plantest "blackbox.samba3dump" none $PYTHON 
$samba4srcdir/scripting/bin/samba3dump $samba4srcdir/../testdata/samba3
 rm -rf $PREFIX/upgrade
-plantest "blackbox.upgrade" none $PYTHON $samba4srcdir/setup/upgrade 
$CONFIGURATION --targetdir=$PREFIX/upgrade $samba4srcdir/../testdata/samba3 
../testdata/samba3/smb.conf
+plantest "blackbox.upgrade" none $PYTHON 
$samba4srcdir/scripting/bin/upgrade_from_s3 $CONFIGURATION 
--targetdir=$PREFIX/upgrade $samba4srcdir/../testdata/samba3 
../testdata/samba3/smb.conf
 rm -rf $PREFIX/provision
 mkdir $PREFIX/provision
 plantest "blackbox.provision.py" none PYTHON="$PYTHON" 
$samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision"


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  04f8c22... s3-kerberos: only use krb5 headers where required.
  from  23d77be... misc: mark winreg_Data little-endian except for a 
REG_DWORD_BIG_ENDIAN.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 04f8c229de7ffad5f4ec1a0bb68c2c8b4ccf4e15
Author: Günther Deschner 
Date:   Fri Nov 27 15:52:57 2009 +0100

s3-kerberos: only use krb5 headers where required.

This seems to be the only way to deal with mixed heimdal/MIT setups during
merged build.

Guenther

---

Summary of changes:
 client/cifs.upcall.c   |1 +
 source3/configure.in   |5 +-
 source3/include/ads.h  |   71 --
 source3/include/includes.h |  170 +---
 source3/include/krb5_protos.h  |  148 +++
 source3/include/smb_krb5.h |   72 ++
 source3/libads/ads_status.c|1 +
 source3/libads/authdata.c  |1 +
 source3/libads/kerberos.c  |1 +
 source3/libads/kerberos_keytab.c   |1 +
 source3/libads/kerberos_verify.c   |1 +
 source3/libads/krb5_errs.c |1 +
 source3/libads/krb5_setpw.c|1 +
 source3/libnet/libnet.h|1 +
 source3/libsmb/cliconnect.c|1 +
 source3/libsmb/clikrb5.c   |4 +-
 source3/libsmb/clispnego.c |1 +
 source3/rpc_client/cli_pipe.c  |1 +
 source3/utils/ntlm_auth.c  |1 +
 source3/winbindd/winbindd_cred_cache.c |2 +
 source3/winbindd/winbindd_pam.c|1 +
 21 files changed, 257 insertions(+), 229 deletions(-)
 create mode 100644 source3/include/krb5_protos.h
 create mode 100644 source3/include/smb_krb5.h


Changeset truncated at 500 lines:

diff --git a/client/cifs.upcall.c b/client/cifs.upcall.c
index 063e423..bfc70d1 100644
--- a/client/cifs.upcall.c
+++ b/client/cifs.upcall.c
@@ -27,6 +27,7 @@ create dns_resolver * * /usr/local/sbin/cifs.upcall %k
 
 #include "includes.h"
 #include "../libcli/auth/spnego.h"
+#include "smb_krb5.h"
 #include 
 #include 
 
diff --git a/source3/configure.in b/source3/configure.in
index 693fe6a..95e91c2 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -3375,10 +3375,7 @@ if test x"$with_ads_support" != x"no"; then
   samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no)])
 
   if test x"$samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER" = x"yes"; then
-AC_DEFINE(KRB5_DEPRECATED, 1,
-  [Whether to use deprecated krb5 interfaces])
-  else
-AC_DEFINE(KRB5_DEPRECATED,,
+AC_DEFINE(HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER, 1,
   [Whether to use deprecated krb5 interfaces])
   fi
 fi
diff --git a/source3/include/ads.h b/source3/include/ads.h
index 30f0b1f..d0bae80 100644
--- a/source3/include/ads.h
+++ b/source3/include/ads.h
@@ -8,6 +8,24 @@
 
 #include "../libds/common/flags.h"
 
+/*
+ * This should be under the HAVE_KRB5 flag but since they're used
+ * in lp_kerberos_method(), they ned to be always available
+ */
+#define KERBEROS_VERIFY_SECRETS 0
+#define KERBEROS_VERIFY_SYSTEM_KEYTAB 1
+#define KERBEROS_VERIFY_DEDICATED_KEYTAB 2
+#define KERBEROS_VERIFY_SECRETS_AND_KEYTAB 3
+
+/*
+ * If you add any entries to the above, please modify the below expressions
+ * so they remain accurate.
+ */
+#define USE_KERBEROS_KEYTAB (KERBEROS_VERIFY_SECRETS != lp_kerberos_method())
+#define USE_SYSTEM_KEYTAB \
+((KERBEROS_VERIFY_SECRETS_AND_KEYTAB == lp_kerberos_method()) || \
+ (KERBEROS_VERIFY_SYSTEM_KEYTAB == lp_kerberos_method()))
+
 #define TOK_ID_KRB_AP_REQ  ((const uint8_t *)"\x01\x00")
 #define TOK_ID_KRB_AP_REP  ((const uint8_t *)"\x02\x00")
 #define TOK_ID_KRB_ERROR   ((const uint8_t *)"\x03\x00")
@@ -226,62 +244,9 @@ typedef void **ADS_MODLIST;
 /* Kerberos environment variable names */
 #define KRB5_ENV_CCNAME "KRB5CCNAME"
 
-/* Heimdal uses a slightly different name */
-#if defined(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5)
-#define ENCTYPE_ARCFOUR_HMAC ENCTYPE_ARCFOUR_HMAC_MD5
-#endif
-
-/* The older versions of heimdal that don't have this
-   define don't seem to use it anyway.  I'm told they
-   always use a subkey */
-#ifndef HAVE_AP_OPTS_USE_SUBKEY
-#define AP_OPTS_USE_SUBKEY 0
-#endif
-
 #define WELL_KNOWN_GUID_COMPUTERS  "AA312825768811D1ADED00C04FD8D5CD" 
 #define WELL_KNOWN_GUID_USERS  "A9D1CA15768811D1ADED00C04FD8D5CD"
 
-#ifndef KRB5_ADDR_NETBIOS
-#define KRB5_ADDR_NETBIOS 0x14
-#endif
-
-#ifndef KRB5KRB_ERR_RESPONSE_TOO_BIG
-#define KRB5KRB_ERR_RESPONSE_TOO_BIG (-1765328332L)
-#endif
-
-#ifdef HAVE_KRB5
-typedef struct {
-#if defined(HAVE_MAGIC_IN_KRB5_ADDRESS) && 
defined(HAVE_ADDRTYPE_IN_KRB5_ADDRESS) /* MIT */
-   krb5_address **addrs;
-#elif defin

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  23d77be... misc: mark winreg_Data little-endian except for a 
REG_DWORD_BIG_ENDIAN.
  from  79f8299... pidl: fix handling of output arguments in s3 client 
stubs.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 23d77be6cb8847cbdad859269faf59fea30b27b8
Author: Günther Deschner 
Date:   Fri Nov 27 11:18:30 2009 +0100

misc: mark winreg_Data little-endian except for a REG_DWORD_BIG_ENDIAN.

Guenther

---

Summary of changes:
 librpc/gen_ndr/misc.h |2 +-
 librpc/gen_ndr/ndr_misc.c |  357 +++--
 librpc/idl/misc.idl   |4 +-
 3 files changed, 218 insertions(+), 145 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/misc.h b/librpc/gen_ndr/misc.h
index 29ea192..6672c61 100644
--- a/librpc/gen_ndr/misc.h
+++ b/librpc/gen_ndr/misc.h
@@ -89,6 +89,6 @@ union winreg_Data {
uint32_t value;/* [case(REG_DWORD)] */
const char ** string_array;/* 
[flag(LIBNDR_FLAG_STR_NULLTERM),case(REG_MULTI_SZ)] */
DATA_BLOB data;/* [flag(LIBNDR_FLAG_REMAINING),default] */
-}/* [nodiscriminant,public] */;
+}/* [public,nodiscriminant,flag(LIBNDR_FLAG_LITTLE_ENDIAN)] */;
 
 #endif /* _HEADER_misc */
diff --git a/librpc/gen_ndr/ndr_misc.c b/librpc/gen_ndr/ndr_misc.c
index ff79baa..1f4d0c9 100644
--- a/librpc/gen_ndr/ndr_misc.c
+++ b/librpc/gen_ndr/ndr_misc.c
@@ -213,77 +213,106 @@ _PUBLIC_ void ndr_print_winreg_Type(struct ndr_print 
*ndr, const char *name, enu
 
 _PUBLIC_ enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int 
ndr_flags, const union winreg_Data *r)
 {
-   if (ndr_flags & NDR_SCALARS) {
-   int level = ndr_push_get_switch_value(ndr, r);
-   NDR_CHECK(ndr_push_union_align(ndr, 4));
-   switch (level) {
-   case REG_NONE: {
-   break; }
-
-   case REG_SZ: {
-   {
-   uint32_t _flags_save_string = 
ndr->flags;
-   ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_NULLTERM);
-   NDR_CHECK(ndr_push_string(ndr, 
NDR_SCALARS, r->string));
-   ndr->flags = _flags_save_string;
-   }
-   break; }
-
-   case REG_BINARY: {
-   {
-   uint32_t _flags_save_DATA_BLOB = 
ndr->flags;
-   ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_REMAINING);
-   NDR_CHECK(ndr_push_DATA_BLOB(ndr, 
NDR_SCALARS, r->binary));
-   ndr->flags = _flags_save_DATA_BLOB;
-   }
-   break; }
-
-   case REG_DWORD: {
-   NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->value));
-   break; }
-
-   case REG_MULTI_SZ: {
-   {
-   uint32_t _flags_save_string_array = 
ndr->flags;
-   ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_NULLTERM);
-   NDR_CHECK(ndr_push_string_array(ndr, 
NDR_SCALARS, r->string_array));
-   ndr->flags = _flags_save_string_array;
-   }
-   break; }
-
-   default: {
-   {
-   uint32_t _flags_save_DATA_BLOB = 
ndr->flags;
-   ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_REMAINING);
-   NDR_CHECK(ndr_push_DATA_BLOB(ndr, 
NDR_SCALARS, r->data));
-   ndr->flags = _flags_save_DATA_BLOB;
-   }
-   break; }
-
+   {
+   uint32_t _flags_save_UNION = ndr->flags;
+   ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
+   if (ndr_flags & NDR_SCALARS) {
+   int level = ndr_push_get_switch_value(ndr, r);
+   NDR_CHECK(ndr_push_union_align(ndr, 4));
+   switch (level) {
+   case REG_NONE: {
+   break; }
+
+   case REG_SZ: {
+   {
+   uint32_t _flags_save_string = 
ndr->flags;
+   ndr_set_flags(&ndr->flags, 
LIBNDR_FLAG_STR_NULLTERM);
+

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  79f8299... pidl: fix handling of output arguments in s3 client 
stubs.
  from  0cc45b4... s4:upgrade.py - rework to make the upgrade s3 -> s4 
possible again

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 79f82998b1aa8349f76a4c82c17daf7e03cdb41a
Author: Günther Deschner 
Date:   Fri Nov 27 16:06:40 2009 +0100

pidl: fix handling of output arguments in s3 client stubs.

a20e095 used (uint8_t) instead of (uint8_t *).

Guenther

---

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c|8 
 pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm |2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 635a817..aba70f2 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -11057,7 +11057,7 @@ static void rpccli_spoolss_EnumPrinterData_done(struct 
tevent_req *subreq)
}
 
/* Copy out parameters */
-   memcpy(discard_const_p(uint8_t, state->orig.out.value_name), 
state->tmp.out.value_name, (state->tmp.in.value_offered / 2) * 
sizeof(*state->orig.out.value_name));
+   memcpy(discard_const_p(uint8_t *, state->orig.out.value_name), 
state->tmp.out.value_name, (state->tmp.in.value_offered / 2) * 
sizeof(*state->orig.out.value_name));
*state->orig.out.value_needed = *state->tmp.out.value_needed;
*state->orig.out.type = *state->tmp.out.type;
memcpy(state->orig.out.data, state->tmp.out.data, 
(state->tmp.in.data_offered) * sizeof(*state->orig.out.data));
@@ -11132,7 +11132,7 @@ NTSTATUS rpccli_spoolss_EnumPrinterData(struct 
rpc_pipe_client *cli,
}
 
/* Return variables */
-   memcpy(discard_const_p(uint8_t, value_name), r.out.value_name, 
(r.in.value_offered / 2) * sizeof(*value_name));
+   memcpy(discard_const_p(uint8_t *, value_name), r.out.value_name, 
(r.in.value_offered / 2) * sizeof(*value_name));
*value_needed = *r.out.value_needed;
*type = *r.out.type;
memcpy(data, r.out.data, (r.in.data_offered) * sizeof(*data));
@@ -15678,7 +15678,7 @@ static void 
rpccli_spoolss_GetPrinterDriverPackagePath_done(struct tevent_req *s
 
/* Copy out parameters */
if (state->orig.out.driver_package_cab && 
state->tmp.out.driver_package_cab) {
-   memcpy(discard_const_p(uint8_t, 
state->orig.out.driver_package_cab), state->tmp.out.driver_package_cab, 
(state->tmp.in.driver_package_cab_size) * 
sizeof(*state->orig.out.driver_package_cab));
+   memcpy(discard_const_p(uint8_t *, 
state->orig.out.driver_package_cab), state->tmp.out.driver_package_cab, 
(state->tmp.in.driver_package_cab_size) * 
sizeof(*state->orig.out.driver_package_cab));
}
*state->orig.out.required = *state->tmp.out.required;
 
@@ -15752,7 +15752,7 @@ NTSTATUS 
rpccli_spoolss_GetPrinterDriverPackagePath(struct rpc_pipe_client *cli,
 
/* Return variables */
if (driver_package_cab && r.out.driver_package_cab) {
-   memcpy(discard_const_p(uint8_t, driver_package_cab), 
r.out.driver_package_cab, (r.in.driver_package_cab_size) * 
sizeof(*driver_package_cab));
+   memcpy(discard_const_p(uint8_t *, driver_package_cab), 
r.out.driver_package_cab, (r.in.driver_package_cab_size) * 
sizeof(*driver_package_cab));
}
*required = *r.out.required;
 
diff --git a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm 
b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
index b26a08e..68579d2 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
@@ -105,7 +105,7 @@ sub ParseOutputArgument($$$;$$)
} else {
my $size_is = ParseExpr($l->{SIZE_IS}, $env, 
$e->{ORIGINAL});
if (has_property($e, "charset")) {
-   $self->pidl("memcpy(discard_const_p(uint8_t, 
$o$e->{NAME}), ${r}out.$e->{NAME}, ($size_is) * sizeof(*$o$e->{NAME}));");
+   $self->pidl("memcpy(discard_const_p(uint8_t *, 
$o$e->{NAME}), ${r}out.$e->{NAME}, ($size_is) * sizeof(*$o$e->{NAME}));");
} else {
$self->pidl("memcpy($o$e->{NAME}, 
${r}out.$e->{NAME}, ($size_is) * sizeof(*$o$e->{NAME}));");
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  0cc45b4... s4:upgrade.py - rework to make the upgrade s3 -> s4 
possible again
   via  bd6c133... s4:upgrade_from_s3 - Fix message outputs
   via  dbb8989... s4:upgrade.py - the import of WINS databases don't seem 
to work always
   via  70b3161... s4:samba3.py - ignore comments in "smb.conf" files
   via  82adfa3... s4:samba3.py - don't read those informations out from 
the TDB
   via  f299efa... s4:samba3.py - support the TDB version 3
  from  a5d854a... s4:provision - Fix up the provision of "standalone" and 
"member" mode

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 0cc45b47dc787abb2c3c31e4fc824798d9f3efe9
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 15:50:26 2009 +0100

s4:upgrade.py - rework to make the upgrade s3 -> s4 possible again

Able to read basic settings "workgroup", "realm", "netbios name" and the
function mode from the s3 "smb.conf" and use them for the provision of s4.

commit bd6c133e506fdb5dee13e0a144ef99c6d452be42
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 15:49:18 2009 +0100

s4:upgrade_from_s3 - Fix message outputs

The quiet parameter was interpreted in the reverse manner.

commit dbb8989e05ac3189a5eca11fa40d572388ea02fc
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 15:02:18 2009 +0100

s4:upgrade.py - the import of WINS databases don't seem to work always

Disable it for now until the cause has been found

commit 70b31610909544c58fd87c5e0aa00e02eb5f6d4b
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 15:00:41 2009 +0100

s4:samba3.py - ignore comments in "smb.conf" files

commit 82adfa39b75aa628c88f828278c6ac09335d1a49
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 14:59:12 2009 +0100

s4:samba3.py - don't read those informations out from the TDB

At the moment those three calls are broken

commit f299efa8f05c6a5b739222bdf75690a4591d3650
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 14:58:37 2009 +0100

s4:samba3.py - support the TDB version 3

---

Summary of changes:
 source4/scripting/bin/upgrade_from_s3 |6 +-
 source4/scripting/python/samba/samba3.py  |   11 +-
 source4/scripting/python/samba/upgrade.py |  144 ++--
 3 files changed, 81 insertions(+), 80 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/bin/upgrade_from_s3 
b/source4/scripting/bin/upgrade_from_s3
index 03f4415..7e1e1fd 100755
--- a/source4/scripting/bin/upgrade_from_s3
+++ b/source4/scripting/bin/upgrade_from_s3
@@ -50,14 +50,14 @@ opts, args = parser.parse_args()
 
 def message(text):
 """Print a message if quiet is not set."""
-if opts.quiet:
+if not opts.quiet:
 print text
 
 if len(args) < 1:
 parser.print_usage()
 sys.exit(1)
 
-message("Reading Samba3 databases and smb.conf\n")
+message("Reading Samba3 databases and smb.conf")
 
 libdir = args[0]
 if not os.path.isdir(libdir):
@@ -71,7 +71,7 @@ else:
 
 samba3 = Samba3(libdir, smbconf)
 
-message("Provisioning\n")
+message("Provisioning")
 
 setup_dir = opts.setupdir
 if setup_dir is None:
diff --git a/source4/scripting/python/samba/samba3.py 
b/source4/scripting/python/samba/samba3.py
index 179efa2..c21b457 100644
--- a/source4/scripting/python/samba/samba3.py
+++ b/source4/scripting/python/samba/samba3.py
@@ -509,7 +509,7 @@ class TdbSam(TdbDatabase):
 """Samba 3 TDB passdb backend reader."""
 def _check_version(self):
 self.version = fetch_uint32(self.tdb, "INFO/version\0") or 0
-assert self.version in (0, 1, 2)
+assert self.version in (0, 1, 2, 3)
 
 def usernames(self):
 """Iterate over the usernames in this Tdb database."""
@@ -592,9 +592,10 @@ class TdbSam(TdbDatabase):
 for entry in hours:
 for i in range(8):
 user.hours.append(ord(entry) & (2 ** i) == (2 ** i))
-(user.bad_password_count, data) = unpack_uint16(data)
-(user.logon_count, data) = unpack_uint16(data)
-(user.unknown_6, data) = unpack_uint32(data)
+# FIXME
+#(user.bad_password_count, data) = unpack_uint16(data)
+#(user.logon_count, data) = unpack_uint16(data)
+#(user.unknown_6, data) = unpack_uint32(data)
 assert len(data) == 0
 return user
 
@@ -683,7 +684,7 @@ class ParamFile(object):
 section = None
 for i, l in enumerate(open(filename, 'r').xreadlines()):
 l = l.strip()
-if not l:
+if not l or l[0] == '#' or l[0] == ';':
 continue
 if l[0] == "[" and l[-1] == "]":
 section = self._sanitize_name(l[1:-1])
diff --git a/source4/scripting/python/samba/upgrade.py 
b/source4/scripting/python/samba/upgrade.py
index 8

[SCM] Samba Shared Repository - branch v3-5-stable updated

2009-11-27 Thread Karolin Seeger
The branch, v3-5-stable has been updated
   via  85d12a8... WHATSNEW: Start 3.5.0pre2 release notes.
   via  2f70d3e... VERSION: Raise version number up to 3.5.0pre2.
  from  31c1722... VERSION: Set version to 3.5.0pre1.

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


- Log -
commit 85d12a89b607a135e163a3524253301ec4efae77
Author: Karolin Seeger 
Date:   Fri Nov 27 15:03:15 2009 +0100

WHATSNEW: Start 3.5.0pre2 release notes.

Karolin
(cherry picked from commit dc13391403cfea6a4a4de44a2d047d1be5d06817)

commit 2f70d3e921bbcb5dd099378d4779169c0dc32ebd
Author: Karolin Seeger 
Date:   Fri Nov 27 15:01:52 2009 +0100

VERSION: Raise version number up to 3.5.0pre2.

Karolin
(cherry picked from commit d7c84cdc41751b04d951eae31e1ca25f0a2a019f)

---

Summary of changes:
 WHATSNEW.txt|6 +++---
 source3/VERSION |2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 53fdc34..764f545 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,9 +1,9 @@
=
-   Release Notes for Samba 3.5.0pre1
-  November 26, 2009
+   Release Notes for Samba 3.5.0pre2
+  December 15, 2009
=
 
-This is the first preview release of Samba 3.5.  This is *not*
+This is the second preview release of Samba 3.5.  This is *not*
 intended for production environments and is designed for testing
 purposes only.  Please report any defects via the Samba bug reporting
 system at https://bugzilla.samba.org/.
diff --git a/source3/VERSION b/source3/VERSION
index b5bd528..e06aae6 100644
--- a/source3/VERSION
+++ b/source3/VERSION
@@ -46,7 +46,7 @@ SAMBA_VERSION_REVISION=
 # e.g. SAMBA_VERSION_PRE_RELEASE=1 #
 #  ->  "2.2.9pre1" #
 
-SAMBA_VERSION_PRE_RELEASE=1
+SAMBA_VERSION_PRE_RELEASE=2
 
 
 # For 'rc' releases the version will be#


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch v3-5-test updated

2009-11-27 Thread Karolin Seeger
The branch, v3-5-test has been updated
   via  dc13391... WHATSNEW: Start 3.5.0pre2 release notes.
   via  d7c84cd... VERSION: Raise version number up to 3.5.0pre2.
  from  54994ab... s3-smbd: no drsuapi server stubs yet in s3. Fixes the 
build, sorry.

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


- Log -
commit dc13391403cfea6a4a4de44a2d047d1be5d06817
Author: Karolin Seeger 
Date:   Fri Nov 27 15:03:15 2009 +0100

WHATSNEW: Start 3.5.0pre2 release notes.

Karolin

commit d7c84cdc41751b04d951eae31e1ca25f0a2a019f
Author: Karolin Seeger 
Date:   Fri Nov 27 15:01:52 2009 +0100

VERSION: Raise version number up to 3.5.0pre2.

Karolin

---

Summary of changes:
 WHATSNEW.txt|6 +++---
 source3/VERSION |2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 53fdc34..764f545 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,9 +1,9 @@
=
-   Release Notes for Samba 3.5.0pre1
-  November 26, 2009
+   Release Notes for Samba 3.5.0pre2
+  December 15, 2009
=
 
-This is the first preview release of Samba 3.5.  This is *not*
+This is the second preview release of Samba 3.5.  This is *not*
 intended for production environments and is designed for testing
 purposes only.  Please report any defects via the Samba bug reporting
 system at https://bugzilla.samba.org/.
diff --git a/source3/VERSION b/source3/VERSION
index 9438dc8..4028112 100644
--- a/source3/VERSION
+++ b/source3/VERSION
@@ -46,7 +46,7 @@ SAMBA_VERSION_REVISION=
 # e.g. SAMBA_VERSION_PRE_RELEASE=1 #
 #  ->  "2.2.9pre1" #
 
-SAMBA_VERSION_PRE_RELEASE=1
+SAMBA_VERSION_PRE_RELEASE=2
 
 
 # For 'rc' releases the version will be#


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  a5d854a... s4:provision - Fix up the provision of "standalone" and 
"member" mode
  from  a7fa3a9... s4:provision.py - cosmetic output correction

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a5d854afbc7ecc0de934040f2b6a22be55b078fe
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 14:48:58 2009 +0100

s4:provision - Fix up the provision of "standalone" and "member" mode

Both modes weren't possible anymore since 1.) the secrets entry wasn't 
created,
2.) a lookup in winbindd was done using "lp_workgroup()" rather than
"lp_sam_name()" (since on the mentioned two configurations we use the 
netbios
name as domainname - and not the workgroup).

---

Summary of changes:
 source4/scripting/python/samba/provision.py |   20 +++-
 source4/winbind/wb_setup_domains.c  |2 +-
 2 files changed, 12 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/provision.py 
b/source4/scripting/python/samba/provision.py
index 32286dc..5bac6e6 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -1266,16 +1266,16 @@ def provision(setup_dir, message, session_info,
 message("Setting up sam.ldb rootDSE marking as synchronized")
 setup_modify_ldif(samdb, setup_path("provision_rootdse_modify.ldif"))
 
-# Only make a zone file on the first DC, it should be replicated with 
DNS replication
-if serverrole == "domain controller":
-secretsdb_self_join(secrets_ldb, domain=names.domain,
-realm=names.realm,
-dnsdomain=names.dnsdomain,
-netbiosname=names.netbiosname,
-domainsid=domainsid, 
-machinepass=machinepass,
-secure_channel_type=SEC_CHAN_BDC)
 
+secretsdb_self_join(secrets_ldb, domain=names.domain,
+ realm=names.realm,
+ dnsdomain=names.dnsdomain,
+ netbiosname=names.netbiosname,
+ domainsid=domainsid, 
+ machinepass=machinepass,
+ secure_channel_type=SEC_CHAN_BDC)
+
+if serverrole == "domain controller":
 secretsdb_setup_dns(secrets_ldb, setup_path, 
 realm=names.realm, dnsdomain=names.dnsdomain,
 dns_keytab_path=paths.dns_keytab,
@@ -1284,6 +1284,8 @@ def provision(setup_dir, message, session_info,
 domainguid = samdb.searchone(basedn=domaindn, 
attribute="objectGUID")
 assert isinstance(domainguid, str)
 
+# Only make a zone file on the first DC, it should be replicated
+# with DNS replication
 create_zone_file(paths.dns, setup_path, dnsdomain=names.dnsdomain,
  hostip=hostip,
  hostip6=hostip6, hostname=names.hostname,
diff --git a/source4/winbind/wb_setup_domains.c 
b/source4/winbind/wb_setup_domains.c
index 4791495..6b4fd89 100644
--- a/source4/winbind/wb_setup_domains.c
+++ b/source4/winbind/wb_setup_domains.c
@@ -30,7 +30,7 @@ NTSTATUS wbsrv_setup_domains(struct wbsrv_service *service)
primary_sid = secrets_get_domain_sid(service,
 service->task->event_ctx,
 service->task->lp_ctx,
-
lp_workgroup(service->task->lp_ctx));
+
lp_sam_name(service->task->lp_ctx));
if (!primary_sid) {
return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
}


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  a7fa3a9... s4:provision.py - cosmetic output correction
   via  6b835b0... s4:setup/provision - make the interactive mode work again
  from  7504b03... s4:WHATSNEW4.txt - Add also here a comment about the 
"upgrade_from_s3" script

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit a7fa3a9703bf9f0c72031c84998f4fb21ba95429
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 13:07:52 2009 +0100

s4:provision.py - cosmetic output correction

commit 6b835b0691faab904246e587ffa6ff74b9fb53e2
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 13:02:31 2009 +0100

s4:setup/provision - make the interactive mode work again

---

Summary of changes:
 source4/scripting/python/samba/provision.py |2 +-
 source4/setup/provision |   16 +++-
 2 files changed, 4 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/provision.py 
b/source4/scripting/python/samba/provision.py
index 2e7843a..32286dc 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -1322,7 +1322,7 @@ def provision(setup_dir, message, session_info,
 message("DNS Domain:%s" % names.dnsdomain)
 message("DOMAIN SID:%s" % str(domainsid))
 if samdb_fill == FILL_FULL:
-message("Admin password:%s" % adminpass)
+message("Admin password:%s" % adminpass)
 if provision_backend.type is not "ldb":
 if provision_backend.credentials.get_bind_dn() is not None:
 message("LDAP Backend Admin DN: %s" % 
provision_backend.credentials.get_bind_dn())
diff --git a/source4/setup/provision b/source4/setup/provision
index ed350dd..f1aa07c 100755
--- a/source4/setup/provision
+++ b/source4/setup/provision
@@ -122,14 +122,6 @@ def message(text):
 if len(sys.argv) == 1:
opts.interactive = True
 
-if not opts.interactive and (opts.realm is None or opts.domain is None):
-   if opts.realm is None:
-   print >>sys.stderr, "No realm set"
-   if opts.domain is None:
-   print >>sys.stderr, "No domain set"
-   parser.print_usage()
-   sys.exit(1)
-
 if opts.interactive:
from getpass import getpass
import socket
@@ -137,19 +129,17 @@ if opts.interactive:
if default is not None:
print "%s [%s]: " % (prompt,default),
else:
-   print "%s: " % (prompt,),
+   print "%s: " % (prompt),
return sys.stdin.readline().rstrip("\n") or default
try:
opts.realm = ask("Realm", socket.getfqdn().split(".", 
1)[1].upper())
except IndexError:
-   print >>sys.stderr, "Cannot guess realm from %s" % ( 
socket.getfqdn())
-   sys.exit(1)
+   opts.realm = ask("Realm", None)
 
try:
opts.domain = ask("Domain", opts.realm.split(".")[0])
except IndexError:
-   print >>sys.stderr, "Cannot guess domain from %s" % ( 
opts.realm())
-   sys.exit(1)
+   opts.domain = ask("Domain", None)
 
opts.server_role = ask("Server Role (dc, member, standalone)", "dc")
for i in range(3):


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Matthias Dieter Wallnöfer
The branch, master has been updated
   via  7504b03... s4:WHATSNEW4.txt - Add also here a comment about the 
"upgrade_from_s3" script
   via  3d57da8... s4:howto.txt - add a notice about the upgrade 
possibilities and fix line spaces
   via  fd31328... s4:upgrade script - rename it to "upgrade_from_s3" and 
do some rework
  from  d6c60f8... s3-nsstest: drastically shrink size and dependencies of 
nsstest binary.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit 7504b03b541026c84a4f454b7572a3280296a8d9
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 11:07:11 2009 +0100

s4:WHATSNEW4.txt - Add also here a comment about the "upgrade_from_s3" 
script

commit 3d57da80e574f5f47effb41fd45361eec22f119e
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 11:02:20 2009 +0100

s4:howto.txt - add a notice about the upgrade possibilities and fix line 
spaces

commit fd313282a24e58570c2fa5b3fdfd0b84d0053363
Author: Matthias Dieter Wallnöfer 
Date:   Fri Nov 27 10:50:03 2009 +0100

s4:upgrade script - rename it to "upgrade_from_s3" and do some rework

- Give a better name to the script
- Move it to the location where also "upgradeprovision" resides
- Fix up trailing whitespaces and tabs

---

Summary of changes:
 WHATSNEW4.txt  |   11 --
 howto4.txt |   18 +++---
 .../upgrade => scripting/bin/upgrade_from_s3}  |   37 +++-
 3 files changed, 41 insertions(+), 25 deletions(-)
 rename source4/{setup/upgrade => scripting/bin/upgrade_from_s3} (79%)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW4.txt b/WHATSNEW4.txt
index e0ec6f1..9718bf4 100644
--- a/WHATSNEW4.txt
+++ b/WHATSNEW4.txt
@@ -69,8 +69,8 @@ In the time since Samba4 alpha8 was released in June 2009, 
Samba has
 continued to evolve, but you may particularly notice these areas 
 (in no particular order):
 
- Samba4 now includes the full set of user interface strings (display 
Specifiers) required to
- have the Microsoft Management Console operate
+ Samba4 now includes the full set of user interface strings (display 
Specifiers)
+ required to have the Microsoft Management Console operate
 
  LDB (the core Samba4 database library) has again been reworked for
  better performance
@@ -115,7 +115,11 @@ KNOWN ISSUES
 
 - Users upgrading existing databases to Samba4 should carefully
   consult upgrading-samba4.txt.  We have made a number of changes in
-  this release that should make it easier to upgrade in future. 
+  this release that should make it easier to upgrade in future.
+  Btw: there exists also a script under the "scripting/bin" directory of the
+  source distribution called "upgrade_from_s3" which should allow a step-up
+  from Samba3 to Samba4. It's not included yet in the binary distributions
+  since it's completely experimental!
 
 - ACL are not set by default on shares created by the provision.
   Work is underway on this subject and it should be fixed in Alpha10.
@@ -128,6 +132,7 @@ in root of the tarball.
 
 DEVELOPMENT and FEEDBACK
 
+
 Bugs can be filed at https://bugzilla.samba.org/ but please be aware
 that many features are simply not expected to work at this stage.  
 
diff --git a/howto4.txt b/howto4.txt
index 3ae5af1..50acf23 100644
--- a/howto4.txt
+++ b/howto4.txt
@@ -70,12 +70,14 @@ configure above to change this.
  
   # make install
 
-
 Step 4: provision Samba4
 
 
-The "provision" step sets up a basic user database. 
-Must be run as a user with permission to write to the install directory.
+The "provision" step sets up a basic user database. Be warned that this
+removes all preexisting database data (if any)!
+
+It must be run as a user with permission to write to the install directory
+(typically "root").
 
 ::
 
@@ -86,6 +88,14 @@ Must be run as a user with permission to write to the 
install directory.
 'YOURDOM' is the NT4 style domain name. 'YOUR.REALM' is your kerberos
 realm, which is typically your DNS domain name.
 
+If you provisioned a more recent Samba4 system already you should be able to
+use the procedures shown in "upgrading-samba4.txt" to upgrade it and keep all
+data.
+
+When you are using Samba3 at the moment you could try the experimental script
+"upgrade_from_s3" under the "scripting/bin" directory of the source
+distribution (it isn't included in binary distributions yet).
+
 Step 5: Create a simple smb.conf
 
 
@@ -97,7 +107,6 @@ example::
path = /data/test
read only = no
 
-
 Step 6: starting Samba4
 ---
 
@@ -117,7 +126,6 @@ they need to be stopped before starting samba from Samba 4.
 Make sure you put the bin and sbin directories from your new install
 in your $PATH. Make sure you 

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Günther Deschner
The branch, master has been updated
   via  d6c60f8... s3-nsstest: drastically shrink size and dependencies of 
nsstest binary.
  from  e96f9a4... s4-install: old systems don't have sed -i

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit d6c60f8447ce92a15d48a35d3f21d881c4428663
Author: Günther Deschner 
Date:   Thu Jun 25 18:18:50 2009 +0200

s3-nsstest: drastically shrink size and dependencies of nsstest binary.

The size went down from 6.4M to 104K on my box.

Guenther

---

Summary of changes:
 source3/Makefile.in   |   10 +++---
 source3/torture/nsstest.c |   21 ++---
 2 files changed, 17 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/Makefile.in b/source3/Makefile.in
index 28be9d1..6b1b64b 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -1062,9 +1062,7 @@ LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) 
$(LOCKING_OBJ) $(KRBCLIENT_OBJ) \
$(LIBSMB_OBJ) $(LDB_OBJ) $(LIB_NONSMBD_OBJ) \
$(LIBNDR_GEN_OBJ0) $(FNAME_UTIL_OBJ)
 
-NSSTEST_OBJ = torture/nsstest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(LDB_OBJ) 
$(KRBCLIENT_OBJ) \
- $(LIB_NONSMBD_OBJ) \
-$(LIBNDR_GEN_OBJ0)
+NSSTEST_OBJ = torture/nsstest.o $(LIBSAMBAUTIL_OBJ)
 
 PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
$(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
@@ -1723,11 +1721,9 @@ bin/lockt...@exeext@: $(BINARY_PREREQS) $(LOCKTEST_OBJ) 
@BUILD_POPT@ $(LIBTALLOC
$(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \
$(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
 
-bin/nsst...@exeext@: $(BINARY_PREREQS) $(NSSTEST_OBJ) @BUILD_POPT@ 
$(LIBTALLOC) $(LIBTDB)
+bin/nsst...@exeext@: $(BINARY_PREREQS) $(NSSTEST_OBJ)
@echo Linking $@
-   @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) \
-   $(LIBS) $(KRB5LIBS)  $(LDAP_LIBS) $(POPT_LIBS) \
-   $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
+   @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
 
 bin/pdbt...@exeext@: $(BINARY_PREREQS) $(PDBTEST_OBJ) @BUILD_POPT@ 
$(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT)
@echo Linking $@
diff --git a/source3/torture/nsstest.c b/source3/torture/nsstest.c
index 9832a7b..8bb577e 100644
--- a/source3/torture/nsstest.c
+++ b/source3/torture/nsstest.c
@@ -20,6 +20,13 @@
 
 #include "includes.h"
 
+#ifdef malloc
+#undef malloc
+#endif
+#ifdef realloc
+#undef realloc
+#endif
+
 static const char *so_path = "/lib/libnss_winbind.so";
 static const char *nss_name = "winbind";
 static int nss_errno;
@@ -180,13 +187,13 @@ static struct group *nss_getgrent(void)
return NULL;
 
if (!buf) 
-   buf = SMB_MALLOC_ARRAY(char, buflen);
+   buf = (char *)malloc(buflen);
 
 again: 
status = _nss_getgrent_r(&grp, buf, buflen, &nss_errno);
if (status == NSS_STATUS_TRYAGAIN) {
buflen *= 2;
-   buf = SMB_REALLOC_ARRAY(buf, char, buflen);
+   buf = (char *)realloc(buf, buflen);
if (!buf) {
return NULL;
}
@@ -219,12 +226,12 @@ static struct group *nss_getgrnam(const char *name)
return NULL;
 
if (!buf) 
-   buf = SMB_MALLOC_ARRAY(char, buflen);
+   buf = (char *)malloc(buflen);
 again: 
status = _nss_getgrnam_r(name, &grp, buf, buflen, &nss_errno);
if (status == NSS_STATUS_TRYAGAIN) {
buflen *= 2;
-   buf = SMB_REALLOC_ARRAY(buf, char, buflen);
+   buf = (char *)realloc(buf, buflen);
if (!buf) {
return NULL;
}
@@ -257,13 +264,13 @@ static struct group *nss_getgrgid(gid_t gid)
return NULL;
 
if (!buf) 
-   buf = SMB_MALLOC_ARRAY(char, buflen);
+   buf = (char *)malloc(buflen);
 
 again: 
status = _nss_getgrgid_r(gid, &grp, buf, buflen, &nss_errno);
if (status == NSS_STATUS_TRYAGAIN) {
buflen *= 2;
-   buf = SMB_REALLOC_ARRAY(buf, char, buflen);
+   buf = (char *)realloc(buf, buflen);
if (!buf) {
return NULL;
}
@@ -369,7 +376,7 @@ static void nss_test_initgroups(char *name, gid_t gid)
int i;
NSS_STATUS status;
 
-   groups = SMB_MALLOC_ARRAY(gid_t, size);
+   groups = (gid_t *)malloc(size);
groups[0] = gid;
 
status = nss_initgroups(name, gid, &groups, &start, &size);


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Andrew Tridgell
The branch, master has been updated
   via  e96f9a4... s4-install: old systems don't have sed -i
  from  d524082... s4-selftest: s4 passes all the SMB2-LOCK tests now

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit e96f9a40ad46b8c08eaa81fde015dccc990388c5
Author: Andrew Tridgell 
Date:   Fri Nov 27 19:58:00 2009 +1100

s4-install: old systems don't have sed -i

surprisingly, this failure came from SLES8. I didn't realise that the
-i option was so new!

---

Summary of changes:
 source4/script/installmisc.sh |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/script/installmisc.sh b/source4/script/installmisc.sh
index 7851d1f..cb61862 100755
--- a/source4/script/installmisc.sh
+++ b/source4/script/installmisc.sh
@@ -18,7 +18,10 @@ cd $SRCDIR || exit 1
 fix_python_path() {
 f="$1"
 egrep 'sys.path.insert.*bin/python' $f > /dev/null && {
-   sed -i "s|\(sys.path.insert.*\)bin/python\(.*\)$|\1$PYTHONDIR\2|g" $f 
|| exit 1
+   # old systems don't have sed -i :-(
+   sed "s|\(sys.path.insert.*\)bin/python\(.*\)$|\1$PYTHONDIR\2|g" < $f > 
$f.$$ || exit 1
+   mv -f $f.$$ $f || exit 1
+   chmod +x $f
 }
 }
 


-- 
Samba Shared Repository


[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Andrew Tridgell
The branch, master has been updated
   via  d524082... s4-selftest: s4 passes all the SMB2-LOCK tests now
   via  9f3ac81... s4-torture: fixed error code for s4 in SMB2-LOCK test
   via  b3115f5... s4-ntvfs: win7 does not check for the NONE smb2 lock 
flag on unlock
   via  af087f9... s4-selftest: s4 passes this test now
   via  7359a22... s4-torture: mark s4 as doing valid lock range tests on 
SMB
   via  186ea09... s4-ntvfs: move valid lock range test from smb2 layer to 
generic code
  from  b62964d... s4:smb_server/smb2: don't reset highest_smb2_seqnum on 
SMB2 Cancel

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit d5240822a58bdc69d37aa4119bcae807a4e6b0b5
Author: Andrew Tridgell 
Date:   Fri Nov 27 19:11:28 2009 +1100

s4-selftest: s4 passes all the SMB2-LOCK tests now

commit 9f3ac810a64a4ad1f60038b61659c59efe699559
Author: Andrew Tridgell 
Date:   Fri Nov 27 19:10:50 2009 +1100

s4-torture: fixed error code for s4 in SMB2-LOCK test

s4 returns NETWORK_NAME_DELETED if you attempt to use an invalid tree 
connection
for a lock. This test (correctly I think) happens before we validate the 
file handle.
That implies that when you pass both a closed handle and a invalid tree you
should get NT_STATUS_NETWORK_NAME_DELETED.

commit b3115f5cdc558ed71e11141e4f515511f3c6df5a
Author: Andrew Tridgell 
Date:   Fri Nov 27 19:09:10 2009 +1100

s4-ntvfs: win7 does not check for the NONE smb2 lock flag on unlock

commit af087f98ab87be858c97e273f31c5dae6d49ef02
Author: Andrew Tridgell 
Date:   Fri Nov 27 18:10:01 2009 +1100

s4-selftest: s4 passes this test now

commit 7359a2221937f6ff8a70db08ba8fc299e0adb738
Author: Andrew Tridgell 
Date:   Fri Nov 27 18:09:50 2009 +1100

s4-torture: mark s4 as doing valid lock range tests on SMB

commit 186ea099c5d07c8f229909bd94fafc179f8dcc2a
Author: Andrew Tridgell 
Date:   Fri Nov 27 18:08:51 2009 +1100

s4-ntvfs: move valid lock range test from smb2 layer to generic code

win7 also fails invalid lock ranges on SMB

---

Summary of changes:
 source4/ntvfs/common/brlock_tdb.c |   19 +++
 source4/ntvfs/ntvfs_generic.c |9 ++---
 source4/selftest/knownfail|3 ---
 source4/torture/raw/lock.c|3 ++-
 source4/torture/smb2/lock.c   |9 -
 5 files changed, 31 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/ntvfs/common/brlock_tdb.c 
b/source4/ntvfs/common/brlock_tdb.c
index 299400b..df95d4c 100644
--- a/source4/ntvfs/common/brlock_tdb.c
+++ b/source4/ntvfs/common/brlock_tdb.c
@@ -80,6 +80,13 @@ struct brl_handle {
struct lock_struct last_lock;
 };
 
+/* see if we have wrapped locks, which are no longer allowed (windows
+ * changed this in win7 */
+static bool brl_invalid_lock_range(uint64_t start, uint64_t size)
+{
+   return (size > 1 && (start + size < start));
+}
+
 /*
   Open up the brlock.tdb database. Close it down using
   talloc_free(). We need the messaging_ctx to allow for
@@ -299,6 +306,10 @@ static NTSTATUS brl_tdb_lock(struct brl_context *brl,
kbuf.dptr = brlh->key.data;
kbuf.dsize = brlh->key.length;
 
+   if (brl_invalid_lock_range(start, size)) {
+   return NT_STATUS_INVALID_LOCK_RANGE;
+   }
+
if (tdb_chainlock(brl->w->tdb, kbuf) != 0) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
@@ -449,6 +460,10 @@ static NTSTATUS brl_tdb_unlock(struct brl_context *brl,
kbuf.dptr = brlh->key.data;
kbuf.dsize = brlh->key.length;
 
+   if (brl_invalid_lock_range(start, size)) {
+   return NT_STATUS_INVALID_LOCK_RANGE;
+   }
+
if (tdb_chainlock(brl->w->tdb, kbuf) != 0) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
@@ -620,6 +635,10 @@ static NTSTATUS brl_tdb_locktest(struct brl_context *brl,
kbuf.dptr = brlh->key.data;
kbuf.dsize = brlh->key.length;
 
+   if (brl_invalid_lock_range(start, size)) {
+   return NT_STATUS_INVALID_LOCK_RANGE;
+   }
+
dbuf = tdb_fetch(brl->w->tdb, kbuf);
if (dbuf.dptr == NULL) {
return NT_STATUS_OK;
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index d564db7..059145b 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -1116,13 +1116,8 @@ NTSTATUS ntvfs_map_lock(struct ntvfs_module_context 
*ntvfs,
isunlock = false;
}
for (i=0;ismb2.in.lock_count;i++) {
-   if (lck->smb2.in.locks[i].length > 1 &&
-   lck->smb2.in.locks[i].offset +
-   lck->smb2.in.locks[i].length <
-   lck->smb2.in.locks[i].offset) {
-

[SCM] Samba Shared Repository - branch master updated

2009-11-27 Thread Stefan Metzmacher
The branch, master has been updated
   via  b62964d... s4:smb_server/smb2: don't reset highest_smb2_seqnum on 
SMB2 Cancel
  from  f6ecb4e... s4-torture: fixed expected error codes for s4 in 
SMB2-LOCK

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -
commit b62964d6feb47ccf14e3d14120c04bc435c47cbd
Author: Stefan Metzmacher 
Date:   Thu Nov 26 14:18:50 2009 +0100

s4:smb_server/smb2: don't reset highest_smb2_seqnum on SMB2 Cancel

metze

---

Summary of changes:
 source4/smb_server/smb2/receive.c |6 --
 1 files changed, 4 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/smb_server/smb2/receive.c 
b/source4/smb_server/smb2/receive.c
index d26be41..26995b7 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -328,8 +328,10 @@ static NTSTATUS smb2srv_reply(struct smb2srv_request *req)
smbsrv_terminate_connection(req->smb_conn, "Invalid SMB2 
sequence number");
return NT_STATUS_INVALID_PARAMETER;
}
-   req->smb_conn->highest_smb2_seqnum = req->seqnum;
-   
+   if (opcode != SMB2_OP_CANCEL) {
+   req->smb_conn->highest_smb2_seqnum = req->seqnum;
+   }
+
req->session= smbsrv_session_find(req->smb_conn, uid, 
req->request_time);
req->tcon   = smbsrv_smb2_tcon_find(req->session, tid, 
req->request_time);
 


-- 
Samba Shared Repository