private void SendPacket(MySqlPacket p) { driver.SendPacket(p); }
private void WritePassword(MySqlPacket packet) { bool secure = (Flags & ClientFlags.SECURE_CONNECTION) != 0; object password = GetPassword(); if (password is string) { if (secure) packet.WriteLenString((string)password); else packet.WriteString((string)password); } else if (password == null) packet.WriteByte(0); else if (password is byte[]) packet.Write(password as byte[]); else throw new MySqlException("Unexpected password format: " + password.GetType()); }
private void HandleAuthChange(MySqlPacket packet) { var b = packet.ReadByte(); Debug.Assert(b == 0xfe); var method = packet.ReadString(); var authData = new byte[packet.Length - packet.Position]; Array.Copy(packet.Buffer, packet.Position, authData, 0, authData.Length); var plugin = GetPlugin(method, driver, authData); plugin.AuthenticationChange(); }
void IMySqlValue.SkipValue(MySqlPacket packet) { int len = (int)packet.ReadFieldLength(); packet.Position += len; }
void IMySqlValue.SkipValue(MySqlPacket packet) { packet.Position += 4; }
void IMySqlValue.SkipValue(MySqlPacket packet) { int num = packet.ReadByte(); packet.Position += num; }
void IMySqlValue.SkipValue(MySqlPacket packet) { int len = packet.ReadByte(); packet.Position += len; }
public void SkipValue(MySqlPacket packet) { int len = packet.ReadFieldLength(); packet.Position += len; }
void IMySqlValue.SkipValue(MySqlPacket packet) { packet.ReadByte(); }
void IMySqlValue.WriteValue(MySqlPacket packet, bool binary, object value, int length) { MySqlDateTime dtValue; string valueAsString = value as string; if (value is DateTime) { dtValue = new MySqlDateTime(type, (DateTime)value); } else if (valueAsString != null) { dtValue = MySqlDateTime.Parse(valueAsString); } else if (value is MySqlDateTime) { dtValue = (MySqlDateTime)value; } else { throw new MySqlException("Unable to serialize date/time value."); } if (!binary) { SerializeText(packet, dtValue); return; } if (dtValue.Microsecond > 0) { packet.WriteByte(11); } else { packet.WriteByte(7); } packet.WriteInteger(dtValue.Year, 2); packet.WriteByte((byte)dtValue.Month); packet.WriteByte((byte)dtValue.Day); if (type == MySqlDbType.Date) { packet.WriteByte(0); packet.WriteByte(0); packet.WriteByte(0); } else { packet.WriteByte((byte)dtValue.Hour); packet.WriteByte((byte)dtValue.Minute); packet.WriteByte((byte)dtValue.Second); } if (dtValue.Microsecond > 0) { long val = dtValue.Microsecond; for (int x = 0; x < 4; x++) { packet.WriteByte((byte)(val & 0xff)); val >>= 8; } } }
public void SkipValue(MySqlPacket packet) { int num = (int)packet.ReadFieldLength(); packet.Position += num; }