Spec-Zone .ru
спецификации, руководства, описания, API
|
Информация о квитировании отправляется сервером клиенту после начального соединения (через connect_server()
) был сделан. Информация о квитировании содержит детали о версии
MySQL, ID потока, который обработает информацию о соединении, и IP-адрес клиента и сервера. Эта информация
представляется через proxy.connection
структура.
proxy.connection.server.mysqld_version
: Версия сервера
MySQL.
proxy.connection.server.thread_id
: ID потока.
proxy.connection.server.scramble_buffer
: Буфер
скремблирования пароля.
proxy.connection.server.dst.name
: IP-адрес сервера.
proxy.connection.client.src.name
: IP-адрес клиента.
Например, можно распечатать данные квитирования и отказаться от клиентов IP-адресом со следующей функцией:
function read_handshake() print("<-- let's send him some information about us") print(" mysqld-version: " .. proxy.connection.server.mysqld_version) print(" thread-id : " .. proxy.connection.server.thread_id) print(" scramble-buf : " .. string.format("%q",proxy.connection.server.scramble_buffer)) print(" server-addr : " .. proxy.connection.server.dst.name) print(" client-addr : " .. proxy.connection.client.dst.name) if not proxy.connection.client.src.name:match("^127.0.0.1:") then proxy.response.type = proxy.MYSQLD_PACKET_ERR proxy.response.errmsg = "only local connects are allowed" print("we don't like this client"); return proxy.PROXY_SEND_RESULT endend
Отметьте, что следует возвратить ошибочный пакет клиенту при использовании proxy.PROXY_SEND_RESULT
.