@@ -519,15 +519,17 @@ def self.open(args)
519519  # response codes instead of a simple numeric code. 
520520  #++ 
521521  def  get_operation_result 
522+     result  =  @result 
523+     result  =  result . result  if  result . is_a? ( Net ::LDAP ::PDU ) 
522524    os  =  OpenStruct . new 
523-     if  @ result. is_a? ( Hash ) 
525+     if  result . is_a? ( Hash ) 
524526      # We might get a hash of LDAP response codes instead of a simple 
525527      # numeric code. 
526-       os . code  =  ( @ result[ :resultCode ]  || "" ) . to_i 
527-       os . error_message  =  @ result[ :errorMessage ] 
528-       os . matched_dn  =  @ result[ :matchedDN ] 
529-     elsif  @ result
530-       os . code  =  @ result
528+       os . code  =  ( result [ :resultCode ]  || "" ) . to_i 
529+       os . error_message  =  result [ :errorMessage ] 
530+       os . matched_dn  =  result [ :matchedDN ] 
531+     elsif  result 
532+       os . code  =  result 
531533    else 
532534      os . code  =  0 
533535    end 
@@ -649,7 +651,7 @@ def search(args = {})
649651    if  return_result_set 
650652      ( !@result . nil?  && @result . result_code  == 0 )  ? result_set  : nil 
651653    else 
652-       @result 
654+       @result . success? 
653655    end 
654656  end 
655657
@@ -723,7 +725,7 @@ def bind(auth = @auth)
723725      end 
724726    end 
725727
726-     @result 
728+     @result . success? 
727729  end 
728730
729731  # #bind_as is for testing authentication credentials. 
@@ -825,7 +827,7 @@ def add(args)
825827        conn . close  if  conn 
826828      end 
827829    end 
828-     @result 
830+     @result . success? 
829831  end 
830832
831833  # Modifies the attribute values of a particular entry on the LDAP 
@@ -924,7 +926,7 @@ def modify(args)
924926      end 
925927    end 
926928
927-     @result 
929+     @result . success? 
928930  end 
929931
930932  # Add a value to an attribute. Takes the full DN of the entry to modify, 
@@ -995,7 +997,7 @@ def rename(args)
995997        conn . close  if  conn 
996998      end 
997999    end 
998-     @result 
1000+     @result . success? 
9991001  end 
10001002  alias_method  :modify_rdn ,  :rename 
10011003
@@ -1023,7 +1025,7 @@ def delete(args)
10231025        conn . close 
10241026      end 
10251027    end 
1026-     @result 
1028+     @result . success? 
10271029  end 
10281030
10291031  # Delete an entry from the LDAP directory along with all subordinate entries. 
0 commit comments