[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 89586ed lib/tdb2: 2.0.0 ABI via abc7472 lib/tdb2: Convert tdb2 to a standalone library via f7b999f lib/tdb2: Fix wscript via 4e90726 lib/tdb2: Mark public function as such via a63d731 lib/tdb2: Do not include config.h in (to-be) public library, use replace. via e6901fa lib/tdb2: tools should use config.h, and replace where available. via fb8cf56 lib/ccan: define HAVE_CCAN. from 0528cb5 s3: Fix bug 8567 -- segfault in dom_sid_compare http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 89586ed1643101b3b94bba1fdcdc821026a00e65 Author: Amitay Isaacs Date: Tue Feb 21 15:29:52 2012 +1030 lib/tdb2: 2.0.0 ABI Signed-off-by: Amitay Isaacs Signed-off-by: Rusty Russell Autobuild-User: Rusty Russell Autobuild-Date: Tue Feb 21 07:43:55 CET 2012 on sn-devel-104 commit abc74723cebcab30987bb16e359645ba37eb6c95 Author: Amitay Isaacs Date: Tue Feb 21 15:29:52 2012 +1030 lib/tdb2: Convert tdb2 to a standalone library Adds a Makefile, configure script, and tdb2.pc.in. Signed-off-by: Amitay Isaacs Signed-off-by: Rusty Russell commit f7b999fac0b6d00c8e60012eba3de2fd59d8c854 Author: Amitay Isaacs Date: Tue Feb 21 15:29:30 2012 +1030 lib/tdb2: Fix wscript Particularly fix the upcoming standalone build. Signed-off-by: Amitay Isaacs Signed-off-by: Rusty Russell commit 4e9072660a96324f8d9421f35593057b730ca185 Author: Amitay Isaacs Date: Tue Feb 21 15:29:22 2012 +1030 lib/tdb2: Mark public function as such Signed-off-by: Amitay Isaacs Signed-off-by: Rusty Russell commit a63d731ae05af78bdc33db58880387169429753e Author: Amitay Isaacs Date: Tue Feb 21 15:29:17 2012 +1030 lib/tdb2: Do not include config.h in (to-be) public library, use replace. Like tdb1, it's the caller's responsibility to set up various config options (eg. by #include "config.h") before including the public header. We use HAVE_CCAN for including the (private) CCAN headers, otherwise dummy macros are used. Signed-off-by: Rusty Russell commit e6901fa35069e234044c94b87ac9df4064b31d1c Author: Rusty Russell Date: Tue Feb 21 15:29:12 2012 +1030 lib/tdb2: tools should use config.h, and replace where available. The tdb2 tools should #include "config.h" before tdb2.h (about to become a requirement) and use libreplace where available. Signed-off-by: Rusty Russell commit fb8cf568caf43615f7a06a623209a0fade629a35 Author: Rusty Russell Date: Tue Feb 21 15:29:06 2012 +1030 lib/ccan: define HAVE_CCAN. This allows public headers to use CCAN if available, and dummy macros if not (eg. tdb2). Signed-off-by: Rusty Russell --- Summary of changes: lib/ccan/wscript |1 + lib/tdb2/ABI/tdb-2.0.0.sigs| 40 +++ lib/{tdb => tdb2}/Makefile |0 lib/tdb2/check.c |2 +- lib/{replace => tdb2}/configure|0 lib/tdb2/hash.c|8 ++-- lib/tdb2/lock.c|8 ++-- lib/tdb2/open.c| 12 ++-- lib/tdb2/private.h |5 ++ lib/tdb2/summary.c |2 +- lib/tdb2/tdb.c | 30 ++-- lib/tdb2/tdb1_hash.c |2 +- lib/tdb2/tdb2.h| 19 +++- lib/{tdb/tdb.pc.in => tdb2/tdb2.pc.in} |2 +- lib/tdb2/tools/tdb2backup.c|1 + lib/tdb2/tools/tdb2dump.c |7 +++ lib/tdb2/tools/tdb2restore.c |6 ++ lib/tdb2/tools/tdb2tool.c |8 +++ lib/tdb2/tools/tdb2torture.c |7 ++- lib/tdb2/transaction.c |8 ++-- lib/tdb2/traverse.c|8 ++-- lib/tdb2/wscript | 82 --- 22 files changed, 185 insertions(+), 73 deletions(-) create mode 100644 lib/tdb2/ABI/tdb-2.0.0.sigs copy lib/{tdb => tdb2}/Makefile (100%) copy lib/{replace => tdb2}/configure (100%) copy lib/{tdb/tdb.pc.in => tdb2/tdb2.pc.in} (89%) Changeset truncated at 500 lines: diff --git a/lib/ccan/wscript b/lib/ccan/wscript index 9daf091..59fe93a 100644 --- a/lib/ccan/wscript +++ b/lib/ccan/wscript @@ -3,6 +3,7 @@ import Logs, sys def configure(conf): +conf.DEFINE('HAVE_CCAN', 1) # FIXME: if they don't have -Werror, these will all fail. But they # probably will anyway... conf.CHECK_CODE('int __attribute__((cold)) func(int x) { return x; }', diff --git a/lib/tdb2/ABI/tdb-2.0.0.sigs b/lib/tdb2/ABI/tdb-2.0.0.sigs new file mode 100644 index 000..0e54b90 --- /dev/null +++ b/lib/tdb2/ABI/tdb-2.0.
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 0528cb5 s3: Fix bug 8567 -- segfault in dom_sid_compare from 9d66ad8 s4:torture:smb2: invalidate the handle after the connection has been killed http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 0528cb5f3a15b72dcb34ece21a3ffb3e7b8d6eb9 Author: Volker Lendecke Date: Sun Feb 19 12:49:55 2012 +0100 s3: Fix bug 8567 -- segfault in dom_sid_compare The underlying problem was that with ldapsam:trusted we require the a group mapping for the primary group of every user, including root. Autobuild-User: Volker Lendecke Autobuild-Date: Mon Feb 20 22:36:23 CET 2012 on sn-devel-104 --- Summary of changes: source3/passdb/pdb_ldap.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index 7c16810..04541e8 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -3027,6 +3027,7 @@ static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods, if (dom_sid_compare(&global_sid_NULL, &(*pp_sids)[0]) == 0) { DEBUG(3, ("primary group of [%s] not found\n", pdb_get_username(user))); + ret = NT_STATUS_INTERNAL_DB_CORRUPTION; goto done; } -- Samba Shared Repository
[SCM] CTDB repository - branch master updated - ctdb-1.12-211-g9b85aa1
The branch, master has been updated via 9b85aa1aa14091dc1de470a587f7c054b9e40078 (commit) via 9e372a08c40087e6b5335aa298e94d88273566a5 (commit) via b3307d78fd15f446b423f8cdd1e403f89fbe8ac8 (commit) via 5990fe65a9cc37933ceff15d4cb2ab3b3a0addb6 (commit) from 0fd3bf919b1b8e5aaa98444c306c6770a6a3209f (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit 9b85aa1aa14091dc1de470a587f7c054b9e40078 Merge: 0fd3bf919b1b8e5aaa98444c306c6770a6a3209f 9e372a08c40087e6b5335aa298e94d88273566a5 Author: Ronnie Sahlberg Date: Tue Feb 21 07:12:50 2012 +1100 Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master commit 9e372a08c40087e6b5335aa298e94d88273566a5 Author: Ronnie Sahlberg Date: Tue Feb 21 07:03:44 2012 +1100 READONLY: only send a control to schedule fast-vacuuming from child context iff we have a connection open to the main daemon there are some child processes where we do not create a connection to the main daemon (switch_from_server_to_client()) because it is expensive to set up and we normally might not need to talk to the daemon at all via a domainsocket. but we might want to still call to ctdb_ltdb_store() from such chil processes. commit b3307d78fd15f446b423f8cdd1e403f89fbe8ac8 Author: Ronnie Sahlberg Date: Tue Feb 21 06:54:09 2012 +1100 READONLY: dont schedule for fast vacuum deletion if any of the readonly record flags are set commit 5990fe65a9cc37933ceff15d4cb2ab3b3a0addb6 Author: Ronnie Sahlberg Date: Tue Feb 21 06:49:18 2012 +1100 Revert "ReadOnly: We can not use ctdb_ltdb_store from a client/child context since" This reverts commit 11dee7f3f881494cf5089d6c69fd40e74f07e670. Try to solve this a different way so that ctdb_ltb_store() becomes safe to use also from child context --- Summary of changes: client/ctdb_client.c |4 +++- common/ctdb_util.c|1 + include/ctdb_private.h|3 +++ server/ctdb_ltdb_server.c |5 +++-- server/ctdb_persistent.c | 33 ++--- server/ctdb_vacuum.c | 10 +- 6 files changed, 29 insertions(+), 27 deletions(-) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index 0d0f2fe..1b41439 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -4123,7 +4123,9 @@ int switch_from_server_to_client(struct ctdb_context *ctdb, const char *fmt, ... return -1; } -return 0; + ctdb->can_send_controls = true; + + return 0; } /* diff --git a/common/ctdb_util.c b/common/ctdb_util.c index bb32b6a..dadaf18 100644 --- a/common/ctdb_util.c +++ b/common/ctdb_util.c @@ -346,6 +346,7 @@ pid_t ctdb_fork(struct ctdb_context *ctdb) if (ctdb->do_setsched) { ctdb_restore_scheduler(ctdb); } + ctdb->can_send_controls = false; } return pid; } diff --git a/include/ctdb_private.h b/include/ctdb_private.h index f420e6c..272b94a 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -483,6 +483,9 @@ struct ctdb_context { /* Used to defer db attach requests while in recovery mode */ struct ctdb_deferred_attach_context *deferred_attach; + + /* if we are a child process, do we have a domain socket to send controls on */ + bool can_send_controls; }; struct ctdb_db_context { diff --git a/server/ctdb_ltdb_server.c b/server/ctdb_ltdb_server.c index e699c2a..8e183e8 100644 --- a/server/ctdb_ltdb_server.c +++ b/server/ctdb_ltdb_server.c @@ -83,7 +83,7 @@ static int ctdb_ltdb_store_server(struct ctdb_db_context *ctdb_db, */ if (data.dsize != 0) { keep = true; - } else if (header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY)) { + } else if (header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY|CTDB_REC_RO_REVOKING_READONLY|CTDB_REC_RO_REVOKE_COMPLETE)) { keep = true; } else if (ctdb_db->persistent) { keep = true; @@ -128,7 +128,8 @@ static int ctdb_ltdb_store_server(struct ctdb_db_context *ctdb_db, if (keep) { if ((data.dsize == 0) && !ctdb_db->persistent && - (ctdb_db->ctdb->pnn == header->dmaster)) + (ctdb_db->ctdb->pnn == header->dmaster) && + !(header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY|CTDB_REC_RO_REVOKING_READONLY|CTDB_REC_RO_REVOKE_COMPLETE))) { schedule_for_deletion = true; } diff --git a/server/ctdb_persistent.c b/server/ctdb_persistent.c index 0f4f4da..dd8d479 100644 --- a/server/ctdb_persistent.c +++ b/server/ctdb_persistent.c @@
autobuild: intermittent test failure detected
The autobuild test system has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey/2012-02-20-1852/flakey.log The samba3 build logs are available here: http://git.samba.org/autobuild.flakey/2012-02-20-1852/samba3.stderr http://git.samba.org/autobuild.flakey/2012-02-20-1852/samba3.stdout The source4 build logs are available here: http://git.samba.org/autobuild.flakey/2012-02-20-1852/samba4.stderr http://git.samba.org/autobuild.flakey/2012-02-20-1852/samba4.stdout The top commit at the time of the failure was: commit e9b9ba14c06ada67446be38da7184dec9f87d1f0 Author: Volker Lendecke Date: Mon Feb 20 15:24:17 2012 +0100 s3-vfstest: Remove an unused variable Autobuild-User: Volker Lendecke Autobuild-Date: Mon Feb 20 17:01:11 CET 2012 on sn-devel-104
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 9d66ad8 s4:torture:smb2: invalidate the handle after the connection has been killed via 71164ce s4:torture: improve comment for the smb2.durable-open.reopen1 test from e9b9ba1 s3-vfstest: Remove an unused variable http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 9d66ad8c30bd962758143a09d07034bc4f861757 Author: Michael Adam Date: Mon Feb 20 16:25:42 2012 +0100 s4:torture:smb2: invalidate the handle after the connection has been killed Not to run into using the old handle with a new tree connect in the error case. Autobuild-User: Michael Adam Autobuild-Date: Mon Feb 20 18:34:48 CET 2012 on sn-devel-104 commit 71164cef612d39858827d816b8dda31e5cb598be Author: Michael Adam Date: Sun Feb 19 00:10:37 2012 +0100 s4:torture: improve comment for the smb2.durable-open.reopen1 test --- Summary of changes: source4/torture/smb2/durable_open.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/smb2/durable_open.c b/source4/torture/smb2/durable_open.c index 09c6407..f54e41c 100644 --- a/source4/torture/smb2/durable_open.c +++ b/source4/torture/smb2/durable_open.c @@ -322,6 +322,7 @@ done: /** * basic test for doing a durable open * and do a durable reopen on the same connection + * while the first open is still active (fails) */ bool test_durable_open_reopen1(struct torture_context *tctx, struct smb2_tree *tree) @@ -422,6 +423,7 @@ bool test_durable_open_reopen2(struct torture_context *tctx, ZERO_STRUCT(io2); io2.in.fname = fname; io2.in.durable_handle = h; + h = NULL; status = smb2_create(tree, mem_ctx, &io2); CHECK_STATUS(status, NT_STATUS_OK); -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via e9b9ba1 s3-vfstest: Remove an unused variable from 3992182 popt: Check for popt manually as well, not just using pkg-config. http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit e9b9ba14c06ada67446be38da7184dec9f87d1f0 Author: Volker Lendecke Date: Mon Feb 20 15:24:17 2012 +0100 s3-vfstest: Remove an unused variable Autobuild-User: Volker Lendecke Autobuild-Date: Mon Feb 20 17:01:11 CET 2012 on sn-devel-104 --- Summary of changes: source3/torture/vfstest.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/torture/vfstest.c b/source3/torture/vfstest.c index b0d55f5..55321dd 100644 --- a/source3/torture/vfstest.c +++ b/source3/torture/vfstest.c @@ -415,8 +415,6 @@ void exit_server_cleanly(const char *const reason) exit_server("normal exit"); } -int last_message = -1; - /* Main function */ int main(int argc, char *argv[]) -- Samba Shared Repository
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via 3992182 popt: Check for popt manually as well, not just using pkg-config. from f260596 nsstest: Allocate the correct sized buffer for initgroups http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit 3992182fec4d46d4340fe038b7d3386b78701857 Author: Jelmer Vernooij Date: Mon Feb 20 13:40:52 2012 +0100 popt: Check for popt manually as well, not just using pkg-config. Older systems don't provide a pkg-config file for popt. Autobuild-User: Jelmer Vernooij Autobuild-Date: Mon Feb 20 15:13:32 CET 2012 on sn-devel-104 --- Summary of changes: lib/popt/wscript |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/popt/wscript b/lib/popt/wscript index 6aa8e70..7fd15ed 100644 --- a/lib/popt/wscript +++ b/lib/popt/wscript @@ -5,7 +5,7 @@ import Options def configure(conf): conf.CHECK_HEADERS('float.h') -if conf.CHECK_BUNDLED_SYSTEM_PKG('popt'): +if conf.CHECK_BUNDLED_SYSTEM('popt', checkfunctions='poptGetContext', headers='popt.h'): conf.define('USING_SYSTEM_POPT', 1) def build(bld): -- Samba Shared Repository
[SCM] CTDB repository - branch master updated - ctdb-1.12-207-g0fd3bf9
The branch, master has been updated via 0fd3bf919b1b8e5aaa98444c306c6770a6a3209f (commit) via 11dee7f3f881494cf5089d6c69fd40e74f07e670 (commit) via 303134cf10a08ce61954d5de9025d9bbcb5f75ef (commit) from d3c54ae9cc83f74d15f40bbfff95404b270d2f80 (commit) http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master - Log - commit 0fd3bf919b1b8e5aaa98444c306c6770a6a3209f Merge: d3c54ae9cc83f74d15f40bbfff95404b270d2f80 11dee7f3f881494cf5089d6c69fd40e74f07e670 Author: Ronnie Sahlberg Date: Mon Feb 20 21:30:13 2012 +1100 Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master commit 11dee7f3f881494cf5089d6c69fd40e74f07e670 Author: Ronnie Sahlberg Date: Mon Feb 20 21:22:56 2012 +1100 ReadOnly: We can not use ctdb_ltdb_store from a client/child context since it sometimes (for empty records) needs to be able to initiate traffic unde rhte daemon context. This should furhter updated later to allow the use also from non-daemon context. commit 303134cf10a08ce61954d5de9025d9bbcb5f75ef Author: Ronnie Sahlberg Date: Mon Feb 20 21:13:46 2012 +1100 ReadOnly: Make sure we dont try to fast-vacuum records that are set for readonly delegation --- Summary of changes: server/ctdb_ltdb_server.c |2 ++ server/ctdb_persistent.c | 33 +++-- 2 files changed, 25 insertions(+), 10 deletions(-) Changeset truncated at 500 lines: diff --git a/server/ctdb_ltdb_server.c b/server/ctdb_ltdb_server.c index e5437b9..e699c2a 100644 --- a/server/ctdb_ltdb_server.c +++ b/server/ctdb_ltdb_server.c @@ -83,6 +83,8 @@ static int ctdb_ltdb_store_server(struct ctdb_db_context *ctdb_db, */ if (data.dsize != 0) { keep = true; + } else if (header->flags & (CTDB_REC_RO_HAVE_DELEGATIONS|CTDB_REC_RO_HAVE_READONLY)) { + keep = true; } else if (ctdb_db->persistent) { keep = true; } else if (header->flags & CTDB_REC_FLAG_AUTOMATIC) { diff --git a/server/ctdb_persistent.c b/server/ctdb_persistent.c index dd8d479..0f4f4da 100644 --- a/server/ctdb_persistent.c +++ b/server/ctdb_persistent.c @@ -456,12 +456,12 @@ static int ctdb_persistent_store(struct ctdb_persistent_write_state *state) } for (i=0;icount;i++) { - struct ctdb_ltdb_header oldheader; - struct ctdb_ltdb_header header; + struct ctdb_ltdb_header *oldheader; + struct ctdb_ltdb_header *header; TDB_DATA key, data, olddata; TALLOC_CTX *tmp_ctx = talloc_new(state); - rec = ctdb_marshall_loop_next(m, rec, NULL, &header, &key, &data); + rec = ctdb_marshall_loop_next(m, rec, NULL, NULL, &key, &data); if (rec == NULL) { DEBUG(DEBUG_ERR,("Failed to get next record %d for db_id 0x%08x in ctdb_persistent_store\n", @@ -469,29 +469,42 @@ static int ctdb_persistent_store(struct ctdb_persistent_write_state *state) talloc_free(tmp_ctx); goto failed; } + header = (struct ctdb_ltdb_header *)&data.dptr[0]; /* fetch the old header and ensure the rsn is less than the new rsn */ - ret = ctdb_ltdb_fetch(state->ctdb_db, key, &oldheader, tmp_ctx, &olddata); - if (ret != 0) { + olddata = tdb_fetch(state->ctdb_db->ltdb->tdb, key); + if (olddata.dptr == NULL) { DEBUG(DEBUG_ERR,("Failed to fetch old record for db_id 0x%08x in ctdb_persistent_store\n", state->ctdb_db->db_id)); talloc_free(tmp_ctx); goto failed; } + if (olddata.dsize < sizeof(struct ctdb_ltdb_header)) { + DEBUG(DEBUG_ERR,("Not enough header for record for db_id 0x%08x in ctdb_persistent_store\n", + state->ctdb_db->db_id)); + talloc_free(tmp_ctx); + free(olddata.dptr); + goto failed; + } + oldheader = (struct ctdb_ltdb_header *)&olddata.dptr[0]; - if (oldheader.rsn >= header.rsn && - (olddata.dsize != data.dsize || -memcmp(olddata.dptr, data.dptr, data.dsize) != 0)) { + if (oldheader->rsn >= header->rsn && + (olddata.dsize != data.dsize || + memcmp(&olddata.dptr[sizeof(struct ctdb_ltdb_header)], +&data.dptr[sizeof(struct ctdb_ltdb_header)], +data.dsize - sizeof(struct ctdb_ltdb_header)) != 0)) { DEBUG(DEBUG_CRIT,("existi