VERSION.sh | 2 +-
ldap/servers/plugins/referint/referint.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
New commits:
commit eefd478c8b9fa3708ef760fd3f578d717b21dd12
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Wed Jul 18 21:06:09 2012 -0600
bump version to 1.2.10.14
diff --git a/VERSION.sh b/VERSION.sh
index 7ddc2b8..3e3290e 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -10,7 +10,7 @@ vendor="389 Project"
# PACKAGE_VERSION is constructed from these
VERSION_MAJOR=1
VERSION_MINOR=2
-VERSION_MAINT=10.13
+VERSION_MAINT=10.14
# if this is a PRERELEASE, set VERSION_PREREL
# otherwise, comment it out
# be sure to include the dot prefix in the prerel
commit 6773187e7e19a7bfdfda62475813a2fe9bba1044
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Wed Jul 18 15:19:35 2012 -0600
Ticket #410 - Referential integrity plug-in does not work when update interval is not
zero
https://fedorahosted.org/389/ticket/410
Resolves: Ticket #410
Bug Description: Referential integrity plug-in does not work when update interval is
not zero
Reviewed by: nhosoi (Thanks!)
Branch: 389-ds-base-1.2.11
Fix Description: Checking for newsuperior == NULL is not sufficient - also
have to check for slapi_sdn_get_dn(newsuperior) == NULL as well. Otherwise
we write the string "(null)" to the referint log and that blows up the code
that attempt to apply the change.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
diff --git a/ldap/servers/plugins/referint/referint.c
b/ldap/servers/plugins/referint/referint.c
index 3c973d3..d1a46f0 100644
--- a/ldap/servers/plugins/referint/referint.c
+++ b/ldap/servers/plugins/referint/referint.c
@@ -1114,6 +1114,8 @@ writeintegritylog(char *logfilename, Slapi_DN *sdn,
char buffer[MAX_LINE];
int len_to_write = 0;
int rc;
+ const char *newsuperiordn = NULL;
+
/* write this record to the file */
/* use this lock to protect file data when update integrity is occuring */
@@ -1147,7 +1149,8 @@ writeintegritylog(char *logfilename, Slapi_DN *sdn,
/* add the length of the newrdn */
len_to_write += strlen(newrdn);
}
- if(NULL == newsuperior)
+ newsuperiordn = slapi_sdn_get_dn(newsuperior);
+ if(NULL == newsuperiordn)
{
/* add the length of "NULL" */
len_to_write += 4;
@@ -1166,8 +1169,7 @@ writeintegritylog(char *logfilename, Slapi_DN *sdn,
PR_snprintf(buffer, MAX_LINE, "%s\t%s\t%s\t\n",
slapi_sdn_get_dn(sdn),
(newrdn != NULL) ? newrdn : "NULL",
- (newsuperior != NULL) ? slapi_sdn_get_dn(newsuperior) :
- "NULL");
+ (newsuperiordn != NULL) ? newsuperiordn : "NULL");
if (PR_Write(prfd,buffer,strlen(buffer)) < 0){
slapi_log_error(SLAPI_LOG_FATAL,REFERINT_PLUGIN_SUBSYSTEM,
" writeintegritylog: PR_Write failed : The disk"