static void HandleAuthCodePacket(Client c, string authCode)
{
MySqlCommand q = new MySqlCommand("SELECT AuthType, Value FROM authcodes WHERE (User=@Username) AND Value=@Value;", SQL);
q.Parameters.AddWithValue("@Username", c.Value.Username);
q.Parameters.AddWithValue("@Value", authCode);
MySqlDataReader r = q.ExecuteReader();
bool read = r.Read() && r.HasRows;
if (read)
{
AuthType authType = (AuthType) r.GetByte("AuthType");
r.Close();
q.CommandText = "DELETE FROM `authcodes` WHERE `Value`=@Value AND `User`=@Username LIMIT 1;";
bool success = q.ExecuteNonQuery() != 0;
byte[] data = Packer.Serialize((byte) ServerPacket.AuthResponse,(byte)authType, success);
c.Send(data);
}
else
{
byte[] data = Packer.Serialize((byte) ServerPacket.AuthResponse, (byte)AuthType.Unknown, false);
c.Send(data);
}
}