ntacl and upgradeprovision patches
Matthieu Patou
mat at matws.net
Fri Jan 15 05:12:39 MST 2010
Hi Andrew,
Thanks for pointing me the build and the make test problem.
The build error is fixed in this commit: "s4: allow wrap_setxattr and
wrap_getxattr to operate on tdb stored xattr"
I rebuild with the following options so I do not expect to have one
more build problem.
CFLAGS="-Wc++-compat -fstrict-aliasing -Wstrict-aliasing=2
-fstrict-overflow -Wstrict-overflow=5 -Wmissing-prototypes"
For the make test pb, I added this patch: " selftest-s4: set the
posix:eadb at the global level" which put the "posix:eadb" stanza in the
[global] part (I discussed about this with Andrew B. this morning)
I also added a small tests to forbid upgradeprovision from upgrading
when more than I DC is present this is a kind of safety net while
waiting for more changes in upgradeprovsion (more to come soon).
Matthieu.
On 15/01/2010 06:29, tridge at samba.org wrote:
> Hi Matthieu,
>
> > So the merged branch available here:
> > http://repo.or.cz/w/Samba/ekacnet.git/shortlog/refs/heads/merge-acl-prov
> >
> > Contains series of patch that build and pass tests on my computer
> > (andrew: I rebased the whole stuff to add the patch that fixed the build
> > error that you had).
>
> It fails to compile for me, with this error:
>
> Compiling scripting/python/pyxattr_native.c
> scripting/python/pyxattr_native.c: In function 'py_wrap_getxattr':
> scripting/python/pyxattr_native.c:72: error: implicit declaration of function 'getxattr'
> scripting/python/pyxattr_native.c:77: warning: pointer targets in passing argument 1 of 'PyString_FromStringAndSize' differ in signedness
>
> Fixing the compilation is easy, it's just this change:
>
> --- a/source4/scripting/python/pyxattr_native.c
> +++ b/source4/scripting/python/pyxattr_native.c
> @@ -69,7 +69,7 @@ static PyObject *py_wrap_getxattr(PyObject *self, PyObject *args)
> }
> /* check length ... */
> buf = talloc_zero_array(mem_ctx, uint8_t, len);
> - len = getxattr(filename,attribute,buf,len);
> + len = wrap_getxattr(filename,attribute,buf,len);
> if( len< 0 ) {
> PyErr_SetString(PyExc_TypeError, strerror(errno));
> return NULL;
>
> but then make test fails with this in provision:
>
> Traceback (most recent call last):
> File "./setup/provision", line 243, in<module>
> nosync=opts.nosync,ldap_dryrun_mode=opts.ldap_dryrun_mode,useeadb=eadb)
> File "bin/python/samba/provision.py", line 1334, in provision
> setsysvolacl(samdb,names,paths.netlogon,paths.sysvol,wheel_gid,domainsid,lp)
> File "bin/python/samba/provision.py", line 1080, in setsysvolacl
> setntacl(lp,sysvol,acl)
> File "bin/python/samba/ntacls.py", line 77, in setntacl
> attribute = samba.xattr_native.wrap_setxattr(file,xattr.XATTR_NTACL_NAME,ndr_pack(ntacl))
> TypeError: Operation not permitted
>
> I haven't looked into it any further, sorry.
>
> Cheers, Tridge
More information about the samba-technical
mailing list