diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-11-29 15:08:22 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:46:47 +0100 |
commit | 4004de7b7dec06e7ee0040f8a07c7f4fb967a4c1 (patch) | |
tree | 6a9179ff4b2de2418733277a1fb9abe3bd701f37 /source4/libcli | |
parent | f2f16b45b58c2bbf3053ff55e7a290fc069e0efd (diff) | |
download | samba-4004de7b7dec06e7ee0040f8a07c7f4fb967a4c1.tar.gz samba-4004de7b7dec06e7ee0040f8a07c7f4fb967a4c1.tar.bz2 samba-4004de7b7dec06e7ee0040f8a07c7f4fb967a4c1.zip |
r26199: Allow constructing new sids, implement __eq__ for sids.
(This used to be commit 87472e35c04fdf0c61c9133bab3c05bda11eba00)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/security/security.i | 9 | ||||
-rw-r--r-- | source4/libcli/security/tests/bindings.py | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/source4/libcli/security/security.i b/source4/libcli/security/security.i index cc5afb40c0..1f100b0b8f 100644 --- a/source4/libcli/security/security.i +++ b/source4/libcli/security/security.i @@ -84,7 +84,7 @@ typedef struct security_descriptor { NTSTATUS dacl_del(const struct security_ace *ace); NTSTATUS sacl_del(const struct security_ace *ace); #ifdef SWIGPYTHON - %rename(equal) __eq__; + %rename(__eq__) equal; #endif bool equal(const struct security_descriptor *other); } @@ -94,12 +94,17 @@ typedef struct security_descriptor { typedef struct dom_sid { %extend { - bool equal(const struct dom_sid *other); + dom_sid(TALLOC_CTX *mem_ctx, const char *text) { + return dom_sid_parse_talloc(mem_ctx, text); + } + ~dom_sid() { talloc_free($self); } #ifdef SWIGPYTHON const char *__str__(TALLOC_CTX *mem_ctx) { return dom_sid_string(mem_ctx, $self); } + %rename(__eq__) equal; #endif + bool equal(const struct dom_sid *other); } } dom_sid; diff --git a/source4/libcli/security/tests/bindings.py b/source4/libcli/security/tests/bindings.py index 15e2381a2b..59a5e69640 100644 --- a/source4/libcli/security/tests/bindings.py +++ b/source4/libcli/security/tests/bindings.py @@ -50,7 +50,17 @@ class SecurityDescriptorTests(unittest.TestCase): self.descriptor = security.SecurityDescriptor() -class RandomSidTests(unittest.TestCase): +class DomSidTests(unittest.TestCase): + def test_parse_sid(self): + sid = security.Sid("S-1-5-21") + self.assertEquals("S-1-5-21", str(sid)) + + def test_sid_equal(self): + sid1 = security.Sid("S-1-5-21") + sid2 = security.Sid("S-1-5-21") + self.assertTrue(sid1.__eq__(sid1)) + self.assertTrue(sid1.__eq__(sid2)) + def test_random(self): sid = security.random_sid() self.assertTrue(str(sid).startswith("S-1-5-21-")) |