[SCM] Samba Shared Repository - branch master updated
Andrew Bartlett
abartlet at samba.org
Mon Aug 24 03:11:02 UTC 2020
The branch, master has been updated
via d3109a11c8d lib/util: Move cleanup for unit test in teardown function
via c057586fc85 lib/util: Remove wrong return statement in unit test
via 40afb0bbcdd lib/util: Fix cleanup in unit test
via 7dabe5acdfa lib/util: Remove unnecessary semicolon from wscript_build
via 4a252f6e0f5 python compat: remove ConfigParser
via 3c026ba492a tests/vlv: attempt to cause trouble by changing sort attribute
via d64886f3e5e tests/vlv: remove redundant assignments
from df98e7db04c s4/dns: do not crash when additional data not found
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit d3109a11c8dbfbe3afec8fdfe44371ab13780dc6
Author: Christof Schmitt <cs at samba.org>
Date: Tue Aug 18 12:48:09 2020 -0700
lib/util: Move cleanup for unit test in teardown function
Where to call rmdir does not matter, but that should avoid the TOCTOU
warning from CID 1466194 and might be slightly cleaner.
Signed-off-by: Christof Schmitt <cs at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Mon Aug 24 03:10:09 UTC 2020 on sn-devel-184
commit c057586fc85e84a51c9611714df454b188da2da5
Author: Christof Schmitt <cs at samba.org>
Date: Tue Aug 18 09:29:28 2020 -0700
lib/util: Remove wrong return statement in unit test
Fixes CID 1466195
Signed-off-by: Christof Schmitt <cs at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 40afb0bbcdd5813235bf0697c091c8cac755f587
Author: Christof Schmitt <cs at samba.org>
Date: Tue Aug 18 11:14:47 2020 -0700
lib/util: Fix cleanup in unit test
Signed-off-by: Christof Schmitt <cs at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 7dabe5acdfac9b43356e2e3678ffb657e659ef7c
Author: Christof Schmitt <cs at samba.org>
Date: Tue Aug 18 09:28:12 2020 -0700
lib/util: Remove unnecessary semicolon from wscript_build
Signed-off-by: Christof Schmitt <cs at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 4a252f6e0f5b0dab44e50db4a93e5c9a9a2d4ff1
Author: David Mulder <dmulder at suse.com>
Date: Thu Aug 20 15:51:47 2020 -0600
python compat: remove ConfigParser
Signed-off-by: David Mulder <dmulder at suse.com>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit 3c026ba492a9d58a03884101b54deb3892e4a706
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Wed May 22 10:32:29 2019 +1200
tests/vlv: attempt to cause trouble by changing sort attribute
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit d64886f3e5e6a9e25bc4510150fdc3ee38fab7c6
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date: Wed May 22 10:33:15 2019 +1200
tests/vlv: remove redundant assignments
Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
-----------------------------------------------------------------------
Summary of changes:
lib/util/tests/test_util.c | 16 ++++++++++------
lib/util/wscript_build | 2 +-
python/samba/compat.py | 5 -----
python/samba/gp_parse/gp_ini.py | 11 +++++++----
python/samba/gpclass.py | 6 +++---
source4/dsdb/tests/python/vlv.py | 27 ++++++++++++++++++++++++---
6 files changed, 45 insertions(+), 22 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/util/tests/test_util.c b/lib/util/tests/test_util.c
index eebba39e70c..e547668ade3 100644
--- a/lib/util/tests/test_util.c
+++ b/lib/util/tests/test_util.c
@@ -94,8 +94,6 @@ static int group_teardown(void **state)
struct test_paths *paths = *state;
int ret;
- return 0;
-
ret = rmdir(paths->dir);
assert_return_code(ret, errno);
@@ -111,7 +109,7 @@ static int group_teardown(void **state)
ret = unlink(paths->symlink_file);
assert_return_code(ret, errno);
- ret = unlink(paths->testdir);
+ ret = rmdir(paths->testdir);
assert_return_code(ret, errno);
free(paths);
@@ -132,9 +130,14 @@ static void test_directory_create_or_exists_none(void **state)
assert_return_code(ret, errno);
assert_int_equal(sbuf.st_mode & 0777, 0775);
assert_true(S_ISDIR(sbuf.st_mode));
+}
- ret = rmdir(paths->none);
- assert_return_code(ret, errno);
+static int teardown_none_directory(void **state)
+{
+ struct test_paths *paths = *state;
+
+ rmdir(paths->none);
+ return 0;
}
static void test_directory_create_or_exists_dir(void **state)
@@ -220,7 +223,8 @@ static void test_directory_create_or_exists_symlink_file(void **state)
int main(int argc, char **argv)
{
const struct CMUnitTest tests[] = {
- cmocka_unit_test(test_directory_create_or_exists_none),
+ cmocka_unit_test_teardown(test_directory_create_or_exists_none,
+ teardown_none_directory),
cmocka_unit_test(test_directory_create_or_exists_dir),
cmocka_unit_test(test_directory_create_or_exists_file),
cmocka_unit_test(test_directory_create_or_exists_symlink_none),
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index 7f930afd599..0a730c17c88 100644
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -315,4 +315,4 @@ else:
source='tests/test_util.c',
deps='cmocka replace talloc samba-util',
local_include=False,
- for_selftest=True);
+ for_selftest=True)
diff --git a/python/samba/compat.py b/python/samba/compat.py
index b517999defd..a2b6f3c8645 100644
--- a/python/samba/compat.py
+++ b/python/samba/compat.py
@@ -71,11 +71,6 @@ if PY3:
# compat functions
from functools import cmp_to_key as cmp_to_key_fn
- # alias
- def ConfigParser(defaults=None, dict_type=dict, allow_no_value=False):
- from configparser import ConfigParser
- return ConfigParser(defaults, dict_type, allow_no_value, interpolation=None)
-
else:
raise NotImplementedError("Samba versions >= 4.11 do not support Python 2.x")
diff --git a/python/samba/gp_parse/gp_ini.py b/python/samba/gp_parse/gp_ini.py
index d567addd3ea..1fac861b0a3 100644
--- a/python/samba/gp_parse/gp_ini.py
+++ b/python/samba/gp_parse/gp_ini.py
@@ -22,7 +22,7 @@ import collections
import re
from xml.etree.ElementTree import Element, SubElement
-from samba.compat import ConfigParser
+from configparser import ConfigParser
from io import StringIO
from samba.gp_parse import GPParser, ENTITY_USER_ID
@@ -34,7 +34,8 @@ class GPIniParser(GPParser):
def parse(self, contents):
# Required dict_type in Python 2.7
- self.ini_conf = ConfigParser(dict_type=collections.OrderedDict)
+ self.ini_conf = ConfigParser(dict_type=collections.OrderedDict,
+ interpolation=None)
self.ini_conf.optionxform = str
self.ini_conf.readfp(StringIO(contents.decode(self.encoding)))
@@ -88,7 +89,8 @@ class GPIniParser(GPParser):
def load_xml(self, root):
# Required dict_type in Python 2.7
- self.ini_conf = ConfigParser(dict_type=collections.OrderedDict)
+ self.ini_conf = ConfigParser(dict_type=collections.OrderedDict,
+ interpolation=None)
self.ini_conf.optionxform = str
for s in root.findall('Section'):
@@ -110,7 +112,8 @@ class GPTIniParser(GPIniParser):
super(GPTIniParser, self).parse(contents)
except UnicodeDecodeError:
# Required dict_type in Python 2.7
- self.ini_conf = ConfigParser(dict_type=collections.OrderedDict)
+ self.ini_conf = ConfigParser(dict_type=collections.OrderedDict,
+ interpolation=None)
self.ini_conf.optionxform = str
# Fallback to Latin-1 which RSAT appears to use
diff --git a/python/samba/gpclass.py b/python/samba/gpclass.py
index 7f64e75d40b..37d6be38de8 100644
--- a/python/samba/gpclass.py
+++ b/python/samba/gpclass.py
@@ -21,7 +21,7 @@ import errno
import tdb
sys.path.insert(0, "bin/python")
from samba import NTSTATUSError
-from samba.compat import ConfigParser
+from configparser import ConfigParser
from io import StringIO
from samba.compat import get_bytes
from abc import ABCMeta, abstractmethod
@@ -326,7 +326,7 @@ class gp_ext(object):
class gp_inf_ext(gp_ext):
def read(self, data_file):
policy = open(data_file, 'rb').read()
- inf_conf = ConfigParser()
+ inf_conf = ConfigParser(interpolation=None)
inf_conf.optionxform = str
try:
inf_conf.readfp(StringIO(policy.decode()))
@@ -525,7 +525,7 @@ def parse_gpext_conf(smb_conf):
else:
lp.load_default()
ext_conf = lp.state_path('gpext.conf')
- parser = ConfigParser()
+ parser = ConfigParser(interpolation=None)
parser.read(ext_conf)
return lp, parser
diff --git a/source4/dsdb/tests/python/vlv.py b/source4/dsdb/tests/python/vlv.py
index 90a29ab6ec2..86ac2b72240 100644
--- a/source4/dsdb/tests/python/vlv.py
+++ b/source4/dsdb/tests/python/vlv.py
@@ -510,10 +510,8 @@ class VLVTests(VLVTestsBase):
random.shuffle(gte_tests)
res = None
sort_control = "server_sort:1:0:%s" % attr
-
expected_order = self.get_expected_order(attr, expression)
- sort_control = "server_sort:1:0:%s" % attr
- res = None
+
for before in range(0, 11):
after = before
for gte in gte_tests:
@@ -1218,6 +1216,29 @@ class VLVTests(VLVTestsBase):
expected_results = [r for r in full_results if r != del_user[attr]]
self.assertEqual(results, expected_results)
+ def test_vlv_change_during_search(self):
+ attr = 'facsimileTelephoneNumber'
+ prefix = "change_during_search_"
+ expr = "(&(objectClass=user)(cn=%s*))" % (prefix)
+ num_users = 3
+ users = [self.create_user(i, num_users, prefix=prefix)
+ for i in range(num_users)]
+ expr = "(&(objectClass=user)(facsimileTelephoneNumber=%s*))" % (prefix)
+
+ # Start the VLV, change the searched attribute and try the
+ # cookie.
+ results, cookie = self.vlv_search(attr, expr)
+
+ for u in users:
+ self.ldb.modify_ldif("dn: %s\n"
+ "changetype: modify\n"
+ "replace: facsimileTelephoneNumber\n"
+ "facsimileTelephoneNumber: 123" % u['dn'])
+
+ for i in range(2):
+ results, cookie = self.vlv_search(attr, expr, cookie=cookie,
+ offset=i+1)
+
class PagedResultsTests(TestsWithUserOU):
--
Samba Shared Repository
More information about the samba-cvs
mailing list