[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Mon May 12 13:08:03 MDT 2014
The branch, master has been updated
via e77cbe2 tdb: return ENOSYS if the tdb was created with spinlocks.
via ff2b896 pytdb: avoid const warnings by using discard_const_p()
via 74e2d6e s3:lib: always use db_open(serverid.tdb)
from 360ca8e auth: avoid overwriting the auth_sam_reply.h header all the time.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e77cbe252f68880b940722ef1291802c4677a435
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue May 6 11:52:49 2014 +0200
tdb: return ENOSYS if the tdb was created with spinlocks.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Mon May 12 21:07:04 CEST 2014 on sn-devel-104
commit ff2b896edd9df9ce04e572e6bd569f51cc4b500e
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Feb 3 11:29:38 2014 +0100
pytdb: avoid const warnings by using discard_const_p()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
commit 74e2d6e786974e161949bf49a60404c358d1ecd7
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon May 12 10:21:12 2014 +0200
s3:lib: always use db_open(serverid.tdb)
We should not create an empty local serverid.tdb in a cluster setup...
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/tdb/common/open.c | 1 +
lib/tdb/pytdb.c | 27 +++++++++++++++++--------
source3/lib/serverid.c | 49 +++++++++++++----------------------------------
3 files changed, 33 insertions(+), 44 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/tdb/common/open.c b/lib/tdb/common/open.c
index 789bc73..d5c0432 100644
--- a/lib/tdb/common/open.c
+++ b/lib/tdb/common/open.c
@@ -392,6 +392,7 @@ _PUBLIC_ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int td
if (header.rwlocks != 0 &&
header.rwlocks != TDB_HASH_RWLOCK_MAGIC) {
TDB_LOG((tdb, TDB_DEBUG_ERROR, "tdb_open_ex: spinlocks no longer supported\n"));
+ errno = ENOSYS;
goto fail;
}
tdb->hash_size = header.hash_size;
diff --git a/lib/tdb/pytdb.c b/lib/tdb/pytdb.c
index bf0fed6..9320799 100644
--- a/lib/tdb/pytdb.c
+++ b/lib/tdb/pytdb.c
@@ -91,9 +91,10 @@ static PyObject *py_tdb_open(PyTypeObject *type, PyObject *args, PyObject *kwarg
int hash_size = 0, tdb_flags = TDB_DEFAULT, flags = O_RDWR, mode = 0600;
TDB_CONTEXT *ctx;
PyTdbObject *ret;
- const char *kwnames[] = { "name", "hash_size", "tdb_flags", "flags", "mode", NULL };
+ const char *_kwnames[] = { "name", "hash_size", "tdb_flags", "flags", "mode", NULL };
+ char **kwnames = discard_const_p(char *, _kwnames);
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|siiii", (char **)kwnames, &name, &hash_size, &tdb_flags, &flags, &mode))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|siiii", kwnames, &name, &hash_size, &tdb_flags, &flags, &mode))
return NULL;
if (name == NULL) {
@@ -548,13 +549,21 @@ static PyObject *obj_get_seqnum(PyTdbObject *self, void *closure)
static PyGetSetDef tdb_object_getsetters[] = {
- { (char *)"hash_size", (getter)obj_get_hash_size, NULL, NULL },
- { (char *)"map_size", (getter)obj_get_map_size, NULL, NULL },
- { (char *)"freelist_size", (getter)obj_get_freelist_size, NULL, NULL },
- { (char *)"flags", (getter)obj_get_flags, NULL, NULL },
- { (char *)"max_dead", NULL, (setter)obj_set_max_dead, NULL },
- { (char *)"filename", (getter)obj_get_filename, NULL, (char *)"The filename of this TDB file."},
- { (char *)"seqnum", (getter)obj_get_seqnum, NULL, NULL },
+ { discard_const_p(char, "hash_size"),
+ (getter)obj_get_hash_size, NULL, NULL },
+ { discard_const_p(char, "map_size"),
+ (getter)obj_get_map_size, NULL, NULL },
+ { discard_const_p(char, "freelist_size"),
+ (getter)obj_get_freelist_size, NULL, NULL },
+ { discard_const_p(char, "flags"),
+ (getter)obj_get_flags, NULL, NULL },
+ { discard_const_p(char, "max_dead"),
+ NULL, (setter)obj_set_max_dead, NULL },
+ { discard_const_p(char, "filename"),
+ (getter)obj_get_filename, NULL,
+ discard_const_p(char, "The filename of this TDB file.") },
+ { discard_const_p(char, "seqnum"),
+ (getter)obj_get_seqnum, NULL, NULL },
{ NULL }
};
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c
index 48b09f7..1a7e1ed 100644
--- a/source3/lib/serverid.c
+++ b/source3/lib/serverid.c
@@ -39,41 +39,6 @@ struct serverid_data {
uint32_t msg_flags;
};
-bool serverid_parent_init(TALLOC_CTX *mem_ctx)
-{
- struct tdb_wrap *db;
- struct loadparm_context *lp_ctx;
- const char *fname;
-
- lp_ctx = loadparm_init_s3(mem_ctx, loadparm_s3_helpers());
- if (lp_ctx == NULL) {
- DEBUG(0, ("loadparm_init_s3 failed\n"));
- return false;
- }
-
- /*
- * Open the tdb in the parent process (smbd) so that our
- * CLEAR_IF_FIRST optimization in tdb_reopen_all can properly
- * work.
- */
-
- fname = lock_path("serverid.tdb");
-
- db = tdb_wrap_open(mem_ctx, fname,
- lpcfg_tdb_hash_size(lp_ctx, fname),
- lpcfg_tdb_flags(lp_ctx,
- TDB_DEFAULT|TDB_CLEAR_IF_FIRST|
- TDB_INCOMPATIBLE_HASH),
- O_RDWR|O_CREAT, 0644);
- talloc_unlink(mem_ctx, lp_ctx);
- if (db == NULL) {
- DEBUG(1, ("could not open serverid.tdb: %s\n",
- strerror(errno)));
- return false;
- }
- return true;
-}
-
static struct db_context *serverid_db(void)
{
static struct db_context *db;
@@ -88,6 +53,20 @@ static struct db_context *serverid_db(void)
return db;
}
+bool serverid_parent_init(TALLOC_CTX *mem_ctx)
+{
+ struct tdb_wrap *db;
+
+ db = serverid_db();
+ if (db == NULL) {
+ DEBUG(1, ("could not open serverid.tdb: %s\n",
+ strerror(errno)));
+ return false;
+ }
+
+ return true;
+}
+
static void serverid_fill_key(const struct server_id *id,
struct serverid_key *key)
{
--
Samba Shared Repository
More information about the samba-cvs
mailing list