@@ -523,15 +523,17 @@ def self.open(args)
523523  # response codes instead of a simple numeric code. 
524524  #++ 
525525  def  get_operation_result 
526+     result  =  @result 
527+     result  =  result . result  if  result . is_a? ( Net ::LDAP ::PDU ) 
526528    os  =  OpenStruct . new 
527-     if  @ result. is_a? ( Hash ) 
529+     if  result . is_a? ( Hash ) 
528530      # We might get a hash of LDAP response codes instead of a simple 
529531      # numeric code. 
530-       os . code  =  ( @ result[ :resultCode ]  || "" ) . to_i 
531-       os . error_message  =  @ result[ :errorMessage ] 
532-       os . matched_dn  =  @ result[ :matchedDN ] 
533-     elsif  @ result
534-       os . code  =  @ result
532+       os . code  =  ( result [ :resultCode ]  || "" ) . to_i 
533+       os . error_message  =  result [ :errorMessage ] 
534+       os . matched_dn  =  result [ :matchedDN ] 
535+     elsif  result 
536+       os . code  =  result 
535537    else 
536538      os . code  =  0 
537539    end 
@@ -653,7 +655,7 @@ def search(args = {})
653655    if  return_result_set 
654656      ( !@result . nil?  && @result . result_code  == 0 )  ? result_set  : nil 
655657    else 
656-       @result 
658+       @result . success? 
657659    end 
658660  end 
659661
@@ -727,7 +729,7 @@ def bind(auth = @auth)
727729      end 
728730    end 
729731
730-     @result 
732+     @result . success? 
731733  end 
732734
733735  # #bind_as is for testing authentication credentials. 
@@ -829,7 +831,7 @@ def add(args)
829831        conn . close  if  conn 
830832      end 
831833    end 
832-     @result 
834+     @result . success? 
833835  end 
834836
835837  # Modifies the attribute values of a particular entry on the LDAP 
@@ -928,7 +930,7 @@ def modify(args)
928930      end 
929931    end 
930932
931-     @result 
933+     @result . success? 
932934  end 
933935
934936  # Add a value to an attribute. Takes the full DN of the entry to modify, 
@@ -999,7 +1001,7 @@ def rename(args)
9991001        conn . close  if  conn 
10001002      end 
10011003    end 
1002-     @result 
1004+     @result . success? 
10031005  end 
10041006  alias_method  :modify_rdn ,  :rename 
10051007
@@ -1027,7 +1029,7 @@ def delete(args)
10271029        conn . close 
10281030      end 
10291031    end 
1030-     @result 
1032+     @result . success? 
10311033  end 
10321034
10331035  # Delete an entry from the LDAP directory along with all subordinate entries. 
0 commit comments