Skip to content
Snippets Groups Projects
Commit 9d6c0aa0 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Allow replace with no values

	dn: cn=foo
	changetype: modify
	replace: bar
	-
parent 5c5be8a2
No related branches found
No related tags found
No related merge requests found
......@@ -463,6 +463,7 @@ process_ldif_rec( char *rbuf, int count )
goto end_line;
} else if ( strcasecmp( type, T_MODOPREPLACESTR ) == 0 ) {
modop = LDAP_MOD_REPLACE;
addmodifyop( &pmods, modop, value, NULL, 0 );
goto end_line;
} else if ( strcasecmp( type, T_MODOPDELETESTR ) == 0 ) {
modop = LDAP_MOD_DELETE;
......
......@@ -124,6 +124,9 @@ do_modify(
(*modtail)->ml_op != LDAP_MOD_DELETE &&
(*modtail)->ml_op != LDAP_MOD_REPLACE )
{
Debug( LDAP_DEBUG_ANY,
"do_modify: invalid modify operation (%ld)\n",
(long) (*modtail)->ml_op, 0, 0 );
send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR,
NULL, "unrecognized modify operation", NULL, NULL );
free( ndn );
......@@ -131,11 +134,16 @@ do_modify(
return LDAP_PROTOCOL_ERROR;
}
if ( (*modtail)->ml_bvalues == NULL
&& (*modtail)->ml_op != LDAP_MOD_DELETE )
if ( (*modtail)->ml_bvalues == NULL && (
(*modtail)->ml_op != LDAP_MOD_REPLACE &&
(*modtail)->ml_op != LDAP_MOD_DELETE ) )
{
Debug( LDAP_DEBUG_ANY,
"do_modify: invalid modify operation (%ld) without values\n",
(long) (*modtail)->ml_op, 0, 0 );
send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR,
NULL, "unrecognized modify operation", NULL, NULL );
NULL, "unrecognized modify operation without values",
NULL, NULL );
free( ndn );
modlist_free( modlist );
return LDAP_PROTOCOL_ERROR;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment