OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python2.7
/
dist-packages
/
samba
/
tests
/
dcerpc
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
796 bytes
07/04/2017 10:05:25 AM
rw-r--r--
📄
__init__.pyc
211 bytes
02/03/2022 06:37:41 AM
rw-r--r--
📄
array.py
6.09 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
array.pyc
5.02 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
bare.py
2.55 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
bare.pyc
2.79 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
dnsserver.py
59.42 KB
01/25/2022 03:20:03 PM
rw-r--r--
📄
dnsserver.pyc
33.96 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
integer.py
7.43 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
integer.pyc
13.89 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
misc.py
2.18 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
misc.pyc
3.04 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
raw_protocol.py
224.12 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
raw_protocol.pyc
122.21 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
raw_testcase.py
34.66 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
raw_testcase.pyc
23.1 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
registry.py
1.84 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
registry.pyc
2.04 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
rpc_talloc.py
2.82 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
rpc_talloc.pyc
2.36 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
rpcecho.py
2.36 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
rpcecho.pyc
3.81 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
sam.py
1.69 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
sam.pyc
2.04 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
srvsvc.py
2.43 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
srvsvc.pyc
2.46 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
string.py
4.29 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
string.pyc
4.65 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
testrpc.py
5.16 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
testrpc.pyc
4.11 KB
02/03/2022 06:37:41 AM
rw-r--r--
📄
unix.py
1.71 KB
07/04/2017 10:05:25 AM
rw-r--r--
📄
unix.pyc
2.22 KB
02/03/2022 06:37:41 AM
rw-r--r--
Editing: string.py
Close
# Unix SMB/CIFS implementation. # Copyright (C) Andrew Bartlett <abartlet@samba.org> 2016 # # 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 string and unicode handling in PIDL generated bindings samba.dcerpc.*""" from samba.dcerpc import drsblobs import samba.tests from samba.ndr import ndr_unpack, ndr_pack import talloc import gc class TestException(Exception): pass class StringTests(samba.tests.TestCase): def setUp(self): super(StringTests, self).setUp() talloc.enable_null_tracking() self.startup_blocks = talloc.total_blocks() def tearDown(self): super(StringTests, self).tearDown() gc.collect() if talloc.total_blocks() != self.startup_blocks: talloc.report_full() self.fail("it appears we are leaking memory") def test_string_from_python(self): info = drsblobs.repsFromTo2OtherInfo() info.dns_name1 = "hello.example.com" info.dns_name2 = "goodbye.example.com" gc.collect() self.assertIsNotNone(info) self.assertEqual(info.dns_name1, "hello.example.com") self.assertEqual(info.dns_name2, "goodbye.example.com") info.dns_name1 = "" info.dns_name2 = "goodbye.example.com" self.assertEqual(info.dns_name1, "") self.assertEqual(info.dns_name2, "goodbye.example.com") info.dns_name2 = None self.assertEqual(info.dns_name1, "") self.assertIsNone(info.dns_name2) def test_string_with_exception(self): try: self.test_string_from_python() raise TestException() except TestException: pass def test_string_from_python_function(self): def get_info(): info = drsblobs.repsFromTo2OtherInfo() info.dns_name1 = "1.example.com" info.dns_name2 = "2.example.com" return info info = get_info() gc.collect() self.assertIsNotNone(info) self.assertEqual(info.dns_name1, "1.example.com") self.assertEqual(info.dns_name2, "2.example.com") def test_string_modify_in_place(self): info = drsblobs.repsFromTo2OtherInfo() info.dns_name1 = "1.example.com" info.dns_name2 = "%s.example.com" gc.collect() self.assertIsNotNone(info) self.assertEqual(info.dns_name1, "1.example.com") self.assertEqual(info.dns_name2, "%s.example.com") info.dns_name1 += ".co.nz" info.dns_name2 %= 2 self.assertEqual(info.dns_name1, "1.example.com.co.nz") self.assertEqual(info.dns_name2, "2.example.com") del info def test_string_delete(self): gc.collect() info = drsblobs.repsFromTo2OtherInfo() info.dns_name1 = "1.example.com" info.dns_name2 = "2.example.com" info.dns_name1 = None try: del info.dns_name2 except AttributeError: pass self.assertIsNotNone(info) self.assertIsNone(info.dns_name1) self.assertIsNotNone(info.dns_name2) class StringTestsWithoutLeakCheck(samba.tests.TestCase): """We know that the ndr unpacking test leaves stuff in the autofree_context, and we don't want to worry about that. So for this test we don't make meory leak assertions.""" def test_string_from_ndr(self): info = drsblobs.repsFromTo2OtherInfo() info.dns_name1 = "1.example.com" info.dns_name2 = "2.example.com" packed = ndr_pack(info) gc.collect() info_unpacked = ndr_unpack(drsblobs.repsFromTo2OtherInfo, packed) self.assertIsNotNone(info_unpacked) self.assertEqual(info_unpacked.dns_name1, "1.example.com") self.assertEqual(info_unpacked.dns_name2, "2.example.com")