OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python2.7
/
dist-packages
/
samba
/
tests
Server IP: 10.0.0.4
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
__init__.py
14.23 KB
11/15/2017 07:42:13 AM
rw-r--r--
📄
__init__.pyc
17.38 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth.py
2.36 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
auth.pyc
2.47 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log.py
56.47 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log.pyc
40.28 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_base.py
4.18 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log_base.pyc
4.1 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_ncalrpc.py
4.07 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log_ncalrpc.pyc
3.79 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_netlogon.py
5.05 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log_netlogon.pyc
4.56 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_netlogon_bad_creds.py
7.06 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log_netlogon_bad_creds.pyc
6.55 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_pass_change.py
12.91 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
auth_log_pass_change.pyc
10.67 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
auth_log_samlogon.py
6.66 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
auth_log_samlogon.pyc
6.19 KB
02/03/2022 06:37:41 AM
rw-r--r--
📁
blackbox
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
common.py
3.04 KB
02/07/2018 08:37:51 AM
rw-r--r--
📄
common.pyc
2.86 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
core.py
2.7 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
core.pyc
3.77 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
credentials.py
19.83 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
credentials.pyc
19.06 KB
02/03/2022 06:37:41 AM
rw-r--r--
📁
dcerpc
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
dns.py
51.4 KB
01/25/2022 03:20:03 PM
rw-r--r--
📄
dns.pyc
36.48 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dns_base.py
13.99 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
dns_base.pyc
13.28 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dns_forwarder.py
21.23 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
dns_forwarder.pyc
20.21 KB
02/03/2022 06:37:41 AM
rw-r--r--
📁
dns_forwarder_helpers
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
dns_packet.py
6.6 KB
01/25/2022 03:20:03 PM
rw-r--r--
📄
dns_packet.pyc
6.97 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dns_tkey.py
7.24 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
dns_tkey.pyc
6.13 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dns_wildcard.py
10.9 KB
11/02/2017 11:38:36 AM
rw-r--r--
📄
dns_wildcard.pyc
8.4 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
docs.py
13.95 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
docs.pyc
11.37 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dsdb.py
18.84 KB
08/15/2017 07:16:59 AM
rw-r--r--
📄
dsdb.pyc
14.93 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dsdb_schema_attributes.py
7.93 KB
11/02/2017 11:38:36 AM
rw-r--r--
📄
dsdb_schema_attributes.pyc
6.96 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
gensec.py
7.85 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
gensec.pyc
6.61 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
get_opt.py
1.86 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
get_opt.pyc
1.75 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
glue.py
2.59 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
glue.pyc
3.43 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
hostconfig.py
2.15 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
hostconfig.pyc
3.45 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
join.py
6.5 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
join.pyc
5.45 KB
02/03/2022 06:37:41 AM
rw-r--r--
📁
kcc
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
libsmb_samba_internal.py
2.38 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
libsmb_samba_internal.pyc
2.71 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
lsa_string.py
2.52 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
lsa_string.pyc
2.21 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
messaging.py
4.97 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
messaging.pyc
5.37 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
net_join.py
2.29 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
net_join.pyc
2.22 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
net_join_no_spnego.py
3.34 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
net_join_no_spnego.pyc
3.15 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
netcmd.py
3 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
netcmd.pyc
3.95 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
netlogonsvc.py
2.43 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
netlogonsvc.pyc
2.14 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
ntacls.py
4.09 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
ntacls.pyc
4.69 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
ntlmauth.py
3 KB
08/29/2017 04:12:36 AM
rw-r--r--
📄
ntlmauth.pyc
2.73 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
pam_winbind.py
1.67 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
pam_winbind.pyc
1.43 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
param.py
3.59 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
param.pyc
4.8 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
password_hash.py
12.44 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
password_hash.pyc
7.84 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
password_hash_fl2003.py
7.38 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
password_hash_fl2003.pyc
5.48 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
password_hash_fl2008.py
7.94 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
password_hash_fl2008.pyc
5.66 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
password_hash_gpgme.py
8.78 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
password_hash_gpgme.pyc
6.41 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
password_hash_ldap.py
4.85 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
password_hash_ldap.pyc
4.63 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
policy.py
1.15 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
policy.pyc
1.03 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
posixacl.py
37.62 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
posixacl.pyc
26.85 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
provision.py
6.22 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
provision.pyc
9.79 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
py_credentials.py
13.71 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
py_credentials.pyc
10.64 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
registry.py
1.73 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
registry.pyc
2.37 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
samba3.py
8.24 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
samba3.pyc
11.54 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
samba3sam.py
48.33 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
samba3sam.pyc
31.65 KB
02/03/2022 06:37:41 AM
rw-r--r--
📁
samba_tool
-
02/03/2022 06:37:41 AM
rwxr-xr-x
📄
samdb.py
3.51 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
samdb.pyc
3.11 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
security.py
5.36 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
security.pyc
7.81 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
source.py
8.06 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
source.pyc
7.48 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
strings.py
4.12 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
strings.pyc
2.96 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
subunitrun.py
2.33 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
subunitrun.pyc
1.84 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
unicodenames.py
1.07 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
unicodenames.pyc
555 bytes
02/03/2022 06:37:41 AM
rw-r--r--
📄
upgrade.py
1.36 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
upgrade.pyc
1.28 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
upgradeprovision.py
6.66 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
upgradeprovision.pyc
6.57 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
upgradeprovisionneeddc.py
7.29 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
upgradeprovisionneeddc.pyc
8.08 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
xattr.py
4.11 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
xattr.pyc
4.57 KB
02/03/2022 06:37:41 AM
rw-r--r--
Editing: upgradeprovision.py
Close
# Unix SMB/CIFS implementation. # Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # """Tests for samba.upgradeprovision.""" import os from samba.upgradehelpers import (usn_in_range, dn_sort, update_secrets, construct_existor_expr) from samba.descriptor import get_diff_sds from samba.tests.provision import create_dummy_secretsdb from samba.tests import TestCaseInTempDir from samba import Ldb from ldb import SCOPE_BASE import samba.tests from samba.dcerpc import security def dummymessage(a=None, b=None): pass class UpgradeProvisionTestCase(TestCaseInTempDir): """Some simple tests for individual functions in the provisioning code. """ def test_usn_in_range(self): range = [5, 25, 35, 55] vals = [3, 26, 56] for v in vals: self.assertFalse(usn_in_range(v, range)) vals = [5, 20, 25, 35, 36] for v in vals: self.assertTrue(usn_in_range(v, range)) def test_dn_sort(self): # higher level comes after lower even if lexicographicaly closer # ie dc=tata,dc=toto (2 levels), comes after dc=toto # even if dc=toto is lexicographicaly after dc=tata, dc=toto self.assertEquals(dn_sort("dc=tata,dc=toto", "dc=toto"), 1) self.assertEquals(dn_sort("dc=zata", "dc=tata"), 1) self.assertEquals(dn_sort("dc=toto,dc=tata", "cn=foo,dc=toto,dc=tata"), -1) self.assertEquals(dn_sort("cn=bar, dc=toto,dc=tata", "cn=foo, dc=toto,dc=tata"), -1) def test_get_diff_sds(self): domsid = security.dom_sid('S-1-5-21') sddl = "O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)" sddl1 = "O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)" sddl2 = "O:BAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)" sddl3 = "O:SAG:BAD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)" sddl4 = "O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;BA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)" sddl5 = "O:SAG:DUD:AI(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)" sddl6 = "O:SAG:DUD:AI(A;CIID;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CIID;RP LCLORC;;;AU)(A;CIID;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)\ (A;CI;RPWPCRCCLCLORCWOWDSW;;;SA)\ (A;CI;RP LCLORC;;;AU)(A;CI;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)S:AI(AU;CISA;WP;;;WD)(AU;CIIDSA;WP;;;WD)" self.assertEquals(get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl1, domsid), domsid), "") txt = get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl2, domsid), domsid) self.assertEquals(txt, "\tOwner mismatch: SA (in ref) BA(in current)\n") txt = get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl3, domsid), domsid) self.assertEquals(txt, "\tGroup mismatch: DU (in ref) BA(in current)\n") txt = get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl4, domsid), domsid) txtmsg = "\tPart dacl is different between reference and current here\ is the detail:\n\t\t(A;CI;RPWPCRCCLCLORCWOWDSW;;;BA) ACE is not present in\ the reference\n\t\t(A;CI;RPWPCRCCLCLORCWOWDSW;;;SA) ACE is not present in\ the current\n" self.assertEquals(txt, txtmsg) txt = get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl5, domsid), domsid) self.assertEquals(txt, "\tCurrent ACL hasn't a sacl part\n") self.assertEquals(get_diff_sds(security.descriptor.from_sddl(sddl, domsid), security.descriptor.from_sddl(sddl6, domsid), domsid), "") def test_construct_existor_expr(self): res = construct_existor_expr([]) self.assertEquals(res, "") res = construct_existor_expr(["foo"]) self.assertEquals(res, "(|(foo=*))") res = construct_existor_expr(["foo", "bar"]) self.assertEquals(res, "(|(foo=*)(bar=*))") class UpdateSecretsTests(samba.tests.TestCaseInTempDir): def setUp(self): super(UpdateSecretsTests, self).setUp() self.referencedb = create_dummy_secretsdb( os.path.join(self.tempdir, "ref.ldb")) def _getEmptyDb(self): return Ldb(os.path.join(self.tempdir, "secrets.ldb")) def _getCurrentFormatDb(self): return create_dummy_secretsdb( os.path.join(self.tempdir, "secrets.ldb")) def test_trivial(self): # Test that updating an already up-to-date secretsdb works fine self.secretsdb = self._getCurrentFormatDb() self.assertEquals(None, update_secrets(self.referencedb, self.secretsdb, dummymessage)) def test_update_modules(self): empty_db = self._getEmptyDb() update_secrets(self.referencedb, empty_db, dummymessage) newmodules = empty_db.search(base="@MODULES", scope=SCOPE_BASE) refmodules = self.referencedb.search(base="@MODULES", scope=SCOPE_BASE) self.assertEquals(newmodules.msgs, refmodules.msgs) def tearDown(self): for name in ["ref.ldb", "secrets.ldb", "secrets.tdb", "secrets.tdb.bak", "secrets.ntdb"]: path = os.path.join(self.tempdir, name) if os.path.exists(path): os.unlink(path) super(UpdateSecretsTests, self).tearDown()