以下の内容はhttps://matsumotory.hatenadiary.jp/entry/2020/07/27/182505より取得しました。
- MySQLのplugin周りを読んでいる
- MySQLのplugin周りの仕様きれいで読みやすいな〜〜〜
- MYSQL_PLUGIN_VIO構造体が便利で、ここからsocketの情報を取り出せる
- vio->infoとかしてscoketの情報を取り出し、getsockoptにvio_info.socketとかわたしてやるとそのセッションのfdが取り出せる
- これでsynパケットのヘッダはpluginで取り出せるのであとはparseして扱えば良さそう
- あとはid/passの認証が通っても、uidが違うと通らないという処理をauth pluginに書くと良い
- listen前のfdにsetsockoptできるようなフックがあるかをコードリーディングしていく
- listen前にTCP_SAVE_SYNを立てておかないとあとでgetsockoptからsynのヘッダフィールドを取り出せないため
- MYSQL_DAEMON_PLUGINあたりでできるかな?
- あれ、そもそもpluginのinitのフェーズがlisten前でfdをとれるならinitのフェーズでやれそうだけどどういうフックタイミングなのか
- listen前にはplugin initするだろうから、init時にsocketはつくられている、あるいは、そのsocketのfdを取りだせるようなインターフェイスがあればauth pluginで完結できそう
以上の内容はhttps://matsumotory.hatenadiary.jp/entry/2020/07/27/182505より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14