Branch '389-ds-base-1.3.4' - dirsrvtests/suites dirsrvtests/tickets
by Mark Reynolds
dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py | 5
dirsrvtests/suites/basic/basic_test.py | 5
dirsrvtests/tickets/ticket47653MMR_test.py | 3
dirsrvtests/tickets/ticket47669_test.py | 121 +++++-----
dirsrvtests/tickets/ticket47714_test.py | 8
5 files changed, 73 insertions(+), 69 deletions(-)
New commits:
commit 5bc311bb4aada33b0911c7de5955287301782b62
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Sep 25 20:17:21 2015 -0400
Ticket 48204 - update lib389 test scripts for python 3
Description: Added support for python3, and also addressed certain failing
test scripts.
https://fedorahosted.org/389/ticket/48204
Reviewed by: rmeggins(Thanks!)
(cherry picked from commit 3d0ae27c29cc3a0fb9c152b012903c63a94c5dd6)
diff --git a/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py b/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
index c26a0a2..06e7425 100644
--- a/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
+++ b/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
@@ -21,7 +21,8 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
-
+USER1_DN = 'uid=user1,' + DEFAULT_SUFFIX
+USER2_DN = 'uid=user2,' + DEFAULT_SUFFIX
installation1_prefix = None
@@ -67,6 +68,8 @@ def test_attr_uniqueness_init(topology):
ldap.fatal('Failed to enable dynamic plugin!' + e.message['desc'])
assert False
+ topology.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)
+
def test_attr_uniqueness(topology):
log.info('Running test_attr_uniqueness...')
diff --git a/dirsrvtests/suites/basic/basic_test.py b/dirsrvtests/suites/basic/basic_test.py
index 9aec8ef..d2f81ff 100644
--- a/dirsrvtests/suites/basic/basic_test.py
+++ b/dirsrvtests/suites/basic/basic_test.py
@@ -661,15 +661,16 @@ def test_basic_systemctl(topology, import_example_ldif):
log.fatal('test_basic_systemctl: The server incorrectly started')
assert False
log.info('Server failed to start as expected')
+ time.sleep(5)
#
# Fix the dse.ldif, and make sure the server starts up,
# and systemctl correctly identifies the successful start
#
shutil.copy(tmp_dir + 'dse.ldif', config_dir)
- log.info('Starting the server...')
+ log.info('Starting the server with good dse.ldif...')
rc = os.system(start_ds)
- time.sleep(10)
+ time.sleep(5)
log.info('Check the status...')
if rc != 0 or os.system(is_running) != 0:
log.fatal('test_basic_systemctl: Failed to start the server')
diff --git a/dirsrvtests/tickets/ticket47653MMR_test.py b/dirsrvtests/tickets/ticket47653MMR_test.py
index 0c6da02..f951e55 100644
--- a/dirsrvtests/tickets/ticket47653MMR_test.py
+++ b/dirsrvtests/tickets/ticket47653MMR_test.py
@@ -104,10 +104,9 @@ def topology(request):
master2.allocate(args_master)
# Get the status of the instance and restart it if it exists
- instance_master1 = master1.exists()
+ instance_master1 = master1.exists()
instance_master2 = master2.exists()
-
# Remove all the instances
if instance_master1:
master1.delete()
diff --git a/dirsrvtests/tickets/ticket47669_test.py b/dirsrvtests/tickets/ticket47669_test.py
index 5458fba..2ef1f3e 100644
--- a/dirsrvtests/tickets/ticket47669_test.py
+++ b/dirsrvtests/tickets/ticket47669_test.py
@@ -79,7 +79,7 @@ def topology(request):
return TopologyStandalone(standalone)
-def test_ticket47669_init(topo):
+def test_ticket47669_init(topology):
"""
Add cn=changelog5,cn=config
Enable cn=Retro Changelog Plugin,cn=plugins,cn=config
@@ -87,12 +87,12 @@ def test_ticket47669_init(topo):
log.info('Testing Ticket 47669 - Test duration syntax in the changelogs')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
try:
- changelogdir = "%s/changelog" % topo.standalone.dbdir
- topo.standalone.add_s(Entry((CHANGELOG,
+ changelogdir = "%s/changelog" % topology.standalone.dbdir
+ topology.standalone.add_s(Entry((CHANGELOG,
{'objectclass': 'top extensibleObject'.split(),
'nsslapd-changelogdir': changelogdir})))
except ldap.LDAPError as e:
@@ -100,23 +100,23 @@ def test_ticket47669_init(topo):
assert False
try:
- topo.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])
+ topology.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])
except ldap.LDAPError as e:
log.error('Failed to enable ' + RETROCHANGELOG + ': error ' + e.message['desc'])
assert False
# restart the server
- topo.standalone.restart(timeout=10)
+ topology.standalone.restart(timeout=10)
-def add_and_check(topo, plugin, attr, val, isvalid):
+def add_and_check(topology, plugin, attr, val, isvalid):
"""
Helper function to add/replace attr: val and check the added value
"""
if isvalid:
log.info('Test %s: %s -- valid' % (attr, val))
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
log.error('Failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
assert False
@@ -124,17 +124,18 @@ def add_and_check(topo, plugin, attr, val, isvalid):
log.info('Test %s: %s -- invalid' % (attr, val))
if plugin == CHANGELOG:
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
- log.error('Expectedly failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
+ log.error('Expectedly failed to add ' + attr + ': ' + val +
+ ' to ' + plugin + ': error ' + e.message['desc'])
else:
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
log.error('Failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
try:
- entries = topo.standalone.search_s(plugin, ldap.SCOPE_BASE, FILTER, [attr])
+ entries = topology.standalone.search_s(plugin, ldap.SCOPE_BASE, FILTER, [attr])
if isvalid:
if not entries[0].hasValue(attr, val):
log.fatal('%s does not have expected (%s: %s)' % (plugin, attr, val))
@@ -153,86 +154,86 @@ def add_and_check(topo, plugin, attr, val, isvalid):
assert False
-def test_ticket47669_changelog_maxage(topo):
+def test_ticket47669_changelog_maxage(topology):
"""
Test nsslapd-changelogmaxage in cn=changelog5,cn=config
"""
log.info('1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, MAXAGE, '12345', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '10s', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '30M', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '12h', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '2D', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '4w', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '-123', False)
- add_and_check(topo, CHANGELOG, MAXAGE, 'xyz', False)
+ add_and_check(topology, CHANGELOG, MAXAGE, '12345', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '10s', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '30M', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '12h', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '2D', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '4w', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '-123', False)
+ add_and_check(topology, CHANGELOG, MAXAGE, 'xyz', False)
-def test_ticket47669_changelog_triminterval(topo):
+def test_ticket47669_changelog_triminterval(topology):
"""
Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config
"""
log.info('2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '12345', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '10s', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '30M', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '12h', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '2D', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '4w', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '-123', False)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, 'xyz', False)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '12345', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '10s', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '30M', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '12h', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '2D', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '4w', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '-123', False)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, 'xyz', False)
-def test_ticket47669_changelog_compactdbinterval(topo):
+def test_ticket47669_changelog_compactdbinterval(topology):
"""
Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config
"""
log.info('3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '12345', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '10s', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '30M', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '12h', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '2D', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '4w', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '-123', False)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, 'xyz', False)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '12345', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '10s', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '30M', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '12h', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '2D', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '4w', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '-123', False)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, 'xyz', False)
-def test_ticket47669_retrochangelog_maxage(topo):
+def test_ticket47669_retrochangelog_maxage(topology):
"""
Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config
"""
log.info('4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '12345', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '10s', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '30M', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '12h', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '2D', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '4w', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '-123', False)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, 'xyz', False)
-
- topo.standalone.log.info("ticket47669 was successfully verified.")
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '12345', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '10s', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '30M', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '12h', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '2D', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '4w', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '-123', False)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, 'xyz', False)
+
+ topology.standalone.log.info("ticket47669 was successfully verified.")
def test_ticket47669_final(topology):
diff --git a/dirsrvtests/tickets/ticket47714_test.py b/dirsrvtests/tickets/ticket47714_test.py
index 400c243..268ddef 100644
--- a/dirsrvtests/tickets/ticket47714_test.py
+++ b/dirsrvtests/tickets/ticket47714_test.py
@@ -209,22 +209,22 @@ def test_ticket47714_run_1(topology):
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(1)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
-
lastLoginTime0 = entry[0].lastLoginTime
- time.sleep(2)
-
log.info("\n######################### Bind as %s again ######################\n" % TEST_USER_DN)
try:
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(1)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
-
lastLoginTime1 = entry[0].lastLoginTime
log.info("First lastLoginTime: %s, Second lastLoginTime: %s" % (lastLoginTime0, lastLoginTime1))
7 years, 8 months
dirsrvtests/suites dirsrvtests/tickets
by Mark Reynolds
dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py | 5
dirsrvtests/suites/basic/basic_test.py | 5
dirsrvtests/tickets/ticket47653MMR_test.py | 3
dirsrvtests/tickets/ticket47669_test.py | 121 +++++-----
dirsrvtests/tickets/ticket47714_test.py | 8
5 files changed, 73 insertions(+), 69 deletions(-)
New commits:
commit 3d0ae27c29cc3a0fb9c152b012903c63a94c5dd6
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Sep 25 20:17:21 2015 -0400
Ticket 48204 - update lib389 test scripts for python 3
Description: Added support for python3, and also addressed certain failing
test scripts.
https://fedorahosted.org/389/ticket/48204
Reviewed by: rmeggins(Thanks!)
diff --git a/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py b/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
index c26a0a2..06e7425 100644
--- a/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
+++ b/dirsrvtests/suites/attr_uniqueness_plugin/attr_uniqueness_test.py
@@ -21,7 +21,8 @@ from lib389.utils import *
logging.getLogger(__name__).setLevel(logging.DEBUG)
log = logging.getLogger(__name__)
-
+USER1_DN = 'uid=user1,' + DEFAULT_SUFFIX
+USER2_DN = 'uid=user2,' + DEFAULT_SUFFIX
installation1_prefix = None
@@ -67,6 +68,8 @@ def test_attr_uniqueness_init(topology):
ldap.fatal('Failed to enable dynamic plugin!' + e.message['desc'])
assert False
+ topology.standalone.plugins.enable(name=PLUGIN_ATTR_UNIQUENESS)
+
def test_attr_uniqueness(topology):
log.info('Running test_attr_uniqueness...')
diff --git a/dirsrvtests/suites/basic/basic_test.py b/dirsrvtests/suites/basic/basic_test.py
index 9aec8ef..d2f81ff 100644
--- a/dirsrvtests/suites/basic/basic_test.py
+++ b/dirsrvtests/suites/basic/basic_test.py
@@ -661,15 +661,16 @@ def test_basic_systemctl(topology, import_example_ldif):
log.fatal('test_basic_systemctl: The server incorrectly started')
assert False
log.info('Server failed to start as expected')
+ time.sleep(5)
#
# Fix the dse.ldif, and make sure the server starts up,
# and systemctl correctly identifies the successful start
#
shutil.copy(tmp_dir + 'dse.ldif', config_dir)
- log.info('Starting the server...')
+ log.info('Starting the server with good dse.ldif...')
rc = os.system(start_ds)
- time.sleep(10)
+ time.sleep(5)
log.info('Check the status...')
if rc != 0 or os.system(is_running) != 0:
log.fatal('test_basic_systemctl: Failed to start the server')
diff --git a/dirsrvtests/tickets/ticket47653MMR_test.py b/dirsrvtests/tickets/ticket47653MMR_test.py
index 0c6da02..f951e55 100644
--- a/dirsrvtests/tickets/ticket47653MMR_test.py
+++ b/dirsrvtests/tickets/ticket47653MMR_test.py
@@ -104,10 +104,9 @@ def topology(request):
master2.allocate(args_master)
# Get the status of the instance and restart it if it exists
- instance_master1 = master1.exists()
+ instance_master1 = master1.exists()
instance_master2 = master2.exists()
-
# Remove all the instances
if instance_master1:
master1.delete()
diff --git a/dirsrvtests/tickets/ticket47669_test.py b/dirsrvtests/tickets/ticket47669_test.py
index 5458fba..2ef1f3e 100644
--- a/dirsrvtests/tickets/ticket47669_test.py
+++ b/dirsrvtests/tickets/ticket47669_test.py
@@ -79,7 +79,7 @@ def topology(request):
return TopologyStandalone(standalone)
-def test_ticket47669_init(topo):
+def test_ticket47669_init(topology):
"""
Add cn=changelog5,cn=config
Enable cn=Retro Changelog Plugin,cn=plugins,cn=config
@@ -87,12 +87,12 @@ def test_ticket47669_init(topo):
log.info('Testing Ticket 47669 - Test duration syntax in the changelogs')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
try:
- changelogdir = "%s/changelog" % topo.standalone.dbdir
- topo.standalone.add_s(Entry((CHANGELOG,
+ changelogdir = "%s/changelog" % topology.standalone.dbdir
+ topology.standalone.add_s(Entry((CHANGELOG,
{'objectclass': 'top extensibleObject'.split(),
'nsslapd-changelogdir': changelogdir})))
except ldap.LDAPError as e:
@@ -100,23 +100,23 @@ def test_ticket47669_init(topo):
assert False
try:
- topo.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])
+ topology.standalone.modify_s(RETROCHANGELOG, [(ldap.MOD_REPLACE, 'nsslapd-pluginEnabled', 'on')])
except ldap.LDAPError as e:
log.error('Failed to enable ' + RETROCHANGELOG + ': error ' + e.message['desc'])
assert False
# restart the server
- topo.standalone.restart(timeout=10)
+ topology.standalone.restart(timeout=10)
-def add_and_check(topo, plugin, attr, val, isvalid):
+def add_and_check(topology, plugin, attr, val, isvalid):
"""
Helper function to add/replace attr: val and check the added value
"""
if isvalid:
log.info('Test %s: %s -- valid' % (attr, val))
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
log.error('Failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
assert False
@@ -124,17 +124,18 @@ def add_and_check(topo, plugin, attr, val, isvalid):
log.info('Test %s: %s -- invalid' % (attr, val))
if plugin == CHANGELOG:
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
- log.error('Expectedly failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
+ log.error('Expectedly failed to add ' + attr + ': ' + val +
+ ' to ' + plugin + ': error ' + e.message['desc'])
else:
try:
- topo.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
+ topology.standalone.modify_s(plugin, [(ldap.MOD_REPLACE, attr, val)])
except ldap.LDAPError as e:
log.error('Failed to add ' + attr + ': ' + val + ' to ' + plugin + ': error ' + e.message['desc'])
try:
- entries = topo.standalone.search_s(plugin, ldap.SCOPE_BASE, FILTER, [attr])
+ entries = topology.standalone.search_s(plugin, ldap.SCOPE_BASE, FILTER, [attr])
if isvalid:
if not entries[0].hasValue(attr, val):
log.fatal('%s does not have expected (%s: %s)' % (plugin, attr, val))
@@ -153,86 +154,86 @@ def add_and_check(topo, plugin, attr, val, isvalid):
assert False
-def test_ticket47669_changelog_maxage(topo):
+def test_ticket47669_changelog_maxage(topology):
"""
Test nsslapd-changelogmaxage in cn=changelog5,cn=config
"""
log.info('1. Test nsslapd-changelogmaxage in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, MAXAGE, '12345', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '10s', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '30M', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '12h', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '2D', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '4w', True)
- add_and_check(topo, CHANGELOG, MAXAGE, '-123', False)
- add_and_check(topo, CHANGELOG, MAXAGE, 'xyz', False)
+ add_and_check(topology, CHANGELOG, MAXAGE, '12345', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '10s', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '30M', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '12h', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '2D', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '4w', True)
+ add_and_check(topology, CHANGELOG, MAXAGE, '-123', False)
+ add_and_check(topology, CHANGELOG, MAXAGE, 'xyz', False)
-def test_ticket47669_changelog_triminterval(topo):
+def test_ticket47669_changelog_triminterval(topology):
"""
Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config
"""
log.info('2. Test nsslapd-changelogtrim-interval in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '12345', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '10s', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '30M', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '12h', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '2D', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '4w', True)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, '-123', False)
- add_and_check(topo, CHANGELOG, TRIMINTERVAL, 'xyz', False)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '12345', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '10s', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '30M', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '12h', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '2D', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '4w', True)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, '-123', False)
+ add_and_check(topology, CHANGELOG, TRIMINTERVAL, 'xyz', False)
-def test_ticket47669_changelog_compactdbinterval(topo):
+def test_ticket47669_changelog_compactdbinterval(topology):
"""
Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config
"""
log.info('3. Test nsslapd-changelogcompactdb-interval in cn=changelog5,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '12345', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '10s', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '30M', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '12h', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '2D', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '4w', True)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, '-123', False)
- add_and_check(topo, CHANGELOG, COMPACTDBINTERVAL, 'xyz', False)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '12345', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '10s', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '30M', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '12h', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '2D', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '4w', True)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, '-123', False)
+ add_and_check(topology, CHANGELOG, COMPACTDBINTERVAL, 'xyz', False)
-def test_ticket47669_retrochangelog_maxage(topo):
+def test_ticket47669_retrochangelog_maxage(topology):
"""
Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config
"""
log.info('4. Test nsslapd-changelogmaxage in cn=Retro Changelog Plugin,cn=plugins,cn=config')
# bind as directory manager
- topo.standalone.log.info("Bind as %s" % DN_DM)
- topo.standalone.simple_bind_s(DN_DM, PASSWORD)
-
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '12345', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '10s', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '30M', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '12h', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '2D', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '4w', True)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, '-123', False)
- add_and_check(topo, RETROCHANGELOG, MAXAGE, 'xyz', False)
-
- topo.standalone.log.info("ticket47669 was successfully verified.")
+ topology.standalone.log.info("Bind as %s" % DN_DM)
+ topology.standalone.simple_bind_s(DN_DM, PASSWORD)
+
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '12345', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '10s', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '30M', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '12h', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '2D', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '4w', True)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, '-123', False)
+ add_and_check(topology, RETROCHANGELOG, MAXAGE, 'xyz', False)
+
+ topology.standalone.log.info("ticket47669 was successfully verified.")
def test_ticket47669_final(topology):
diff --git a/dirsrvtests/tickets/ticket47714_test.py b/dirsrvtests/tickets/ticket47714_test.py
index 400c243..268ddef 100644
--- a/dirsrvtests/tickets/ticket47714_test.py
+++ b/dirsrvtests/tickets/ticket47714_test.py
@@ -209,22 +209,22 @@ def test_ticket47714_run_1(topology):
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(1)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
-
lastLoginTime0 = entry[0].lastLoginTime
- time.sleep(2)
-
log.info("\n######################### Bind as %s again ######################\n" % TEST_USER_DN)
try:
topology.standalone.simple_bind_s(TEST_USER_DN, TEST_USER_PW)
except ldap.CONSTRAINT_VIOLATION as e:
log.error('CONSTRAINT VIOLATION ' + e.message['desc'])
+ time.sleep(1)
+
topology.standalone.simple_bind_s(DN_DM, PASSWORD)
entry = topology.standalone.search_s(TEST_USER_DN, ldap.SCOPE_BASE, SEARCHFILTER, ['lastLoginTime'])
-
lastLoginTime1 = entry[0].lastLoginTime
log.info("First lastLoginTime: %s, Second lastLoginTime: %s" % (lastLoginTime0, lastLoginTime1))
7 years, 8 months
Branch '389-ds-base-1.3.4' - ldap/servers
by Ludwig Krispenz
ldap/servers/slapd/dl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 2674f5594a2eb088be34728c12c1169df36b1588
Author: Ludwig Krispenz <lkrispen(a)redhat.com>
Date: Tue Sep 22 17:51:35 2015 +0200
Ticket 48283 - many attrlist_replace errors in connection with cleanallruv
Bug Description: attrlist_replace error messages are logged because the
list of values contains duplicate attributes
Fix Description: the duplicate values can appear because when a replica
is removed from the ruv the array is compacted, but
memcpy is used instead of memmove
https://fedorahosted.org/389/ticket/48283
Reviewed by: Rich, Thanks
diff --git a/ldap/servers/slapd/dl.c b/ldap/servers/slapd/dl.c
index 8233519..c6858f3 100644
--- a/ldap/servers/slapd/dl.c
+++ b/ldap/servers/slapd/dl.c
@@ -219,7 +219,7 @@ void *dl_delete (DataList *dl, const void *element, CMPFN cmpfn, FREEFN freefn)
if (i != dl->element_count - 1)
{
- memcpy (&dl->elements[i], &dl->elements[i+1], (dl->element_count - i - 1) * sizeof (void*));
+ memmove (&dl->elements[i], &dl->elements[i+1], (dl->element_count - i - 1) * sizeof (void*));
}
dl->element_count --;
7 years, 8 months
ldap/servers
by Ludwig Krispenz
ldap/servers/slapd/dl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 2853143479686b5e1cca69c96836a4ad54b6832e
Author: Ludwig Krispenz <lkrispen(a)redhat.com>
Date: Tue Sep 22 17:51:35 2015 +0200
Ticket 48283 - many attrlist_replace errors in connection with cleanallruv
Bug Description: attrlist_replace error messages are logged because the
list of values contains duplicate attributes
Fix Description: the duplicate values can appear because when a replica
is removed from the ruv the array is compacted, but
memcpy is used instead of memmove
https://fedorahosted.org/389/ticket/48283
Reviewed by: Rich, Thanks
diff --git a/ldap/servers/slapd/dl.c b/ldap/servers/slapd/dl.c
index 8233519..c6858f3 100644
--- a/ldap/servers/slapd/dl.c
+++ b/ldap/servers/slapd/dl.c
@@ -219,7 +219,7 @@ void *dl_delete (DataList *dl, const void *element, CMPFN cmpfn, FREEFN freefn)
if (i != dl->element_count - 1)
{
- memcpy (&dl->elements[i], &dl->elements[i+1], (dl->element_count - i - 1) * sizeof (void*));
+ memmove (&dl->elements[i], &dl->elements[i+1], (dl->element_count - i - 1) * sizeof (void*));
}
dl->element_count --;
7 years, 8 months
2 commits - Makefile.am Makefile.in
by Noriko Hosoi
Makefile.am | 62 ++++++++++++++++++++++++++++++------------------------------
Makefile.in | 62 ++++++++++++++++++++++++++++++------------------------------
2 files changed, 62 insertions(+), 62 deletions(-)
New commits:
commit 32cdd82399fc5cf2184a3eaccc73bcd23d4bb21c
Author: Noriko Hosoi <nhosoi(a)redhat.com>
Date: Wed Sep 23 12:27:16 2015 -0700
Commit the derived file (Makefile.in) from the previous commit.
commit 3c827508f8e177992010011305f78da3b3ab3b25
Fix out of tree build
Signed-off-by: Simo Sorce <simo(a)redhat.com>
diff --git a/Makefile.in b/Makefile.in
index af69b68..d02c686 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1851,37 +1851,37 @@ dist_noinst_HEADERS = \
$(NULL)
dist_noinst_DATA = \
- buildnum.pl \
- dirsrv.pc.in \
- ldap/admin/src/*.pl \
- ldap/admin/src/*.in \
- ldap/admin/src/scripts/*.in \
- ldap/admin/src/scripts/*.ldif \
- ldap/admin/src/scripts/*.pl \
- ldap/admin/src/scripts/*.pm \
- ldap/admin/src/scripts/*.py \
- ldap/admin/src/scripts/*.sh \
- ldap/admin/src/scripts/migrate-ds.res \
- ldap/ldif/*.in \
- ldap/ldif/*.ldif \
- ldap/schema/*ldif \
- ldap/schema/slapd-collations.conf \
- ldap/servers/slapd/mkDBErrStrs.pl \
- ldap/servers/slapd/tools/rsearch/scripts/dbgen* \
- ldap/servers/snmp/ldap-agent.conf \
- ldap/servers/snmp/redhat-directory.mib \
- lib/ldaputil/certmap.conf \
- m4 \
- rpm/389-ds-base.spec.in \
- rpm/389-ds-base-devel.README \
- rpm/389-ds-base-git.sh \
- selinux \
- README \
- LICENSE \
- LICENSE.* \
- VERSION.sh \
- wrappers/*.in \
- wrappers/systemd.template.sysconfig \
+ $(srcdir)/buildnum.pl \
+ $(srcdir)/dirsrv.pc.in \
+ $(srcdir)/ldap/admin/src/*.pl \
+ $(srcdir)/ldap/admin/src/*.in \
+ $(srcdir)/ldap/admin/src/scripts/*.in \
+ $(srcdir)/ldap/admin/src/scripts/*.ldif \
+ $(srcdir)/ldap/admin/src/scripts/*.pl \
+ $(srcdir)/ldap/admin/src/scripts/*.pm \
+ $(srcdir)/ldap/admin/src/scripts/*.py \
+ $(srcdir)/ldap/admin/src/scripts/*.sh \
+ $(srcdir)/ldap/admin/src/scripts/migrate-ds.res \
+ $(srcdir)/ldap/ldif/*.in \
+ $(srcdir)/ldap/ldif/*.ldif \
+ $(srcdir)/ldap/schema/*.ldif \
+ $(srcdir)/ldap/schema/slapd-collations.conf \
+ $(srcdir)/ldap/servers/slapd/mkDBErrStrs.pl \
+ $(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen* \
+ $(srcdir)/ldap/servers/snmp/ldap-agent.conf \
+ $(srcdir)/ldap/servers/snmp/redhat-directory.mib \
+ $(srcdir)/lib/ldaputil/certmap.conf \
+ $(srcdir)/m4 \
+ $(srcdir)/rpm/389-ds-base.spec.in \
+ $(srcdir)/rpm/389-ds-base-devel.README \
+ $(srcdir)/rpm/389-ds-base-git.sh \
+ $(srcdir)/selinux \
+ $(srcdir)/README \
+ $(srcdir)/LICENSE \
+ $(srcdir)/LICENSE.* \
+ $(srcdir)/VERSION.sh \
+ $(srcdir)/wrappers/*.in \
+ $(srcdir)/wrappers/systemd.template.sysconfig \
$(NULL)
commit 3c827508f8e177992010011305f78da3b3ab3b25
Author: Simo Sorce <simo(a)redhat.com>
Date: Wed Sep 23 15:08:17 2015 -0400
Fix out of tree build
Signed-off-by: Simo Sorce <simo(a)redhat.com>
diff --git a/Makefile.am b/Makefile.am
index 755e215..12a941b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -440,37 +440,37 @@ dist_noinst_HEADERS = \
$(NULL)
dist_noinst_DATA = \
- buildnum.pl \
- dirsrv.pc.in \
- ldap/admin/src/*.pl \
- ldap/admin/src/*.in \
- ldap/admin/src/scripts/*.in \
- ldap/admin/src/scripts/*.ldif \
- ldap/admin/src/scripts/*.pl \
- ldap/admin/src/scripts/*.pm \
- ldap/admin/src/scripts/*.py \
- ldap/admin/src/scripts/*.sh \
- ldap/admin/src/scripts/migrate-ds.res \
- ldap/ldif/*.in \
- ldap/ldif/*.ldif \
- ldap/schema/*ldif \
- ldap/schema/slapd-collations.conf \
- ldap/servers/slapd/mkDBErrStrs.pl \
- ldap/servers/slapd/tools/rsearch/scripts/dbgen* \
- ldap/servers/snmp/ldap-agent.conf \
- ldap/servers/snmp/redhat-directory.mib \
- lib/ldaputil/certmap.conf \
- m4 \
- rpm/389-ds-base.spec.in \
- rpm/389-ds-base-devel.README \
- rpm/389-ds-base-git.sh \
- selinux \
- README \
- LICENSE \
- LICENSE.* \
- VERSION.sh \
- wrappers/*.in \
- wrappers/systemd.template.sysconfig \
+ $(srcdir)/buildnum.pl \
+ $(srcdir)/dirsrv.pc.in \
+ $(srcdir)/ldap/admin/src/*.pl \
+ $(srcdir)/ldap/admin/src/*.in \
+ $(srcdir)/ldap/admin/src/scripts/*.in \
+ $(srcdir)/ldap/admin/src/scripts/*.ldif \
+ $(srcdir)/ldap/admin/src/scripts/*.pl \
+ $(srcdir)/ldap/admin/src/scripts/*.pm \
+ $(srcdir)/ldap/admin/src/scripts/*.py \
+ $(srcdir)/ldap/admin/src/scripts/*.sh \
+ $(srcdir)/ldap/admin/src/scripts/migrate-ds.res \
+ $(srcdir)/ldap/ldif/*.in \
+ $(srcdir)/ldap/ldif/*.ldif \
+ $(srcdir)/ldap/schema/*.ldif \
+ $(srcdir)/ldap/schema/slapd-collations.conf \
+ $(srcdir)/ldap/servers/slapd/mkDBErrStrs.pl \
+ $(srcdir)/ldap/servers/slapd/tools/rsearch/scripts/dbgen* \
+ $(srcdir)/ldap/servers/snmp/ldap-agent.conf \
+ $(srcdir)/ldap/servers/snmp/redhat-directory.mib \
+ $(srcdir)/lib/ldaputil/certmap.conf \
+ $(srcdir)/m4 \
+ $(srcdir)/rpm/389-ds-base.spec.in \
+ $(srcdir)/rpm/389-ds-base-devel.README \
+ $(srcdir)/rpm/389-ds-base-git.sh \
+ $(srcdir)/selinux \
+ $(srcdir)/README \
+ $(srcdir)/LICENSE \
+ $(srcdir)/LICENSE.* \
+ $(srcdir)/VERSION.sh \
+ $(srcdir)/wrappers/*.in \
+ $(srcdir)/wrappers/systemd.template.sysconfig \
$(NULL)
#------------------------
7 years, 8 months
Branch '389-ds-base-1.2.11' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/repl5_replica.c | 1 -
1 file changed, 1 deletion(-)
New commits:
commit 17834f91f7ea6a88be34b0094b53484498142d40
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Sep 22 13:58:38 2015 -0400
Ticket 48266 - do not free repl keep alive entry on error
Description: There is no need to free the "repl keep alive" entry
if any stage of the "add" fails. Otherwise we could
potentially run into a double free.
https://fedorahosted.org/389/ticket/48266
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit e5d9b0c741af1c3ea5e8212148a3ba95ee18925b)
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c
index cb3fdb5..1340b80 100644
--- a/ldap/servers/plugins/replication/repl5_replica.c
+++ b/ldap/servers/plugins/replication/repl5_replica.c
@@ -451,7 +451,6 @@ replica_subentry_create(Slapi_DN *repl_root, ReplicaId rid)
"create replication keep alive entry %s: %s\n", slapi_entry_get_dn_const(e),
ldap_err2string(return_value));
rc = -1;
- slapi_entry_free(e); /* The entry was not consumed */
goto done;
}
7 years, 8 months
Branch '389-ds-base-1.3.3' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/repl5_replica.c | 1 -
1 file changed, 1 deletion(-)
New commits:
commit 77c8001c2a0091ec20f55e996e1975200a4d2df4
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Sep 22 13:58:38 2015 -0400
Ticket 48266 - do not free repl keep alive entry on error
Description: There is no need to free the "repl keep alive" entry
if any stage of the "add" fails. Otherwise we could
potentially run into a double free.
https://fedorahosted.org/389/ticket/48266
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit e5d9b0c741af1c3ea5e8212148a3ba95ee18925b)
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c
index a0c1011..d8aad7b 100644
--- a/ldap/servers/plugins/replication/repl5_replica.c
+++ b/ldap/servers/plugins/replication/repl5_replica.c
@@ -485,7 +485,6 @@ replica_subentry_create(Slapi_DN *repl_root, ReplicaId rid)
"create replication keep alive entry %s: %s\n", slapi_entry_get_dn_const(e),
ldap_err2string(return_value));
rc = -1;
- slapi_entry_free(e); /* The entry was not consumed */
goto done;
}
7 years, 8 months
Branch '389-ds-base-1.3.4' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/repl5_replica.c | 1 -
1 file changed, 1 deletion(-)
New commits:
commit f95e73f620987de9107246b30b28fd463024b61f
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Sep 22 13:58:38 2015 -0400
Ticket 48266 - do not free repl keep alive entry on error
Description: There is no need to free the "repl keep alive" entry
if any stage of the "add" fails. Otherwise we could
potentially run into a double free.
https://fedorahosted.org/389/ticket/48266
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit e5d9b0c741af1c3ea5e8212148a3ba95ee18925b)
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c
index 708008c..8b53f3c 100644
--- a/ldap/servers/plugins/replication/repl5_replica.c
+++ b/ldap/servers/plugins/replication/repl5_replica.c
@@ -456,7 +456,6 @@ replica_subentry_create(Slapi_DN *repl_root, ReplicaId rid)
"create replication keep alive entry %s: %s\n", slapi_entry_get_dn_const(e),
ldap_err2string(return_value));
rc = -1;
- slapi_entry_free(e); /* The entry was not consumed */
goto done;
}
7 years, 8 months
ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/repl5_replica.c | 1 -
1 file changed, 1 deletion(-)
New commits:
commit e5d9b0c741af1c3ea5e8212148a3ba95ee18925b
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Sep 22 13:58:38 2015 -0400
Ticket 48266 - do not free repl keep alive entry on error
Description: There is no need to free the "repl keep alive" entry
if any stage of the "add" fails. Otherwise we could
potentially run into a double free.
https://fedorahosted.org/389/ticket/48266
Reviewed by: nhosoi(Thanks!)
diff --git a/ldap/servers/plugins/replication/repl5_replica.c b/ldap/servers/plugins/replication/repl5_replica.c
index 708008c..8b53f3c 100644
--- a/ldap/servers/plugins/replication/repl5_replica.c
+++ b/ldap/servers/plugins/replication/repl5_replica.c
@@ -456,7 +456,6 @@ replica_subentry_create(Slapi_DN *repl_root, ReplicaId rid)
"create replication keep alive entry %s: %s\n", slapi_entry_get_dn_const(e),
ldap_err2string(return_value));
rc = -1;
- slapi_entry_free(e); /* The entry was not consumed */
goto done;
}
7 years, 8 months
Branch '389-ds-base-1.2.11' - ldap/servers
by Mark Reynolds
ldap/servers/slapd/add.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
New commits:
commit 82b4347bf7f8b29bd5e3e7734daa4aaa465fa57c
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Tue Sep 22 13:41:06 2015 -0400
Ticket 48284 - free entry when internal add fails
Bug Description: The entry passed to an internal add operaton is expected
to be consumed, but it is not freed during an internal
add when setting slapi_add_internal_pb() returns an error.
Fix Description: Free the entry in slapi_add_internal_pb() when the operation
is not allowed.
https://fedorahosted.org/389/ticket/48284
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit 622be8bfbc942fe100b8880df72db26e99e1c954)
diff --git a/ldap/servers/slapd/add.c b/ldap/servers/slapd/add.c
index 37060df..0198b1c 100644
--- a/ldap/servers/slapd/add.c
+++ b/ldap/servers/slapd/add.c
@@ -348,6 +348,12 @@ int slapi_add_internal_pb (Slapi_PBlock *pb)
if (!allow_operation (pb))
{
+ /* free the entry as it's expected to be consumed */
+ Slapi_Entry *e;
+ slapi_pblock_get(pb, SLAPI_ADD_ENTRY, &e);
+ slapi_pblock_set(pb, SLAPI_ADD_ENTRY, NULL);
+ slapi_entry_free(e);
+
slapi_send_ldap_result( pb, LDAP_UNWILLING_TO_PERFORM, NULL,
"This plugin is not configured to access operation target data", 0, NULL );
return 0;
@@ -707,8 +713,8 @@ static void op_shared_add (Slapi_PBlock *pb)
slapi_pblock_get(pb, SLAPI_ENTRY_POST_OP, &pse);
do_ps_service(pse, NULL, LDAP_CHANGETYPE_ADD, 0);
/*
- * If be_add succeeded, then e is consumed except the resurect case.
- * If it is resurect, the corresponding tombstone entry is resurected
+ * If be_add succeeded, then e is consumed except the resurrect case.
+ * If it is resurrect, the corresponding tombstone entry is resurrected
* and put into the cache.
* Otherwise, we set e to NULL to prevent freeing it ourselves.
*/
7 years, 8 months