Conversation
|
My apologies. I didn't |
|
Thank you for digging into this! I'll give it a read now \o/ |
| self.writer.write_all(&[10])?; // protocol 10 | ||
|
|
||
| let mut capabilities = CapabilityFlags::empty(); | ||
| capabilities.insert(CapabilityFlags::CLIENT_PROTOCOL_41); |
There was a problem hiding this comment.
Is the handshake change the only difference with the 4.1 protocol?
|
|
||
| let mut capabilities = CapabilityFlags::empty(); | ||
| capabilities.insert(CapabilityFlags::CLIENT_PROTOCOL_41); | ||
| capabilities.insert(CapabilityFlags::CLIENT_RESERVED); |
There was a problem hiding this comment.
What does setting this do? Aren't generally reserved flags supposed to be 0?
There was a problem hiding this comment.
It came from default capabilities flags. Here you set it.
Line 246 in 4f301c9
It should be
0x02 if you only meant CLIENT_PROTOCOL_41.
| let mut capabilities = CapabilityFlags::empty(); | ||
| capabilities.insert(CapabilityFlags::CLIENT_PROTOCOL_41); | ||
| capabilities.insert(CapabilityFlags::CLIENT_RESERVED); | ||
| capabilities.insert(CapabilityFlags::CLIENT_SECURE_CONNECTION); |
There was a problem hiding this comment.
Do we actually support secure connections? I did not think so?
There was a problem hiding this comment.
We don't. But those two are the minimal sets of flags that fixed the connection phase issue with the latest Connector/J. But I have to fix the client authentication problem.
| capabilities.insert(CapabilityFlags::CLIENT_PROTOCOL_41); | ||
| capabilities.insert(CapabilityFlags::CLIENT_RESERVED); | ||
| capabilities.insert(CapabilityFlags::CLIENT_SECURE_CONNECTION); | ||
| capabilities.insert(CapabilityFlags::CLIENT_PLUGIN_AUTH); |
There was a problem hiding this comment.
What makes it so that we support plugin auths?
|
This generally looks great subject to the tests passing and the comments I left above! |
This should fix mit-pdos/noria-mysql#15