Connection attribute key and value lenths in HandshakeResponse packet are specified as num of characters, rather than as number of bytes:
see:
MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs()
lines:
string value = (string)property.GetValue(attrs, null);
connectAttrs += string.Format("{0}{1}", (char)name.Length, name);
connectAttrs += string.Format("{0}{1}", (char)value.Length, value);
.NET string.Length property returns number of characters, but here it is necessary to specify the lengths in bytes.
see:
MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs()
lines:
string value = (string)property.GetValue(attrs, null);
connectAttrs += string.Format("{0}{1}", (char)name.Length, name);
connectAttrs += string.Format("{0}{1}", (char)value.Length, value);
.NET string.Length property returns number of characters, but here it is necessary to specify the lengths in bytes.