From a2911a41d2bc26acdefb7807b20edd3fe7cc7e86 Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Wed, 19 Nov 2008 21:11:21 +0000
Subject: [PATCH] ITS#5819

---
 CHANGES                      |  1 +
 servers/slapd/schema_check.c | 13 +++++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/CHANGES b/CHANGES
index feb79089ea..4752b57b34 100644
--- a/CHANGES
+++ b/CHANGES
@@ -25,6 +25,7 @@ OpenLDAP 2.4.13 Release (2008/11/20)
 	Fixed slapd parsing of read entry control (ITS#5741)
 	Added slapd PMI schema (ITS#5695)
 	Added slapd private databases in global overlays (ITS#5735,ITS#5736)
+	Fixed slapd rdn generation when it isn't specified (ITS#5819)
 	Fixed slapd slapd.conf validation to LDIF (ITS#5755)
 	Fixed slapd startup scan for CSN (ITS#5640)
 	Fixed slapd statslog printing of released entry (ITS#5775)
diff --git a/servers/slapd/schema_check.c b/servers/slapd/schema_check.c
index ca0f730980..eba6e707dd 100644
--- a/servers/slapd/schema_check.c
+++ b/servers/slapd/schema_check.c
@@ -880,11 +880,13 @@ entry_naming_check(
 						ava->la_attr.bv_val );
 					break;
 				case LDAP_NO_SUCH_ATTRIBUTE:
-					snprintf( textbuf, textlen, 
-						"value of naming attribute '%s' is not present in entry",
-						ava->la_attr.bv_val );
 					if ( add_naming ) {
 						add = 1;
+						rc = LDAP_SUCCESS;
+					} else {
+						snprintf( textbuf, textlen, 
+							"value of naming attribute '%s' is not present in entry",
+							ava->la_attr.bv_val );
 					}
 					break;
 				default:
@@ -892,7 +894,10 @@ entry_naming_check(
 						"naming attribute '%s' is inappropriate",
 						ava->la_attr.bv_val );
 				}
-				rc = LDAP_NAMING_VIOLATION;
+
+				if ( !add ) {
+					rc = LDAP_NAMING_VIOLATION;
+				}
 			}
 		}
 
-- 
GitLab