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