# File lib/protocols/saslauth.rb, line 93 93: def receive_data data 94: @sasl_data << data 95: while @sasl_data.length >= 2 96: len = (@sasl_data[0,2].unpack("n")).first 97: raise "SASL Max Field Length exceeded" if len > MaxFieldSize 98: if @sasl_data.length >= (len + 2) 99: @sasl_values << @sasl_data[2,len] 100: @sasl_data.slice!(0...(2+len)) 101: if @sasl_values.length == 4 102: send_data( validate(*@sasl_values) ? "\0\002OK" : "\0\002NO" ) 103: @sasl_values.clear 104: end 105: else 106: break 107: end 108: end 109: end