The branch, master has been updated via 37f7a2c s3:locking:posix: remove uses of SMB_ASSERT() from get_windows_lock_ref_count() via 95e686d s3:locking:posix: adapt use of dbrwrap_fetch() to new NTSTATUS semantics via 3a2fd7c s3:registry: write INFO/version if we create registry.tdb via a719ce7 s3:dbwrap: do not burden the user of db_open_ctdb with ifdef voodoo via 90eb2eb s3:lib fix output of hex escapes > 0x7F with cbuf_print_quoted (cherry picked from commit a1fcb7e37a23dcc035686486d4afe32a67082ae1) via 2d9b401 s3:net registry check: improve console output via 9b42b8a socket_wrapper: use libreplace headers based on "#ifdef HAVE_LIBREPLACE" via 87026b6 socket_wrapper: simplify include path for replace.h from 47a94f7 s3: user_domain is not used in wb_getpwsid
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 37f7a2c82d76fd5b9997686d8cbf1cf8a2180aac Author: Michael Adam <ob...@samba.org> Date: Thu Nov 10 23:11:54 2011 +0100 s3:locking:posix: remove uses of SMB_ASSERT() from get_windows_lock_ref_count() SMB_ASSERT is useless, since in non-developer build it does not actually fail after the log message, but usual flow just continues. Autobuild-User: Michael Adam <ob...@samba.org> Autobuild-Date: Fri Nov 25 14:59:53 CET 2011 on sn-devel-104 commit 95e686d59c2e712b4e030c770a37dde18837e222 Author: Michael Adam <ob...@samba.org> Date: Thu Nov 10 22:55:28 2011 +0100 s3:locking:posix: adapt use of dbrwrap_fetch() to new NTSTATUS semantics commit 3a2fd7c0e213e0fefed40eaa31a2282b126f2be4 Author: Gregor Beck <gb...@sernet.de> Date: Mon Nov 7 13:31:26 2011 +0100 s3:registry: write INFO/version if we create registry.tdb Signed-off-by: Michael Adam <ob...@samba.org> commit a719ce7c11c2c8c8b006c94b4559ef5e8addbc1a Author: Gregor Beck <gb...@sernet.de> Date: Tue Oct 25 16:32:12 2011 +0200 s3:dbwrap: do not burden the user of db_open_ctdb with ifdef voodoo Signed-off-by: Michael Adam <ob...@samba.org> commit 90eb2eb1789e430b4ad8c849d7df99f5d8315a06 Author: Gregor Beck <gb...@sernet.de> Date: Fri Oct 21 10:49:45 2011 +0200 s3:lib fix output of hex escapes > 0x7F with cbuf_print_quoted (cherry picked from commit a1fcb7e37a23dcc035686486d4afe32a67082ae1) commit 2d9b4015d6835fa9b83f9945cb94ca289c5ab5c7 Author: Gregor Beck <gb...@sernet.de> Date: Fri Oct 21 15:32:27 2011 +0200 s3:net registry check: improve console output Signed-off-by: Michael Adam <ob...@samba.org> commit 9b42b8a346b80ff5df9125c2ba27315ef3bc57e5 Author: Michael Adam <ob...@samba.org> Date: Sun Nov 20 23:45:05 2011 +0100 socket_wrapper: use libreplace headers based on "#ifdef HAVE_LIBREPLACE" instead of "#ifdef _SAMBA_BUILD_". This is to be able to use socket_wrapper in other projects that also use libreplace. commit 87026b6dc360d7caf5dcc0f49d67f51e924314fe Author: Michael Adam <ob...@samba.org> Date: Fri Nov 18 15:37:07 2011 +0100 socket_wrapper: simplify include path for replace.h ----------------------------------------------------------------------- Summary of changes: lib/socket_wrapper/socket_wrapper.c | 10 ++++++---- source3/lib/cbuf.c | 2 +- source3/lib/dbwrap/dbwrap_ctdb.c | 13 +++++++++++++ source3/lib/dbwrap/dbwrap_ctdb.h | 3 --- source3/locking/posix.c | 30 +++++++++++++++++++++++++----- source3/registry/reg_backend_db.c | 7 +++++++ source3/utils/net_registry_check.c | 11 ++++------- 7 files changed, 56 insertions(+), 20 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c index a54f50f..2c24ab7 100644 --- a/lib/socket_wrapper/socket_wrapper.c +++ b/lib/socket_wrapper/socket_wrapper.c @@ -39,15 +39,17 @@ is set. */ -#ifdef _SAMBA_BUILD_ +#include "config.h" + +#ifdef HAVE_LIBREPLACE #define SOCKET_WRAPPER_NOT_REPLACE -#include "../replace/replace.h" +#include "replace.h" #include "system/network.h" #include "system/filesys.h" #include "system/time.h" -#else /* _SAMBA_BUILD_ */ +#else /* HAVE_LIBREPLACE */ #include <sys/types.h> #include <sys/time.h> @@ -66,7 +68,7 @@ #include <stdio.h> #include <stdint.h> -#endif +#endif /* HAVE_LIBREPLACE */ #ifndef _PUBLIC_ #define _PUBLIC_ diff --git a/source3/lib/cbuf.c b/source3/lib/cbuf.c index 42353f8..611aa80 100644 --- a/source3/lib/cbuf.c +++ b/source3/lib/cbuf.c @@ -306,7 +306,7 @@ int cbuf_print_quoted(cbuf* ost, const char* s, size_t len) if (isprint(*s) && ((*s == ' ') || !isspace(*s))) { ret = cbuf_putc(ost, *s); } else { - ret = cbuf_printf(ost, "\\%02x", *s); + ret = cbuf_printf(ost, "\\%02x", (uchar)*s); } } s++; diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c index 38a3395..aae5c06 100644 --- a/source3/lib/dbwrap/dbwrap_ctdb.c +++ b/source3/lib/dbwrap/dbwrap_ctdb.c @@ -22,6 +22,7 @@ #include "system/filesys.h" #include "lib/util/tdb_wrap.h" #include "util_tdb.h" +#include "dbwrap/dbwrap_ctdb.h" #include "dbwrap/dbwrap_rbt.h" #include "lib/param/param.h" @@ -1526,4 +1527,16 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx, return result; } + +#else /* CLUSTER_SUPPORT */ + +struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx, + const char *name, + int hash_size, int tdb_flags, + int open_flags, mode_t mode) +{ + DEBUG(3, ("db_open_ctdb: no cluster support!\n")); + return NULL; +} + #endif diff --git a/source3/lib/dbwrap/dbwrap_ctdb.h b/source3/lib/dbwrap/dbwrap_ctdb.h index 13ce140..7898818 100644 --- a/source3/lib/dbwrap/dbwrap_ctdb.h +++ b/source3/lib/dbwrap/dbwrap_ctdb.h @@ -21,8 +21,6 @@ #ifndef __DBWRAP_CTDB_H__ #define __DBWRAP_CTDB_H__ -#ifdef CLUSTER_SUPPORT - #include <talloc.h> struct db_context; @@ -31,6 +29,5 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx, const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode); -#endif /* CLUSTER_SUPPORT */ #endif /* __DBWRAP_CTDB_H__ */ diff --git a/source3/locking/posix.c b/source3/locking/posix.c index a28744a..0ff2395 100644 --- a/source3/locking/posix.c +++ b/source3/locking/posix.c @@ -513,14 +513,29 @@ static int get_windows_lock_ref_count(files_struct *fsp) posix_pending_close_db, talloc_tos(), locking_ref_count_key_fsp(fsp, &tmp), &dbuf); - SMB_ASSERT(NT_STATUS_IS_OK(status)); + if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + goto done; + } - if (dbuf.dsize != 0) { - SMB_ASSERT(dbuf.dsize == sizeof(lock_ref_count)); - memcpy(&lock_ref_count, dbuf.dptr, sizeof(lock_ref_count)); - TALLOC_FREE(dbuf.dptr); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(0, ("get_windows_lock_ref_count: Error fetching " + "lock ref count for file %s: %s\n", + fsp_str_dbg(fsp), nt_errstr(status))); + goto done; } + if (dbuf.dsize != sizeof(lock_ref_count)) { + DEBUG(0, ("get_windows_lock_ref_count: invalid entry " + "in lock ref count record for file %s: " + "(invalid data size %u)\n", + fsp_str_dbg(fsp), (unsigned int)dbuf.dsize)); + goto done; + } + + memcpy(&lock_ref_count, dbuf.dptr, sizeof(lock_ref_count)); + TALLOC_FREE(dbuf.dptr); + +done: DEBUG(10,("get_windows_lock_count for file %s = %d\n", fsp_str_dbg(fsp), lock_ref_count)); @@ -623,6 +638,11 @@ static size_t get_posix_pending_close_entries(TALLOC_CTX *mem_ctx, posix_pending_close_db, mem_ctx, fd_array_key_fsp(fsp), &dbuf); + if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + *entries = NULL; + return 0; + } + SMB_ASSERT(NT_STATUS_IS_OK(status)); if (dbuf.dsize == 0) { diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 4d4aaeb..b306b2c 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -656,6 +656,13 @@ WERROR regdb_init(void) return werr; } + werr = regdb_store_regdb_version(regdb, REGDB_CODE_VERSION); + if (!W_ERROR_IS_OK(werr)) { + DEBUG(1, ("regdb_init: Failed to store version: %s\n", + win_errstr(werr))); + return werr; + } + DEBUG(10,("regdb_init: Successfully created registry tdb\n")); } diff --git a/source3/utils/net_registry_check.c b/source3/utils/net_registry_check.c index 0936aea..8e67edd 100644 --- a/source3/utils/net_registry_check.c +++ b/source3/utils/net_registry_check.c @@ -874,7 +874,7 @@ static bool get_version(struct check_ctx *ctx) { "version %d with %d\n", info_version, version); } else { printf("Warning: found registry format version %d but " - "expected %d\n", info_version, version); + "expected %d, use --force to proceed.\n", info_version, version); return false; } } @@ -1191,15 +1191,13 @@ static bool check_ctx_fix_inplace(struct check_ctx *ctx) { NTSTATUS status; status = dbwrap_traverse(ctx->reg, fix_tree_action, ctx, NULL); if (!NT_STATUS_IS_OK(status)) { - DEBUG(0, ("fix traverse failed: %s\n", - nt_errstr(status))); + DEBUG(0, ("fix traverse failed: %s\n", nt_errstr(status))); return false; } status = dbwrap_traverse(ctx->del, delete_invalid_action, ctx, NULL); if (!NT_STATUS_IS_OK(status)) { - DEBUG(0, ("delete traverse failed: %s\n", - nt_errstr(status))); + DEBUG(0, ("delete traverse failed: %s\n", nt_errstr(status))); return false; } return true; @@ -1213,8 +1211,7 @@ static bool check_ctx_write_new_db(struct check_ctx *ctx) { if (ctx->opt.wipe) { int ret = dbwrap_wipe(ctx->odb); if (ret != 0) { - DEBUG(0, ("wiping %s failed\n", - ctx->opt.output)); + DEBUG(0, ("wiping %s failed\n", ctx->opt.output)); return false; } } -- Samba Shared Repository