Class: Net::SSH::Kerberos::Drivers::GSS::API::GssResult
- Inherits:
-
Object
- Object
- Net::SSH::Kerberos::Drivers::GSS::API::GssResult
- Defined in:
- lib/net/ssh/kerberos/drivers/gss.rb
Instance Method Summary collapse
- #calling_error ⇒ Object
- #complete? ⇒ Boolean
- #failure? ⇒ Boolean
- #incomplete? ⇒ Boolean
-
#initialize(code, minor = nil) ⇒ GssResult
constructor
A new instance of GssResult.
- #major ⇒ Object
- #ok? ⇒ Boolean
- #routine_error ⇒ Object
- #status ⇒ Object
- #temporary_failure? ⇒ Boolean
- #to_i ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(code, minor = nil) ⇒ GssResult
Returns a new instance of GssResult.
134 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 134 def initialize(code, minor=nil) @value, @minor = code, minor end |
Instance Method Details
#calling_error ⇒ Object
146 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 146 def calling_error; (@value >> 24) & 0x000000ff end |
#complete? ⇒ Boolean
136 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 136 def complete?; status.zero? end |
#failure? ⇒ Boolean
138 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 138 def failure?; major.nonzero? end |
#incomplete? ⇒ Boolean
137 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 137 def incomplete?; false end |
#major ⇒ Object
144 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 144 def major; (@value >> 16) & 0x0000ffff end |
#ok? ⇒ Boolean
135 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 135 def ok?; major.zero? end |
#routine_error ⇒ Object
147 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 147 def routine_error; (@value >> 16) & 0x000000ff end |
#status ⇒ Object
145 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 145 def status; @value & 0x0000ffff end |
#temporary_failure? ⇒ Boolean
139 140 141 142 143 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 139 def temporary_failure? routine_error==GSS_S_CREDENTIALS_EXPIRED || routine_error==GSS_S_CONTEXT_EXPIRED || routine_error==GSS_S_UNAVAILABLE end |
#to_i ⇒ Object
148 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 148 def to_i; @value end |
#to_s ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 149 def to_s orig_retval, orig_args = API._retval_, API._args_ begin msgctx, msgbuff, msglist = 0, API::GssBuffer.malloc, [] begin result = API.gss_display_status @value, GSS_C_GSS_CODE, GSS_C_NO_OID, msgctx, msgbuff result.ok? or return 'unknown' msgctx = API._args_[3] msglist << msgbuff.to_s API.gss_release_buffer msgbuff end until msgctx.zero? msglist.empty? ? 'ok' : msglist.join(', ') ensure API.instance_eval { @retval = orig_retval; @args = orig_args } end end |