Method: Net::LDAP::Connection#rename

Defined in:
lib/net/ldap.rb

#rename(args) ⇒ Object

– rename TODO, need to support a time limit, in case the server fails to respond.



1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
# File 'lib/net/ldap.rb', line 1275

def rename args
  old_dn = args[:olddn] or raise "Unable to rename empty DN"
  new_rdn = args[:newrdn] or raise "Unable to rename to empty RDN"
  delete_attrs = args[:delete_attributes] ? true : false

  request = [old_dn.to_ber, new_rdn.to_ber, delete_attrs.to_ber].to_ber_appsequence(12)
  pkt = [next_msgid.to_ber, request].to_ber_sequence
  @conn.write pkt

  (be = @conn.read_ber(AsnSyntax)) && (pdu = LdapPdu.new( be )) && (pdu.app_tag == 13) or raise LdapError.new( "response missing or invalid" )
  pdu.result_code
end