Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
24b2774f
Commit
24b2774f
authored
Aug 08, 2007
by
Pierangelo Masarati
Browse files
import fix to ITS#5079
parent
57a5ad96
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
24b2774f
...
...
@@ -7,6 +7,7 @@ OpenLDAP 2.3.38 Engineering
Fixed slapd select_backend/ManageDSAit (ITS#4986)
Fixed slapd-bdb missing index warning (ITS#5037)
Fixed slapd-bdb Quick index for ID 0 (ITS#5052)
Fixed slapd-bdb spurious empty DN warnings during add (ITS#5079)
Fixed slapd-relay configuration (ITS#4322,ITS#4340)
Fixed slapo-syncprov uninit'd vars (ITS#5048,#5049)
Fixed libldap ldap_add_result_entry (ITS#5056)
...
...
servers/slapd/back-bdb/add.c
View file @
24b2774f
...
...
@@ -201,39 +201,41 @@ retry: /* transaction retry */
goto
return_results
;;
}
if
(
is_entry_subentry
(
p
)
)
{
/* parent is a subentry, don't allow add */
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is subentry
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_OBJECT_CLASS_VIOLATION
;
rs
->
sr_text
=
"parent is a subentry"
;
goto
return_results
;;
}
if
(
is_entry_alias
(
p
)
)
{
/* parent is an alias, don't allow add */
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is alias
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_ALIAS_PROBLEM
;
rs
->
sr_text
=
"parent is an alias"
;
goto
return_results
;;
}
if
(
is_entry_referral
(
p
)
)
{
/* parent is a referral, don't allow add */
rs
->
sr_matched
=
ber_strdup_x
(
p
->
e_name
.
bv_val
,
op
->
o_tmpmemctx
);
rs
->
sr_ref
=
get_entry_referrals
(
op
,
p
);
bdb_unlocked_cache_return_entry_r
(
&
bdb
->
bi_cache
,
p
);
p
=
NULL
;
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is referral
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_REFERRAL
;
rs
->
sr_flags
=
REP_MATCHED_MUSTBEFREED
|
REP_REF_MUSTBEFREED
;
goto
return_results
;
if
(
p
!=
(
Entry
*
)
&
slap_entry_root
)
{
if
(
is_entry_subentry
(
p
)
)
{
/* parent is a subentry, don't allow add */
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is subentry
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_OBJECT_CLASS_VIOLATION
;
rs
->
sr_text
=
"parent is a subentry"
;
goto
return_results
;;
}
if
(
is_entry_alias
(
p
)
)
{
/* parent is an alias, don't allow add */
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is alias
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_ALIAS_PROBLEM
;
rs
->
sr_text
=
"parent is an alias"
;
goto
return_results
;;
}
if
(
is_entry_referral
(
p
)
)
{
/* parent is a referral, don't allow add */
rs
->
sr_matched
=
ber_strdup_x
(
p
->
e_name
.
bv_val
,
op
->
o_tmpmemctx
);
rs
->
sr_ref
=
get_entry_referrals
(
op
,
p
);
bdb_unlocked_cache_return_entry_r
(
&
bdb
->
bi_cache
,
p
);
p
=
NULL
;
Debug
(
LDAP_DEBUG_TRACE
,
LDAP_XSTRING
(
bdb_add
)
": parent is referral
\n
"
,
0
,
0
,
0
);
rs
->
sr_err
=
LDAP_REFERRAL
;
rs
->
sr_flags
=
REP_MATCHED_MUSTBEFREED
|
REP_REF_MUSTBEFREED
;
goto
return_results
;
}
}
if
(
subentry
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment