summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authornadezhda ivanova <nivanova@ved.salsa.postpath.local>2009-04-23 17:18:23 +0300
committerJelmer Vernooij <jelmer@samba.org>2009-04-23 18:21:25 +0200
commit90cc5e72ba0cf4b5261be2f2aa9db87bd011fbb0 (patch)
tree3ca9402fe8df738b8305d6391983882db51914e6 /source4
parent3cf48ee05ae99fb99d1b7b7204f9b8c444907a4a (diff)
downloadsamba-90cc5e72ba0cf4b5261be2f2aa9db87bd011fbb0.tar.gz
samba-90cc5e72ba0cf4b5261be2f2aa9db87bd011fbb0.tar.bz2
samba-90cc5e72ba0cf4b5261be2f2aa9db87bd011fbb0.zip
Fix of a bug in the security.descriptor.as_sddl() method
security.descriptor.as_sddl() method did not work correctly when invoked without supplying the domain sid. Returned the same value as when the sid was provided. Test added for this case in libcli/security/tests/bindings.py Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Diffstat (limited to 'source4')
-rw-r--r--source4/libcli/security/tests/bindings.py6
-rw-r--r--source4/librpc/ndr/py_security.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/source4/libcli/security/tests/bindings.py b/source4/libcli/security/tests/bindings.py
index 5c153050be..f0d55f12ca 100644
--- a/source4/libcli/security/tests/bindings.py
+++ b/source4/libcli/security/tests/bindings.py
@@ -77,6 +77,12 @@ class SecurityDescriptorTests(unittest.TestCase):
self.assertEquals(desc1.sacl, desc2.sacl)
self.assertEquals(desc1.type, desc2.type)
+ def test_domsid_nodomsid_as_sddl(self):
+ dom = security.dom_sid("S-2-0-0")
+ text = "O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
+ desc1 = security.descriptor.from_sddl(text, dom)
+ self.assertNotEqual(desc1.as_sddl(), desc1.as_sddl(dom))
+
class DomSidTests(unittest.TestCase):
def test_parse_sid(self):
diff --git a/source4/librpc/ndr/py_security.c b/source4/librpc/ndr/py_security.c
index 43c1d50d66..1b54aab02a 100644
--- a/source4/librpc/ndr/py_security.c
+++ b/source4/librpc/ndr/py_security.c
@@ -198,7 +198,7 @@ static PyObject *py_descriptor_as_sddl(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "|O", &py_sid))
return NULL;
- if (py_sid == Py_None)
+ if (py_sid != Py_None)
sid = py_talloc_get_ptr(py_sid);
else
sid = NULL;