@@ -42,7 +42,7 @@ def close
4242  end 
4343
4444  def  self . wrap_with_ssl ( io ,  tls_options  =  { } ) 
45-     raise  Net ::LDAP ::Error ,  "OpenSSL is unavailable"  unless  Net ::LDAP ::HasOpenSSL 
45+     raise  Net ::LDAP ::NoOpenSSLError ,  "OpenSSL is unavailable"  unless  Net ::LDAP ::HasOpenSSL 
4646
4747    ctx  =  OpenSSL ::SSL ::SSLContext . new 
4848
@@ -105,16 +105,16 @@ def setup_encryption(args)
105105      pdu  =  queued_read ( message_id ) 
106106
107107      if  pdu . nil?  || pdu . app_tag  != Net ::LDAP ::PDU ::ExtendedResponse 
108-         raise  Net ::LDAP ::Error ,  "no start_tls result" 
108+         raise  Net ::LDAP ::NoStartTLSResultError ,  "no start_tls result" 
109109      end 
110110
111111      if  pdu . result_code . zero? 
112112        @conn  =  self . class . wrap_with_ssl ( @conn ,  args [ :tls_options ] ) 
113113      else 
114-         raise  Net ::LDAP ::Error ,  "start_tls failed: #{ pdu . result_code }  " 
114+         raise  Net ::LDAP ::StartTlSError ,  "start_tls failed: #{ pdu . result_code }  " 
115115      end 
116116    else 
117-       raise  Net ::LDAP ::Error ,  "unsupported encryption method #{ args [ :method ] }  " 
117+       raise  Net ::LDAP ::EncMethodUnsupportedError ,  "unsupported encryption method #{ args [ :method ] }  " 
118118    end 
119119  end 
120120
@@ -225,7 +225,7 @@ def bind(auth)
225225      elsif  meth  == :gss_spnego 
226226        bind_gss_spnego ( auth ) 
227227      else 
228-         raise  Net ::LDAP ::Error ,  "Unsupported auth method (#{ meth }  )" 
228+         raise  Net ::LDAP ::AuthMethodUnsupportedError ,  "Unsupported auth method (#{ meth }  )" 
229229      end 
230230    end 
231231  end 
@@ -241,7 +241,7 @@ def bind_simple(auth)
241241                  [ "" ,  "" ] 
242242                end 
243243
244-     raise  Net ::LDAP ::Error ,  "Invalid binding information"  unless  ( user  && psw ) 
244+     raise  Net ::LDAP ::BindingInformationInvalidError ,  "Invalid binding information"  unless  ( user  && psw ) 
245245
246246    message_id  =  next_msgid 
247247    request     =  [ 
@@ -253,7 +253,7 @@ def bind_simple(auth)
253253    pdu  =  queued_read ( message_id ) 
254254
255255    if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::BindResult 
256-       raise  Net ::LDAP ::Error ,  "no bind result" 
256+       raise  Net ::LDAP ::NoBindResultError ,  "no bind result" 
257257    end 
258258
259259    pdu 
@@ -283,7 +283,7 @@ def bind_simple(auth)
283283  def  bind_sasl ( auth ) 
284284    mech ,  cred ,  chall  =  auth [ :mechanism ] ,  auth [ :initial_credential ] , 
285285      auth [ :challenge_response ] 
286-     raise  Net ::LDAP ::Error ,  "Invalid binding information"  unless  ( mech  && cred  && chall ) 
286+     raise  Net ::LDAP ::BindingInformationInvalidError ,  "Invalid binding information"  unless  ( mech  && cred  && chall ) 
287287
288288    message_id  =  next_msgid 
289289
@@ -298,16 +298,16 @@ def bind_sasl(auth)
298298      pdu  =  queued_read ( message_id ) 
299299
300300      if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::BindResult 
301-         raise  Net ::LDAP ::Error ,  "no bind result" 
301+         raise  Net ::LDAP ::NoBindResultError ,  "no bind result" 
302302      end 
303303
304304      return  pdu  unless  pdu . result_code  == Net ::LDAP ::ResultCodeSaslBindInProgress 
305-       raise  Net ::LDAP ::Error ,  "sasl-challenge overflow"  if  ( ( n  += 1 )  > MaxSaslChallenges ) 
305+       raise  Net ::LDAP ::SASLChallengeOverflowError ,  "sasl-challenge overflow"  if  ( ( n  += 1 )  > MaxSaslChallenges ) 
306306
307307      cred  =  chall . call ( pdu . result_server_sasl_creds ) 
308308    } 
309309
310-     raise  Net ::LDAP ::Error ,  "why are we here?" 
310+     raise  Net ::LDAP ::SASLChallengeOverflowError ,  "why are we here?" 
311311  end 
312312  private  :bind_sasl 
313313
@@ -326,7 +326,7 @@ def bind_gss_spnego(auth)
326326    require  'ntlm' 
327327
328328    user ,  psw  =  [ auth [ :username ]  || auth [ :dn ] ,  auth [ :password ] ] 
329-     raise  Net ::LDAP ::Error ,  "Invalid binding information"  unless  ( user  && psw ) 
329+     raise  Net ::LDAP ::BindingInformationInvalidError ,  "Invalid binding information"  unless  ( user  && psw ) 
330330
331331    nego  =  proc  {  |challenge |
332332      t2_msg  =  NTLM ::Message . parse ( challenge ) 
@@ -412,9 +412,9 @@ def search(args = nil)
412412    sort    =  args . fetch ( :sort_controls ,  false ) 
413413
414414    # arg validation 
415-     raise  Net ::LDAP ::Error ,  "search base is required"  unless  base 
416-     raise  Net ::LDAP ::Error ,  "invalid search-size"  unless  size  >= 0 
417-     raise  Net ::LDAP ::Error ,  "invalid search scope"  unless  Net ::LDAP ::SearchScopes . include? ( scope ) 
415+     raise  Net ::LDAP ::NoSearchBaseError ,  "search base is required"  unless  base 
416+     raise  Net ::LDAP ::SearchSizeInvalidError ,  "invalid search-size"  unless  size  >= 0 
417+     raise  Net ::LDAP ::SearchScopeInvalidError ,  "invalid search scope"  unless  Net ::LDAP ::SearchScopes . include? ( scope ) 
418418    raise  Net ::LDAP ::Error ,  "invalid alias dereferencing value"  unless  Net ::LDAP ::DerefAliasesArray . include? ( deref ) 
419419
420420    # arg transforms 
@@ -527,7 +527,7 @@ def search(args = nil)
527527            end 
528528            break 
529529          else 
530-             raise  Net ::LDAP ::Error ,  "invalid response-type in search: #{ pdu . app_tag }  " 
530+             raise  Net ::LDAP ::ResponseTypeInvalidError ,  "invalid response-type in search: #{ pdu . app_tag }  " 
531531          end 
532532        end 
533533
@@ -624,7 +624,7 @@ def modify(args)
624624    pdu  =  queued_read ( message_id ) 
625625
626626    if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::ModifyResponse 
627-       raise  Net ::LDAP ::Error ,  "response missing or invalid" 
627+       raise  Net ::LDAP ::ResponseMissingOrInvalidError ,  "response missing or invalid" 
628628    end 
629629
630630    pdu 
@@ -638,7 +638,7 @@ def modify(args)
638638  # to the error message and the matched-DN returned by the server. 
639639  #++ 
640640  def  add ( args ) 
641-     add_dn  =  args [ :dn ]  or  raise  Net ::LDAP ::Error ,  "Unable to add empty DN" 
641+     add_dn  =  args [ :dn ]  or  raise  Net ::LDAP ::EmptyDNError ,  "Unable to add empty DN" 
642642    add_attrs  =  [ ] 
643643    a  =  args [ :attributes ]  and  a . each  {  |k ,  v |
644644      add_attrs  << [  k . to_s . to_ber ,  Array ( v ) . map  {  |m | m . to_ber } . to_ber_set  ] . to_ber_sequence 
@@ -651,7 +651,7 @@ def add(args)
651651    pdu  =  queued_read ( message_id ) 
652652
653653    if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::AddResponse 
654-       raise  Net ::LDAP ::Error ,  "response missing or invalid" 
654+       raise  Net ::LDAP ::ResponseMissingError ,  "response missing or invalid" 
655655    end 
656656
657657    pdu 
@@ -674,7 +674,7 @@ def rename(args)
674674    pdu  =  queued_read ( message_id ) 
675675
676676    if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::ModifyRDNResponse 
677-       raise  Net ::LDAP ::Error . new  "response missing or invalid" 
677+       raise  Net ::LDAP ::ResponseMissingOrInvalidError . new  "response missing or invalid" 
678678    end 
679679
680680    pdu 
@@ -693,7 +693,7 @@ def delete(args)
693693    pdu  =  queued_read ( message_id ) 
694694
695695    if  !pdu  || pdu . app_tag  != Net ::LDAP ::PDU ::DeleteResponse 
696-       raise  Net ::LDAP ::Error ,  "response missing or invalid" 
696+       raise  Net ::LDAP ::ResponseMissingOrInvalidError ,  "response missing or invalid" 
697697    end 
698698
699699    pdu 
0 commit comments