The branch, master has been updated via 45defdb... s4-provision: import the R2 functional level via 960fab4... s4-build: avoid finding python symlinks via 4aaa7fe... s4-provision: fixed --function-level option to provision via 802f6b7... s4-script: make enablerecyclebin use system_session via 9ba0d10... s4-pyldb: null terminate string ldb message elements from python via 76a2e93... libds: added recyclebin feature GUID from 2a0b16c... s3: re-run make samba3-idl.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 45defdb90c93ed9876cacb8e3b77ce024bd02590 Author: Andrew Tridgell <tri...@samba.org> Date: Fri Feb 12 00:33:13 2010 +1100 s4-provision: import the R2 functional level this makes it easier to modify the script to set us at R2 level in provision. We should make this a parameter. commit 960fab4bba9b52aacba46de5895afaf908f002df Author: Andrew Tridgell <tri...@samba.org> Date: Fri Feb 12 00:11:11 2010 +1100 s4-build: avoid finding python symlinks emacs creates symlinks to .py files while you are editing them. This could cause build failures. commit 4aaa7fe43b207abab886b6ba3e1895a42162480c Author: Andrew Tridgell <tri...@samba.org> Date: Thu Feb 11 23:39:56 2010 +1100 s4-provision: fixed --function-level option to provision we need the DS_DOMAIN_* levels imported commit 802f6b71dd0c43c44ecf91ec042e7f4a08a12dec Author: Andrew Tridgell <tri...@samba.org> Date: Thu Feb 11 23:38:23 2010 +1100 s4-script: make enablerecyclebin use system_session This allows it to work against our local ldb commit 9ba0d105ccd5599987c17e2474ecfe8ac3547f1b Author: Andrew Tridgell <tri...@samba.org> Date: Thu Feb 11 23:37:44 2010 +1100 s4-pyldb: null terminate string ldb message elements from python We need to eventually get rid of ldb_msg_find_attr_as_string() (or add a mem_ctx to it), but meanwhile we have too many places that break if we don't add a nul to the end of ldb msg strings from python. commit 76a2e936a02ba99a474dd20822ed170787b55a45 Author: Andrew Tridgell <tri...@samba.org> Date: Thu Feb 11 23:35:31 2010 +1100 libds: added recyclebin feature GUID ----------------------------------------------------------------------- Summary of changes: libds/common/flags.h | 3 +++ source4/lib/ldb/pyldb.c | 8 ++++---- source4/scripting/bin/enablerecyclebin | 3 ++- source4/scripting/python/config.mk | 2 +- source4/scripting/python/samba/provision.py | 2 +- source4/setup/provision | 1 + 6 files changed, 12 insertions(+), 7 deletions(-) Changeset truncated at 500 lines: diff --git a/libds/common/flags.h b/libds/common/flags.h index 40e40c3..aa88487 100644 --- a/libds/common/flags.h +++ b/libds/common/flags.h @@ -203,3 +203,6 @@ #define DS_GUID_PROGRAM_DATA_CONTAINER "09460C08AE1E4A4EA0F64AEE7DAA1E5A" #define DS_GUID_SYSTEMS_CONTAINER "AB1D30F3768811D1ADED00C04FD8D5CD" #define DS_GUID_USERS_CONTAINER "A9D1CA15768811D1ADED00C04FD8D5CD" + +/* wellknown GUIDs for optional directory features */ +#define DS_GUID_FEATURE_RECYCLE_BIN "766ddcd8-acd0-445e-f3b9-a7f9b6744f2a" diff --git a/source4/lib/ldb/pyldb.c b/source4/lib/ldb/pyldb.c index a19768d..2853732 100644 --- a/source4/lib/ldb/pyldb.c +++ b/source4/lib/ldb/pyldb.c @@ -1617,7 +1617,7 @@ struct ldb_message_element *PyObject_AsMessageElement(TALLOC_CTX *mem_ctx, me->values = talloc_array(me, struct ldb_val, me->num_values); me->values[0].length = PyString_Size(set_obj); me->values[0].data = talloc_memdup(me, - (uint8_t *)PyString_AsString(set_obj), me->values[0].length); + (uint8_t *)PyString_AsString(set_obj), me->values[0].length+1); } else if (PySequence_Check(set_obj)) { int i; me->num_values = PySequence_Size(set_obj); @@ -1627,7 +1627,7 @@ struct ldb_message_element *PyObject_AsMessageElement(TALLOC_CTX *mem_ctx, me->values[i].length = PyString_Size(obj); me->values[i].data = talloc_memdup(me, - (uint8_t *)PyString_AsString(obj), me->values[i].length); + (uint8_t *)PyString_AsString(obj), me->values[i].length+1); } } else { talloc_free(me); @@ -1772,7 +1772,7 @@ static PyObject *py_ldb_msg_element_new(PyTypeObject *type, PyObject *args, PyOb el->values = talloc_array(el, struct ldb_val, 1); el->values[0].length = PyString_Size(py_elements); el->values[0].data = talloc_memdup(el, - (uint8_t *)PyString_AsString(py_elements), el->values[0].length); + (uint8_t *)PyString_AsString(py_elements), el->values[0].length+1); } else if (PySequence_Check(py_elements)) { el->num_values = PySequence_Size(py_elements); el->values = talloc_array(el, struct ldb_val, el->num_values); @@ -1787,7 +1787,7 @@ static PyObject *py_ldb_msg_element_new(PyTypeObject *type, PyObject *args, PyOb } el->values[i].length = PyString_Size(item); el->values[i].data = talloc_memdup(el, - (uint8_t *)PyString_AsString(item), el->values[i].length); + (uint8_t *)PyString_AsString(item), el->values[i].length+1); } } else { PyErr_SetString(PyExc_TypeError, diff --git a/source4/scripting/bin/enablerecyclebin b/source4/scripting/bin/enablerecyclebin index d02e90b..0d39fe7 100755 --- a/source4/scripting/bin/enablerecyclebin +++ b/source4/scripting/bin/enablerecyclebin @@ -15,6 +15,7 @@ from samba import getopt as options, Ldb from ldb import SCOPE_SUBTREE, SCOPE_BASE, LdbError import sys import ldb +from samba.auth import system_session parser = optparse.OptionParser("enablerecyclebin <URL>") sambaopts = options.SambaOptions(parser) @@ -35,7 +36,7 @@ url = args[0] lp_ctx = sambaopts.get_loadparm() creds = credopts.get_credentials(lp_ctx) -sam_ldb = Ldb(url, credentials=creds, lp=lp_ctx) +sam_ldb = Ldb(url, session_info=system_session(), credentials=creds, lp=lp_ctx) # get the rootDSE res = sam_ldb.search(base="", expression="", scope=SCOPE_BASE, attrs=["configurationNamingContext"]) diff --git a/source4/scripting/python/config.mk b/source4/scripting/python/config.mk index 3d255de..390f6c8 100644 --- a/source4/scripting/python/config.mk +++ b/source4/scripting/python/config.mk @@ -23,7 +23,7 @@ python_glue_OBJ_FILES = $(pyscriptsrcdir)/pyglue.o $(python_glue_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir) -_PY_FILES = $(shell find $(pyscriptsrcdir)/samba ../lib/subunit/python -name "*.py") +_PY_FILES = $(shell find $(pyscriptsrcdir)/samba ../lib/subunit/python -type f -name "*.py") $(eval $(foreach pyfile, $(_PY_FILES),$(call python_py_module_template,$(patsubst $(pyscriptsrcdir)/%,%,$(subst ../lib/subunit/python,,$(pyfile))),$(pyfile)))) diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index f52766b..59daa25 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -42,7 +42,7 @@ import ldb from samba.auth import system_session, admin_session from samba import glue, version, Ldb, substitute_var, valid_netbios_name from samba import check_all_substituted, read_and_sub_file, setup_file -from samba import DS_DOMAIN_FUNCTION_2003, DS_DC_FUNCTION_2008 +from samba import DS_DOMAIN_FUNCTION_2003, DS_DC_FUNCTION_2008, DS_DC_FUNCTION_2008_R2 from samba.dcerpc import security from samba.dcerpc.misc import SEC_CHAN_BDC, SEC_CHAN_WKSTA from samba.idmap import IDmapDB diff --git a/source4/setup/provision b/source4/setup/provision index 1ae52d2..2b31c4c 100755 --- a/source4/setup/provision +++ b/source4/setup/provision @@ -36,6 +36,7 @@ from samba.credentials import DONT_USE_KERBEROS from samba.auth import system_session import samba.getopt as options from samba.provision import provision, FILL_FULL, FILL_NT4SYNC, FILL_DRS, find_setup_dir +from samba import DS_DOMAIN_FUNCTION_2003, DS_DOMAIN_FUNCTION_2008, DS_DOMAIN_FUNCTION_2008_R2 # how do we make this case insensitive?? -- Samba Shared Repository