Build status as of Sat Nov 28 07:00:01 2009
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: .
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
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
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: .
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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