以下の内容はhttps://matsumotory.hatenadiary.jp/entry/2020/07/27/182505より取得しました。


2020-07-27 MySQLのpluginとかを読んでる

  • 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