Eric Day wrote:
Hi Andrey,

On Fri, Jan 09, 2009 at 08:52:15PM +0100, Andrey Hristov wrote:
It is there, in mysqld, to protect the server from being DoS-ed. Because the queries are being re-assembled in the server and the passed for parsing, a user with low privs can send a 2GB query to the server and DoS it. The admin can define how big that max query can be by adjusting max_allowed_packet. Although the name references the protocol it has security implications on the server.
I won't kill that one.

Thanks for the insight! As Kristian noted in another reply, part of
this decision is from the Drizzle direction of putting more trust in
the client than MySQL does (like auth being off by default). The other
reason is that, in my opinion, this type of DoS protection belongs
only in the server, and should not be part of the protocol. I think
having a pre-parse memory limit is valuable, but this should not be
exposed to the client. Perhaps we can rename max_allowed_packet to
something more server-internal specific, and just take it out of the
protocol negotiation.

Well, this saves a round-trip to the server to set a packet size. Lower packet size -> lower memory utilisation on the server.

Best regards,
-Eric

Andrey

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to