# Method Protocols.LDAP.client()->modify()

Method modify

  `int modify(string dn, mapping(string:array(int(0..2)|string)) attropval)`

Description

  The Modify Operation allows a client to request that a modification of an entry be performed on its behalf by a server.

Parameter `dn`

  The distinguished name of modified entry.

Parameter `attropval`

  The mapping of attributes with requested operation and attribute's values.

  attropval=([ attribute: ({operation, value1, value2, ...}) ])

Where operation is one of the following:

Protocols.LDAP.MODIFY_ADD

  Add values listed to the given attribute, creating the attribute if necessary.

Protocols.LDAP.MODIFY_DELETE

  Delete values listed from the given attribute, removing the entire attribute if no values are listed, or if all current values of the attribute are listed for deletion.

Protocols.LDAP.MODIFY_REPLACE

  Replace all existing values of the given attribute with the new values listed, creating the attribute if it did not already exist. A replace with no value will delete the entire attribute if it exists, and is ignored if the attribute does not exist.

Values that are sent UTF-8 encoded according the the attribute syntaxes are encoded automatically.

Returns

  Returns `1` on success, `0` otherwise.

Note

  The API change: the returning code was changed in Pike 7.3+ to follow his logic better.